[计算机组成原理-02] 计算机硬件的基本组成和工作原理
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] 计算机硬件的基本组成和工作原理相关推荐
- 计算机组成原理(2)各个硬件的工作原理
一.主存储器 (1)存储体(M) 1.存储单元:每个存储单元存放一串二进制代码. 2.存储字(word):存储单元中二进制代码的组合. 3.存储字长:存储单元中二进制代码的位数,一般是 8bit 的倍 ...
- 【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件
计算机组成原理(一) 计算机内部是通过电信号传递数据 电信号:分为高电平和低电平,分别代表1/0 数字.文字.图像如何用二进制表示? CPU如何对二进制数进行加减乘除? 如何存储这些二进制数的? 如何 ...
- 深入浅出计算机组成原理02:计算机指令
1. 计算机指令 1.1 CPU的软硬件视角 从硬件角度来看,CPU是一个超大规模集成电路,通过电路实现了加法.乘法及各种各样的逻辑 2. 从软件角度来看,CPU是一个执行各种计算机指令(Instru ...
- 电路计算机仿真的优点,施密特触发器电路及工作原理详解_施密特触发器特点_施密特触发器的作用...
描述 什么是施密特触发器 施密特触发器(Schmidt trigger)是包含正回授的比较器电路.它也有两个稳定状态,但与一般触发器不同的是,施密特触发器采用电位触发方式,其状态由输入信号电位维持:对 ...
- 计算机组成原理(计算机硬件)
/* 1.2.1--计算机硬件的基本组成 存储程序:将指令以二进制代码的形式事先输入计算机的主存储器. 早期冯诺依曼机:输入设备->运算器->存储器->控制器->输出设备 在计 ...
- Educoder头歌单总线CPU设计(定长指令周期3级时序)(HUST)谭志虎 华中科技大学计算机组成原理实验计算机硬件系统设计
.crci文件获取在下方 本实训项目帮助学生理解定长指令周期三级时序系统的设计,能利用该时序构造硬布线控制器,支持5条典型MIPS指令在单总线CPU上运行,最终CPU能运行内存冒泡排序. 定长指令周期 ...
- 水压计算机控制系统原理图,山西太原智能给排水控制系统工作原理
重庆地区市政污水集中处理要求日益高涨现在的水资源不能太紧张,在经过一轮集中处理之后重庆市已经清洗了重庆市的污水处理厂,将会减少这么大的排水量并且由于技术突破,短时间很难做到此类水量的控制,节省了大量的 ...
- 云计算机渲染效果,分析云渲染平台的工作原理
云渲染平台分布式并行计算分为空间上的并行和时间上的并行. 空间上的并行是指用多个处理器并发的执行计算,比如Mentalray渲染器就支持单帧画面分割渲染,时间上的并行就是指流水线技术. 云渲染平台现在 ...
- 计算机主板各模块复位,电脑主板复位电路工作原理分析
电源.时钟.复位是主板能正常工作的三大要素.主板在电源.时钟都正常后,复位系统发出复位信号,主板各个部件在收到复位信号后,同步进入初始化状态.如图7-11所示为复位电路的工作原理图,各个十板实现复位的 ...
- 计算机中SRAM的作用,SRAM特点及工作原理
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据. 基本简介 SRAM不需要刷新电路即能保存它内部存储的数据.而DRAM(Dynamic ...
最新文章
- 如何复制代码到剪贴板?JS/FLASH...
- java 中 a = a++ 的分析
- android word转html标签,如何将Word转换为网页html格式的方法(附代码清理方法)
- 一件登录facebook_我从Facebook的R教学中学到的6件事
- Google Colab——谷歌免费GPU使用教程
- ios公司开发者账号申请分享攻略
- 安装mongodb时为什么一直卡着不动
- 云原生技术学习路线图 初阶+中阶+高阶
- 如何实现一个无边框Form的移动和改变大小(一)
- Duet Display用一根数据线将iPad变身扩展显示器
- GoldenGate Enterprise Manager Plug-In(12.1.0.3.0) 部署文档
- PS照片处理尺寸参考表
- SpringBoot从入门到精通二(SpringBoot整合myBatis的两种方式)
- Java读写csv文件操作
- 中国银行app,H5页面调取支付,并返回状态码。
- hr面试性格测试30题_HR经典面试30题
- 【保姆级教程】STK3332系列环境光传感器整理!STK333X
- 电脑技巧:如何实现电脑一键自动关机和重启?
- 《Java SE实战指南》10:特性修饰符
- The Accelerator Wall: Limits of Chip Specialization