打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
冯诺依曼体系结构
userphoto

2023.02.10 湖北

关注

存储程序式计算机也称为冯诺依曼式计算机

1.组成:分为五个部分,它们之间以总线相连


通过执行一个简单相加指令举例:


      

   举例:存储器中一条命令,假设这条命令执行这样一条动作,ADD  123  321,ADD表示要做的事情(相加),后面是参数相加动作的两个数,

(1)通过命令记录员找到当前执行到的命令,并将命令提取出来放到命令控制器中的指令暂存处

(2)接着控制器中的命令解释器对命令进行解释,并将解释结果传给控制信号产生器产生相应的控制信号

(3)在控制器的控制下,将两个数再从存储器中提取出来,分别放到运算器的两个数据缓存区中(数据暂存)

(4)接着控制器产生一个控制信号告诉电路做这两个数的加法,相加得到运算结果.

      总结:控制器从存储器取出一条命令,然后对命令进行解析,按照命令的要求把相应参与运算的数据取出,放到运算器,运算器计算获得结果,最后输出到输出设备上.执行

完这条命令后,转到下一条命令继续执行.

2.存储器的结构和特点

     2.1衡量存储空间大小的度量单位

在计算机中能存储的最小的数是10,我们讲存储一个10的控件称为位(Bit),通常为了使用和程序编写,将8个位称为一个字节(BYTE.

      2.2存储器的种类


2.3存储设备:

寄存器:

(1)处于CPU内部和算术逻辑单元直接相连,算数逻辑单元直接对寄存器进行读写操作

(2)一次存取数据花费0.X纳秒的时间,非常接近算术逻辑单元的 计算速度

(3)很昂贵,容量很小

高速缓存 Cache:

(1)通常由静态随机存储器(SRAM)制成,比寄存器便宜

(2)高速缓存分为内部高速缓存和外部高速缓存(内部高速缓存在CPU中,外部高速缓存在主板上)

(3)通常可以分为1到3级,不同级的工作频率不同

(4)不需要刷新电路即能保存内部存储的数据

内存:

(1)通常由动态随机存储器 (DRAM)制成

(2)程序普通执行时的程序指令和很多用到的数据都放在内存中

(3)临时存放,断电丢失

外存

(1)最常用的就是磁盘和闪存(Flash EPROM)

(2)数据断电后不丢失

(3)现在常用的外存有磁盘和固态硬盘

(4)容量大,速度慢(相对上面提到的)

显存:

(1)全称是显示存储器

(2)专门存储要显示的图像数据

(3)一般和内存一样,由DRAM构成

      举例 说明:

这时常用的DDR3内存的截图

其中:240pin表示有240个引脚,类型是DDR3,工作频率1600M.

   通过一级缓存,二级缓存,三级缓存为CPU提供数据的供应链,CPU可以看成是工厂,缓存可以看成是仓库,仓库提供给工厂数据.在这种数据供应机制下,CPU先从最近的缓存开始找,如果找到了直接访问数据,如果没有找到,就会到更远的缓存去找,如果在更远的缓存里面找到了数据,就将整个数据块加载到离它更近的缓存中,从而使得对这个数据块的访问都可以在更高的缓存中进行.通过这些措施,尽量减少可能的”慢”的读写操作.

磁盘的原理和磁带一样,都是用一层薄薄的磁性材料来存储信息,每一个bit的不同磁场方向就分别代表了0和1,用磁头的电流就可以改变磁场的方向,从而改变存储信息。闪存的电荷漏电速度很慢,可以看成 是一种掉电也能用的存储设备,常用闪存是U盘和固态硬盘.

3.程序运行的基本原理:

要执行指令:,红色的为指令码,黑色的是操作数

指令包含两个部分,一部分时指令码,一部分时操作数,这里的操作数是一个地址00011110,在这个地址里面放了数据01001011,该指令要完成的事情是对数据进行加1的操.

详细执行过程:

(1) 程序计数器PC将指令的地址发送给地址寄存器AR

(2)地址寄存器到响应的存储单元中将指令取出放入指令寄存器

(3) 指令寄存器将指令交给指令译码器ID进行译码,经过分析这条指令的操作数是一个地址

(4)控制器将指令中的地址传回地址寄存器AR

(6)在控制器的协调下,到相应的存储器中取出数据,将其送到运算器的缓冲寄存器DR

(7)缓冲寄存器将数据送到算数逻辑单元ALU

(8)操作控制器发送一个加一操作的信号给算数逻辑单元ALU

(9)ALU完成运算,并将运算结果放回到累加器中

主要步骤:按照地址去指令,按照地址取数据,发送运算信号,完成运算

程序的运行:

机器 只能执行二进制码

执行如下三行代码:

a = 4;

b =3;

c=a b;

程序的执行过程:

   (1)对于某个程序而言,在内存中会开辟两个区域,一个是代码区,一个是数据区,首先程序计数器指向待执行的第一条程序mov a,4 


   (2)执行mov a,4,将数据区相应区域给变量a赋值为4,然后程序计数器指向下一条语句,mov b,3

         (3)执行mov b,3,将数据区中变量b相应的位置被赋值为3,然后程序计数器指向下一条语句

   (4)执行mov eax,a (eax代表运算器中的累加寄存器),控制器先去访问数据区中a的值,将值取出送到累加器中,然后程序计数器指向下一条语句

   (5)执行add eax,b,即将累加器中值与b的值相加,控制器先取出数据区中b的值3,送到运算器的缓冲寄存器,然后通过ALU完成相加的运算,结果存放在累加器中,然后程序计数器指向下一条语句

(6)执行mov c,eax  ,含义是将累加器的值传递给变量c,程序执行完毕


小结:

程序必须要经过编译才转换成CPU所能接收的指令.

一句程序有可能转换为多句指令

程序执行过程是在内存中完成的

程序在执行过程中,在内存中的不同区域,存放代码和相关数据

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
图解软件:1. 什么是计算机
操作系统概述(路径名转换成的文件所在磁盘地址的结果也可以保存缓存中以避免重复寻址)有图形界面的操作系统被称为图形用户界面GUI基于文本命令行的通常称为Shell
微型计算机原理与接口技术 第三版(张荣标)答案
80C51单片机存储器系统及操作方式
用LED实现的大屏幕时钟的制作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服