1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,2.4,存储器,存储器是用来存放程序、数据、中间结果和最终结果的记忆装置。,计算机,存储信息的基本单位是一个二进制位,(,bit),,1,或0,存储器,以字节(,8,bit),为单位存储信息,汇编语言的,数据类型,:字节、字、双字、四字,每个字节单元有一个,唯一的物理,地址,,从,0,编号,顺序加,1,地址也用二进制数表示(,无符号整数,,写成十六 进制),16,位二进制数可表示,2,16,=65536=64,K,个地址,0000,H FFFFH,字长,16,位,一个字要占用,相继,的两个字节,低位
2、字节存入低地址,高位字节存入高地址,机器以,偶地址,访问(读,/,写)存储器,字,、,4,字单元地址用它的,最低字节地址,来表示,2.4.1,存储单元的地址和内容,7 6 5 4 3 2 1 0,1 0 0 1 1 1 1 1,0000,H (0000H)=9FH,0 0 1 0 0 1 1 0,0001,H (0001H)=26H,0 0 0 1 1 1 1 0,0002,H,1 1 0 1 0 1 1 1,0003,H,存储器,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,字,高位字节 低位字节,1 0 0 1 1 1 1 1,0 0 1 0 0 1 1 0,
3、0000H)=269FH,1 0 0 1 1 1 1 1,1000,H,(,1000H,)=,9F H,0 0 1 0 0 1 1 0,1001,H,0 0 0 1 1 1 1 0,1002,H,(,1002H,)=,1E H,1 1 0 1 0 1 1 1,1003,H,(,1000H,)=,269F H,(,1002H,)=,D71E H,(1001H)=,1E26 H,访问两次存储器,(,1001H,)=,26 H,(,1003H,)=,D7 H,存储器,奇数,地址,存储单元的地址和内容的关系,(地址),=,内容,(地址),=,内容,2.4.2,实模式存储器寻址,实模式即,8086/8
4、088,的工作方式,工作在,20,位地址,单任务工作方式下,独占系统所有资源。,8086/8088,的数据总线宽度是,16,位,地址总线宽度是,20,位,因,2,20,=2,10,*,2,10,=1024,K=1M,(,地址范围,00000,H FFFFFH),所以实模式下允许的最大寻址空间为,1,MB,,但由于其数据总线宽度是,16,位,所以实模式要解决在,16,位字长的情况下实现,20,位的寻址,。,如何解决?,1,、存储器地址的分段,每个段的最大长度可达,64,KB(2,16,KB),,段内地址是连续的、线性增长的,允许单个逻辑段在整个,1,MB,存储空间内浮动。,小段,(,Paragr
5、aph):,从0,地址开始,每,16,个字节为一小段,,共有,64,K,个小段,0000,0,H,00001H,0000EH,0000FH,0001,0,H,00011H,0001EH,0001FH,0002,0,H,00021H,0002EH,0002FH,FFFF,0,H,FFFF1H,FFFFEH,FFFFFH,小段首地址的特征:,在十六进制表示的地址中,最低位为,0,(即,20,位地址的低四位为,0,),逻辑地址,是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为,16,位的二进制数。,物理地址,也叫实际地址或绝对地址,是,CPU,访问存储器时实际使用的地址,为,
6、20,位地址。,段地址:段起始地址的高,16,位,偏移地址:段内相对于段起始地址的偏移值(,16,位),(,有效地址,EA),物理地址段基址,16,段内偏移地址。,16,位 段 地 址,16,位 偏 移 地 址,0000,+,20,位 物 理 地 址,例,:,(,DS)=3000H,EA=1234H,物理地址=16,d,(DS)+EA,=31234H,?,物理地址相同,其端地址和偏移地址是否唯一?,2,、段寄存器,(,CS,、,DS,、,SS,、,ES,、,FS、GS,),存放段地址,确定一个段的的起始地址,.,用途各不相同:,代码段,(,CS):,存放当前正在运行的程序,数据段,(,DS):
7、存放当前运行程序所用的数据,或串处理指令,中的源操作数,堆栈段,(,SS):,定义堆栈(后进先出)的所在区域,附加段,(,ES):,附加的数据区,或串处理指令中的目的操作数,各段在存储器中的分配,:,由操作系统负责负责,但需要时也可指定,段的重叠,指每个段区的大小允许根据实际需要来分配,而不一定要占有,64,KB,的最大段空间,8,KB,代码,2,KB,数据,256,B,堆栈,0200,H,0400,H,0480,H,CS,DS,SS,ES,存储器,0200,H,0400,H,0480,H,例,:,8086/8088,80286,的段寄存器和相应存放偏移地址的寄存器之间的默认组合,段 偏移,
8、CS IP,SS SP,或,BP,DS BX、DI、SI,或一个,16,位数,ES DI(,用于串指令),80386+,的段寄存器和相应存放偏移地址的寄存器之间的默认组合,段 偏移,CS EIP,SS ESP,或,EBP,DS EAX、EBX、ECX、EDX、EDI、ESI,一个,8,位数或一个,32,位数,ES EDI(,用于串指令),FS,无默认,GS,无默认,2.4.3,保护模式存储器寻址,保护模式,:工作在,80286+,,工作在系统所提供地址,多任务方式下,根据任务的特权级请求使用系统资源,多任务处理功能,:多个应用程序能同时在一台计算机上运行,而且彼此必须相互隔离,使一个应用程序的
9、故障或缺陷不会破坏系统,也不会影响其它应用程序的运行。,虚拟存储器,:支持程序员编写的程序具有比主存储,引出保护模式的原因:,直接原因:寻址(,1,MB,以上的地址如何访问,?,),重要原因:功能(支持多任务处理),1,、逻辑地址,实模式逻辑地址,=,段地址:偏移地址,保护模式逻辑地址,=,选择器,:偏移地址,二者区别:,1.,选择器(存放在段寄存器中,但不能直接表示成段基地址),2.,偏移地址为,32,位,最大段长可达,4,GB,用来描述段的大小、段在存储器中的位置及其控制和状态信息,基地址(,base):,指定段的起始地址,界限(,limit):,存放着该段的长度,访问权(,access)
10、说明该段在系统中的功能,并给出一些控制信息,附加字段:,386+,,表示该段的一些属性,2.,描述符,保护模式下存储器寻址过程,选择器,指定的途径,描述符,基地址和界限值,段基地址,偏移地址,物理地址,逻辑地址,2.5,外部设备,外部设备:实现人机交互和机间通讯为目的的一些机电设备,如键盘、鼠标、显示器、硬盘等等,外部设备与主机(,CPU,和存储器)的通信是,通过外设接口(,Interface),进行的,每个接口包括,一组寄存器。,数据寄存器,:,存放外设和主机间传送的数据,状态寄存器,:,保存外设或接口的状态信息,命令寄存器,:,保存,CPU,发给外设或接口的控制命令,端口(,port)
11、地址:又称端口号,是外设中的每个寄存器,的编号,I/O,地址空间:独立于内存储器,,80,x86,机可达,64,KB,,也即,端口地址的范围是:,0000,FFFFH,主机与外设交换信息的方式:,直接,查询,中断,成组传送,BIOS,和,DOS,简介,BIOS(basic input/output system),基本输入输出系统,DOS(disk operating system),磁盘操作系统,共同点:,都是系统编制的子程序,通过终端方式转入所需要的子程序去执行,执行完后返回原来的程序继续执行,不同点:,1.,BIOS,存放在机器的只读存储器,ROM,中,而,DOS,是操作系统,DOS,的一部分,2.,BIOS,的层次比,DOS,更低,更接进硬件,而,DOS,例行程序,可以一次或多次调用,BIOS,,已完成比,BIOS,更高级的功能,






