计算机硬件系统的组成

本文详细介绍了计算机硬件系统中的CPU组成部分,包括运算器、控制器和寄存器组的功能与结构。同时,深入讲解了数的表示法,如原码、反码、补码、移码和浮点表示,以及进制转换和校验码的基本原理。
摘要由CSDN通过智能技术生成

计算机硬件系统的组成

在这里插入图片描述

CPU的组成

运算器

功能:
(1)执行所有的算术运算。如加、减、乘、除等基本运算及附加运算。
(2)执行所有的逻辑运算并进行逻辑测试。如与、非、或、零值测试或两个值的比较等。
组成:
(1)算术逻辑单元(ALU):负责处理数据,实现对数据的算术运算和逻辑运算。
(2)累加寄存器(AC):也称累加器,当算术逻辑单元ALU执行运算时,为其提供一个工作区。存储用来运算的数据。
(3)数据缓冲寄存器(DR):对内存进行读写操作时,用DR暂时存放由内存储器读写的一条指令或一个数据字。作为CPU和内存、外设之间在操作速度上的缓冲,以及数据传送的中转站。
(4)状态条件寄存器(PSW):保存根据算术指令和逻辑指令运行或测试的结果建立的各种条件码的内容,主要分为状态标志和控制标志。如运算结果溢出标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)等。

控制器

功能:决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。
包括:指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。控制器在工作过程中主要使用以下部件:
(1)指令寄存器(IR):用来暂时存放一条指令,由指令译码器根据指令寄存器中的内容产生各种微操作指令,控制其它部分协调工作。
(2)程序计数器(PC):存放的是将要执行的下一条指令的地址,跟踪指定地址。
(3)地址寄存器(AR):保存当前CPU所访问的内存单元的地址。由于内存和CPU存在操作速度上的差异,所以需要使用AR保持地址信息,直到内存读/写操作完成为止。
(4)指令译码器(ID):对指令中的操作码字段进行分析解释,识别该指令规定的操作,然后向操作控制器发出具体的控制信号。存放着操作码和地址码。
指令:是对机器进行程序控制的最小单位
一条指令通常包括两个部分:操作码和操作数
操作码:指操作数本身或者操作数的地址
操作码指出是什么操作,由指令译码器(ID)来识别
操作数直接指出操作数本身或者指出操作数所在的地址

寄存器组

(1)专用寄存器:运算器和控制器中的寄存器都是专用寄存器,其作用是固定的。
(2)通用寄存器:用途广泛并可由程序员规定其用途,其数目因处理器不同而不同。

数的表示

原码表示法

最高位是符号位,0表示正号,1表示负号。其余n-1位表示数的绝对值。
0的原码表示有两种形式:[+0]原 = 0 000000 [-0]原 = 1 0000000
也就是说在原码中,00000000和10000000都表示0

反码表示法

正数的反码与其原码相同,负数的反码是其绝对值按位求反。
0的反码表示有两种形式:[+0]反=0 0000000 [-0]反=1 1111111
也就是说在反码中,00000000和11111111都表示0

补码表示法

正数的补码与其原码和反码均相同,负数的补码是其反码的末尾加1。
采用补码可以简化计算机运算部件的设计
0的补码只有一种表示形式:[+0]补=0 0000000 [-0]补=0 0000000
在补码中,10000000表示-128。它比原码和反码可以多表示一个数。
在这里插入图片描述

移码表示法

移码表示法实在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。
在偏移量为2n-1的情况下,只需要将一个数的补码的符号位取反,就可以得到它的移码。
0的移码也只有一种表示形式:[+0]移=1 0000000 [-0]移=1 0000000
而-128的移码为0 0000000,因此,与补码一样
在这里插入图片描述

原码反码补码移码
+45:0 0101101+45:0 0101101+45:0 0101101+45:1 0101101
- 45:1 0101101- 45:1 1010010-45: 1 1010011-45: 0 1010011
浮点表示

十进制中,83.125表示10^2 X 0.83125或者 10^3 X 0.083125 或者 10^4 X 0.0083125等。
同样地,二进制1011.10101可以写成2^4 X 0.101110101或者2^5 X 0.0101110101。
因此一个二进制数N我们可以写成一种更一般的形式:
N = 2^E X F
其中E称为阶码,F称为尾数。阶码通常为带符号的纯整数,尾数为带符号的纯小数。

阶符阶码数符尾数[ 0.5 , 1)

2^4 X 0.10111010 --> 0/100/0/10111010

进制转换
  1. 进制的缩写
    二进制:B,八进制:O,十进制:D,十六进制:H
  2. 二/八/十六进制转为十进制(按权展开)
    二进制10100.01(B)=1 X 2^4 + 0 X 2^3 + 1 X 2^2 + 0 X 2^1 + 0 X 2^0 + 0 X 2^-1 + 1 X 2^-2
    八进制256.3(O)= 2 X 8^2 + 5 X 8^1 + 6 X 8^0 + 3 X 8^-1
    十六进制6F8A(H)= 6 X 16^3 + 15 X 16^2 + 8 X 16^1 + 10 X 16^0
  3. 十进制转为二/八/十六进制(整除取余法):
    十进制100转为二进制:1100100(B)
    十进制100转八进制:144(O)
    十进制100转十六进制:64(H)
  4. 八/十六进制转为二进制:
    八进制357(O)转为二进制:01110111
357
011101111

十六进制A6F(H)转为二进制:101001101111

A6H
101001101111
校验码

(1)奇偶校验码
通过在编码中增加一位校验位来使编码中1的个数变为奇数(奇检验)或偶数(偶检验),从而使码距变为2。对于奇检验,他只能发现奇数位出错的情况,却不能发现偶数位出错的情况。
(2)海明码
也是利用奇偶性来检错和纠错的检验方法。设数据位是n位,检验位是k位,则n和k必须满足一下关系:

2^k – 1 >= n + k ,k取满足关系的最小值

(3)循环冗余校验码(CRC)
它利用生成多项式为k个数据位产生r个检验位来进行编码,其编码长度为k + r。CRC编码采用的是模2运算,即异或运算:相异为真,非异为假。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值