《指令系统层》PPT课件.ppt
《《指令系统层》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《指令系统层》PPT课件.ppt(72页珍藏版)》请在三一办公上搜索。
1、计算机系统结构系统的层次结构,面向问题语言层,汇编语言层,操作系统层,指令系统层,微体系结构层,5层,4层,3层,2层,1层,硬件-机器语言,机器与人的界面,符号化的机器语言,面向用户的语言,硬件/固件(微程序),翻译(编译器),翻译(汇编器),部分解释(操作系统),直接执行/解释(微程序),一台计算机所能执行的全部指令,称为该机的指令系统或指令集,具体内容包括指令格式、寻址方式、指令类型与功能。相对微体系结构层,指令系统层是一个抽象的层次,它是硬件和软件之间的接口,其主要特征就是指令系统。本章将以80 x86为背景讨论指令系统层,主要内容包括:80 x86系列CPU的结构特点;80 x86主
2、存储器和寄存器组织;80 x86指令系统。,第4章 指令系统层,典型CPU漫谈 从 Intel 4004Pentium IV:4004 80088086/8088802868038680486(IA32位结构)Pentium Pentium Pro Pentium MMX Pentium II Pentium III CeleronPentium IV(IA准64位结构)Pentium D(2005-4发布)Pentium 6470,2.4G,3.8G,4.1 80 x86 CPU 80 x86 CPU概况如下表所示:,4.1.1 8086/8088 CPU,8086是16位,即CPU的内外数
3、据总线为16位,一个总线周期可以传送一个字(16位)数据。8088是准16位,内部总线为16位,外部为8位,因此一个总线周期只能传送一个字节。地址20位,可寻址1MB主存空间。8086/8088的指令系统完全相同,完全兼容.,18086/8088 CPU内部结构 模型机CPU指令串行执行。在CPU执行指令时,系统总线与主存可能空闲,因此程序执行效率不高。,8086/8088CPU采用指令流水线结构 总线接口部件BIU(Bus Interface Unit)取指令(或取操作数)执行部件EU(Execute Unit)执行指令 EU和BIU两个部件并行工作,指令的读取与执行部分重叠,从而提高了指令
4、的执行速度。,8086 CPU内部结构如下图所示:,下面讨论EU和BIU的功能:(1)执行部件EU:执行指令从指令队列中取出指令代码,由EU控制器进行译码后产生对应的控制信号到各部件以完成指令规定的操作。对操作数进行算术和逻辑运算,并将运算结果的特征状态存放在标志寄存器中。由于EU不直接与系统总线连接,因此当需要与主存储器或I/O端口传送数据时,EU向BIU发出命令,并提供给BIU 16位有效地址与传送的数据。,(2)总线接口部件BIU:完成CPU与主存或I/O端口之间的信息传送从主存取出指令送到指令队列中排队。从主存或I/O端口取操作数或存放运算结果。计算并形成访问主存的20位物理地址。,2
5、.8086/8088 主存地址的形成,段基址:将1 MB主存空间划分为若干段,每个段的最大长度为64 KB。段的20位段起始地址称为段基址。段基值:20位段起始地址的高16位偏移地址(偏移量):一个主存单元与所在段的段基址之间的字节距离。逻辑地址:(段基址:偏移地址)物理地址:将16位段基值左移4位后与16位偏移地址相加,形成20位主存单元。有效地址?,4.1.2 80386/80486CPU(过渡产品)1Intel 8038632位地址,寻址空间为4GB。具有片内存储管理部件,使虚拟存储空间(逻辑地址空间)可达64TB。字长32位,系统总线的数据通路宽度32位。采用多级流水线结构。平均运算速
6、度约为4 MIPS。,2Intel 80486,4.1.3 Pentium系列CPU(Pentium CPU的功能结构图),4.2.1 80 x86 CPU的寄存器 180 x86 CPU的寄存器分类(3大类)基本结构寄存器组:通用寄存器、IP、FR、段寄存器。系统级寄存器组:(不能访问)系统地址寄存器、控制寄存器、测试寄存器、调试寄存器。浮点寄存器组:(不讲,不做要求)数据寄存器、标记字寄存器、指令和数据指针寄存器、控制字寄存器。,4.2 80 x86 CPU的寄存器和主存储器,2基本结构寄存器组 通用寄存器;指令指针寄存器IP;标志寄存器FR;段寄存器(16位)。,(1)通用寄存器 AX(
7、Accumulator)作为累加器用。在乘除等指令中指定用来存放操作数。另外,所有的I/O 指令都使用这一寄存器与外部设备传送信息。eg1 MUL SRC AXAL*SRC eg2 DIV SRC ALAX/SRC 商 AHAX/SRC 余数 eg3 MOV AH,4CH INT 21H 返回DOS BX(Base)可以作为通用寄存器使用。此外,在计算存储器地址时,它经常用作基址寄存器。,CX(Count)可以作为通用寄存器使用。此外,它还常用来保存计数值,如在移位指令、循环(LOOP)和串处理指令中用作隐含的计数器。DX可以作为通用寄存器使用。一般在做双字长运算时把DX和AX组合在一起存放一
8、个双字长数,DX用来存放高位字。此外,对某些I/O 操作,DX可用来存放I/O 的端口地址。SP、BP、DI、SI 这4个16位寄存器可以像数据寄存器一样在运算过程中存放操作数,但它们只能以字(16位)为单位使用。此外,它们更经常的用途是在存储器寻址时,提供偏移地址。因此,可称它们为指针或变址寄存器。,(2)指令指针寄存器和标志寄存器IP(Instruction Pointer)为指令指针寄存器,它用来存放代码段中的偏移地址。IP作为指令的地址指针,其作用类似于其他计算机中的程序计数器PC,当现行指令执行完毕时,由IP提供下一条指令地址。FLAGS为标志寄存器,又称PSW(Program St
9、atus Word),即程序状态寄存器。这是一个存放条件码标志、控制标志和系统标志的寄存器。80386及其后继机型的指令指针寄存器EIP和标志寄存器EFLAGS是32位的,其作用和相应的16位寄存器相同。,下图说明了80 x86 CPU中标志寄存器的内容:,条件码标志包括以下6位:OF(Over Flow Flag)溢出标志。将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。SF(Sign Flag)符号标志。把指令执行结果看作带符号数,如结果为负,则SF置1;结果为正,则SF置0。ZF(Zero Flag)零标志。如指令执行结果各位全为0时
10、,则ZF置1;否则ZF置0。,CF(Carry Flag)进位标志。在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。在移位类指令中,CF用来存放移出的代码(0或1)。AF(Auxiliary Carry Flag)辅助进位标志。在进行算术运算时,如低字节中低4位(第3位)产生进位或借位时,则AF置1;否则AF置0。PF(Parity Flag)奇偶标志。用来为机器中传送信息时可能产生的代码出错情况提供检验条件。当运算结果中1的个数为偶数时置1,否则置0。,控制标志位1位 DF(Direction Flag)方向标志,用来在串处理指令中
11、控制处理信息的方向。当DF位为1时,每次操作后使变址寄存器SI和DI减小,这样就使串处理从高地址向低地址方向处理。当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。eg MOVSB 若DF=0,则 ES:DI(DS:SI)SI(SI)+1 DI(DI)+1,系统标志位有10位:TF(Trap Flag)陷阱标志,用于调试时的单步方式操作。IF(Interrupt Flag)中断标志。IOPL(I/O Privilege Level)I/O特权级标志。NT(Nested Task)嵌套任务标志,用来表示当前的任务是否嵌套在另一任务内。RF(Resume Flag)恢复标志位,
12、它与调试寄存器的断点一起使用,以保证不重复处理断点。VM(Virtual-8086 Mode)虚拟8086模式位。AC(Alignment Check mode)对准检查方式位。VIF(Virtual Interrupt Flag)虚拟中断标志。VIP(Virtual Interrupt Pending flag)虚拟中断未决标志。ID(IDentification flag)标识标志,程序有设置和清除ID标识的能力,以指示处理机对CPU ID指令的支持。,在调试程序DEBUG中提供了测试标志位的手段,它用符号表示某些标志位的值:,(3)段寄存器16位 段寄存器用于存储器寻址,用来直接或 间接
13、地存放段地址(段基值或段选择器)代码段CS(Code Segment)数据段DS(Data Segment)堆栈段SS(Stack Segment)附加段ES(Extra Segment)FS和GS,附加的数据段(80386以后),4.2.2 80 x86的主存储器 1存储单元的地址和内容计算机存储信息的基本单位是一个二进制位,一位可存储一个二进制数0或1.字节:8位字:16位双字:32位4字:64位,地址:以字节为单元编址,每个字节单元一个唯一的编号(房间号码),即存储器地址,称为物理地址.地址从0开始编号,顺序地每次加1.地址用二进制表示的无符号整数,书写格式为十六进制数),8086/80
14、88的地址总线20位:可访问的字节单元地址范围为00000HFFFFFH;80286的地址总线24位:可访问的地址范围为000000HFFFFFFH;80386/80486和Pentium地址总线32位:可访问的地址范围为00000000HFFFFFFFFH;Pentium Pro和P地址总线36位:可访问的地址范围为000000000HFFFFFFFFFH。,内容:一个存储单元中存放的信息称为该存储单元的内容 0004H号字节单元中存放的信息为78H,表示为:(0004H)=78H,两个字节单元就构成了一个字单元,字单元的地址采用它的低地址来表示。右图中0004H字单元的内容为5678H,表
15、示为:(0004H)=5678H,双字单元的地址由其最低字节的地址指定,因此0004H双字单元的内容为:(0004H)=12345678H。,说明,存放数据时,低位字节存入低地址,高位字节存入高地址字,双字的地址用低地址表示同一地址单元既可以看作字节、字、双字、4字单元的地址字单元的地址可以是偶数,也可以是奇数8086、80286,访问M以字为单位,以偶地址访问(读/写)M;奇地址取字需访问M两次X表示地址,(X)表示单元的内容(Y)=(X),实模式虚拟8086模式保护模式,实模式:8086用16根地址线提供1M寻址空间的工作模式保护模式:一种可提供虚拟存储管理和多任务管理机制的工作模式。虚模
16、式:在一台机器上同时模拟多个8086处理器工作的模式。,2实模式存储器寻址 8086/8088只能在实模式下,其他的CPU均可在实模式或保护模式下工作。(1)存储器的分段 实模式下允许的最大寻址空间为1 MB。8086/8088的地址总线宽度为20位,因而其最大寻址空间正好是1MB。在1MB的存储器里,每个存储单元都有一个唯一的20位地址,称为物理地址。而对于其他微处理器在实模式下只能访问前1 MB的存储器地址。,8086/8088:16位字长的机器里怎么提供20位地址?,段基址:将1 MB主存空间划分为若干段,每个段的最大长度为64 KB。段的20位段起始地址称为段基址。段基值:20位段起始
17、地址的高16位偏移地址(偏移量):一个主存单元与所在段的段基址之间的字节距离。逻辑地址:(段基址:偏移地址)物理地址:将16位段基值左移4位后与16位偏移地址相加,形成20位主存单元。有效地址?,实模式存储器寻址过程如下图所示:,(2)段寄存器 在808680286中,有4个专门存放段基值的寄存器,称为段寄存器。它们分别是代码段CS、数据段DS、堆栈段SS和附加段ES寄存器。每个段寄存器可以确定一个段的起始地址,而这些段则各有各的用途。代码段存放当前正在运行的程序。数据段存放当前运行程序所用的数据。堆栈段定义了堆栈的所在区域。附加段是附加的数据段,它是一个辅助的数据区,也是串处理指令的目的操作
18、数存放区。在80386及其后继的80 x86中,除上述4个段寄存器外,又增加了2个段寄存器FS和GS,它们也是附加的数据段寄存器,所以808680286的程序允许4个存储段,而后继的80 x86程序可允许6个存储段。,一般情况下,各段在存储器中的分配是由操作系统负责的。每个段可以独立地占用小于或等于64 KB的存储区,如右图所示。,段重叠指每个段区的大小允许根据实际需要来分配,而不一定要占有64 KB的最大段空间。,在80 x86中,段寄存器和与其对应存放偏移地址的寄存器之间有一种默认的组合关系,如下表所示:,8086/8088、80286:,段寄存器 偏移地址,80386及其后继机型:段寄存
19、器 偏移地址,3保护模式存储器寻址(1)逻辑地址 逻辑地址(段选择器:偏移地址)段选择器存放在段寄存器中,但它不能直接确定段基址,而由CPU通过一定的方法取得段基址,再和偏移地址相加,从而求得所选存储单元的线性地址,线性地址再通过分页部件转换成物理地址。,下图为保护模式存储器寻址示意图。可以看出,它和实模式寻址的另一个区别是:偏移地址为32位,最大段长可从64 KB扩大到4 GB。,(2)描述符 段选择器是通过描述符表取得描述符,从而得到段基址的。描述符有8个字节长,用来说明段的起始地址、段的大小、段在存储器中的位置及有关的控制和状态信息,其格式如下图所示:,(3)段选择器描述符表都存放在存储
20、器中,每个表分别构成一个64 KB长的段,表中可存放8 K个描述符。,段选择器存放在段寄存器中,16位长,其格式如下:,INDEX为索引值,即描述符表索引值,它给出所选描述符在描述符表中的地址。该字段共13位,可从表中8K个描述符中选取一个。,下图说明了从逻辑地址通过段选择器找到描述符表,再找到描述符,由此确定所选段和存储单元的过程:,每当段寄存器中段选择器的值确定以后,硬件会自动地根据段选择器的索引值,从系统的描述符表中取出一个8字节(64位)的描述符,装入到相应的段描述符寄存器中,以后每当出现对该段存储器的访问时,就可直接使用相应的描述符寄存器中的段基址作为线性地址计算的一个元素,而不需要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统层 指令系统 PPT 课件
链接地址:https://www.31ppt.com/p-5010381.html