当前位置:
文档之家› 第二章 微处理器与系统结构-1
第二章 微处理器与系统结构-1
DS ES SS CS IP
BIU
地 址 加 法 器
AB
DX
DB 数据暂存器 指 令 队 列 总线 接口 CB 控制 电路
运 算 器
指令译码器 PSW 标志寄存器 执行部件 控制电路
并行: 图2.7
EU
总线接口部件BIU
• 主要功能 • 负责与存储器、I/O设备之间传递信息(指令和数据) • 具体完成: • (1)从内存取指令,送到指令队列,并管理指令队列; • (2)读数据:配合执行部件从指定的内存单元 • 或I/O端口取数据; • ( 3)写数据:将执行部件的运算结果送到 • 指定的内存单元或I/O端口。
• 时钟周期T 机器周期M 指令周期IC
指令周期 M1 T1 T2 T3 M2 T1 T2 T3 T4 Mn T1 T2 T3
微操作控制部件
• 功能:根据指令产生计算机各部件所需要 的控制信号
方式 组合逻辑控 制 微程序控制 可编程序逻 辑阵列PLA 特点 优点 缺点 改动困难 速度较慢
用硬件电路实现 速度快 ROM中的微指令 便于修改
用来指示栈顶的偏移地址, 必须与SS段寄存器联合使用确定实际地址。 堆栈和指针如下页图所示。
BP(base pointer)——基址指针寄存器
可以与SS寄存器联合使用来确定堆栈段中某一存储器单元地址。
设: ( SS)=3F00H,(SP)=0100H堆栈和指针如下图:
堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动, 严格按照后进先出的工作原则。
1. 总线接口部件BIU (Bus Interface Unit) → 运输部门 负责取指令,读、写 2. 执行部件EU (Execute Unit) → 加工部门 负责指令的执行 3. 工作方式 串行:图2.6
寄存器组 AH AL BH BL CH CL DH DL
SI DI BP SP
AX BX CX
通用寄存器
8086 的寄存 器组
SI DI BP
SP
DS ES SS CS IP PSW
数据段寄存器 Data Segment 附加段寄存器 Extra Segment 堆栈段寄存器 Stack Segment 段寄存器 代码段寄存器 Code Segment 指令指针寄存器 Instruction Pointer 状态标志寄存器 Processor Status Word
– 数据总线缓冲寄存器DBUF – 地址总线缓冲寄存器ABUF
第二节 Intel 8086微处理器
• 特点
– 16位:内部总线、寄存器、运算部件 – 双列直插式 – 5MHz – 20条地址线:1M寻址空间
Intel 8086
8086 : 对外有16根数据线,20根地址线 可寻址的内存单元数 220 = 1M
FFFFFH
段
00000H 00001H 0FFFFH
...
...
23450H 23460H
• 段:64K字节 • 从节开始 • • • • • 34567 3:4567 34:567 345:67 3456:7
...
3344FH 33450H 34567H ... 4344FH
... ...
...
用来识别当前堆栈段。
ES——Extra Segment Register附加段寄存器, 用来识别当前附加段。
段寄存器的初始值
CS CS
代码段:64K
DS DS
数据段:64K
SS
64K
SS
堆栈段:64K
2、通用寄存器
AX、BX、CX、DX 作为通用寄存器。
用来暂存计算过程中所用到的操作数,结果或其它信息。 访问形式:可以用16位的访问; 或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、BL 、CL 、DL 。
BIU的构成
• 4个16位段寄存器:
– CS,DS,ES,SS
8086 结构
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP
BIU
地 址 加 法 器
• 16位IP指令指针寄存器 • 20位 地址加法器 • 指令队列
例: MUL BX ; (AX)(BX)(DX)(AX)
例:
IN
AL , DX
2.地址指针与变址寄存器:
SP、BP、SI、DI 四个16位寄存器。 以字为单位在运算过程中存放操作数, 经常用以在段内寻址时提供偏移地址。
地址指针寄存器(SP 、 BP )
SP(stack pointer)——堆栈指针寄存器
CPU
片外总线
• 片外总线:在CPU和各外部部件之间传送信息的总线,系统总线,三 总线结构
– 数据总线:DB(Data Bus) – 地址总线:AB(Adress Bus) – 控制总线:CB(Control Bus)
• 单总线结构,分时使用
– 发送:同一时刻只允许一个部件发送数据 – 接收:不限 控制总线
SI——Source Index Register 源变址寄存器 DI——Destination Index 目的变址寄存器
使用场合:常用于变址寻址。 • 一般与DS联用,用来确定数据段中某一存储单元的地址, SI , DI具有自动增量和自动减量功能.
例:
MOV AX, [SI]
•
在串处理指令中,SI、DI作为隐含的源变址和目的变址寄 存器分别达到在数据段和附加段中寻址的目的。 执行示意图如右图。
– 当BIU有2个或2个以上的字节空间,而且EU没 有向BIU请求读或写数据时 – 空闲状态 – 取指令优先:取指令的优先级高于读写操作数
• 取指令
– 队列输出端指针 – 队列输入端指针
读取指令的过程
1 2 3 4 5 6
取走一字 节的指令
1
2
3
4
5 6
输出指针
输入指针
输出指针
输入指针
填充2字节 的指令
数据总线 (SS)=3F00H 3F000H ...... (SP)=60H ...... A19~A0 FFFFFH A19~10 地址总线 a1 a0 栈底 3F0FFH 3F060H
00000H
D7~D0 1 M X 8位存储体
8086系统存储器与总线连接
堆栈和指针
• 变址寄存器(SI 、 DI)
通过程序来设计 兼顾以上两种的优点 组合逻辑
总线
• 总线是计算机各部 件间传递信息的公 共通路。 • 片内总线
– 在微处理器内部各单 元间传递信息的总线 – 单总线/双总线/多总 线
存储器 运 运 算 算 器 器 和
被加数 寄 存 器 组
加数
控制器
被加数
输出
输入 进位
运 运 算 算 器 器
寄 存 加数 器 组 和
• 主要功能 • 指令的译码和指令的执 行(包括算术、逻辑运算, 控制命令等)。 • 构成部分: • 8个16位寄存器:
AX、BX、CX、DX SP、BP、DI、SI
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP
AX——(Accumulator)作为累加器。 它是算术运算的主要寄存器, 所有I/O指令都使用这一寄存器与外部设备交换数据。 例: IN OUT AL , 20H 30H , AX
BX——Base用作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。
例:
MOV
AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。
1、段寄存器
段寄存器: 4个16位段寄存器CS、DS、SS、ES。 用来识别当前可寻址的四个段,不可互换的使用。
CS——Code Segment Register 代码段寄存器
用来识别当前代码段(程序一般放在代码段)。 DS——Data Segment Register数据段寄存器 用来识别当前数据段寄存器。 SS——Stack Segment Register堆栈段寄存器,
控制寄存器
节
00000H 00001H
第0节 16个单元
0000FH 00010H 00011H
• 内存大小:1M字节 • 00000-FFFFF • 节:16个字节
第1节 16个单元
0001FH 00020H 00021H
第2节 16个单元
0002FH
...
FFFF0H FFFF1H
... 第65535节 16个单元
十进制调整
运 运 算 算 器 器
PSW 标志 进位 标志寄存器 寄存器
加数 和
控制器
地址总线
数据总线
指令部件
指令寄存器IR
程序计数器PC
指令译码器ID
取指令
外部命令 操作控制器 时序发生器
分析指令 执行指令
内部命令
时序部件
• 时钟系统
– 脉冲源: 2.5G主频的CPU,时钟周期是多少? – 时钟启停逻辑
BIU
地 址 加 法 器
数据暂存器
指 令 队 列
• • • •
标志寄存器PSW 算术逻辑运算部件ALU 指令译码器 控制部件
运 算 器
总线 接口 控制 电路
指令译码器
EU
PSW标志 寄存器
执行部件控制电路
AH BH CH DH
AL BL CL DL
AX 累加器Accumulator BX 基数寄存器 Base CX 计数寄存器 Count DX 数据寄存器 Data 源变址寄存器 Source Index 目的变址寄存器 Destination Index 基址指针寄存器 Base Point 堆栈指针寄存器 Stack Point 变 址 寄存器 指 针 寄存器