



























计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成
运算器、控制器等部件被集成在一起统称为中央处理单元(Central Processing Unit,CPU)。存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。内部存储器:速度高、容量小,一般用于临时存放程序、数据及中间结果外部存储器:者容量大、速度慢,可长期保存程序和数据。输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出处理结果
CPU 主要由运算器、控制器、寄存器组和内部总线等部件组成
运算器由算术逻辑单元、累加寄存器、数据缓存寄存器、状态条件寄存器组成。功能:1.执行所有算术运算2.执行所有的逻辑运算并进行逻辑测试。如与、或、非、零值测试或两个值的比较等
运算器只能完成运算,而控制器用于控制整个 CPU 的工作,它决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。
指令控制逻辑
顺序执行,二是转移执行。内存单元的地址。操作码和地址码两个部分,为了执行任何给定的命令,必须对操作码进行分析,以便识别所有完成的操作。时序控制逻辑
为每条指令按时间顺序提供应有的控制信号
总线逻辑
是为多个功能部件服务的信息通路的控制电路。
中断控制
逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给 CPU 处理。
寄存器组分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器的用途广泛,并且由程序员规定其用途,其数目因处理器的不同有所差异。
各种数值在计算机中表示的形式称为机器数,特点是采用二进制计数制,数的符号用 0 和 1 表示,小数点则隐含,表示不占位置。机器数对应的实际数值称为数的真值。
+0(00000000),-0(10000000)+0(00000000),-0(11111111)+0 = -0 = 0 0000000原码最高位表示正负号,且不参与计数,而其他编码最高位虽然也是代表正负号,但是参与计数
设机器字长为 n,各种码制下带符号数的范围
| 码制 | 定点整数 | 定点小数 |
|---|---|---|
| 原码 | \(-(2^{n-1}-1)\) ~ \(+(2^{n-1}-1)\) | \(-(1-2^{-(n-1)})\) ~ \(+(1-2^{-(n-1)})\) |
| 反码 | \(-(2^{n-1}-1)\) ~ \(+(2^{n-1}-1)\) | \(-(1-2^{-(n-1)})\) ~ \(+(1-2^{-(n-1)})\) |
| 补码 | \(-2^{n-1}\) ~ \(+(2^{n-1}-1)\) | \(-1\) ~ \(+(1-2^{-(n-1)})\) |
| 移码 | \(-2^{n-1}\) ~ \(+(2^{n-1}-1)\) | \(-1\) ~ \(+(1-2^{-(n-1)})\) |
浮点数:表示方法为
\(N=F*2^E\)
,其中 E称为阶码,F称为尾数:类似十进制的科学计数法,如
\(85.125=0.85125*10^2\)
,二进制如:
\(101.011=0.101011*2^3\)
在浮点数的表示中,阶码为带符号的纯整数,尾数为带符号的纯小数,要注意符号占最高位(正数0负数1)其表示格式如下所示:
很明显,与科学计数法类似,一个浮点数的表示方法不是唯一的,浮点数所能表示的数值范围由阶码决定,所表示的数值精度由尾数确定。
尾数的表示采用规格化方法,也即带符号尾数的补码必须为1.0xxxx(负数)或者0.1xxxxx(正数),其中x可为0或1
浮点数的运算:对阶(使两个数的阶码相投,小阶向大阶看齐,较小阶码增加几位,尾数就右移动几位)————尾数计算(相加,若是减运算,则加负数)————结果规格化(即尾数表示规格化,带符号尾数转换为1.0xxxx或0.1xxxx)。
在计算机系统运行时,各部位之间要进行数据交换,为了确保数据在传送过程中正确无误,一、是提高硬件电路的可靠性,二是提高代码的校验能力,包括查错和纠错。
码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,码距越大,越利于纠错和检错。

例子:假设原始信息串为10110,CRC的生成多项式为 \(G(x)=x^4+x+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则表示信息无措;否则要求发送方重传。
收发信息双发需使用相同的生成多项式
$$ 2^{k}-1 \geq {n+k} $$
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。