计算机硬件-CPU-校验码
计算机组成部分(冯诺依曼架构):5个部分,运算器、控制器、存储、输入设备、输出设备
CPU的功能:程序控制、操作控制、时间控制、数据处理。
CPU的组成:主要由运算器、控制器、寄存器和内部总线等部件组成
运算器:执行所有的算数运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与或非、比较等。
- 算法逻辑单元(Arithmetic Logic Unit,
ALU
):实现对数据的算数和逻辑运算; - 累加寄存器(Accumulator,
AC
):运算结果或源操作数的存放区; - 数据寄存器(Data Register,
DR
):暂时存储处理器中的数据的特殊寄存器。在计算机体系结构中,DR通常用于暂时存储从内存中读取的数据,或者将数据写入到内存中。 - 状态条件寄存器(Program Status Word,
PSW
):保存指令运行结果的条件码内容,如溢出标志等。
控制器:控制整个CPU的工作,最为重要。
- 指令寄存器(Instruction Registor,
IR
):暂存CPU正在执行的指令; - 程序计数器(Program Counter,
PC
):存储将要执行的下一条指令
的地址; - 地址寄存器(Address Register,
AR
):在执行指令时用于存储内存地址或者I/O设备地址的特殊寄存器,这样CPU就能够准确地访问存储器中的数据。AR通常是与数据寄存器(Data Register)结合使用,以便在执行内存读取或写入操作时,能够将数据从存储器传输到数据寄存器,或者从数据寄存器传输到存储器。 - 指令译码器(Instruction Decoder,
ID
):用于解释并执行从内存中读取的指令。其主要功能是将指令的操作码(opcode)解码为对应的操作或动作,并确定指令需要的操作数、寄存器以及执行顺序。
CPU依据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或者数据:
- 取指令阶段(Instruction Fetch):在这个阶段,CPU从内存中获取下一条要执行的指令。这通常涉及将指令的地址发送到内存并获取指令本身的过程。
- 取数据阶段(Data Fetch):在执行一些指令时,CPU需要从内存中获取特定的数据。这个阶段涉及将数据的地址发送到内存并获取数据的过程。
这两个阶段交替进行,以便CPU能够顺利地执行指令。当CPU执行一条指令时,它会按照指令周期的不同阶段,依次去取指令或者数据,以完成指令的执行。
校验码:
因为在电子系统通信过程中,信号的传输过程和转化过程可能会被干扰,产生突发错误,因此需要通过校验码这样的机制来保障数据的完整性。
码距:在两个编码中,从A码到B码转换所需要改变的位数称为码距。一般来说,码距越大,越利于纠错和检错。
奇偶校验码:奇偶检验码只能校验出奇数个错误。
在通信过程中,它通过在数据中添加一个额外的比特(称为校验位),以确保特定类型的错误(通常是单个比特的错误)可以被检测出来。在偶校验中,校验位被设置为确保整个数据(包括校验位)中1的个数是偶数。而在奇校验中,校验位被设置为确保整个数据(包括校验位)中1的个数是奇数。奇校验产生不了全0的代码。
CRC校验码:循环冗余校验(Cyclic Redundancy Check, CRC)。需要手算一下。