计算机组成原理 —— CPU
1.CPU 功能和结构
关于运算器,运算器主要部分是 ALU
(1)可能出选择题,计算机的功能
(2)运算器,为什么要设置暂存寄存器?设置几个暂存寄存器?
回答:
首先,设置暂存寄存器的原因,是防止信号冲突,部分信号找个”驿站“停留;
其次,设置两个暂存寄存器。第一个设置在其中一个输入,主要是防止两个运算的元素同时进入运算器。
第二个设置在结果输出口,加上三态门,作为控制信号通过的”阀门“。这样可以使得运算结果不与通用寄存器中的信息冲突。
BTW,参与运算的暂存寄存器,可以直接从主存读入,无需经过通用寄存器。
上述是目前最合适,最常用的 CPU 设计方案,因此 搞懂原因很重要。
关于 PSW Program Status Word
程序状态字,也称”程序状态寄存器“。这个专有名词的出镜率很高。
几种状态
- CF(进位标志位):当执行一个加法(减法)运算时,最高位产生进位(或借位)时,CF为1,否则为0。
- ZF零标志位:若当前的运算结果为零,则ZF为1,否则为0。
- SF符号标志位:该标志位与运算结果的最高位相同。即运算结果为负,则SF为1,否则为0。
- OF溢出标志位:若运算结果超出机器能够表示的范围称为溢出,此时OF为1,否则为0。判断是否溢出的方法是:进行二进制运算时,最高位的进位值与次高位的进位值进行异或运算,若运算结果为1则表示溢出OF=1,否则OF=0
PC、指令寄存器、指令译码器
CPU结构总览
关于指令周期
(1)几种指令举例子
Clock 时钟周期、机器周期、指令周期相互之间的关系
长短关系: CLK < 机器周期 < 指令周期
关于 取地址 FE - 间接地址 IND - 执行 EX - 中断 INT
关于 【取址周期】 机器语言的写法
- () 获取内容
- -> 表示 取出内容放到哪里
关于专用通路结构
目前是不常用的方式,但是可能考试会考,因此这里只放一道题目。
(1)首先,从“+1” 推导出 d 为 PC。
其次,由于 PC 的值总是指向下一段程序入口地址,因此,d指向的为 MAR,即 c。
再者,和微操作发生器(含有译码器)相连的,只有指令寄存器 IR,即 b。
最后,和 MAR , 主存分别交互的,说明MAR送到主存,取出的部分,存到 a,因此 a 为 MDR。
(2)简述取指令通路(如何取指令?)
(PC) -> MAR
M(MAR) -> MDR
(MDR) -> IIR
(3) 简述数据在运算器和主存之间进行存储/取访问的数据通路
取数据
M(MAR) -> MDR 存取数据从MDR读取,放到 ACC 中
(MDR) -> ALU -> ACC 数据从MDR经过 ALU 到 ACC
存数据
(ACC) -.> MDR 从 ACC 出去
(MDR) -> M(MAR) 从 MDR 中取出数据,存入 MAR
(4)简述完成指令 LDA X 数据通路 (X 为主存地址,LDA 功率为 (X) -> ACC )
X -> MAR
M(MAR) -> MDR
(MDR) -> ALU -> ACC
(5)简述完成指令 ADD Y 数据通路(Y为存地址, ADD 功能为 (ACC) + (Y) -> ACC )
Y -> MAR
M(MAR) -> MDR
(MDR) -> ALU, (ACC) -> ALU
ALU -> ACC
(6)简述完成指令 STA Z 数据通路 (Z 为主存地址, STA 功能为 (ACC) -> Z )
Z -> MAR
(MDR) -> M(MAR)
关于 【指令流水】 技术
多处理器 —— 选择题,基本概念
I —— Instruction
D- Decoder 这里翻译成“处理”
未完待续 ……
ShoelessCai.com 值得您的关注!!!