计算机组成原理(1计算机基本组成)

计算机软件可以分为两大类,系统软件和应用软件,早期的计算机是没有系统软件的。其产生通过计算机的系统软件,方便管理计算机系统的软硬件,系统软件有语言处理程序(高级语言需要同通过编译汇编形成程序)、操作系统、服务性程序(天河计算机的数学库)

冯诺依曼结构

实现表示数据通路,虚线表示控制和状态反馈。执行指令的过程中,该条指令需要从存储器送到控制器进行分析。控制器是用来指挥控制程序的运行,完成一条指令的执行,完成指令之间先后顺序的控制。

现代计算机硬件框图

一个现实中的问题,如何用计算机来解决?

几乎现在所有的计算机在指令集上都没有明确给出sin的计算,所以需要给出sin的计算方法,这其实是一个迭代的过程,直到相邻两次计算的差值满足了用户的精度要求。程序是由指令构成的,指令下面还包含微指令。

计算机的解题过程

MAR(存储器地址寄存器) 和MDR(存储器数据寄存器) 是CPU连接内存的"两个关键接口",它们协同工作,确保CPU能准确无误地从内存中读取指令和数据,或把结果写回内存。

MAR(Memory Address Register) :相当于你手里的**"取件码"** 。它专门用来存放CPU想要访问的内存单元的地址 (比如第几排第几列)。

MDR(Memory Data Register) :相当于你取回来的**"包裹"** 。它专门用来存放从内存中读取出来的数据 ,或者将要写入内存的数据。

控制器的基本结构

控制器的功能:解释指令、保证指令的按序执行

PC(Program Counter,程序计数器)

IR(Instruction Register,指令寄存器)

CU(Control Unit,控制器)

取数指令的完成过程

完成一条取数指令分为三个阶段:取指令、分析指令和执行指令。

第一阶段是取指令。 要取指令,首先必须知道指令的地址,这个地址保存在PC(程序计数器)中,而指令本身保存在存储体(内存)中。取指令的第一步是PC把指令地址送给MAR(存储器地址寄存器),再由MAR把地址送给存储体;在CU(控制单元)的控制下,存储体从指定存储单元中把取数指令取出,送入MDR(存储器数据寄存器);然后MDR中的指令再送入IR(指令寄存器),因为IR的功能就是保存当前正在执行的这条指令。经过这四步操作,取指令阶段完成。

第二阶段是分析指令。 分析指令的操作相对直观,主要是把IR中保存的指令的操作码部分送给CU;CU经过译码后,会在其上方产生一系列控制信号,这些信号将用于控制相应的执行部件去执行指令所要求的各种操作。

第三阶段是执行指令。 取数指令的功能是把保存在内存单元中的数据取到ACC(累加器)中。为了完成这个操作,首先要从IR中取出地址码部分------因为IR不仅保存了当前指令,还保存了该指令操作数的地址------把该地址送入MAR,再由MAR送给存储体;在CU的控制下,从存储体中把要取的数据取出并存入MDR;最后把MDR中的数据送入ACC,至此取数操作全部完成。

相关推荐
不脱发的程序猿7 小时前
STM32制作单手鼠标键盘
stm32·嵌入式硬件·计算机外设·usb·qmk
AntsData2 天前
用 12K+ 条亚马逊评论信号,定位机械键盘下一版该改什么
java·大数据·计算机外设
时间的情敌2 天前
Vue3 + Cesium 鼠标交互绘制多边形 / 线(贴地绘制,动态预览,Entity 实现)
计算机外设
小幂同学3 天前
鼠标左右键自动点击怎么设置?单击、双击与宏录制说明
计算机外设·鼠标连点器·连点器·点击器·自动点击器
摩尔芯创3 天前
一期一会 | 什么是抬头显示器(HUD)?
计算机外设
苏州福兰克3 天前
运行裸眼3D显示器对电脑显卡配置有什么要求?
3d·计算机外设·电脑
巧手打字通-一起来打字3 天前
怎么才能科学快速的学会电脑26键盘打字?
计算机外设·电脑·键盘
苏州福兰克6 天前
没有3D内容,裸眼3D显示器还能用吗?
3d·计算机外设
豪气的程序猿6 天前
Windows 11 外接键盘偶尔漏键?用键盘小鹿练习前先做双设备对照
计算机外设·电脑
苏州福兰克6 天前
长期看裸眼3D显示器容易视觉疲劳吗?
3d·计算机外设