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)重定位寄存器:
总结: