1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章,80 x86,计算机组织,2.1 80X86,微处理器,2.2,基于微处理器的计算机系统构成,2.3,中央处理机,2.4,存储器,2.5,外部设备,1,2.1 80 x86,微处理器,计算机的五个组成部分:,微处理器、存储器、输入,/,输出设备、系统总线,80 x86,微处理器是美国,Intel,公司生产的微处理器系列。微处理器即中央处理机(,central processing unit CPU),,包括运算器和控制器。,2,80 x86,微处理器概况,型号,发布年份,字长,(bit),晶体管数
2、万个,),主频,(MHZ),数据总线宽度,外部总线宽度,地址总线宽度,寻址空间,(B),高速缓存,8086,1978,16,2.9,4.77,16,16,20,1M,N,8088,1979,16,2.9,4.77,16,8,20,1M,N,80286,1982,16,13.4,620,16,16,24,16M,N,80386,1986,32,27.5,12.533,32,32,32,4G,Y,80486,1989,32,120160,25100,32,32,32,4G,8KB,Pentium(586),1993,32,310330,60166,64,64,32,4G,8KB,8KB,Pe
3、ntiumPro(P6),1995,32,5501550,150200,64,64,36,64G,8KB,8KB,256KB,Pentium,1997,32,750,233333,64,64,36,64G,32KB,512KB,3,基本概念,1,1,晶体管数 芯片中所包含的晶体管数,2,主 频 芯片所用的主时钟频率,3,运算速度,:,MIPS,(,Millions of Instructions Per,Second),;以执行时间最短的指令来估算,速度;取决于主频、体系结构,4,字 长,:表示机器数所用的位数,4,5,总 线,计算机中的一组公共信号线,6,数据总线,负责计算机中数据在各组成部
4、分之 间的传送,数据总线宽度:芯片内部数据传送的宽度,外部数据总线宽度:芯片内和芯片外交换数据的宽度,7,地址总线,负责指出信息的来源和目的,地址总线宽度:专用于传送地址的总线宽度,寻址空间:处理器可以访问的存储器的最大范围,存储器容量的单位:基本单位,210=1024,1024K=1M,1024M=1G,8,控制总线,负责控制总线的动作,基本概念,2,5,9,存储器组织的层次结构,为了在速度、容量、成本三者之间达到最佳平衡 状态,采用了层次结构的存储器组织,具体:,1,、高速缓冲存储器 速度快、容量小、成本高,2,、主存储器 速度、容量、成本居中,3,、外存储器 速度慢、容量大、成本低,CP
5、U Cache,主存储器 外存储器,基本概念,3,6,10,工作方式,实模式,8086,的工作方式,保护模式,80286+,,可提供,虚拟存储,的管理和,多任务,的管理机制,虚,86,模式,80386+,一台机器可同时模拟多个,8086,处理器的工作,基本概念,4,7,2.2,基于微处理器的计算机系统构成,硬件,包括电路、插件板、机柜的物理设备;,软件,指为了运行、管理和维护计算机而编制的各种程序的总和。,计算机系统,包括,硬件,和,软件,两大部分。,8,2.2.1,硬件,硬件,:三个主要组成部分,用,系统总线,连接。,中央处理机,CPU,总线控制,逻辑,接 口,接 口,存储器,大容量,存储器
6、I/O,设备,I/O,子系统,系统总线,.,.,.,.,.,.,9,2.2.2,软件,系统软件:计算机厂家提供给用户的一组程序,用户软件:用户为了某种需要自行编制的各种程序,10,翻译程序:,汇编程序:把汇编语言源程序翻译成机器语言程序,,如:,MASM,、,TASM,编译程序:先把高级语言翻译成机器语言,然后执行,如:,PASCAL,、,FORTRAN,解释程序:直接把高级语言在机器上执行,一边解释一边执行,如:,BASIC,调试程序:,是系统提供给用户的能监督和控制用户程序的一种工具,可以,装入、修改、显示或逐条执行一个程序。如,DEBUG,11,2.3,中央处理机,2.3.1,中央处理
7、机,cpu,的组成,1,、,中央处理机一般功能,l,进行算术逻辑运算,l,可接收和发送数据,l,可暂存少量数据,l,提供控制信号,l,对指令解码,12,l,算术逻辑部件,ALU,l,控制逻辑,l,寄存器组,2,、,CPU,一般组成,13,2.3.2 80 x86,的寄存器组,1,、程序可见的寄存器 汇编语言程序中用到,2,、程序不可见的寄存器 系统所用,通用,寄存器,专用,寄存器,段寄,存器,80 x86,程序可见的寄存器,14,1,、通用寄存器,数据寄存器,AX(accumulator),BX(base),CX(count),DX(data),指针或变址寄存器,SP(stack pointe
8、r),BP(base pointer),SI(source index),DI(destination index),15,80 x86,通用寄存器,16,寄存器的主要用途,17,通用寄存器的特殊用途和隐含性质,18,16,位与,32,位通用寄存器的异同点:,相同点,:,每个寄存器的专用特征相同,不同点,:,1,、,16,位可以保存的数据宽度可以是,8,位、,16,位,而,32,位可以保存的数据宽度可以是,8,位、,16,位、,32,位,2,、,16,位只有,SP,、,BP,、,SI,、,DI,、,BX,五个寄存器可用于存放地址,而,32,位则,8,个都可以用于存放地址,19,2、专用寄存器,
9、IP(instruction pointer),指令指针寄存器,(存放代码段中的偏移地址,始终指向下一条指令的首地址),FLAGS(PSW program status word),程序状态字寄存器,条件码标志,控制标志,系统标志位,OF,溢出标志,SF,符号标志,ZF,零标志,CF,进位标志,AF,辅助进位标志,PF,奇偶标志,TF,陷阱标志,IF,中断标志,IOPL I/O,特权级,DF,方向标志,20,8086/8088,标志寄存器(,程序状态字寄存器,PSW,),15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,条件码标志:控制标志:,系统标志位,:,OF,溢
10、出标志,DF,方向标志,IF,中断标志,SF,符号标志,TF,陷阱标志,ZF,零标志,CF,进位标志,AF,辅助进位标志,PF,奇偶标志,OF,DF,IF TF,SF,ZF,AF,PF,CF,21,程序状态字(,PSW,),22,例:,MOV AX,1,MOV BX,2,ADD AX,BX,指令执行后,,(AX)=3,OF=0,CF=0,ZF=0,SF=0,例:,MOV AX,FFFFH,MOV BX,1,ADD AX,BX,指令执行后,,(AX)=0,OF=0,CF=1,ZF=1,SF=0,23,标志为,1,标志为,0,24,3、段寄存器,CS,(,code segment,)代码段,DS,
11、data segment,)数据段,SS,(,stack segment,)堆栈段,ES,(,extra segment,)附加段,FS,附加的数据段,GS,附加的数据段,段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。,25,寄存器与存储器的比较:,寄存器 存储器,在,CPU,内部 在,CPU,外部,访问速度快 访问速度慢,容量小,成本高 容量大,成本低,用名字表示 用地址表示,没有地址 地址可用各种方式形成,26,使用,debug,观察寄存器,27,2.4,存储器,存储器是
12、用来存放程序、数据、中间结果和最终结果的记忆装置。,28,计算机,存储信息的基本单位是一个二进制位,(,bit,),,,1,或,0,存储器,以字节(,8bit,)为单位存储信息,汇编语言的,数据类型,:字节、字、双字、四字,每个字节单元有一个,唯一的物理,地址,,从,0,编号,顺序加,1,地址也用二进制数表示(,无符号整数,,写成十六 进制),16,位二进制数可表示,2,16,=65536=64K,个地址,0000H FFFFH,字长,16,位,一个字要占用,相继,的两个字节,低位字节存入低地址,高位字节存入高地址,机器以,偶地址,访问(读,/,写)存储器,字,、,4,字单元地址用它的,最低字
13、节地址,来表示,2.4.1,存储单元的地址和内容,29,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,0001H (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,(0000H)=269FH,30,1 0 0 1 1 1 1 1,1000,H,(,1000H,)=,9F H
14、0 0 1 0 0 1 1 0,1001H,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,存储器,奇数,地址,存储单元的地址和内容的关系,(地址),=,内容,(地址),=,内容,31,字节,12340H,的内容为:,12H,表示为,(12340H),12H,字节,12341H,的内容为:,34H,表示为,(12341H),34H,字内
15、容,(12340H),?,字内容,(12341H),?,双字内容,(12340H),?,双字内容,(12341H),?,3412H,5634H,78563412H,90785634H,32,2.4.2,实模式存储器寻址,实模式即,8086/8088,的工作方式,工作在,20,位地址,单任务工作方式下,独占系统所有资源。,8086/8088,的数据总线宽度是,16,位,地址总线宽度是,20,位,因,2,20,=2,10,*2,10,=1024K=1M,(,地址范围,00000H FFFFFH),机器字长,16,位:表示范围,0000H FFFFH (64KB),所以实模式下允许的最大寻址空间为,
16、1MB,,但由于其数据总线宽度是,16,位,所以实模式要解决在,16,位字长的情况下实现,20,位的寻址,。,如何解决?,33,1,、存储器地址的分段,每个段的最大长度可达,64KB,(,2,16,KB,),段内地址是连续的、线性增长的,允许单个逻辑段在整个,1MB,存储空间内浮动。,可以有相连的段,(,如:,C,和,D,段,),、不相连的段,(,如:,A,和,B,段,),以及相互重叠的段,(,如:,B,和,C,段,),34,小段,(Paragraph),:从,0,地址开始,每,16,个字节为一小段,,共有,64K,个小段,0000,0,H,00001H,0000EH,0000FH,0001,
17、0,H,00011H,0001EH,0001FH,0002,0,H,00021H,0002EH,0002FH,FFFF,0,H,FFFF1H,FFFFEH,FFFFFH,小段首地址的特征:,在十六进制表示的地址中,最低位为,0,(即,20,位地址的低四位为,0,),35,逻辑地址,是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为,16,位的二进制数。,物理地址,也叫实际地址或绝对地址,是,CPU,访问存储器时实际使用的地址,为,20,位地址。,段地址:段起始地址的高,16,位,偏移地址:段内相对于段起始地址的偏移值(,16,位),(,有效地址,EA),36,37,物理地
18、址段基址,16,段内偏移地址。,16,位 段 地 址,16,位 偏 移 地 址,0000,+,20,位 物 理 地 址,38,存储器的逻辑地址与物理地址,10011111,00100110,01001000,逻辑地址,段地址,:,偏移地址,1000:0000H,1000:0001H,1000:0002H,1000:0003H,1000:0004H,1000:0005H,物理地址,10000H,10001H,10002H,10003H,10004H,10005H,10000011,01011100,10100010,字节内容(,10000H,),9FH,;(,10001H,),26H,字内容 (
19、10000H,),269FH,;(,10001H,),4826H,访问两次内存,39,例,:,(DS)=3000H,EA=1234H,物理地址=16,d,(DS)+EA,=31234H,?,物理地址相同,其端地址和偏移地址是否唯一?,40,2,、段寄存器,(CS,、,DS,、,SS,、,ES,、,FS,、,GS,),存放段地址,确定一个段的的起始地址,.,用途各不相同:,代码段,(CS),:存放当前正在运行的程序,数据段,(DS),:存放当前运行程序所用的数据,或串处理指令,中的源操作数,堆栈段,(SS),:定义堆栈(后进先出)的所在区域,附加段,(ES),:附加的数据区,或串处理指令中的目
20、的操作数,各段在存储器中的分配,:,由操作系统负责,但需要时也可指定,41,存储器,64,KB,代码,01500,H,42000,H,1CD00,H,0150,H,4200,H,1CD0,H,段寄存器,CS,DS,SS,ES,64,KB,堆栈,64,KB,数据,64,KB,附加数据,B0000,H,B000,H,42,段的重叠,指每个段区的大小允许根据实际需要来分配,而不一定要占有,64KB,的最大段空间,8KB,代码,2KB,数据,256B,堆栈,0200H,0400H,0480H,CS,DS,SS,ES,存储器,0200H,0400H,0480H,例,:,02000H,的段地址为,200H
21、DS-CS=200H,扩充为物理地址,其大小为,2000H,,即,2,13,8K,SS-DS,类似,43,段寄存器及其指针寄存器的引用关系,取指令所用的段寄存器和偏移量一定是用,CS,和,IP,;,堆栈操作所用的段寄存器和偏移量一定是,SS,和,SP,;,串操作的目标操作数所用的段寄存器和偏移量一定是,ES,和,DI,;,其它情况,段寄存器除了其默认引用的寄存器外,还可以强行改变为其它段寄存器。,44,45,2.4.3,保护模式存储器寻址,保护模式,:工作在,80286+,,工作在系统所提供地址,多任务方式下,根据任务的特权级请求使用系统资源,多任务处理功能,:多个应用程序能同时在一台计算机
22、上运行,而且彼此必须相互隔离,使一个应用程序的故障或缺陷不会破坏系统,也不会影响其它应用程序的运行。,虚拟存储器,:支持程序员编写的程序具有比主存储器大得多的空间。,46,引出保护模式的原因:,直接原因:寻址(,1MB,以上的地址如何访问,?,),重要原因:功能(支持多任务处理),47,1,、逻辑地址,实模式逻辑地址,=,段地址:偏移地址,保护模式逻辑地址,=,选择器,:偏移地址,二者区别:,1.,选择器(存放在段寄存器中,但不能直接表示成段基地址),2.,偏移地址为,32,位,最大段长可达,4GB,48,用来描述段的大小、段在存储器中的位置及其控制和状态信息,基地址(,base,):指定段的
23、起始地址,界限(,limit,):存放着该段的长度,访问权(,access,):说明该段在系统中的功能,并给出一些控制信息,附加字段:,386+,,表示该段的一些属性,2.,描述符,保护模式下存储器寻址过程,选择器,指定的途径,描述符,基地址和界限值,段基地址,偏移地址,物理地址,逻辑地址,49,所选存储单元,描 述 符,64,描述符表,所选段,存 储 器,段基地址,32,选择器,16,偏移地址,32,逻辑地址,保护模式下的存储器寻址,50,2.5,外部设备,外部设备:实现人机交互和机间通讯为目的的一些机电设备,如键盘、鼠标、显示器、硬盘等等,外部设备与主机(,CPU,和存储器)的通信是,通过外设接口(,Interface,)进行的,每个接口包括,一组寄存器。,数据寄存器,:,存放外设和主机间传送的数据,状态寄存器,:,保存外设或接口的状态信息,命令寄存器,:,保存,CPU,发给外设或接口的控制命令,51,端口(,port,)地址:又称端口号,是外设中的每个寄存器,的编号,I/O,地址空间:独立于内存储器,,80 x86,机可达,64KB,,也即,端口地址的范围是:,0000FFFFH,主机与外设交换信息的方式:,直接,查询,中断,成组传送,52,






