计算机的基本组成

Posted 计算机小白的爬坑之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机的基本组成相关的知识,希望对你有一定的参考价值。

计算机基本组成

一、冯·诺伊曼计算机的特点

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

二、冯·诺伊曼计算机硬件框图

五大组成部分的功能:

  1. 运算器(核心):算术运算、逻辑运算;(造成运算器负担)
  2. 存储器:存放数据和程序;
  3. 控制器:指挥控制程序的运行,完成指令之间先后顺序的控制;
  4. 输入设备:把人能够认识的信息转换成机器能识别的形式,通过运算器保存到存储器中;
  5. 输出设备:将计算机计算结果转换成人们熟悉的形式;

缺点:

  1. 以运算器为中心,造成运算器负担过重;
  2. 框图不清晰

三、冯·诺伊曼计算机优化

1、以存储器为中心的计算机硬件框图

2、现代计算机硬件框图

3、系统复杂性管理的方法

  1. 层次化:将被设计得系统划分为多个模块或子模块,分别对多个模块和子模块进行设计或者进一步细化;
  2. 模块化:有明确定义的功能和接口,才能将多个模块或者子模块组装在一起,形成更大的系统;
  3. 规则性:模块更容易被重用,如满足工业化或者国际化标准;

四、计算机的工作步骤

1、编程举例

计算:ax²+bx+c

此例存在加法指令,乘法指令,取数指令,存数指令,打印指令,停机指令。


转换为计算:(ax+b)x+c

2、指令格式举例—ACC(累加器)

指令格式为:操作码、地址码
存储器功能保存指令、数据和其他信息

  1. 取数指令:把内存单元 α 中保存的数据保存在ACC中假设操作码6位,地址码10位,000001表示取数。
  2. 存数指令:把ACC中的数保存到内存 β
  3. 加法指令:把ACC中的数和内存单元 γ 中的数相加,并保存在ACC中;
  4. 乘法指令:同上;
  5. 打印指令
  6. 停机

五、存储器的基本组成

1、存储体

  1. 指令、数据保存在存储单元中;
  2. 存储体-----存储单元------存储元件(0/1);
  3. 操作码、地址码存放在存储单元中;
  4. 存储单元存放一串二进制代码;
  5. 存储字:存储单元中二进制代码的组合;
  6. 存储字长:存储单元中二进制代码的位数,每一个存储单元赋予一个地址。

2、MAR(存储器地址寄存器)

  1. MAR反映存储单元的个数。
  2. 保存了存储单元的地址,或者存储单元的编号。

3、MDR(存储器数据寄存器)

  1. MDR反映存储字长。
  2. 保存了要送入CPU中的数据,要保存到存储体中的数据或者刚从存储体中取出的数据。

例子:设MAR=4位,MDR=8位。
MAR为4位,从0000-1111,共16个,故存储单元个数16位;
MDR为8位,则存储字长是8。

六、运算器的基本组成及操作过程

1、运算器基本组成

  1. ACC:累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。
  2. MQ:乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
  3. X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数。
  4. ALU:专门执行算术和逻辑运算的数字电路。

2、加法操作过程

3、减法操作过程

4、乘法操作过程


由控制器进行控制其操作的先后顺序,或者同时操作

5、除法操作过程

七、控制器的基本结构

1、控制器的功能

  1. 解释指令:从取址、分析、取操作数、执行指令,保存结果全过程。
  2. 保证指令的按序执行

2、控制器的基本结构

  1. PC寄存器和MAR之间有一条直接的通路,有自动加一的功能(是指自动形成下一条指令的地址),不是真的加1。
  2. IR的内容来自MDR,IR中的操作码(OP(IR))送到CU,用来分析指令,地址码(AD(IR))则送到了存储器的MAR中。
  3. CU控制单元是控制器的核心,各种信号从CU发出,它分析当前指令需要完成的操作,发出各种微操作命令序列,控制所以被控对象。

八、主机完成一条指令的过程

1、以取数指令为例


执行取数指令需要经过以下步骤: 取指令(1-4)-----分析指令(5)----执行指令(6-9)

  1. PC将要执行的指令地址送给MAR;
  2. 再由MAR送给存储体;
  3. 在控制器的控制下,存储体把指定存储单元中保存的取数指令送入到MDR;
  4. MDR把取数指令送给指令寄存器 IR ;
  5. 指令寄存器 IR 中保存的指令的操作码部分送到CU,CU分析操作码;
  6. 将IR中的地址送到MAR;
  7. 在控制器的控制下,MAR从存储体用取数指令找到要取的数;
  8. 将取的数保存到MDR;
  9. 将数据送到ACC寄存器中。

2、以存数指令为例


执行存数指令需要经过以下步骤:取指令(1-4)(同上)-----分析指令(5)----执行指令(6-9)

  1. PC将要执行的指令地址送给MAR;
  2. 再由MAR送给存储体;
  3. 在控制器的控制下,存储体把指定存储单元中保存的取数指令送入到MDR;
  4. MDR把取数指令送给指令寄存器 IR ;
  5. 将IR中保存的操作码部分送给CU,由CU进行分析,得是存数指令;
  6. 将IR中的地址码部分送到MAR;
  7. 在控制器的控制下,由MAR送到存储体,告诉存储体要存数据的地址;
  8. 将ACC中的数据送到MDR;
  9. 在控制器的控制下,把MDR中的数据保存到存储体M中。

3、一个小程序的执行过程

以上是关于计算机的基本组成的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理—系统总线

计算机组成原理(2.1)--系统总线

1-计算机系统概论

(计算机组成原理)第二章数据的表示和运算-第二节4:定点数的加减运算和溢出判断

计算机组成原理——浮点加减法运算小测验

N位加减法运算器实现(Verilog HDL)|计算机组成