概述
- 8086有16位寄存器和16位外部数据总线,具有20位地址总线,可寻址1MB地址空间
- 80286提供了24位基地址
- Intel 80386处理器是IA-32结构系列中的第一个32位处理器。该处理器有32位地址总线,能支持多至4GB的物理存储器,把分页引进了IA-32结构,并行操作,分页就是一种保护模式
- 80486在IA-32处理器的芯片中引入了缓存,也是第一次把x87 FPU(浮点处理单元即协处理器)集成到处理器上,5级流水线
- Intel MMX技术用单指令多数据(SIMD)的方式执行并行计算
超线程技术允许单个物理处理器用共享的执行资源并发地执行两个或多个分别的代码流(线程)。
从体系结构上说,支持HT技术的IA-32处理器,在一个物理处理器核心中有两个或多个逻辑处理器,每个逻辑处理器有它自己的IA-32体系结构状态
与用两个或者多个单独的IA-32物理处理器的传统的MP系统配置不同,在支持HT技术的IA-32处理器中的逻辑处理器共享物理处理器的核心资源。
双核技术由用在单个物理包中有两个分别的执行核心提供硬件多线程能力。
超线程和多核的区别:多核——两个实体内核,资源互不干扰;超线程——一个实体内核,两个逻辑内核,会发生资源互拒的问题数字编码:不宜混淆,直接十进制->二进制
字符编码:ASCII码由七位二进制码表示
汉字编码——外部码:汉语拼音,不唯一;内部码:唯一;字形码:将汉字以点阵形式输出;交换码:不同的汉字处理系统之间交换信息采用交换码程序计数器(Program Counter,PC):计算机在执行时要能把这些指令一条条取出来加以执行,必须要有一个电路追踪指令所在的地址,这就是程序计数器
三条总线结构:地址总线,数据总线,控制总线
术语
算数逻辑单元:Arithmetic Logic Unit,ALU——累加器(AL),寄存器(BL),数据寄存器(DR),地址寄存器(AR),指令寄存器(IR),指令译码器(ID)总线的优缺点:在CPU内部各个寄存器之间及ALU之间数据的传送也采用内部总线结构,这样扩大了数据传送的灵活性,减少了内部连线,因而减少了这些连线所占的芯片面积,不过采用总线结构,在任一瞬间,总线上只能有一个信息在流动,会使速度降低
读操作:AR->DB->存储器->DB->DR
写操作:AR->AB->存储器<-DB<-DR指令的执行过程:机器从停机状态进入运行状态,要把第一条指令所在的地址赋值给PC,然后就进入取址阶段。在取值阶段从内存中读出的内容必为指令,所以DR把它送至IR,然后由指令译码器译码,就知道此指令要执行什么操作,在取指阶段结束后就进入了人执行阶段。当一条指令执行完之后,就进入了下一条指令的取值阶段。这样的循环一直进行到程序结束(遇到停机操作)。
寻址方式:
立即寻址
寄存器寻址
直接寻址
寄存器简介寻址8086功能的扩展
- 从16位扩展到32位
- 从实模式至保护模式
- 片内存储管理单元(MMU)
- MMX技术
- 流SIMD扩展(SSE)
IA-32结构微处理器与8086
根据指令的局部性原理,把近期可能要用到的指令与数据放在工作速度比主存储器更快(容量更小)的缓存中
总线接口单元(Bus Interface Unit , BIU):负责8086CPU与存储器之间的信息传送,8086指令队列流是6个字节
执行单元(Execution Unit , EU):负责指令的执行8086——流水线的执行方式:大大减少了等待取指所需要的时间,提高了CPU的利用率。一方面可以提高整个程序的执行过程,另一方面又降低了与之相配的存储器的存取速度的要求。这种重叠的操作技术,称为流水线。
FLAGS寄存器:16位寄存器包含一组状态标志,一个控制位和一个系统标志
状态标志:
- 进位标志(Carry Flag , CF)
- 辅助进位标志(Auxitiary Carry Flag , AF)
- 溢出标志(Overflow Flag , OF)
- 符号标志(Sign Flag , SF)
- 奇偶标志(Parity Flag,PF)
- 零标志(Zero Flag , ZF)控制标志:
- 方向标志(Direction Flag,DF)
- 允许终端标志(Interrupt-enable Flag , IF)
- 追踪标志(Trace Flag , TF)一个程序能访问至多线性地址空间中的四个段:
CS:IP
DS:SI
SS:SP
ES:DIAND指令:对两个操作数进行按位逻辑“与”运算,会影响标志位和操作数
TEST指令:同样是“与”操作,结果反映在标志位上,但不影响操作数
处理器总线时序和系统总线
最大组态:系统中通常含有2个或多个微处理器即多个处理器系统,其中一个主处理器就是8086,另外,处理器可以是协处理器8087或输入输出协处理器8089
最小组态:只有一个微处理器,在这种情况下,所有总线控制信号均有8086/8088产生若把MN/(MX)^引脚连至电源(+5V),则为最小组态;若把它接地,则8086处在最大组态
8086总共有40根引线
- 地址/数据复用线:AD0-AD15(2-16、39)
- 地址/状态总线:A16-A19(35-38)
- 控制总线:剩余
- 电源和接地:GND,Vcc(1,20,40)
分时复用的原理:8086CPU有40根引线,而它的地址线是20根,数据线是16根,不能够满足要求,于是CPU内部出现了一些多路复用开关。是数据线和低16位地址线公用,从时间上加以区分。当CPU访问存储器或者外设时,先要给出所要访问的单元的地址并用ALE进行锁存,然后才能读写所需数据,他们在时间上是可以区分的。外部电路中有一个地址锁存器,将线上先输出的地址进行锁存,。在DMA方式时,这些线浮空。
指令周期:执行一条指令所需要的时间
总线周期:每当CPU要从存储器或者I/O端口,读写一个字节(或字)就是一个总线周期
时钟周期:每个总线周期通常包括4个T状态,T1,T2,T3,T4,每个状态是8086中处理动作的最小单元,它就是时钟周期ALE:Address Latch Enable
基本的I/O操作是由T1,T2,T3,Tw,T4组成,用5个时钟周期。
系统复位:在复位的时候,代码段寄存器和指令指针分别初始化为0FFFFH和0。因此,8086在复位后执行的第一条指令,存在绝地地址为0FFFF0H的内存单元。在正常的情况下,从0FFFF0H单元开始,存放一条段交叉直接JMP指令,以转移到系统程序的实际开始处
片内总线:位于微处理器芯片的内部,用于算数逻辑单元(ALU)与各种寄存器或其他功能单元之间的相互连接
片总线:CPU芯片引脚的延伸,往往需要增加锁存、驱动等电路,以提高CPU引脚的驱动能力
内总线:又称为微型计算机或班级总线,一般称为系统总线。它用于微型计算机系统各插件板之间的联系,是微型机系统的最重要的一种总线。一般谈到微型机总线,指的就是这种总线
外总线:又称为通信总线。用于系统之间的连接USB总线:通用串行总线。USB是一种独立的串行接口,所在驱动设备的时候不需要占用中断和DMA通道,这样对于不太懂电脑的人来说,不需要设定这些参数。
存储器
读写存储器RAM:主要用来存放各种现场的输入、输出数据,中间计算结果,与外存交换的信息和作堆栈用。它的存储单元的内容按需要既可以读出,也可以写入。
只读存储器ROM:ROM的信息在使用时是不能改变的,即只能读出不能写入,故一般用来存放固定的程序,如微型机的管理、监控程序,汇编程序、存放各种常数、函数表等。2114芯片:1K×4位
X选择线称为字线,Y选择线称为位线
片选控制端CS(Chip Select):只有当CS有效选中某一片时,此片所连的地址线才有效,才能对这一片上的存储单元进行读或者写的操作。
地址译码:一种是单译码方式或称字结构,适用于小容量的存储器中;另一种是双译码,或称复合译码结构
单译码结构中,字线选择某个字的所有位
输入和输出
CPU寻址外设可以有两种方式
存储器对应输入输出方式
优点:
- CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便。
- 内存和外设的地址分布图是同一个
- 不需要专门的输入输出指令以及区分是存储器还是I/O操作的控制信号
缺点: - 外设占用了内存单元,是内存容量减小
端口寻址的输入输出方式
优点: - 节省了指令的存储空间,缩短了指令的执行时间
CPU与一个外设之间交换信息,通常传送的是如下一下信号:数据(Data),状态信息(Status),控制信息(Control)
一个外设往往要几个端口地址,CPU寻址的是端口,而不是笼统的外设。
通常I/O接口电路的工作速度较慢,往往要插入等待状态,所以,基本的I/O操作由T1,T2,T3,Tw,T4组成,占5个时钟周期
CPU与外设数据传送的方式:查询传送方式、中断传送方式、直接数据通道传送(DMA)方式。
查询传送方式的优缺点:查询传送方式CPU通过程序不断查询相应设备的状态,状态不符合要求,则CPU需要等待,只有当状态信号符合要求时,CPU才能进行相应的操作。
中断传送方式的优缺点:中断方式提高了计算机系统中信息处理的并行和处理器效率,终端可以实现同步操作、实时处理等处理。中断处理必须由CPU通过指令来执行。每次中断都要进行保护断点,保护现场,传送数据,存储数据以及最后恢复现场,返回主程序等操作,需要执行多条指令使得传送一个字的时间过长。
直接数据通道传送(DMA)的传送方式的优缺点
DMA控制器必须有以下功能/DMA的基本工作流程:
- 能向CPU发出HOLD信号
- 当CPU发出HLDA信号后,开始对总线的控制,进入DMA方式
- 能发出地址信息,能对存储器寻址及能修改地址指针
- 能发出读或写等控制信号
- 能决定传送的字节数,及判断DMA传送是否结束
- 发出DMA结束信号,使CPU恢复正常工作状态
中断
中断系统的功能:实现中断及返回;能实现优先权排队;高级中断源能中断低级的中断处理
CPU响应中断的条件:设置中断请求触发器;设置中断屏蔽触发器;中断是开放的;CPU在现行指令结束后响应中断,即运行到指令的最后一个机器周期的最后一个T状态时,CPU才采样INTR线
CPU对中断的响应:关中断;保留断点;保护现场;给出中断入口,转入相应的中断服务程序;恢复现场;开中断与返回
用软件确定中断优先权——屏蔽法和移位法
硬件优先权排队电路——中断优先权编码电路和雏菊花环式8086中断的优先权次序——内部中断、NMI(非中断屏蔽)、INTR(可屏蔽中断)、单步执行
8086在内存的前1KB建立了一个中断向量表,可以容纳256个中断向量,每个中断向量占用4B。在这4B中,包含着这个中断向量的服务程序的入口地址——前2B为服务程序的IP,后2B为服务程序的CS。
Intel 8259A具有8级优先权控制,通过连级可扩展至64级优先权控制
计数器和定时器电路Intel 8253/8254-PIT
8253主要功能:
- 有3个独立的16位寄存器
- 每个计数器都可以按照二进制或者BCD码进行计数
- 每个计数器的计数速率可高达2MHz
- 每个计数器有6种工作方式
- 所有的输入输出引脚电平都与TTL电平兼容
半双工:每次只能有一个站发送,即只能由A发送到B,或是由B发送到A,不能A和B同时发送
完全双工:两个站能够同时发送