文章内容仅为粗略总结知识,便于个人复习思考
计算机硬件基础知识
计算机硬件系统包括:
CPU、存储器、输入输出设备
CPU组成
运算器
运算器执行所有的算数运算(加减乘除、附加运算)、逻辑运算
- 算数逻辑单元(ALU):负责处理数据,实现算数、逻辑运算
- 累加寄存器(AC):为ALU提供一个工作区
- 数据缓存寄存器(DR):CPU和内存、外设之间操作速度的缓存区、中转站
- 状态条件寄存器(PSW):保存根据算术指令和逻辑指令运行或测试的结果建立的各种条件码的内容,主要分为状态标志和控制标志。如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)等。
控制器
- 指令寄存器(IR):用来暂时存放一条指令。
- 程序计数器(PC):存放的是将要执行的下一条指令的地址。
- 地址寄存器(AR):保存当前CPU所访问的内存单元的地址。
- 指令译码器(ID):对指令中的操作码字段进行分析解释,识别该指令规定的操作,然后向操作控制器发出具体的控制信号。
指令
是机器进行程序控制的最小单元,包括
操作码和
操作数本身或其地址
操作码由指令译码器识别
内部总线
- 数据总线(DB):用来传送数据信息,是双向的。DB的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
- 地址总线(AB):用于传送CPU发出的地址信息,是单向的。地址总线的宽度决定了CPU的最大寻址能力。
- 控制总线(CB):用来传送控制信号、时序信号和状态信息等。CB中的每一条线的信息传送方向是单方向且确定的,但CB作为一个整体则是双向的。
输入输出控制
程序控制方式
- 无条件传送:外设总是准备好的,无条件,随时接收和提供数据。
- 程序查询方式:CPU利用程序来查询外设的状态,准备好了再传数据。
中断方式
CPU不等待,也不执行程序去查询外设的状态,而是由
外设在准备好以后,
向CPU发出中断请求信号通知CPU,CPU
收到中断请求信号以后,
保存正在执行程序的
现场,
转入I/O中断服务程序的执行,然后
再返回到被打断的程序
继续执行。
常用的处理方法有中断信号线法、中断软件查询法、菊花链法,总线仲裁法,中断向量表法。
中断向量法:中断向量提供
中断服务程序的入口地址
DMA直接内存存取
直接内存存取(DMA)方式:数据的传输是在
主存和外设之间直接进行,
不需要CPU的干预,只需要CPU在过程开始和结束时发出一些命令,实际操作是由DMA硬件直接执行完成的,CPU在传送的过程中可以处理别的任务。
通道方式和外围处理机方式
更进一步减轻了CPU对I/O操作的控制,更进一步提高了CPU的工作效率,但是是以增加更多硬件为代价的。
周期
- 指令周期:是指执行一条指令所需要的时间。
- 时钟周期:也称为振荡周期,是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅仅完成一个最基本的动作。
- 总线周期:通常把CPU通过总线对存储器或I/0接口进行一次访问所需要的时间称为一个总线周期。
- CPU周期:又称为机器周期。CPU的操作速度快,但访问内存的速度却慢得多,我们把从内存读取一条指令的最短时间,称之为机器周期。
进制
二进制是Binary,简写为B。
八进制是Octal,简写为O。
十进制为Decimal,简写为D。
十六进制为Hexadecimal,简写为H。
数的表示
- 原码:最高为符号位,0为正,1为负。其余n-1表示数的绝对值
- 反码:正数的反码和原码一样,负数的反码是其原码按位取反。符号位不变
原码和反码的取值范围为:
-(2^{n-1} - 1)\rightleftharpoons (2^{n-1} - 1)
可以表示的数的量为
(2^{n-1} - 1)×2+1=2^n - 1
- 补码:正数的补码和原码一样,负数是其反码尾数+1。符号位不变
- 移码:补码的符号位取反
补码和移码的取值范围:因为负数的补码+1后比正数的补码多一位
-2^{n-1} \rightleftharpoons(2^{n-1} - 1)
可以表示的数的量为:
-2^{n-1} +(2^{n-1} - 1) +1=2^n
校验码
海明校验码 :n表示数据位,k表示校验位,需要满足以下最小关系