Download presentation
Presentation is loading. Please wait.
1
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:15928582759
主讲教师 杨 梅 联系电话:
2
第三章 CPU子系统 重点 及 难点 3.1 概 述 3.2 算术、逻辑运算部件 3.3 指令系统 3.4 CPU模型 3.5
SCS-SWPU 第三章 CPU子系统 3.1 概 述 重点 及 难点 3.2 算术、逻辑运算部件 3.3 指令系统 3.4 CPU模型 3.5 组合逻辑控制方式 3.6 微程序控制方式 计算机组成原理
3
常见寻址方式 1、立即数寻址:助记符I,如汇编指令:MOV R1,1213H
2009 SCS-SWPU 计算机组成原理 常见寻址方式 1、立即数寻址:助记符I,如汇编指令:MOV R1,1213H 2、直接寻址:助记符(A), 如: MOV R1,(1213H) R1,((1213H)) 3、寄存器寻址:助记符R,如:MOV R1,R2 4、寄存器间接寻址:助记符(R),如:MOV R1,(R2) 自增型寄存器间址:助记符(R)+, 如:MOV R1,(R2)+ 自减型寄存器间址:助记符-(R), 如:MOV R1,-(R2) 5、变址寻址:助记符X(R),如:MOV R1,R2,1000H 6、基址寻址:作用同上,主要用于系统 7、基址变址寻址:如:MOV R1,R2,R4,1000H 8、相对寻址:助记符X(PC) 9、堆栈寻址,PUSH和POP
4
第三章 CPU子系统 3.4 CPU模型 3.4 CPU模型 3.4.1 CPU设计步骤 3.4.2 模型机的指令系统
SWPU 计算机组成原理 第三章 CPU子系统 3.4 CPU模型 3.4 CPU模型 CPU设计步骤 模型机的指令系统 模型机的组成与数据通路
5
3.4 CPU模型 3.4.1 CPU设计步骤: 1. 拟定指令系统 2. 确定总体结构 3. 安排时序 4. 拟定指令流程和微命令序列。
SWPU 计算机组成原理 3.4 CPU模型 CPU设计步骤: 明确硬件功能,规定指令格式、寻址方式、指令类型设置 1. 拟定指令系统 2. 确定总体结构 3. 安排时序 4. 拟定指令流程和微命令序列。 5. 形成控制逻辑 寄存器、ALU、数据通路设置 画流程图(寄存器传送级) 列操作时间表 组合控制:列逻辑式,形成逻辑电路 微程序控制:按微指令格式编写微程序
6
第三章 CPU子系统 3.4 CPU模型 3.4 CPU模型 3.4.1 CPU设计步骤 3.4.2 模型机的指令系统
SWPU 计算机组成原理 第三章 CPU子系统 3.4 CPU模型 3.4 CPU模型 CPU设计步骤 模型机的指令系统 模型机的组成与数据通路
7
3.4.2 模型机的指令系统 1.指令格式 三种指令格式: (主存容量为64K×16位)
SWPU 计算机组成原理 模型机的指令系统 1.指令格式 (主存容量为64K×16位) 设采用定长指令,指令字长16位,采用寄存器型寻址,指令中给出寄存器号。 三种指令格式: (1)双操作数指令格式 (2)单操作数指令格式 (3)转移指令格式
8
3.4 CPU模型 (1)双操作数指令格式: 4 3 3 3 3 操作码 寄存器号 寻址方式 寄存器号 寻址方式 目的地址 源地址
SWPU 计算机组成原理 3.4 CPU模型 (1)双操作数指令格式: 操作码 寄存器号 寻址方式 寄存器号 寻址方式 目的地址 源地址 (2)单操作数指令格式: 操作码 (可扩展) 寄存器号 寻址方式 目的地址 (3)转移指令格式: 操作码 寄存器号 寻址方式 N′Z′V′C′ 转移条件 转移地址 转移方式
9
3.4 CPU模型 RS =000 寄存器R0 001 寄存器R1 010 寄存器R2 011 寄存器R3 100 SP 101 PSW
SWPU 计算机组成原理 3.4 CPU模型 RS =000 寄存器R0 001 寄存器R1 010 寄存器R2 011 寄存器R3 SP PSW PC (RD 同 RS) 转移方式
10
3.4 CPU模型 2.寻址方式 CPU可编程访问的寄存器: 寻址方式 编码 助记符 定义
SWPU 计算机组成原理 3.4 CPU模型 2.寻址方式 CPU可编程访问的寄存器: 通用寄存器R3~R0、指令计数器PC、堆栈指针SP、程序状态字PSW 寻址方式 编码 助记符 定义 R 寄存器寻址 000 (R)为操作数 (R) 寄存器间址 001 (R)为操作数地址 表示把(R-1)所对应地址单元的内容压栈,栈顶为sp-1的单元 -(R) (R)-1为操作数地址 自减型寄 存器间址 010 -(SP) (SP)-1为栈顶地址 0000 100 010 001 表示MOV
11
3.4 CPU模型 寻址方式 编码 助记符 定义 (R)+ (R)为操作数地址, 访问后(R)+1 立即/自增型寄存器间址 011
SWPU 计算机组成原理 3.4 CPU模型 寻址方式 编码 助记符 定义 (R)+ (R)为操作数地址, 访问后(R)+1 立即/自增型寄存器间址 011 (SP)+ (SP)为栈顶地址, 出栈后(SP)+1 (PC)+ (PC)为立即数地址, 取数后(PC)+1 @(R)+ 直接/自增型双间址 (R)为间接地址, 访问后(R)+1 100 @(PC)+ 相当于直接寻址, 访问后(PC)+1 X(R) (R)+d为有效地址 变址/相对 101 X(PC) (PC)+d为有效地址,即相对寻址 跳步 110 SKP 跳过下条指令执行
12
模型机寻址方式简表 类型 寻址方式 汇编符号 有效地址 定义简述 000 寄存器寻址 Rn E = Rn 数在指定寄存器中 001
SWPU 计算机组成原理 模型机寻址方式简表 类型 寻址方式 汇编符号 有效地址 定义简述 000 寄存器寻址 Rn E = Rn 数在指定寄存器中 001 寄存器间址 (Rn ) E = ( Rn ) 地址在指定寄存器中 010 自减型寄存器间址 -(Rn ) ( Rn ) = ( Rn ) – 1 E = ( Rn ) 寄存器内容减1后为操作数地址 011 立即/自增型寄存器间址 (Rn )+ E = ( Rn ) ( Rn ) = ( Rn ) + 1 寄存器内容为操作数地址,操作后加1 100 直接/自增型双间址 @( Rn )+ E = (( Rn )) ( Rn ) = ( Rn ) + 1 寄存器内容为间接单元地址,操作后寄存器内容加1 101 变址 X(Rn ) E = ( Rn ) +X 变址寄存器内容与紧跟指令的位移量相加,为操作数地址 110 跳步 SKP 跳步执行指令
13
3.4 CPU模型 3.指令类型 操作码 助记符 含义 用于数据传送、堆栈、I/O操作 双操作数指令 单操作数指令 程序控制类指令 0000
SWPU 计算机组成原理 3.4 CPU模型 3.指令类型 操作码 助记符 含义 用于数据传送、堆栈、I/O操作 0000 MOV 传送 0001 ADD 加 双操作数指令 0101 EOR 异或 0110 COM 求反 单操作数指令 1011 SR 右移 1100 JMP 转移 程序控制类指令 1100 RST 返回 1101 JSR 转子
14
3.4 CPU模型 1)转移指令JMP 转移指令 PSW 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
SWPU 计算机组成原理 3.4 CPU模型 1)转移指令JMP PSW 1 2 3 4 5 C V Z N I JMP 寄 寻 1 2 3 4 5 C’ V’ Z’ N’ 方式 转移指令 1: 以结果是否为负为转移条件 1: 以结果是否为0为转移条件 1: 以溢出状态为转移条件 1: 状态位为1跳转 0:状态位为0跳转 1: 以进位状态为转移条件 有溢出(V=1)转移 无条件转移 结果不为0(Z=0)转移 无进位(C=0)转移 结果为0(Z=1)转移 有进位(C=1)转移 结果为正(N=0)转移 无溢出(V=0)转移 结果为负(N=1)转移
15
第三章 CPU子系统 3.4 CPU模型 3.4 CPU模型 3.4.1 CPU设计步骤 3.4.2 模型机的指令系统
SWPU 计算机组成原理 第三章 CPU子系统 3.4 CPU模型 3.4 CPU模型 CPU设计步骤 模型机的指令系统 模型机的组成与数据通路
16
3.4 CPU模型 3.4.3 CPU总体结构设计 CPMDR:内总线数据打入MDR W=1:MDR向数据总线输出数据
SWPU 计算机组成原理 3.4 CPU模型 CPMDR:内总线数据打入MDR W=1:MDR向数据总线输出数据 R=1: 数据总线数据读入MDR SMDR:数据总线数据异步置入MDR 3.4.3 CPU总体结构设计 W R
17
3.4 CPU模型 3.4.3 CPU总体结构设计 1. 寄存器设置 1)可编程寄存器(16位) R0(000)、R1(001)
SWPU 计算机组成原理 3.4 CPU模型 3.4.3 CPU总体结构设计 1. 寄存器设置 控制信号:CP 1)可编程寄存器(16位) R0(000)、R1(001) 通用寄存器: R2(010)、R3(011) 堆栈指针: SP(100) 允许中断(开中断) 指令计数器: PC(111) 程序状态字: PSW(101) PSW JMP 寄 寻 1 2 3 4 5 C V Z N I
18
3.4.3 模型机的组成与数据通路 2)非编程寄存器(16位) 暂存器C :暂存来自主存的源地址或源数据。 暂存器D
SWPU 计算机组成原理 模型机的组成与数据通路 2)非编程寄存器(16位) CPMAR:内总线地址打入MAR EMAR=1: 与地址总线连通 EMAR=0:与地址总线断开 CPMDR:内总线数据打入MDR W=1:MDR向数据总线输出数据 R=1: 数据总线数据读入MDR SMDR:数据总线数据异步置入MDR 暂存器C :暂存来自主存的源地址或源数据。 暂存器D :暂存来自主存的目的地址或目的数。 指令寄存器IR :存放现行指令(微命令SIR)。 地址寄存器MAR: 微命令EMAR 实现CPU与 主存的接口 数据寄存器MDR:微命令R、W、SMDR 同步时序命令:CPMAR、CPMDR、CPSP、CPPSW等 例如:CPU读内存数据到R0寄存器: CPU MAR 内存 单元M R0 MDR
19
3.4.3 模型机的组成与数据通路 3)算术逻部件设置 ALU SN74181 4片 M、C0、S0、S1、S2、S3 SN74182 1片
SWPU 计算机组成原理 模型机的组成与数据通路 3)算术逻部件设置 SN 片 M、C0、S0、S1、S2、S3 SN 片 ALU (16位) 选择器A(R0…R3 C D PC SP) 选择器B(R0…R3 C D PSW MDR) 选择数据来源(八选一) 移位器 :实现直送、左移、右移、字节交换
20
3.4.3 模型机的组成与数据通路 (1)内总线 (2) 与系统总线 的连接通过 ALU为内部数据传送通路的中心; MAR、MDR实现
SWPU 计算机组成原理 模型机的组成与数据通路 (1)内总线 (2) 与系统总线 的连接通过 MAR、MDR实现 ALU为内部数据传送通路的中心; 内总线采用单向数据总线(16位); 寄存器采用分立结构;
21
3.4.3 模型机的组成与数据通路 (1)指令地址信息的传递 PC A ALU 移 内 MAR 内总线 内总线 C0 A A B
SWPU 计算机组成原理 模型机的组成与数据通路 (1)指令地址信息的传递 PC A ALU 移 内 MAR A、指令地址 B、指令地址加1 (顺序执行) PC A ALU 打入 移 内 PC C0 AB 内总线 内总线 DB CB 移位器 移位器 R0 MAR MAR M I/O C0 R1 MDR ALU ALU R2 IR A A B R3 PC PC 控制逻辑 C SP R0~R R0~R3 C D C D SP PC PSW MDR D PSW PC
22
3.4.3 模型机的组成与数据通路 M DB IR (2)指令信息的传递 A B 内总线 R0~R3 R0~R3 C D C D
SWPU 计算机组成原理 模型机的组成与数据通路 (2)指令信息的传递 M DB IR R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B ALU R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 DB M IR
23
3.4.3 模型机的组成与数据通路 Ri B ALU MAR (3)操作数地址的传递(根据寻址方式形成) 寄存器间址: 移 内 A B
SWPU 计算机组成原理 模型机的组成与数据通路 (3)操作数地址的传递(根据寻址方式形成) 打入 寄存器间址: Ri B ALU MAR 移 内 R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 MAR ALU B R0
24
3.4.3 模型机的组成与数据通路 变址寻址: 设EA= R0 + d A B 内总线 内总线 A B PC A ALU 移 内 MAR
SWPU 计算机组成原理 模型机的组成与数据通路 变址寻址: 设EA= R0 + d PC A ALU 移 内 MAR AB M M DB MDR B ALU 移 内 C R0 A ALU 移 内 MAR C B R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 MAR M ALU MDR A B PC R0 C C PC MDR
25
3.4.3 模型机的组成与数据通路 d、转移地址的传递(根据寻址方式形成) A B 内总线 内总线 寄存器寻址: R0 B ALU 移 内
SWPU 计算机组成原理 模型机的组成与数据通路 d、转移地址的传递(根据寻址方式形成) 打入 寄存器寻址: R0 B ALU 移 内 PC R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 ALU B PC R0 MDR
26
3.4.3 模型机的组成与数据通路 d、转移地址 A B 内总线 内总线 打入 寄存器间址: R0 B ALU 内 MAR 移 AB M
SWPU 计算机组成原理 模型机的组成与数据通路 d、转移地址 打入 寄存器间址: R0 B ALU 内 MAR 移 置入 AB M DB MDR B ALU 移、 内 PC R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 MAR M ALU MDR B PC R0
27
3.4.3 模型机的组成与数据通路 (4)数据信息的传送 A B 内总线 内总线 B 1)R R: 打入 R0 B ALU 内 R1 移
SWPU 计算机组成原理 模型机的组成与数据通路 (4)数据信息的传送 1)R R: 打入 R0 B ALU 内 R1 移 2)R M: 打入 R0 B ALU 内 MDR DB M 3)M R: M DB MDR B ALU R2 移、 内 R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 ALU R1 MDR R2 B R0 MDR
28
3.4.3 模型机的组成与数据通路 (3)数据信息的传送 A B 内总线 内总线 A B 打入 4)M M: M(源) DB MDR ALU
SWPU 计算机组成原理 模型机的组成与数据通路 (3)数据信息的传送 打入 4)M M: M(源) DB MDR ALU 内 C (计算目的地址) C ALU 内 MDR DB M (目的) 5)R I/O: R0 ALU MDR DB I/O 内 R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 I/O M MDR ALU A B C R0 C MDR
29
3.4.3 模型机的组成与数据通路 (3)数据信息的传送 6)I/O R I/O DB MDR ALU 内 R0 7)I/O M
SWPU 计算机组成原理 模型机的组成与数据通路 (3)数据信息的传送 打入 6)I/O R I/O DB MDR ALU 内 R0 7)I/O M DMA方式: I/O DB M R0~R R0~R3 C D C D SP PC PSW MDR A 移位器 B R2 R0 R1 M I/O CB 内总线 C R3 D MAR MDR IR PC SP PSW AB DB 控制逻辑 ALU 内总线 移位器 R0 M I/O ALU MDR B MDR
30
3.4.3 模型机的组成与数据通路 4.微命令设置 (1)数据通路 操作: (2)访M、I/O 操作: ALU输入选择: R0 A、 R0
SWPU 计算机组成原理 模型机的组成与数据通路 4.微命令设置 ALU输入选择: R0 A、 R0 B、 (1)数据通路 操作: ALU功能选择: S3 S2 S1 S0、M、C0 输出移位选择: DM、左移等 结果分配: CPR0、CPC、CPMAR、 1 MAR向AB送地址 地址使能 EMAR MAR与AB断开 读 R (2)访M、I/O 操作: 00 MDR与DB断开, 写 W 置入MDR :SMDR, 置入IR: SIR
31
SWPU 计算机组成原理 3.4 CPU模型 W R
32
Thank You !
Similar presentations