微机原理与接口技术第2章1.ppt
《微机原理与接口技术第2章1.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术第2章1.ppt(42页珍藏版)》请在三一办公上搜索。
1、1,第2章16位和32位微处理器结构,2,本章主要内容,8086微处理器80286、80386Pentium,3,Intel 8086 微处理器的主要内容,8086的编程结构,尤其是寄存器组;8086标志寄存器各个标志的含义;8086的存储器编址,存储器的分段结构,4,2.1.1 CPU的内部组成,运算器 主要功能:对数据进行算术和逻辑运算。这些功能由算术逻辑单元(ALU)来实现;寄存器组 寄存器可以存放数据和地址,也可以存放控制信息和状态信息。CPU中寄存器的数量对CPU的运行速度影响很大。寄存器从应用的角度可以分为:通用寄存器、专用寄存器,有以下几种类型:数据寄存器、地址寄存器、状态标志寄
2、存器、控制寄存器等。,5,控制器 控制器是指挥与控制计算机各功能部件协同工作,自动执行计算机程序的部件。控制器一般是由指令指针寄存器IP、指令寄存器IR、指令译码器ID、控制逻辑电路和时钟控制电路等组成。,6,2.1.2 16位微处理器80868086的编程结构,8086:Intel系列16位微处理器 数据总线:16位,内部寄存器,ALU都是16位的 地址总线:20位,以字节为单位对存储器进行编址,可寻址220 即1M字节。问题:内部寄存器、运算器为16位,如何产生20位地址?编程结构面向程序设计和应用角度的CPU结构,7,8,1.总线接口部件(BIU)总线接口单元BIU的任务:总线接口部件负
3、责与存储器、I/O端口传送数据 读指令指令队列出现空字节(8088 1个空字节,8086 2个空字节)时,从内存取出后续指令。BIU取指令时,并不影响EU的执行,两者并行工作,大大提高了CPU的执行速度。读操作数EU需要从内存或外设端口读取操作数时,根据EU给出的地址从内存或外设端口读取数据供EU使用。写操作数EU的运算结果、数据或控制命令等由BIU送往指定的内存单元或外设端口。,9,总线接口部件(BIU)的组成,4个16位段地址寄存器 CS 16位的代码段寄存器 DS 16位的数据段寄存器 ES 16位的附加段寄存器 SS 16位的堆栈段寄存器16位的指令指针寄存器IP(Instructio
4、n Pointer)20位的地址加法器 利用16位的段寄存器和另一个16位地址寄存器值,形成20位的物理地址,送20位地址总线。6字节的指令队列缓冲器总线控制电路 CPU与外界总线联系的转接电路 包括三组总线:20位地址总线,16位双向数据总线和一组控制总线,10,1)存储器的分段,11,代码段寄存器CS存储程序当前使用的代码段的段地址。代码段用来存放程序的指令代码。下一条要读取指令在代码段中的偏移地址由指令指针寄存器IP提供;数据段寄存器DS用来存放程序当前使用的数据段的段地址。一般来说,程序中所用到的原始数据、中间结果以及最终结果都存放在数据段中;堆栈段寄存器SS用来存放程序当前所使用的堆
5、栈段的段地址。堆栈是在存储器中开辟的一个特定区域;附加数据段寄存器ES用来存放程序当前使用的附加数据段的段地址。附加数据段通常用于存放字符串操作时的目的字符串。程序员在编写汇编语言源程序时,应该按照上述规定将程序的各个部分放在规定的段内。每个源程序必须至少有一个代码段,而数据段、堆栈段和附加数据段则根据程序的需要决定是否设置。,12,2)指令指针寄存器 指令指针寄存器IP用来存放下一条要读取的指令在代码段中的偏移地址。IP在程序运行中能自动加1修正,从而使其始终存放的是下一条要读取的指令在代码段的偏移地址。由于CS和IP的内容决定了程序的执行顺序,因此程序员不能直接用赋值指令对其内容进行修改。
6、有些指令能使IP和CS的值改变(如跳转指令)或使其值压入堆栈或从堆栈中弹出恢复原值(如子程序调用指令和返回指令)。,13,3)20位地址加法器 8086/8088CPU在对存储单元进行访问以读取指令或读/写操作数时,必须在地址总线上提供20位的地址信息,以便选中对应的存储单元。那么,CPU是如何产生20位地址的呢?CPU提供的用来对存储单元进行访问的20位地址是由BIU中的地址加法器产生的。,14,存储器中每个存储单元的地址可有以下两种表示方式:逻辑地址:其表达形式为“段地址:段内偏移地址”。段内偏移地址又称为“有效地址EA(Effective Address)。在读指令时,段地址由代码段寄存
7、器CS提供,当前要读取指令在代码段中的偏移地址由指令指针寄存器IP提供;在读取或存储操作数时,根据具体操作,段地址由DS、ES或SS提供,段内偏移地址由指令给出。,15,物理地址:CPU与存储器进行数据交换时在地址总线上提供的20位地址信息称为物理地址。物理地址的形成过程如图所示。由IP提供或由EU根据指令所提供寻址方式计算出寻址单元的16位段内偏移地址后,把该偏移地址和段寄存器内容左移四位后(相当于乘以10H)得到的段基址(段内第一个存储单元的物理地址)同时送到BIU中的地址加法器,形成一个20位的物理地址,从而实现对存储单元的访问。由逻辑地址求物理地址的公式为:物理地址=段地址10H+段内
8、偏移地址 如假设当前(CS)=20A8H,(IP)=2008H,那么,下一条从内存中读取的指令所在存储单元的物理地址为:20A8H10H+2008H=22A88H。,16,物理地址的形成,17,4)指令队列缓冲器 8086的指令队列有6个字节,当指令队列出现空字节时,BIU就自动执行一次取指令周期,将下一条要执行的指令从内存单元读入指令队列。它们采用“先进先出”原则,按顺序存放,并按顺序取到EU中去执行。指令队列的引入使得EU和BIU可并行工作,即BIU在读指令时,并不影响EU单元执行指令,EU单元可以连续不断地直接从指令队列中取到要执行的指令代码,从而减少了CPU为取指令而等待的时间,提高了
9、CPU的利用率,加快了整机的运行速度。,18,19,2执行单元EU 执行单元EU不与系统外部直接相连,它的功能只是负责执行指令。执行的指令从BIU的指令队列缓冲器中直接得到,执行指令时若需要从存储器或I/O端口读写操作数时,由EU向BIU发出请求,再由BIU对存储器或I/O端口进行访问。,20,执行部件EU的组成,EU控制电路:指令译码,产生定时和控制信号16位算术逻辑单元ALU:进行算术逻辑运算8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI16位标志寄存器FLAGS:存放运算结果的状态和控制标志数据暂存寄存器:暂存参加运算的数据EU控制电路:它是控制、定时与状态逻辑电路,
10、接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。,21,2.2 8086/8088寄存器结构,内部有14个16位寄存器,按功能可分为四大类8个通用寄存器:AX、BX、CX、DX、SP、BP、SI、DI4个段寄存器:CS、DS、SS、ES1个控制寄存器:IP1个标志寄存器:FLAGS,22,2.2.1 通用寄存器,AX、BX、CX、DX一般用于存放参与运算的操作数或运算结果每个数据寄存器都是16位的,但又可将高、低8位分别作为两个独立的8位寄存器来用。高8位分别记作AH、BH、CH、DH,低8位分别记作AL,BL,CL,DL。注意,8086
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术
链接地址:https://www.31ppt.com/p-5823617.html