数值信息的表示方法
-
原码:符号位为0正1负+二进制数
原码,反码,补码的正数相同
负数反码:符号位+二进制数按位取反
负数补码:符号位+二进制数按位取反加1
移码为补码符号位取反
-
补码和移码都是平移得到的,但是前者是2的n+1次方,后者是2的n次方(字长为n+1位)
-
短浮点数:31(数符) | 30 - 23 (8位阶码,加127)|22 - 0(尾数,原码表示,省略开头的1)|
-
长浮点数:63(数符) | 62 - 52 (11位阶码,加1023)|51 - 0(尾数,原码表示,省略开头的1)|
-
移位运算规则:
左移时右边最末位补0;右移时最高位补符号位。
左移有溢出问题:
正数首位为1,负数首位为0均会产生溢出,双符号位可解决。
双符号位溢出的判断:00正数无溢出 01正数正溢出 10 负数负溢出 11负数无溢出
首位表示数符,次位与首位不一致则溢出
舍入处理: 末位加1后右移; 新末位恒置1
-
补码乘法:n+1步 加减法;n步移位。补码除法:n步加减,n步移位。
-
对阶的原则是:小阶向大阶对齐。对阶操作是:将小阶加1,尾数右移一位,直到小阶与大阶相等。
指令系统
-
1K = 2的10次方,1M = 2的20次方,8位(bit) = 1字节(byte)
-
一地址指令:隐含约定目的地的双操作数指令或者目的操作数的单操作数指令。
-
零地址指令可以是双操作数指令。
-
减少指令中地址数的方法是采用隐地址,寄存器间接寻址的优点:执行速度快,减少指令中地址字段的位数
-
立即寻址:由指令直接给出操作数,在取出指令的同时也就取出了可以立即使用的操作数,这种寻址方式称为立即寻址。
-
变址寻址中形式地址为基准地址,基址寻址中寄存器内容为基准。
-
独立编址与统一编址
独立编址:将外设的寄存器看成一个独立的地址空间。 I/O地址与存储地(内存)址分开独立编址,I/O端口地址不占用存储空间的地址范围。这样,在系统中就存在了另一种与存储地址无关的I/O地址。此时,需要使用专用的CPU指令来访问某种特定外设。
统一编址:寄存器参与内存统一编址。 外设接口中的I/O寄存器(即I/O端口)与主存(内存)单元一样看待,每个端口占用一个存储单元的地址(总线地址),将主存的一部分划分出来用作I/O的地址空间。(理解:把外设的寄存器当做是一个内存地址,从而以类似访问内存相同的方式来操作外设)。
区别:独立编址与统一编址的区别:独立编址访问外设有专门的I/O指令(比如:x86的in/out等指令),也就是独立编址会存在I/O空间的概念。而统一编址对外设的访问和都内存的访问指令可以是一样的,这类指令又被成为隐式I/O指令。
-
为了实现输入输出操作,指令中对单独编址方式,可以指明端口地址;对统一编址方式,可以指明寄存器的总线地址。
-
采用隐式I/O指令,是指用传送指令实现I/O操作。
-
若主存储器和外设独立编址,则CPU根据地址码区分访问的是存储器还是I/O接口。( × )
CPU子系统
-
控制信号的产生方式:组合逻辑控制方式与微程序控制
组合逻辑控制方式
用组合逻辑电路形成逻辑或由微命令发生器发出所需微命令
优点:产生微命令快,执行效率高
缺点:设计不规整,设计效率低,不易修改。
应用:高速、小规模计算机
微程序控制
若干微命令→一条微指令
微命令:构成控制信号序列的最小单位,又称微信号,指那些直接作用于部件或控制门电路的命令。
若干微指令→一段微程序→一条机器指令
微程序控制:将控制器所需的微命令,以代码(微码)形式编成微指令,把微程序存入一个ROM构成的控制存储器(在CPU)中。
优点:设计效率高,易修改
缺点:速度慢,执行效率低
应用:速度不高,功能复杂的机器(系列机)
-
时序控制系统:
同步控制:不存在控制信号的交互,时序关系简单,划分规整(如将时序信号划分为工作周期、时钟周期(节拍)、脉冲等三级时序),控制不复杂,控制部件在结构上易于集中、设计方便,缺点是在时间的安排上可能不合理、利用不经济。
异步控制:无固定周期,数据传输采用异步应答,存在信息交互,时间紧凑合理,缺点是控制起来比较复杂。CPU内部或设备内部很少采用异步控制方式。
拓展同步控制:根据实际时间分配时钟周期数,时钟周期长度不变。
-
汇编语言程序员可见的寄存器:PC,SP
-
加法器运算速度与全加器与进位传递速度都有关系
-
并行加法器的进位链都是并行进位链。 (×)
-
采用分组进位的并行加法器,则组内与组间进位都是并行的。 (×)
-
为了读写存储单元,必须要地址使能信号EMAR有效。 (√)
-
晶体振荡器产生的时钟频率低于 CPU 的主频( √)
-
时序控制方式中,有一种方式,是总线周期中允许插入延长周期,其含义是(在一个时钟周期内插入新的总线周期 )
-
例题:
某CPU组成:用SN74181构成的ALU一片,选择器A、B,移位器;通用寄存器R0~R3,暂存器C、D;指令寄存器IR,程序计数器PC,程序状态字寄存器PSW,堆栈指针SP;地址寄存器MAR,数据缓冲寄存器MDR;CPU内单向数据总线一组;控制器等部件。
问题:
1、画出一种CPU数据通路框图(寄存器级)。
2、请补充完善加法指令ADD (R2)+,X(R1)中的指令流程步骤(采用寄存器传送级语句,如R1→R0)并在下列空白处填上适当内容;
FT: M→IR ,PC+1→PC
ST: PC→MAR
M→MDR→C (1)C中存放的信息是:
PC+1→PC
C+R1→MAR
M→MDR→C (2)C中存放的信息是:
DT: (3)
(4)
(5)
ET: C+D->MDR
MDR->M
PC->MAR
(6)考虑整体优化,在源周期ST中,第2、3节拍的顺序是否可以交换?并说明原因。
(7) ET周期的前两步能否安排在一个节拍?为什么?
3、请安排ET周期中第一个节拍C+D→MDR的微命令序列(不考虑时序切换)。
1、略
2、
(1)C中存放的信息是:形式地址 (或位移量)
(2)C中存放的信息是: 源操作数
(3) R2-> MAR
(4) M->MDR->D
(5) R2+1->R2
(6) 不能。从简化整体设计角度,应该尽量使不同寻址方式下ST1的操作相同。
(7) 不能。因为运算结果经内总线到MDR采用同步打入方式,需要一个时钟周期,从MDR到M需要另外一个时钟周期。
3、
答:C→A,D→B,A+B, DM, CPMDR