前言:
定点数的表示
正数 | 例子 | 负数 | 例子 | |
---|---|---|---|---|
原码 | 符号位为0,其余不变 | 011=> 0,011 | 符号位为1,其余不变 | - 011 => 1,011 |
反码 | 同原码 | 011=> 0,011 | 原码除符号位外按位取反 | - 011 => 1,100 |
补码 | 同原码 | 011=>0,011 | 反码末位+1 | - 011 => 1,101 |
移码 | 【X】移=2n+X真值 |
【X+Y】补 = 【X】补 + 【Y】补
【X-Y】补 = 【X】补 + 【-Y】补
例题:
已知X = +1011,Y = -0100,用补码计算X+Y和X-Y。
【X】补 = 0,1011 【Y】补 = 1,1100 【-Y】补 = 0,0100
根据公式【X+Y】补 = 【X】补 + 【Y】补 = 0,0111
【X-Y】补 = 【X】补 + 【-Y】补 = 0,1111
X+Y = +7
X-Y = +15
溢出:运算结果超出机器数的表示范围
很明显,当使用上述的运算方法时,有时候会出现溢出现象。
原码一位乘法:
设X=XsX1X2…Xn,Y=YsY1Y2…Yn,P=X*Y,Xs,Ys,Ps分别是X,Y,P的符号
例题:X = + 1011,Y = - 1101,用原码一位乘法计算P = X * Y
注意:累加运算完后,一定要记得右移一位
补码一位乘法:
注意:符号位也要参与运算(右移)
Yn | Yn+1 | 操作 |
---|---|---|
0 | 0 | +0,右移一位 |
0 | 1 | +【X】补,右移一位 |
1 | 0 | +【-X】补,右移一位 |
1 | 1 | +0,右移一位 |
例题:X = +0.1011,Y = -0.1101,用补码一位乘法的Booth法计算P = X*Y
注意:最后一次不进行右移,并且符号位要参与运算
例题:一个浮点数的表示格式为:16位浮点数,阶码6位,包含1位阶符,用移码表示,尾数10位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后。试写出下列X和Y的规格化浮点数形式。
(1)X = + 55.75
(2)Y = -27/128
解:
(1)首先先将X转化为二进制形式,得X = + 110111.11
再将X写成 X = + 0.11011111 * 2110,(注意:这里2的幂110是二进制形式)
可以得到阶码Ex为110,按照题目要求阶码为6位,并且用移码表示
【Ex】移 = 1,00110 (位数不足前面补0)
尾数Mx为10位,并且用补码表示,
得【Mx】补 = 0,110111110 (位数不足后面补0)
所以【X】浮点数 = 1,00110 0.110111110B = 99BEH
(2)同理得Y = - 0.0011011 = - 0.11011 * 2-10,
【Ey】移 = 0,11110 【My】补 = 1,001010000
【Y】浮点数 = 0,11110 1.001010000B = 7A50H
存储系统的层次结构主要有两个层次,一个是高速缓冲存储器和主存层次,另一个是主存和辅存层次。
高速缓冲存储器和主存层次主要解决CPU和主存速度不匹配的问题。
主存和辅存层次主要解决存储系统的容量问题。
衡量主存储器性能的指标一共有三个:存储容量、速度和价格。
设计步骤:
例题:
1. 设CPU共有16根地址线,8根数据线,并用R/ MREQ ‾ \overline{\text{MREQ}} MREQ(低电平有效)作访存控制信号,R/ W ‾ \overline{\text{W}} W作读写命令信号(高电平为读,低电平为写)。
现有下列存储芯片:1K×4位SRAM,4K×8位SRAM,8k×8位SRAM,2K×8位ROM,4K×8位ROM,8k×8位ROM,及3-8译码器和各种门电路。
试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图
要求:主存的地址空间满足下述条件:
最小8KB地址为系统程序区(ROM区),与其相邻的16KB地址为用户程序区(RAM区),最大4KB地址控件为系统程序区(ROM区)。画出存储芯片的片选逻辑,并指出存储芯片的种类和片数。
1) 因为CPU有16跟根地址线,8根数据线,内存大小为216×8位=64KB。所以地址码是从A0 - A15,并且由题意得,最小8KB地址是系统程序区,8K = 213,所以系统程序区地址范围是从 0000,0000,0000,0000 ~ 0001,1111,1111,1111。
2)选择芯片:
因为最小系统存储区(ROM区)是8KB,即选用8K×8位ROM(8位 = 1B),
用户程序区(RAM区)是16KB,即选用2个8K×8位SRAM,
最大系统程序区(ROM区)是4KB,即选用4K×8位ROM
3)片选信号:
因为从前面的地址范围,可知最小系统区A15-A13都是000,而相邻用户程序区是001,010,最大系统位是111,所以将A15-A13与译码器的CBA端相接输入。
因为最大系统程序区地址码A15-A13是1111,并且译码器是3-8译码器,仅仅是A15-A13为111还不能区分出是最大系统区,所以需要把A12(易得A12是高电平)经反相,再与 Y7 ‾ \overline{\text{Y7}} Y7相“或”操作。
有关高速缓冲存储器Cache的说法正确的是( B )。
A.只能在CPU以外 B. CPU内外都可以
C.只能在CPU以内 D. 若存在Cache,CPU就不能再访问内存
Cache是一种高速小容量的存储器,它位于( A )之间。
A.CPU和内存 B.CPU和外存
C. 内存和外存 D.运算器和控制器
Nc:Cache完成存取的次数,Nm:主存完成存取的次数
命中率h = Nc/(Nc + Nm)
tc:Cache完成存取的时间,tm:主存完成存取的时间
Cache/主存系统的平均访问时间: ta = h*tc + (1 - h)*tm
Cache/主存系统的效率: e = tc/ta
最近最少使用算法:为每个cache行设置一个计数器。Cache每命中一次,命中行的计数器被清零,其他行的计数器值加,需要替换的话,将计数器值最大的行替换出去。
CISC,复杂指令计算机
RISC,精简指令计算机
CISC | RISC | |
---|---|---|
指令数目 | 几百个 | 小于100个 |
寻址方式 | 复杂 | 简单 |
指令周期 | 变化很大 | 大部分单周期 |
指令长度 | 变长 | 定长 |
程序所需指令数 | 少 | 多 |
寄存器数目 | 少 | 多 |
是否利于流水线 | 不利于 | 利于 |
计算机系统的基本组成包括3个部分:中央处理器(CPU)、存储器和I/O系统,他们之间都是通过总线连接的
从计算机组成的角度,谈谈你对计算机工作过程的理解:
从计算机硬件组成的角度,谈谈你对计算机工作原理的理解。