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 指挥其他部件执行指令。

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

  1. 计算机组成原理(2)各个硬件的工作原理

    一.主存储器 (1)存储体(M) 1.存储单元:每个存储单元存放一串二进制代码. 2.存储字(word):存储单元中二进制代码的组合. 3.存储字长:存储单元中二进制代码的位数,一般是 8bit 的倍 ...

  2. 【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件

    计算机组成原理(一) 计算机内部是通过电信号传递数据 电信号:分为高电平和低电平,分别代表1/0 数字.文字.图像如何用二进制表示? CPU如何对二进制数进行加减乘除? 如何存储这些二进制数的? 如何 ...

  3. 深入浅出计算机组成原理02:计算机指令

    1. 计算机指令 1.1 CPU的软硬件视角 从硬件角度来看,CPU是一个超大规模集成电路,通过电路实现了加法.乘法及各种各样的逻辑 2. 从软件角度来看,CPU是一个执行各种计算机指令(Instru ...

  4. 电路计算机仿真的优点,施密特触发器电路及工作原理详解_施密特触发器特点_施密特触发器的作用...

    描述 什么是施密特触发器 施密特触发器(Schmidt trigger)是包含正回授的比较器电路.它也有两个稳定状态,但与一般触发器不同的是,施密特触发器采用电位触发方式,其状态由输入信号电位维持:对 ...

  5. 计算机组成原理(计算机硬件)

    /* 1.2.1--计算机硬件的基本组成 存储程序:将指令以二进制代码的形式事先输入计算机的主存储器. 早期冯诺依曼机:输入设备->运算器->存储器->控制器->输出设备 在计 ...

  6. Educoder头歌单总线CPU设计(定长指令周期3级时序)(HUST)谭志虎 华中科技大学计算机组成原理实验计算机硬件系统设计

    .crci文件获取在下方 本实训项目帮助学生理解定长指令周期三级时序系统的设计,能利用该时序构造硬布线控制器,支持5条典型MIPS指令在单总线CPU上运行,最终CPU能运行内存冒泡排序. 定长指令周期 ...

  7. 水压计算机控制系统原理图,山西太原智能给排水控制系统工作原理

    重庆地区市政污水集中处理要求日益高涨现在的水资源不能太紧张,在经过一轮集中处理之后重庆市已经清洗了重庆市的污水处理厂,将会减少这么大的排水量并且由于技术突破,短时间很难做到此类水量的控制,节省了大量的 ...

  8. 云计算机渲染效果,分析云渲染平台的工作原理

    云渲染平台分布式并行计算分为空间上的并行和时间上的并行. 空间上的并行是指用多个处理器并发的执行计算,比如Mentalray渲染器就支持单帧画面分割渲染,时间上的并行就是指流水线技术. 云渲染平台现在 ...

  9. 计算机主板各模块复位,电脑主板复位电路工作原理分析

    电源.时钟.复位是主板能正常工作的三大要素.主板在电源.时钟都正常后,复位系统发出复位信号,主板各个部件在收到复位信号后,同步进入初始化状态.如图7-11所示为复位电路的工作原理图,各个十板实现复位的 ...

  10. 计算机中SRAM的作用,SRAM特点及工作原理

    SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据. 基本简介 SRAM不需要刷新电路即能保存它内部存储的数据.而DRAM(Dynamic ...

最新文章

  1. 如何复制代码到剪贴板?JS/FLASH...
  2. java 中 a = a++ 的分析
  3. android word转html标签,如何将Word转换为网页html格式的方法(附代码清理方法)
  4. 一件登录facebook_我从Facebook的R教学中学到的6件事
  5. Google Colab——谷歌免费GPU使用教程
  6. ios公司开发者账号申请分享攻略
  7. 安装mongodb时为什么一直卡着不动
  8. 云原生技术学习路线图 初阶+中阶+高阶
  9. 如何实现一个无边框Form的移动和改变大小(一)
  10. Duet Display用一根数据线将iPad变身扩展显示器
  11. GoldenGate Enterprise Manager Plug-In(12.1.0.3.0) 部署文档
  12. PS照片处理尺寸参考表
  13. SpringBoot从入门到精通二(SpringBoot整合myBatis的两种方式)
  14. Java读写csv文件操作
  15. 中国银行app,H5页面调取支付,并返回状态码。
  16. hr面试性格测试30题_HR经典面试30题
  17. 【保姆级教程】STK3332系列环境光传感器整理!STK333X
  18. 电脑技巧:如何实现电脑一键自动关机和重启?
  19. 《Java SE实战指南》10:特性修饰符
  20. The Accelerator Wall: Limits of Chip Specialization

热门文章

  1. 中国移动2013~2018年笔试真题及答案解析(助力2020秋招)
  2. 多智能体协同视觉SLAM技术研究进展
  3. Python实现音乐推荐系统【跟着迪哥学python】
  4. 简单新闻管理系统(jsp)
  5. 虚拟机服务器关机命令,ESXi主机定时开关机设置
  6. linux 命令:chmod详解
  7. 学习Java好书及视频推荐
  8. Simulink与Flightgear联合仿真详细教程
  9. 电压比较器,电压比较器原理
  10. Git 详细安装教程(详解 Git 安装过程的每一个步骤)