@2017libin
2019-06-24T10:32:49.000000Z
字数 4000
阅读 198
计组
组成:cpu(控制器和运算器),存储器,输入输出设备。
各个硬件的作用
| 硬件 | 作用 |
|---|---|
| 控制器 | 取指并修改pc,对指令进行译码或者测试并产生相应的控制信号,指挥并控制数据流动的方向 |
| 运算器 | 进行算数运算和逻辑运算 |
| 存储器 | 存储数据 |
| 输入设备 | 把外部信息转化为二进制传给计算机 |
| 输出设备 | 把计算机处理的结果变换为人或其他设备能够接受和识别的信息 |
| 层次 | 名称 |
|---|---|
| 第一级 | 逻辑电路级 |
| 第二级 | 一般机器级 |
| 第三级 | 操作系统级 |
| 第四级 | 汇编语言级 |
| 第五级 | 高级程序级 |
| 表示方法 | 数据格式 |
|---|---|
| 原码(纯整数) | |
| 原码(纯小数) | |
| 补码() | |
| 浮点数(32位) | |
| 移码(浮点数的阶码) |
| 机器码 | 机器码类型 | 真值 |
|---|---|---|
| 110100 | 有符号原码(整数) | |
| 110100 | 有符号原码(纯小数) | |
| 0,10000000,10100..00 | 浮点数(IEEE754标准) | |
| 10000001 | 移码(非IEEE754标准) |
补码没有正负零:
补码原码的互相转换:去掉符号位后,采用扫描法,然后再把符号位加上。
定点数的加减法很简单,可以归结为补码的加法运算。
加法:(a+b) = [a]补+[b]补 = [a+b]补
减法:(a-b) = [a]补 + [-b]补 = [a-b]补
总结:对定点数的加减法转化为补码的加法最后再利用补码原码的转换就可以了。
单符号位检测法
运算完后,Cf⊕Co = 0,表示溢出,否则不溢出。上溢下溢看运算结果,负加负得正则为下溢,正加正得负则为上溢。
双符号位检测法(变形补码)
用两个数值表示双符号位表示正负。运算后双符号位有四种情况:
00,11:表示正常(表示正数还有负数)
01,10:表示上溢下溢
诶?乘除法还没讲呢!老师没教我就不会了咯orz...乘除法没讲我们可以看一下乘除法的运算器。
先看一下加法运算器: ALU 。没什么好讲的,记一下两个公式:
1. Si = Ai + Bi + Ci
2. Ci+1 = AiBi + AiCi + BiCi = AiBi +( Ai⊕Bi)
)
接下来看介绍一下并行乘法器:
不带符号的阵列乘法器
每一行的计算都是并行的,除了最后一行。假如是,则一共需要个与门,需要个FA。
带符号的阵列乘法器
带符号的阵列乘法器需要将符号位提出来单独处理,尾数部分的话就相当于进行无符号的乘法,最后只需要再最高位补上相应的符号位即可。如果如果进行的是原码的乘法,则不需要进行求补器。如果是进行补码的乘法运算的时候,需要将补码先转换为无符号原码,经过运算之后,再根据符号位,转为相应的补码。可以看到这里需要有两个算前求补器以及一个算后求补器。
最后是多功能的算术逻辑运算单元(ALU)
先行进位发行器(CLA)74181,74182的区别。74181是给3个FA产生进位的(),然后自己输出一个C3。而74182是给3个74181传输进位的,然后自己产生一个C15。值得注意的是,若进行32位的并行运算的话,需要3个74182,因为最上方还需要一个74182给两个74182传输进位。
这里需要注意的是,74181和74182都只是用来产生进位的,可以提高运算的并行性。74181对应的是4个FA,而74182对应的是四个74181。对于74181而言,需要传入的信号有。而对于74182来说,需要传入的信号为
| 存储器 | 存储信息原理 |
|---|---|
| SRAM | 锁存器(RS触发器)作为存储元,用是MOS管导通截止表示数据 |
| DRAM | 由mos晶体管和电容器来作为存储元。mos晶体管作为开关,电容器中电荷量表示数据 |
| 掩膜式ROM | 利用开关状态表示0/1 |
| 一次性编程ROM(PROM) | 利用熔丝的状态表示0/1 |
| 光擦除可编程的ROM(EPROM) | 浮空栅极的电荷量,有电子表示0,否则表示1 |
| 电擦除可编程的ROM(EEPROM) | 浮空栅极的电荷量,有电子表示1,否则表示0 |
三种映射关系:全相联映射,直接映射,组相联映射。
两种扩展方式:字长位数扩展,字存储容量扩展。
画图:扩充容量时cpu与芯片之间的连接方式。
备注:并行存储器
| 寄存器名称 | 寄存器作用 |
|---|---|
| 控制存储器CM | 存储所有的指令的微程序,控制存储器字长等于微指令的字长。 |
| 微指令寄存器 | 保存测试字段P和控制字段。 |
| 微地址寄存器 | 存放的是下一条微指令的地址。 |
地址转移逻辑:通过测试字段p和执行部件的状态条件来去修改微地址寄存器中的内容。