目前用的比较广泛的计算机是冯诺依曼计算机,属于储存型计算器,具有以下特点:
- 有五大部件
- 指令和数据以同等地位存储在存储器中,按地址寻访
- 使用二进制
- 指令=操作码+地址码
- 以运算器为中心
- 存储程序
五大部件及其作用
- 控制器:指挥控制程序运行,控制指令执行的先后顺序,主要部件为 CU
- 运算器:负责逻辑运算和算数运算,主要部件为 ALU
- 存储器:存放数据和程序,分为主存和辅存
- 输入设备
- 输出设备
1+2=CPU
主机+IO 设备=硬件
1+2+主存=主机
辅存+输入+输出=IO 设备
但是冯诺依曼计算机存在缺点:它是以运算器为中心的,所有的操作都要经过运算器,会导致主机繁忙,产生性能瓶颈。所以现代计算机开始以存储器为中心
对比:
冯诺伊曼结构:
- 将运算器置于中心意味着整个系统的性能受到处理器速度的限制。即使运算器能够执行各种复杂的运算,但如果其他组件无法与其同步,可能会导致系统的性能瓶颈
- 如果运算器需要频繁访问内存以获取指令或数据,而内存访问延迟较高,将会导致运算器等待内存访问完成,从而降低系统性能
- 运算器可能需要大量的数据传输来执行运算,如果数据传输带宽有限或者传输延迟较高,可能会导致数据传输成为系统的性能瓶颈
- 在多核处理器或者并行计算系统中,多个运算器可能会竞争共享资源,例如内存、总线等。如果资源竞争激烈,可能会导致系统性能下降
- 运算器通常是计算机系统中功耗较高的组件之一,如果系统设计过于依赖于运算器,可能会导致系统功耗过高,从而产生散热问题
现代计算机:
- 内存层次结构:内存层次结构包括高速缓存、主存储器和辅助存储器,高速缓存作为CPU和主存之间的缓冲,能够提供快速的数据访问,减少了CPU等待数据的时间,从而提高了计算机的性能
- 快速存储器技术能够提供更快的数据传输速度和更高的容量,从而加速数据访问和传输,提高了计算机的整体性能
- 新时代处理器和编译器通过各种技术对内存访问进行优化,例如预取、数据对齐、数据重排等。这些优化措施可以减少内存访问延迟,提高内存带宽利用率,从而提高计算机的性能
硬件框图
现实问题解决
- 能否用计算机解决-可计算性
- 创建数学模型
- 确定计算方法
- 编制解决程序
- 程序:运算的所有步骤
- 指令:每一个步骤
存储器
主存储器=存储体+MAR+MDR
基本概念
存储体:主要用来保存指令和数据(0,1 代码)
存储单元:存放一段二进制代码,每个存储单元对应一个地址
存储字:在存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
一个存储体由若干个存储单元构成,一个存储单元由若干个存储元件组成
每个存储元件可以存储一位二进制数0/1
MAR:存储器地址寄存器,存储单元的编号(地址),可以用来表示存储单元的个数 MDR:存储器数据寄存器,存储要送入 CPU/保存到存储体/刚从存储体取出的数据,可以表明存储字长
举个例子: MAR 4 位,MDR 8 位 可以保存 16 个地址(16 个存储单元),每一个存储单元的存储字长为 8 位
运算器
ALU->组合电路
运算器组成
- ACC:累加器,通用寄存器的一种,用于存储运算的中间结果或最终结果
- MQ:乘法商寄存器用于存储乘法运算的结果中的商部分
- ALU:算术逻辑单元,根据控制信号执行特定的算数或逻辑运算
- x:X 寄存器通常是指通用目的寄存器,用于存储临时数据和计算过程中的中间结果。它们可以用于任何目的,例如存储运算的操作数或结果
控制器
功能:分析解释指令并保证指令的有序执行
完成一条指令需要的过程:
- 取指令:需要获取存储指令的地址,需要 PC 程序计数器
- 分析指令:需要存储当前正在执行的指令,即 IR 指令寄存器
- 执行指令:需要控制指令的执行顺序,由 CU 控制
控制器组成
PC程序计数器,IR指令寄存器,CU控制单元