计算机系统基础知识
- 计算机系统硬件基本组成
- 中央处理单元
-
- CPU的功能
- CPU的组成
- 多核 CPU
- 数据表示
- 校验码
计算机系统硬件基本组成
- 计算机系统 = 硬件 + 软件 (协同工作运行)
- 计算机基本硬件 = (运算器 + 控制器) + 存储器 + (输入设备 + 输出设备) PS. 还得是冯诺依曼
- 硬件核心 ? 中央处理单元(Central Processing Unit,CPU)= 运算器 + 控制器 + 等部件? 数据加工
- 记忆设备 ? 存储器 = 内部存储器 + 外部存储器
内部存储器 ? 临时数据,速度快,容量小 ? 内存
外部存储器 ? 长期数据,速度慢,容量大 ? 硬盘 - 外设 ? 输入设备 + 输出设备 ? 输入数据和指令,输出运行结果
中央处理单元
CPU的功能
CPU ? 负责获取程序指令、对指令进行译码并加以执行。
- 程序控制,程序的执行顺序(重要功能)
- 操作控制,指令的操作信 送到对应的部件,控制部件按照指令的功能进行相应操作(让谁做,做什么操作)
- 时间控制,指令执行的时间、持续时间等(何时做,做多久,做的顺序)
- 数据处理,对数据进行算术、逻辑计算等等,处理的结果被人们所有(对数据进行加工处理是最根本的任务)
- 异常处理,系统内外部的中断做出响应
CPU的组成
CPU === 运算器 + 控制器 + 寄存器组 + 内部总线等部件

- 运算器
运算器 = 算术逻辑单元(Arithmetic and Logic Unit, ALU)+ 累加寄存器 + 数据缓冲寄存器 + 状态条件寄存器等 ? 数据加工部件,用于完成计算机的各种运算。
->>>>> 控制器 控制 运算器 1 运算器 ? 执行所有的算术运算和所有的逻辑运算并进行逻辑测试
2 算术逻辑单元(ALU)? 处理数据,实现数据的算术运算和逻辑运算
3 累加寄存器(AC)? 简称累加器,通用寄存器,为运算器的ALU执行运算时提供工作区。也就是临时存放运算的数据。(一般运算都是两个数字奥)
4 数据缓存寄存器(DR)? 作为CPU和内存、外部设备之间数据传送的中转站,也是操作速度上的缓冲
5 状态条件寄存器(PSW)? 保存当前指令执行完成过后的状态。(让大家知道我做了什么操作) - 控制器
运算器只是一个没得感情的工具人,只会运算,而控制器用于控制整个CPU的工作,决定了计算机运行过程的自动化。不仅要保证程序正确执行,而且还要能够处理异常事件。
– 控制器 包含 指令控制逻辑、时许控制逻辑、总线控制逻辑和中断控制逻辑等 –
1 逻辑控制逻辑 完成 取指令、分析指令和执行指令的操作,过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。
指令寄存器(IR)。CPU先从内存取出指令,放在缓冲寄存器中,再送到 IR 暂存,指令译码器根据 IR 的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。(操作层面)
程序计数器(PC)。PC可以寄存信息,也可以计数,又称为指令计数器。程序执行 ? 顺序执行、转移执行。程序执行前,将程序的起始地址放进 PC 中,PC 的内容就是程序第一条指令的地址。在程序执行过程中,CPU会自动修改 PC 的内容,让其保持的总是要执行的系一条指令地址。顺序执行就是对 PC 加1,转移的时候,就是在当前的指令地址加一个向前或向后的位移量得到。(那我理解就是,PC 有一长串指令地址,只要顺着往下走就可以了)
地址寄存器(AR)。AR 保存当前 CPU 所访问的内存单元地址。因为CPU和内存操作速度有差异,需要AR保持地址信息,直到内存的读/写操作完成为止。(类似数据层面)
指令译码器(ID)。指令 = 操作码 + 地址码,对指令的操作码字段进行分析解释,要知道进行什么操作,向操作控制器发出具体的控制信 ,控制各部件工作,完成所需的功能。
2 时序控制逻辑 为每条指令按时间顺序提供应有的控制信
3 总线逻辑 为多个功能部件服务的信息通路的控制电路,也就是将各种部件连在一起的的线
4 中断控制逻辑 用于控制各种中断请求,根据优先级对中断请求进行排队,逐个交给 CPU 处理 - 寄存器组
寄存器组 = 专用寄存器 + 通用寄存器,运算器和控制器的寄存器是专用寄存器,作用是固定的。通用寄存器用途广泛并可以自定义其用途,其数目因处理器不同有所差异。
多核 CPU
核心就是内核,是CPU最重要的组成部分,具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有的合理布局。
多核最大的有点是,可以满足用户同时进行多任务处理的要求。单核多线程 CPU 是交替地转换执行多个任务,只不过交替转换时间短,用户感觉不出来,但是多核理论上,各自核心负责各自的任务,速度就更快。
想要发挥多核CPU的全部威力,需要操作系统能够及时、合理地个各个核分配任务和资源,也需要应用软件在运行时可以把并行的线程同时交付给多个核心分别处理。
数据表示
在计算机中,数值的表示形式称为机器数,采用二进制,数的符 就是0和1,小数点则隐含,表示不占位置。机器数对应的实际数值称为数的真值。
机器数 = 无符 数 + 带符 数
无符 数 = 纯整数(小数点位置在机器数最低为之后) + 纯小数(小数点位置在机器数最高位之前)小数点位置是约定的,不会表示出来。
带符 数 机器数最高位表正负的符 位,其余位则表示数值
来看老生常谈的原码、反码和补码等,这些编码方法称为码制。
- 原码、反码、补码和移码,在机器运算的时候都是用补码进行运算的,可以用加法表示减法。
1 ——- 原码表示法 ——-
数值 X X X的原码记为 [ X ] 原[X]_原 [X]原?,如果机器字长为 n n n,原码定义如下:
X X X纯整数
[ X ] 原 = { X 0 ? X ? 2 n ? 1 ? 1 2 n ? 1 + ∣ X ∣ ? ( 2 n ? 1 ? 1 ) ? X ? 0 [X]_原={X2n?1+|X|0?X?2n?1?1?(2n?1?1)?X?0 [X]原?={X2n?1+∣X∣?0?X?2n?1?1?(2n?1?1)?X?0?
X X X纯小数
[ X ] 原 = { X 0 ? X声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!