8086-16位微处理器介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 8086/8088(16位)微处理器
第一节、16位微处理器
第一代微处理器 1971年Intel 公司推出4004和8008,是4和8位微处理器,采用PMOS 工艺。
第二代微处理器 1974年推出的8080、M6800、Z-80等,是8位微处理器,采用NMOS 工艺。
第三代微处理器 70年代后期Intel 公司推出8086/8088、Motorola 公司M68000、Zilog 公司的Z8000,是16位微处理器,采用HMOS 工艺。80年代以来,Intel 公司推出80186用80286,与8086/8088兼容。
第四代微处理器 1985年,推出的80386及M68020是32位微处理器。1989年推出80486。 1993年推出Pentium 及80586等更高性能的32位和64位微处理器。
第二节8086/8088CPU 结构
微处理器 8086, 8088结构类似,内部都是16位总线,但外部性能是有区别。
8086CPU 功能结构分为两部分:总线接口部件BIU ,执行部件EU 。
两部分各自执行自己的功能并行工作,这种工作方式与传统的计算机在执行指令时的串行工作相比极大的提高了工作效率。
计算机执行程序时,CPU 的工作顺序是:取指令 执行指令 再取指令 再执行指令...特点:CPU 串行工作。
8086CPU 工作顺序是:取指令,执行指令同时进行。特点:CPU 并行工作。
一、执行部件
数据
4个通用寄存器 : A X , B X , C X , D X
4个专用寄存器 S P , B P , S I , D I
算术逻辑部件:ALU
8086/8088的EU 的特点
1个标志寄存器: F R ;分成两类:状态标志、控制标志
F R 的格式:
二、总线接口部件BIU
•功能:负责与存储器、I/O 端口传送数据
•BIU 的组成:
•4个段地址寄存器(16位):CS 、DS 、ES 、SS
•16位指令指针寄存器IP
•20位地址加法器
•6字节的指令队列
•一条指令20地址的形成:由代码段CS 左移4位后与指令指针寄存器IP 内容相加得到 注意:
指令执行单元(EU )的功能:一般情况下,指令按照它存放的顺序先后执行,EU 源源不断地从指令队列中取得指令代码,达到满负荷地连续执行指令而省去“取指令”的时间。指令执行过程如果需要访问存储器取操作数,那么EU 会将访问地址送给BIU ,等待操作数到达,然后继续操作。遇到转移指令,BIU 会将指令队列中的后继指令作废,从新的地址重新取指令。这时,EU 要等待BIU 将取到指令装入队列后,才能继续执行。这两种情况下,EU 和BIU 的并行操作会受到一定影响,这是采用重叠操作方式不可避免的现象。
EU 中的算术逻辑运算单元ALU 可完成16位或8位的二进制运算,运算结果可通过内部总线送到通用寄存器或者送往组成BIU 的内部通信寄存器中,等待写入存储器。16位暂存器用来暂存参加运算的操作数。经ALU 运算后的结果特征置入标志寄存器FLAGS 中保存。
EU 控制器负责从BIU 的指令队列中取指令,并对指令译码,根据指令要求向EU 内部各部件发出控制命令以实现各条指令的功能。
总线接口单元BIU :一般情况下,BIU 通过地址加法器形成某条指令在存储器中的物理地址后,从存储器中取出该条指令的代码送入指令队列。一旦指令队列中空出2B ,BIU 将自动进行读指令的操作以填满队列。只要收到EU 送来的操作数地址,BIU 将立即形成这个操作数的物理地址,完成读写操作。遇到转移类指令,BIU 将指令队列中剩余的指令作废,重新从存储器新的地址单元中取指令并送入指令队列。BIU 中的指令队列可存放6B 的指令代码,一般情况下应保证指令队列中填满指令,使得EU 可以不断地得到等待执行的指令。
EU 送来的存储器地址称为逻辑地址。由16位“段基址”和16位“偏移地址”(段内地址)组成。访问存储器的实际地址称为物理地址,用20位二进制表示。地址加法器用来完成由逻辑地址变换成物理地址的功能。这实际上是进行一次地址加法,将两个16位
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 较验
进位 辅助进
位 零标志
符号标志 跟踪标
志 中断标志
方向标志 溢出标标志
的二进制代码表示的逻辑地址变换为20位的物理地址,从而使可寻址的存储空间达到1MB 。
总线控制电路将8086/8088CPU 的内部总线与CPU 引脚所连接的外部总线相连,是8086/8088CPU 与外部交换数据的必经之路,它实际上包括16条数据总线,20条地址总线和若干条控制总线。CPU 正是通过这些总线与外部联系从而形成各种规模的8086/8088微型计算机。
8086/8088CPU 区别:(1)指令队列长度不同,8088只有4B ,8086有6B ;(2)外部数据总线不同,8088CPU 与外部交换数据的总线宽度是8位,而8086达16位。 三、8086/8088的存储器结构
字节和字的地址。 字传送:高字节数 高地址 低字节数 低地址
(反之同样)
(一)、存储器的分段
1、每段逻辑容量最长可达64K 字节,1MB 空间可分为16个逻辑段
2、各段起始地址能被16整除。(低4位为0)
3、各段之间可分开、部分或完全重叠、可续排列、可断续排列。
4、根据各段的用途将其定义为CS 、DS 、ES 、SS 段,并用偏移地址(距段起址的字节距离)表示被访问单元。
常在CS 中用IP 表示偏移量,SS 中用 SP 、BP ,DS 中用 BX 、SI 、DI 、数值。
(二)、存储器中的逻辑地址和物理地址•物理地址(绝对地址):20 位
逻辑地址:段基址 (段寄存器的内容)16位 00000H 00001H 01001H 01002H
CS DS ES SS 0000 10550 250A0 8FFB0 EFF00
FFFFF 代码段 数据段 附加段 堆栈段 存储器中各段分布情况举例 0000 0FFFF 10000 1FFFF F0000
FFFFF =64K =64K =64K 16个逻辑
段 存储器的逻辑分段