[计算机组成原理-02] 计算机硬件的基本组成和工作原理

1、基本组成

1.1 早期冯诺依曼机的结构

[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第1张图片

  早期的计算机每次运算都需要人手动接线来控制计算,冯诺依曼因此设计出以存储程序为核心的计算机。

  “存储程序”的概念是指:将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第2张图片
  早期的冯诺依曼机结构如下:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第3张图片
  其中,实线箭头表示数据线,虚线箭头表示控制线和反馈线。

  在计算机系统中,软件和硬件在逻辑上是等效的。

  Eg:对乘法运算,可以设计一个专门的硬件电路实现乘法运算也可以用软件的方式,执行多次加法运算来实现。

  冯·诺依曼计算机的特点:

  • 1.计算机由五大部件组成
  • 2.指令和数据以同等地位存于存储器,可按地址寻访
  • 3.指令和数据用二进制表示
  • 4.指令由操作码和地址码组成
  • 5.存储程序
  • 6.以运算器为中心

  输入输出设备与存储器之间的数据传送通过运算器完成。

1.2 现代计算机的结构

  现代计算机的结构如下所示:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第4张图片
  五大部件的关系如下:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第5张图片
  需要注意的是:主存就是我们常说的内存,辅存是我们常说的硬盘等。
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第6张图片

2、内部结构

[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第7张图片

2.1 主存储器

  主存储器结构如下:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第8张图片

  • MAR:存储地址寄存器
  • MDR:存储数据寄存器

  程序和数据都保存在存储体中。

  读的过程:CPU 把要获取的指令或者数据在存储体中的地址给 MAR 并发出读取的命令,存储体就会把对应地址的指令或数据给 MDR ,然后 CPU 就从 MDR 取走,整个过程类似于菜鸟驿站:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第9张图片
  我(CPU)把要拿的快递(指令或数据)的地址给店员(MAR),然后店员(MAR)拿着地址从货架(存储体)找到后拿给柜台(MDR),最后我(CPU)从柜台拿走。

  写的过程:CPU 把要写的内容发给 MDR,把要存储的地址给 MAR,接着向主存储器发出写入的命令,主存储器就会把 MDR 的数据存储到 MAR 指定的地址中。
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第10张图片

  • 存储单元:每个存储单元存放一串二进制代码;
  • 存储字(word):存储单元中二进制代码的组合;
  • 存储字长:存储单元中二进制代码的位数;
  • 存储元:即存储二进制的电子元件,每个存储元可存1bit。

  例如:MAR = 4位,那么总共可以表示 24 个存储单元。MDR = 16 位,则每个存储单元可以存储 16 bit 的数据。

2.2 运算器

  运算器用于实现算术运算(加减乘除)、逻辑运算(与或非)。
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第11张图片

  • ACC:累加器,用于存放操作数,或运算结果;
  • MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果;
  • X:通用的操作数寄存器,用于存放操作数;
  • ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算。
ACC 被加数、和 被减数、差 乘积高位 被除数、余数
MQ 乘数、乘积低位
x 加数 减数 被乘数 除数

2.3 控制器

[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第12张图片

  • CU:控制单元,分析指令,给出控制信号;
  • lR:指令寄存器,存放当前执行的指令;
  • PC:程序计数器,存放下一条指令地址,有自动加1功能。

  完成一条指令的过程:

  • 1、取指令(PC)
  • 2、分析指令(IR)
  • 3、执行指令(CU)

3、计算机的工作过程

  假设一段代码如下:

int a = 2, b = 3, c = 1, y = 0;
void main(){
	y = a * b + c;
}

  编译并装入主存:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第13张图片

  计算机内部组成如下所示:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第14张图片
  初始时,PC 指向主存地址 0 的地方。
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第15张图片
  控制器把 PC 的值给主存储器的 MAR ,如下图:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第16张图片
  MAR 此时值为 0,主存储器即从主存地址 0 的地方取出指令(000001 0000000101)并赋值给 MDR,如下图:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第17张图片
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第18张图片
  控制器取到了 MDR 的数据后就赋值给 IR,使得 IR = 000001 0000000101,其中操作码(000001)部分会发送到 CU,CU 分析后得知是”取数“指令,如下图所示:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第19张图片
  接着控制器把 IR 的地址码(0000000101,换算成十进制为 5)发送到主存储器的 MAR,主存储器就把主存地址 5 的指令发给 MDR,控制器从 MDR 把指令取走并赋值给 IR,此时 IR = 0000000000000010,换成十进制就是 2,如下图所示:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第20张图片
  接着控制器又把这个 2 赋值给运算器的 ACC,使得 ACC = 2,如下图所示:
[计算机组成原理-02] 计算机硬件的基本组成和工作原理_第21张图片
  至此,计算机就完成了“取数 a 至 ACC”的操作。剩余的 1 - 4 执行过程都是按照:取指令、分析指令、执行指令的过程完成所有代码操作。

  总结:计算机的工作过程先从主存中取指令放入 IR,PC 自动加一,接着 CU 分析指令,最后 CU 指挥其他部件执行指令。

你可能感兴趣的:(计算机组成原理,计算机组成原理,运算器,控制器,主存储器)