[计算机组成原理 您所在的位置:网站首页 电脑硬件的基本组成 [计算机组成原理

[计算机组成原理

2023-07-31 23:44| 来源: 网络整理| 查看: 265

1、基本组成 1.1 早期冯诺依曼机的结构

在这里插入图片描述

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

  “存储程序”的概念是指:将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。 在这里插入图片描述   早期的冯诺依曼机结构如下: 在这里插入图片描述   其中,实线箭头表示数据线,虚线箭头表示控制线和反馈线。

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

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

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

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

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

1.2 现代计算机的结构

  现代计算机的结构如下所示: 在这里插入图片描述   五大部件的关系如下: 在这里插入图片描述   需要注意的是:主存就是我们常说的内存,辅存是我们常说的硬盘等。 在这里插入图片描述

2、内部结构

在这里插入图片描述

2.1 主存储器

  主存储器结构如下: 在这里插入图片描述

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

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

  读的过程:CPU 把要获取的指令或者数据在存储体中的地址给 MAR 并发出读取的命令,存储体就会把对应地址的指令或数据给 MDR ,然后 CPU 就从 MDR 取走,整个过程类似于菜鸟驿站: 在这里插入图片描述   我(CPU)把要拿的快递(指令或数据)的地址给店员(MAR),然后店员(MAR)拿着地址从货架(存储体)找到后拿给柜台(MDR),最后我(CPU)从柜台拿走。

  写的过程:CPU 把要写的内容发给 MDR,把要存储的地址给 MAR,接着向主存储器发出写入的命令,主存储器就会把 MDR 的数据存储到 MAR 指定的地址中。 在这里插入图片描述

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

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

2.2 运算器

  运算器用于实现算术运算(加减乘除)、逻辑运算(与或非)。 在这里插入图片描述

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

在这里插入图片描述

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; }

  编译并装入主存: 在这里插入图片描述

  计算机内部组成如下所示: 在这里插入图片描述   初始时,PC 指向主存地址 0 的地方。 在这里插入图片描述   控制器把 PC 的值给主存储器的 MAR ,如下图: 在这里插入图片描述   MAR 此时值为 0,主存储器即从主存地址 0 的地方取出指令(000001 0000000101)并赋值给 MDR,如下图: 在这里插入图片描述 在这里插入图片描述   控制器取到了 MDR 的数据后就赋值给 IR,使得 IR = 000001 0000000101,其中操作码(000001)部分会发送到 CU,CU 分析后得知是”取数“指令,如下图所示: 在这里插入图片描述   接着控制器把 IR 的地址码(0000000101,换算成十进制为 5)发送到主存储器的 MAR,主存储器就把主存地址 5 的指令发给 MDR,控制器从 MDR 把指令取走并赋值给 IR,此时 IR = 0000000000000010,换成十进制就是 2,如下图所示: 在这里插入图片描述   接着控制器又把这个 2 赋值给运算器的 ACC,使得 ACC = 2,如下图所示: 在这里插入图片描述   至此,计算机就完成了“取数 a 至 ACC”的操作。剩余的 1 - 4 执行过程都是按照:取指令、分析指令、执行指令的过程完成所有代码操作。

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有