第一章 微型计算机系统概述
1. 微型计算机系统组成
- 微处理器:运算器、控制器、寄存器
- 微型计算机:输入输出接口、总线、内存
微型计算机系统:由硬件和软件共同组成的完整的计算机系统
2. 系统总线
- 地址总线AB
-
- 输出将要访问的内存单元或I/O端口的地址
-
- 地址线的多少决定了系统直接寻址存储器的范围
- 数据总线DB
-
- CPU读操作时,外部数据通过数据总线送往CPU
-
- CPU写操作时,CPU数据通过数据总线送往外部
-
- 数据线的多少决定了一次能够传送数据的位数
- 控制总线CB
- 协调系统中各部件的操作,有输出控制、输入状态等信号
控制总线决定了系统总线的特点,例如功能、适应性等
3. 基于8088CPU的PC微机系统结构
4. 微处理器(CPU)内部结构
指令处理单元(控制器):对机器指令译码,产生指令执行所需的控制信号,并按照指令规定的时序将控制信号传送到CPU内部各器件或传送到总线。
算术逻辑单元(运算器):接收到控制器发出的各种运算控制信号后,执行相应运算,并影响相应标志位。
寄存器组:CPU内用于暂时存放数据、地址的存储单元,CPU从内存读取指令、在内存中读写数据,均需要这些寄存器完成寻址、暂存的功能。其中标志寄存器能够间接影响程序执行流程
- 8088的内部结构从功能分成两个单元
- 总线接口单元BIU——管理8088与系统总线的接口,负责CPU对存储器和外设进行访问
- 执行单元EU——负责指令的译码、执行和数据的运算
- 两个单元相互独立,分别完成各自操作
两个单元可以并行执行,实现指令取指和执行的流水线操作
8088 CPU 外部特性与IBM PC总线结构
1. 8088的两种组态模式
- MN/MX*接高电平为最小组态模式
MN/MX*接低电平为最大组态模式
2. 8088最小组态的引脚信号
1. 数据和地址引脚
- AD7~AD0
- 地址/数据分时复用引脚,双向、三态
- 在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7~A0
- 其他时间用于传送8位数据D7~D0
- A15~A8(Address)
中间8位地址引脚,输出、三态
这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A15~A8 - A19/S6~A16/S3(Address/Status)
- 地址/状态分时复用引脚,输出、三态
- 这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16
- 在访问外设的第一个时钟周期全部输出低电平无效
- 其他时间输出状态信号S6~S3
- S6始终为低;
- S5为标志寄存器的中断允许标志的状态位,它在每一个时钟周期开始时被修改;
- S4和S3用以指示是哪一个段寄存器正在被使用,00为ES,01为SS,10为CS,11为DS。
在DMA方式时这4条线处于高阻状态
2. 读写控制引脚
- ALE(Address Latch Enable)
- 地址锁存允许,输出、三态、高电平有效
ALE引脚高有效时,表示复用引脚:AD7~AD0和A19/S6~A16/S3正在传送地址信息
- 由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来
- IO/M*(Input and Output/Memory)
I/O或存储器访问,输出、三态
该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O口地址
- 该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址
- WR*(Write)
- 写控制,输出、三态、低电平有效
- 有效时,表示CPU正在写出数据给存储器或I/O端口
- RD*(Read)
- 读控制,输出、三态、低电平有效
- 有效时,表示CPU正在从存储器或I/O端口读入数据
- READY
- 存储器或I/O口就绪,输入、高电平有效
- 在总线操作周期中,8088CPU会在第3个时钟周期的前沿(下降沿)测试该引脚
如果测到高有效,CPU直接进入第4个时钟周期
如果测到无效,CPU将插入等待周期Tw - CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw
- DEN*(Data Enable)
- 数据允许,输出、三态、低电平有效
- 有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动
- DT/R*(Data Transmit/Receive)
- 数据发送/接收,输出、三态
- 该信号表明当前总线上数据的流向
高电平时数据自CPU输出(发送)
低电平时数据输入CPU(接收)
- SS0*(System Status 0)
最小组态模式下的状态输出信号
它与IO/M和DT/R一道,通过编码指示CPU在最小组态下的8种工作状态:
3. 中断请求和响应引脚
- INTR(Interrupt Request)
- 可屏蔽中断请求,输入、高电平有效
- 有效时,表示请求设备向CPU申请可屏蔽中断
- 该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从而对中断请求进行屏蔽
- INTA*(Interrupt Acknowledge)
- 可屏蔽中断响应,输出、低电平有效
- 有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期
- 中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断请求已被响应、并令有关设备将中断向量号送到数据总线
- NMI(Non-Maskable Interrupt)
- 不可屏蔽中断请求,输入、上升沿有效
- 有效时,表示外界向CPU申请不可屏蔽中断
- 该请求的优先级别高于INTR,并且不能在CPU内被屏蔽
当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务
4. 总线请求和响应引脚
- HOLD
- 总线保持(即总线请求),输入、高电平有效
- 有效时,表示总线请求设备向CPU申请占有总线
- HLDA(HOLD Acknowledge)
- 总线保持响应(即总线响应),输出、高电平有效
- 有效时,表示CPU已响应总线请求并已将总线释放
- 此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请求设备可以顺利接管总线
- 待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权
- RESET
- 复位请求,输入、高电平有效
- 该信号有效,将使CPU回到其初始状态;当它再度返回无效时,CPU将重新开始工作
8088/86复位后
CS=FFFFH、IP=0000H,
所以程序入口在物理地址FFFF0H
CLK(Clock)
时钟