计算机硬件组成

硬件系统

计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大
部件组成。

运算器、控制器等部件被集成在一起统称为中央处理单元CPU。

存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。

输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数
据及各种命令,而输出设备则用于输出计算机运行的结果。

CPU

功能

1、程序控制:CPU通过执行指令来控制程序的执行顺序,这是CPU的重要功能。
2、操作控制:一条指令功能的实现需要若干操作信号配合来完成,CPU产生每条指令的操
作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。
3、时间控制:CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、
持续时间及出现的时间顺序都需要进行严格控制。
4、数据处理:CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处
理的结果被人们所利用。所以,对数据的加工处理也是CPU最根本的任务。

此外,CPU还需要对系统内部和外部的中断或异常做出响应,进行相应的处理。

组成

CPU主要由运算器、控制器、寄存器组和内部总线等部件组成

1、运算器:执行所有的算术运算,数据加工,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等,只有加法计算器。
1) 算术逻辑单元ALU(实现对数据的算术和逻辑运算)
2)累加寄存器AC(运算结果或源操作数的存放区)
3)数据缓冲寄存器DR(暂时存放内存的指令或数据)
4)状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。
2、 控制器:控制整个CPU的工作,最为重要,保证指令的正确执行,能够处理异常事件。
1) 指令寄存器IR(暂存CPU执行指令)
2) 程序计数器PC(存放指令执行地址)
3)地址寄存器AR(保存当前CPU所访问的内存地址)
4) 指令译码器ID(分析指令操作码)等组成。

通过汇编指令可以操作寄存器

进制转换

二转十:

带符号:,符号位最高位1为负数,0为正数

小数位:小数点后第1位x2的-1次方,以此类推相加

十转二:

整数位:除2取余,直至结果为0,下到上记录

小数位:x2取整数部分,直到小数部分为0, 上到下记录

十六(H)转二:

一位对应4位的二进制,90H,9对应4位二进制1001,0对应的二进制0000

原码

最高位符号位,其余n-1位数的绝对值,0的原码有两种 +0 -0

原码运算,只适用于加法,因为符号位的问题,导致减法(变相的加法)会出问题

根据机器字长补0,符号位占一位

反码

正数的反码还是等于原码

负数的反码,原码除符号位外,其他位按位取反

反码中,计算会有问题

补码

正数的补码等于原码

负数的补码等于反码+1,或(原码)等于2的机器字长次方-负数的绝对值

通过补码计算 减法,正数加上负数,计算机中都通过补码进行加减运算

负数的补码-1就是反码,取反就是原码

补码将减法转换为加法,简化运算器的设计

原码,反码,补码,的最高位都是符号位

移码

补码的符号位取反,表示浮点数的指数(阶码)

浮点数:

尾数x基数的阶码次幂

尾数:补码表示,表示精度,位数越多精度越高

阶码:移码表示,表示范围,位数越多范围越大

对阶:小数向大数看齐,阶码一致,将尾数右移n位阶差,小数点左移

校验码

在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A: 00要转换为B:11,码距为2。一般来说,码距越大,越利于纠错和检错

奇偶校验码:

用增加校验位的方法

  1. 无论数据位多少位,校验位只有一位
  2. 数据位和校验位一共所含的1个数为奇数,称为奇校验
  3. 数据位和校验位一共所含的1个数为偶数,称为偶校验,只能检测出奇数个错误

可以检查出误码,但不能纠错

循环冗余校验码(Cyclic Redundancy Check,CRC)

可以检查错误,不能纠错,漏检率比较低

模2除法:

1、被除数首位是几,商就是几

2、异或运算,相同为0,不同为1

3、弃首位,补末位,再上商

计算过程:
假设原始信息串为10110,CRC的生成多项式为G(x)=x^4+x+1,必须包含1,求CRC校验码。
1、在原始信息位后面添0,假设生成多项式的阶为r,则在原始信息位后添加r个0,本题中,G
(x)阶为4,则在原始信息串后加4个0,得到的新串为101100000,作为被除数。
2 、由多项式得到除数,多项中x的幂指数存在的位置1,不存在的位置0。本题中,x的幂指数为
0,1,4的变量都存在,而幂指数为2,3的不存在,因此得到串10011。
3、生成CRC校验码,将前两步得出的被除数和除数进行模2除法运算(即不进位也不借位的除法运
算)。
得到余数1111。
注意:余数不足r,则余数左边用若干个0补齐。如求得余数为11,r=4,则补两个0得到0011。
4、生成最终发送信息串,将余数添加到原始信息后。上例中,原始信息为10110,添加余数
1111后,结果为101101111。发送方将此数据发送给接收方。
5、接收方进行校验。接收方的CRC校验过程与生成过程类似,接收方接收了带校验和的帧后,
用多项式G(x)来除。余数为0,则表示信息无错;否则要求发送方进行重传。

上面是发送方

注意接收方,接收方就是被除数

海明码校验

可以检错,也可以纠错

数据位n位,增加k个校验位,扩大码距

2的k次方 -1 >= n + k

传送的信息是1010,海明校验,奇校验的规则下海明码

1、根据上面的公式,n是信息位,求出k校验位的个数,1010,求出的k是3,n是4,则海明码是7位

2、然后校验码Pi,要放在2的i-1次方的位置,也就是i=1,2,3,求出Pi的位置1,2,4,剩下的4位就是数据位D1,D2,D3,D4

3、根据海明位的校验位的位置是1,2,4,被校验的海明位的下标是校验位的下标之和,如果该海明位就是校验位,那就是自身校验,得到每个海明位,根据下标和,得到所关联的校验位

4、得到校验位的对应的海明位的数据位一组,根据奇偶校验补充得到校验位的海明位,和原先数据位组合得到海明码