175
社区成员
发帖
与我相关
我的任务
分享8086、8088、80286、80386、80486、Pentium
静态存储器 SRAM
动态随机存储器 DRAM
高速缓冲存储器 Cache
只读存储器 ROM
闪速存储器 FLASH
鼠标、键盘、打印机、显示器、串行通讯设备、U盘、硬盘、光盘等
信息在系统硬件和软件的各个环节中有序的流动,我们称之为信息流。
信息流在系统中流动的路径称为信息链(包括物理(硬件)环节和逻辑(软件)环节)。
指存储器中的数据、程序代码
接口寄存器中的I/O数据、状态,和I/O命令
*此图为现代微机系统的信息链示意图:

其中物理环节包括:用户层的设备接口与总线桥
逻辑环节包括:Windows操作系统、MS-DOS与Win32应用程序,以及核心的设备驱动程序
*研究信息流及信息链的目的是,通过信息流从整体上认识微机体系结构和组成微机系统的各部件之间的关系。
通过总线连接存储器系统和I/O系统,通过执行指令实现对数据的加工处理、存储器的访问、I/O设备控制。
微处理器系列:x86系列(英特尔)、Apple系列(苹果)、Motorola系列(摩托罗拉)、Zilog系列等。
*不同的微处理器内部结构不同。(往后将以最为常见的x86系列为基础介绍)
具有基本结构的微处理器:

包括算数逻辑运算单元ALU、累加器A、暂存器、标志寄存器FR(程序状态字PSW)。
实现算数运算、逻辑运算、循环移位的操作。
根据运算结果设置相关的状态标志。
包括指令寄存器IR(寄存读出的指令)、指令译码器ID(对指令进行译码)、时序逻辑控制电路(产生执行指令所需的操作控制信号)。
实现存储器中取指令、对指令进行分析译码、从存储器中取操作数、发出执行指令所需的所有命令、把结果存入存储器、对总线和I/O进行控制。
*控制部件里的寄存器只供处理器使用,不对用户开放。
x86系列微机的寄存器:AX、BX、CX、DX、BP、SP、SI、DI等。
PC的初值是程序的入口地址,可以根据取出指令的字节数自动递增、遇到转移指令、子程序调用指令或中断指令时,由微处理器将下一条要执行指令的地址赋给PC。
(1)地址缓冲寄存器
存放着被执行指令或者数据的地址。
(2)数据缓冲寄存器
作用主要是双向三态缓冲。
(3)读操作时
从内存中读出的指令或数据,先送给数据缓冲寄存器,再送给IR或者相关的通用寄存器。
(4)写操作时
数据首先被写到数据缓冲寄存器中,然后再被写入到相应的内存单元中,对I/O设备的操作,情况类似。
8086是16位的微处理器,虽然现代的微处理器性能有了极大的变化和提升,但是基本部件差别不大。
*此为8086微处理器内部结构

包括算数逻辑单元ALU、EU控制电路、通用寄存器组、标志寄存器。
(1)算数逻辑单元ALU
能够完成算数运算、逻辑运算和位移操作,并根据系统的状态特征设置标志寄存器,还能根据寻址方式计算出寻址单元的地址偏移量。
(2)EU控制电路
可以接收从BIU的指令队列中取来的指令,译码形成各种定时、控制与操作信号,实现对EU的各个部件的定时和操作控制。
(3)8086微处理器的通用寄存器组
由四个数据寄存器:AX、BX、CX、DX、堆栈指针SP、基址指针BPI、源变址寄存器SI、目的变址寄存器DI组成。
实现对内存和I/O端口的读/写操作
完成预取指令到指令队列
实现微处理器对系统总线的连接与控制
(1)物理地址的形成
8086对内存进行访问,使用的是20位的物理地址,是根据偏移量(指令时--由指令指示器IP提供;数据时--由具体的寻址方向决定)和段基址(由CS、DS、SS、ES提供)通过20位的加法器形成的。
(2)物理地址形成的算法
段寄存器的值左移四位,再加上偏移量--这个运算由物理地址加法器完成,无需用户干预。
(3)指令指针寄存器IP(指令指示器)
用于存放下一条待取指令的段内偏移量,具有自增的功能。
(4)FIFO的指令队列
实现取指令和执行指令并行工作,提高了微处理器的运行速度。
执行单元和总线接口单元是相互作用。
*EU执行指令时,BIU可以预取指令,或读/写内存、I/O端口。
(1)BIU的主要任务
根据EU提供的偏移量和段基址形成20位物理地址,从内存中读取指令和操作数并放在指令队列中,供EU取走并执行。
(2)EU的主要任务
如果用到内存中的操作数,或把结果结果写到内存,则向总线接口单元发出请求,再由总线接口单元经内部暂存器通过内部总线读取内存中的数据传送给执行单元或者把执行单元送来的数据写入到内存。
*8086微处理器的外部引脚

访问存储器时使用20位地址线,寻址空间为1MB;
访问I/O时使用16位地址线,寻址空间为64KB。
用于微处理器与存储器和I/O进行信息交换。
(1)M/IO 存储器/IO控制信号线
这根信号线是用于区分送出的地址是存储器的地址,还是I/O的地址,M/IO=1,表示访问存储器;M/IO=0,表示访问I/O。
(2)RD 读控制信号,低有效
与M/IO配合,对存储器或I/O进行读操作。
(3)WR 写控制信号,低有效
与M/IO配合,对存储器或I/O进行写操作。
(1)INTR 可屏蔽中断请求信号,输入,高有效
用于接收I/O设备发出的中断请求,该中断请求可被屏蔽。
8086的标志寄存器中,有一个中断允许标志IF,当IF=0时,CPU不响应这个类型的中断。
(2)INTA 中断响应信号,输出,低有效
当CPU响应可屏蔽中断时向外设发出该信号,然后进入中断响应周期。
(3)NMI 不可屏蔽中断请求信号,输入,高有效
该请求信号不受IF标志位的限制,微处理器识别出该信号有效,就必须响应。
一般用来设置紧急事件。
(1)HOLD 总线保持请求信号,输入
用于接收DMA控制器发出的要求占用总线控制权的请求。
(2)HLDA 总线保持响应信号,输出
当微处理器响应DMA控制器要求占用总线控制权的请求时,就向DMA控制器发出有效的HLDA信号,然后让出总线控制权,进入保持状态;此时,DMA控制器取代微处理器,成为系统的主控者。