微型计算机系统的微处理器课件

上传人:我*** 文档编号:143517932 上传时间:2020-08-31 格式:PPT 页数:80 大小:2.77MB
返回 下载 相关 举报
微型计算机系统的微处理器课件_第1页
第1页 / 共80页
微型计算机系统的微处理器课件_第2页
第2页 / 共80页
微型计算机系统的微处理器课件_第3页
第3页 / 共80页
微型计算机系统的微处理器课件_第4页
第4页 / 共80页
微型计算机系统的微处理器课件_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《微型计算机系统的微处理器课件》由会员分享,可在线阅读,更多相关《微型计算机系统的微处理器课件(80页珍藏版)》请在金锄头文库上搜索。

1、微机原理及应用,北京科技大学 理工类(非计算机专业)相关专业适用,计算机与通信工程学院,计算机与通信工程学院,第2章 微型计算机中的微处理器,讲授5个主题内容 8086/8088CPU的编程结构 8086/8088的存储器组织 8086/8088的I/O组织 8086/8088CPU的引脚功能和工作方式 8086/8088的典型时序分析,第1主题问题 8086/8088CPU的编程结构,主要内容:,8086/8088CPU的内部结构 8086/8088CPU的寄存器结构,8086/8088CPU的内部结构,8086/8088 CPU的内部结构基本相同 均由两个独立的工作部件组成 一个称为执行部

2、件(EU) 一个称为总线接口部件 (BIU),8086/8088CPU的内部结构,8088CPU外部数据总线为8位、指令队列为4字节,寄存器组是中央处理器内的组成部分;寄存器是有限存储容量的高速存储部件,可用来暂存指令、数据和地址指令:确定运算与操作的类型数据:被运算或处理的对象地址:标记和确定内存中具体的存储位置,指令队列的设置,将利用CPU执行指令而总线空闲,从内存中取出指令放入指令队列(等待CPU取走);使指令的取出与执行并行进行,以提高了程序的运行速度,地址加法器的作用是根据段寄存器存放的段基地址与EU送出的16位偏移地址计算得到20位的实际地址,输出输入控制电路实现总线控制,决定读或

3、写、对内存或对I/O接口,取指令、指令译码、产生并传送操作信号,指令队列缓冲器,指令队列缓冲器 8086 的指令队列为6个字节 8088 的指令队列为4个字节 指令队列缓冲器的指令存放状态: 执行顺序指令时:指令队列存放紧接在执行指令后面的那一条指令 执行转移指令时:立即清除指令队列中的内容,从新的地址取入指令,并立即送往执行单元,然后再从新的地址单元开始继续取指,并重新填满队列,8086的指令执行顺序,8086的EU和BIU是结构分开并可独立工作的,故取指令和执行指令在时间上,可重叠进行(并行) 采用该结构,可实际减少CPU的取指等待时间,提高了运算速度,提高了CPU的利用率和工作效率 称为

4、:“流水线”处理技术,BIU,EU,8086/8088CPU的内部(可编程)寄存器,包括14个16位的寄存器 4个数据寄存器 2个地址指针寄存器 2个变址寄存器 4个段寄存器 2个控制寄存器,1. 数据寄存器,包含4个16位寄存器;也可分别作为2个8位的字节寄存器使用;常用来存放操作数、运算结果或存放地址 AX(Accumulator)(AH、AL)累加寄存器 常用于数据运算或与外设交换数据 BX(Base)(BH、BL)基址寄存器 通常在间接寻址中用于存放(附加)数据段的基地址 CX(Count)(CH、CL) 计数寄存器 通常在循环、移位等操作中用于计数 DX(Data)(DH、DL) 数

5、据寄存器 常用于数据的传送或配合AX进行双字节运算,2. 段寄存器,包含4个16位段寄存器;用于存放各逻辑段的段基地址;不可互换使用 CS(Code Segment ):代码段寄存器 只能用于存放当前执行程序所在段的段基地址 DS(Data Segment ):数据段寄存器 只能用于存放当前使用数据所在段的段基地址 ES(Extra Segment ):附加段寄存器 只能用于存放当前附加数据段的段基地址 SS(Stack Segment ):堆栈段寄存器 只能用于存放当前堆栈段的段基地址,3. 地址指针寄存器,常用于存放当前堆栈段中某个存储单元的偏移地址 SP (Stack pointer):

6、堆栈指针寄存器,存放当前堆栈段中栈顶的偏移地址 BP (Base pointer):( 堆栈)基址指针寄存器,存放位于堆栈中的某个存储单元的偏移地址,4. 变址寄存器,SI (Source Index):源变址寄存器 DI (Destination Index):目标变址寄存器 变址寄存器常用于存放当前数据段中某一个存储单元的偏移地址 用SI存放源操作数的偏移地址 用DI存放目标操作数的偏移地址,IP (instruction pointer )寄存器 : 指令指针寄存器,总是存放着下一次(马上)要取出执行的指令的偏移地址,5. 指令指针寄存器,6. 标志寄存器,FR (Flags regis

7、ter) 状态标志寄存器 8086/8088CPU设有一个16位的状态标志寄存器;但只使用了其中的9位,分别作为状态标志位和控制标志位 6个状态标志-寄存前一次ALU运算结果的状态信息 3个控制标志-寄存CPU的工作状态信息,标志寄存器各标志位的意义,溢出标志位OF用于反映带符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0,方向标志DF位用来决定在“数据串操作”指令执行时的步进方向;DF=1表示由高字节向低字节方向进行称为递减方式;否则为0,称为递增方式,中断允许标志IF位用来决定CPU能否响应CPU外部的可屏蔽中

8、断发出的中断请求;但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断请求,以及CPU内部产生的中断请求;IF=1表示开中断,单步控制标志TF位用来控制CPU是正常(TF=0)执行,还是单步(TF=1)执行,符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同;对于带符号数反映运算结果的正负号;运算结果为正数时,SF的值为0,否则为1,零标志ZF用来反映运算结果是否为0;如果运算结果为0,则其值为1,辅助进位标志AF:在运算过程中,如果发生低4位向高4位的进位或借位时,辅助进位标志AF的值将被置为1;否则为0,奇偶标志PF用于标志运算结果的低8位中“1”的个数的奇偶性;如果“

9、1”的个数为偶数,则PF的值为1,进位标志CF主要用来反映运算是否产生进位或借位;如果运算结果的最高位产生了一个进位或借位,此时其值为1,标志寄存器置位问题,6个状态标志位根据ALU运算的结果,自动置 /复位 3个控制标志位需要在程序中用专门的指令置位/复位,运算对标志位的影响的例,SF=? ZF=? PF=? CF=? AF=? OF=?,第2主题问题 8086/8088的存储器组织,主要内容:,存储器的组织 8086存储器的分体结构 存储器的分段管理和物理地址的形成,存储器的组织,在存储器中,以字节为单位存取数据 存储地址即为存储单元编号,称为地址 8086/8088提供20条地址总线(A

10、0-A19),可寻址的存储空间为:220=1MB 每个存储单元的地址均为20位(但一般用5个十六进制数书写) 地址范围为:00000H-0FFFFFH,字节数据与字数据的存储,存储在一个存储单元中的数据称为字节数据 字节数据的存储方式:按顺序存放 其存储单元的地址,叫做该字节数据的存储地址 需要存储在相邻两个存储单元中的数据称为一个“字”,叫做字数据 字数据的存储方式:低字节存于低地址单元,高字节存于高地址单元 存放该字数据低字节的存储单元的地址,叫做该字数据的存储地址,存储器中数据的存储方式,00A22H,00B06H,00B07H,03A03H,03A04H,字数据3A0DH的存储地址为:

11、00B06H,字数据325EH的存储地址为:03A03H,字节数据3CH的存储地址为:00A22H,规则字与非规则字,存放一个字数据的低字节地址如果是偶数地址,则称为“规则字” 存放一个字数据的低字节地址如果是奇数地址,则称为“非规则字” 存取“规则字”与“非规则字”,其“读”或“写”操作过程不同(体现为所使用的总线周期数不同),在8086系统中,为充分利用16条数据线,提高数据的读取效率,将其可寻址的1MB存储器分为两个物理上独立的存储体;即奇地址存储体和偶地址存储体,各为512 KB,8086存储器的分体结构,奇地址存储体与CUP高8位数据总线(D15D8)相连,偶地址存储体与CUP低8位

12、数据总线(D7D0)相连 读/写偶地址体时,数据从低8位数据总线上传送 读/写奇地址体时,数据从高8位数据总线上传送 特别提示:关注BHE、A0和SEL三个选通信号,8086存储器的分体结构,8086存储器的分体结构,8086CPU是按16位结构设计,外部16条数据总线;可以通过两个存储体直接读/写一个字数据;也可以只从一个存储体中,读/写一个8位的字节数据 SEL为奇偶地址存储体的“片选”信号 奇偶地址存储体的选择由BHE信号和A0决定 所以读/写字数据或字节数据就会有几种不同的情况,读/写一个字节数据: 如果BHE=1,表示要读/写偶地址存储体,发送偶地址; 此时A0=0, DB8 - D

13、B15上的数据将被忽略 如果BHE=0,表示要读/写奇地址存储体;发送奇地址; 此时A0=1, DB0 - DB7上的数据将被忽略,读/写偶地址字节,读/写奇地址字节,8086存储器的分体结构,读/写一个规则字数据: 该字数据的地址是从偶地址开始的;发送该字数据的地址(一定是偶地址A0=0),同时令信号BHE=0,则只须执行一个总线读/写周期,便可一次完成对该字的读/写操作 低位数据线上读写低字节数据 高位数据线上读写高字节数据,8086存储器的分体结构,读/写一个非规则字数据: 该字数据的地址从奇地址开始,低字节数据放在奇地址存储体中,而高字节数据存放在偶地址存储体中 CPU需要发送两个地址

14、,并连续地执行二个总线读/写周期,才能分两次完成对该字的读/写 第一次读写奇地址体上数据,发送该字数据的地址(A0一定为1),并令信号BHE=0,通过高位数据线读写低字节数据;偶地址体上的8位数据被忽略 第二次读写偶地址体上数据,再发送一个偶地址(A0=0),并令信号BHE=1,通过低位数据线读写高字节数据,8086存储器的分体结构,数据读写小结,存储器的分段与物理地址的形成,8086/ 8088 的地址总线(AB)为20位 直接寻址范围是 220 = 1 MB个存储单元 但是: 8086/ 8088 的寄存器、ALU都是16位,送出的也只能是16位的地址数据 最多表示 216 = 64 KB

15、 个地址编号 就是说:16位的寄存器和ALU不能直接存放和处理20位的地址数据,CPU对存储器实行“分段”管理 将存储空间分为若干逻辑段,约定每个段的容量64 KB;并用16位的地址管理和标记,称为“段地址” 段内第一个单元称为段首单元;某单元距离段首单元总有一个相对的偏移量,用16位二进数标记,故最大偏移量为64K,称为“偏移地址” 某存储单元的实际地址用段基址和偏移地址共同表示,存储器的逻辑分段,比喻,假设 教室内有200个座位,都编有3位数的号码(100-299) 必须按号入座 但,入场卷上的编号只能是 2 位数 解决的办法之一 将全部座位先分为两个区域;每个区域的编号用两位数编制(如1

16、0、20) 每个区域可容纳100人,每个座位的编号为 00-99 那么,你的实际座位号应为:区域号*10+座位号,存储器的逻辑分段原则,逻辑段的划分原则上不受限制 各段之间可连续、可分开、可部分重叠、还可完全重叠 但要求:段的分配只能从地址低4位均为0的内存单元开始(即:段内的首个存储单元的地址的低4位一定均为0) 故:最大64KB,最小16B,段首地址、段基地址和偏移地址,60002H,12H,60000H,0 0 0 0,段基址(16位),段首单元地址(20位), , ,偏移地址=0002H,每个段都从低4位为0的存储单元开始 段首单元地址的高16位为 段基址 偏移地址为相对于段首地址的偏移量,00H,一定为0,地址存储与寄存器,基址或变址寄存器-存储相应的偏移地址,段寄存器-存储各段的段基址,DS或ES,存储器地址的两种表示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号