1.内存的概念:
内存(Memory)是
计算机
的重要部件之一,也称
内存储器
和
主存储器
,它用于暂时存放CPU中的运算数据,与
硬盘
等
外部存储器
交换的数据。它是
外存
与
CPU
进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,
操作系统
就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。
内存的运行也决定计算机整体运行快慢的程度。
金手指
:金手指(connecting finger)是
电脑硬件
如:(
内存条
上与
内存插槽
之间、显卡与显卡插槽等),所有的信号都是通过金手指进行传送的。金手指由众多金黄色的导电触片组成,因其表面镀金而且导电触片排列如手指状,所以称为“金手指”。
如果计算机是
“按字节编址”
,则每个储存单元大小为一字节
如果计算机是
”按字编址“
,则每个储存单元大小为一个字,一个字大小为16个二进制(有的计算机是32个二进制,有的是64个二进制,看题目)
指令=操作码+地址码
(1)逻辑地址:
逻辑地址是指在计算机体系结构中是指应用程序角度看到的内存单元(memory cell)、存储单元(storage element)、网络主机(network host)的地址。
1、在有地址变换功能的计算机中,访问指令给出的地址 (
操作数
) 叫逻辑地址,也叫
相对地址
。要经过
寻址方式
的计算或变换才得到
内存储器
中的
物理地址
。
2、把
用户程序
中使用的地址称为相对地址即逻辑地址。
3、逻辑地址由两个16位的地址分量构成,一个为段基值,另一个为偏移量。两个分量均为无符号数编码。
(2)物理地址:
在
存储器
里以
字节
为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的
存储器地址
,称为物理地址(Physical Address),又叫
实际地址
或
绝对地址
。
地址从0开始编号,顺序地每次加1,因此存储器的物理
地址空间
是呈线性增长的。它是用
二进制
数来表示的,是
无符号整数
,书写格式为
十六进制数
。它是出现在CPU外部
地址总线
上的寻址
物理内存
的地址信号,是地址变换的最终结果。用于
内存芯片
级的单元寻址,与处理器和CPU连接的地址总线相对应。
在计算机科学中,
物理地址
(英语:physical address),也叫
实地址
(real address)、
二进制地址
(binary address),它是在
地址总线
上,以电子形式存在的,使得
数据总线
可以访问
主存
的某个特定存储单元的
内存地址
。
程序的运行:
1.编辑
2.编译
3.链接
4.装入
2.三种方法完成逻辑地址到物理地址的转换:
装入的三种方式:
(1)绝对装入:
在编译程序的时候就产生物理地址的代码,绝对装入只适合
单道程序环境
。
(2)静态重定位:
由
装入程序
将逻辑地址转为物理地址,一旦运行便不能再进行移动。用于早期多道批处理操作系统
(3)动态重定位:
需要一个
重定位寄存器
将地址转换推迟到程序真正要执行时才进行。(现代计算机常用方式)
链接的三种方式:
(1)静态链接:
静态链接是由
链接器
在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由
编译器
或
汇编器
生成)链接到一块生成可执行程序。
静态链接的
最大缺点
是生成的
可执行文件
太大,需要更多的系统资源,在装入内存时也会消耗更多的时间。
(2)装入时动态链接:
装入时动态链接(Load-Time Dynamic Linking)
用户源程序经编译后所得到的目标模块,是在装入内存时,边装入边链接的.即在装入一个目标模块时,若发生一个外部模块调用,将引起装入程序去找出相应的外部目标模块,并将它装入内存,还要修改目标模块中的相对地址。装入时动态链接方式有以下优点:
●便与软件版本的修改和更新
●便于实现目标模块共享
(3)运动时动态链接:
在程序运行时执行中需要该目标模块时,才对它进行链接、
小结:
3.内存管理:
内存保护的两种方法:
(1)设寄存器:
(2)重定位寄存器:
总结: