1计算机硬件全景解析:从CPU到存储系统

一、概念

计算机硬件组成

  1. 计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。
  2. 运算器、控制器等部件被集成在一起统称为中央处理单元。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术逻辑运算及控制功能。
  3. 存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度高、容量小,一般用于临时存放程序、数据及中间结果。而后者容量大、速度慢,可以长期保存程序和数据。
  4. 输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。

中央处理单元

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

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

  1. CPU的组成:运算器、控制器、寄存器组和内部总线等部件组成
  2. 运算器:由算术逻辑单元ALU(实现对数据的算术和逻辑运算)、累加器寄存器AC(运算结果或源操作数的存放区)、数据缓冲寄存器DR(暂时存放内存的指令或数据)、和状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。执行所有的算术运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。
  3. 控制器:由指令寄存器IR(暂存CPU执行指令)、程序计数器PC(存放指令执行地址)、地址寄存器AR(保存当前CPU所访问的内存地址)、指令译码器ID(分析指令操作码)等组成。控制整个CPU的工作,最为重要。
  4. CPU依据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或者数据。

校验码

  1. 码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,码距越大,越利于纠错和检错。
  2. 奇偶校验码:在编码中增加1位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2.例如:
    1. 奇校验:添加一位校验码后,使得整个码字里面1的个数是奇数。接收端收到数据后就校验数据里1的个数,若检测到奇数个1,则认为传输没有出错;若检测到偶数个1,则说明传输过程中,数据发生了改变。
    2. 偶校验:添加一位校验码后,使得整个码字里面1的个数是偶数。接收端收到数据后就校验数据里1的个数,若检测到偶数个1,则认为传输没有出错;若检测到奇数个1,则说明传输过程中,数据发生了改变,要求重发。
    3. 奇偶校验只能检1位错,并且无法纠错。
  3. CRC校验码:循环冗余校验码(CRC)是一种高效且广泛应用于数据通信领域的错误检测方法。它利用数学上的多项式运算来生成校验码,从而确保数据传输的准确性。
    1. CRC只能检错,不能纠错。
    2. 工作原理CRC通过将要传输的信息表示为一个多项式,然后用该多项式除以一个预先确定的多项式,得到的余数即为所需的循环冗余校验码
    3. 编码过程在发送数据前,发送方根据数据确定满足特定条件的校验位F,生成CRC码。这个CRC码是数据位与校验位的拼接,然后将其发送出去
    4. 校验过程:接收方收到CRC码后,进行特定的运算(如模二运算),如果运算结果为0,则认为没有错误;否则,识别出错误。
    5. 示例:假设原始信息串为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除法运算(即不进位也不借位的除法运算)。过程如下:
      4. 得到余数1111.
      5. 注意:余数不足r,则余数左边用若干个0补齐。如求得余数为11,r=4,则补两个0得到0011。
      6. 生成最终发送信息串,将余数添加到原始信息后。上例中,原始信息为10110,添加余数1111后,结果为10110 1111。发送方将此数据发送给接收方。
      7. 接收方进行校验后,用多项式,G(x)来除。余数为0,则表示信息无误;否则要求发送方进行重传。
      8. 注意:收发信息双方需要使用相同的生成多项式。

指令系统

  1. 计算机指令的组成:一条指令由操作码和操作数两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。
  2. 计算机指令执行过程:取指令--分析指令--执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址取内存中取出指令内容存入指令寄存器IR;而后由指令译码器进行分析,分析指令操作码;最后执行指令,取出指令执行所需的源操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tester Jeffky

慷慨解囊,感激不尽。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值