历史上有两种类型的计算机:
- 固定程序计算机——它们的函数非常具体,无法编程,例如计算器。
- 存储程序计算机 –这些可以编程来执行许多不同的任务,应用程序存储在它们上面,因此得名。
现代计算机基于约翰·冯·诺依曼 (John Von Neumann) 引入的存储程序概念。在这个存储程序概念中,程序和数据存储在称为内存的单独存储单元中,并被同等对待。这个新颖的想法意味着使用这种架构构建的计算机将更容易重新编程。
基本结构是这样的,
它也被称为IAS计算机,具有三个基本单元:
- 中央处理单元 (CPU)
- 主内存单元
- 输入/输出设备
让我们详细考虑它们。
- 控制单元 –
控制单元 (CU) 处理所有处理器控制信号。它指导所有输入和输出流,获取指令代码并控制数据在系统中的移动方式。
- 算术和逻辑单元 (ALU) –
算术逻辑单元是 CPU 的一部分,它处理 CPU 可能需要的所有计算,例如加法、减法、比较。它执行逻辑运算、位移位运算和算术运算。
图 –基本 CPU 结构,说明 ALU - 主存储器单元(寄存器)——
- 累加器:存储 ALU 的计算结果。
- 程序计数器 (PC):跟踪要处理的下一条指令的内存位置。然后 PC 将下一个地址传递给内存地址寄存器 (MAR)。
- 内存地址寄存器(MAR):存放需要从内存中取出或存入内存的指令的内存位置。
- 内存数据寄存器 (MDR):它存储从内存中获取的指令或要传输到内存并存储在内存中的任何数据。
- 当前指令寄存器 (CIR):它在等待编码和执行时存储最近提取的指令。
- 指令缓冲寄存器(IBR):不立即执行的指令放在指令缓冲寄存器IBR中。
- 输入/输出设备——程序或数据在 CPU 输入指令的控制下从输入设备或辅助存储器读入主存储器。输出设备用于从计算机输出信息。如果一些结果由计算机评估并存储在计算机中,那么我们可以借助输出设备将其呈现给用户。
- 总线 –数据从计算机的一个部分传输到另一部分,通过总线将所有主要内部组件连接到 CPU 和内存。类型:
- 数据总线:它在内存单元、I/O 设备和处理器之间传送数据。
- 地址总线:它在内存和处理器之间承载数据(不是实际数据)的地址。
- 控制总线:它承载来自 CPU 的控制命令(以及来自其他设备的状态信号),以便控制和协调计算机内的所有活动。
冯诺依曼瓶颈——
无论我们做什么来提高性能,我们都无法摆脱这样一个事实,即一次只能执行一个指令,并且只能按顺序执行。这两个因素都会阻碍 CPU 的能力。这通常被称为“冯诺依曼瓶颈”。我们可以提供具有更多缓存、更多 RAM 或更快组件的冯诺依曼处理器,但如果要在 CPU 性能上获得原始收益,则需要进行有影响力的检查来代替 CPU 配置。
这种架构非常重要,用于我们的 PC 甚至超级计算机。