公司法
当前位置: 首页 法律大全

计算机中存储器的分类和特点(第一章计算机系统概述-第二节)

时间:2023-05-20 作者: 小编 阅读量: 1 栏目名: 法律大全

比如1个数需要用16位二进制代码表示,那么就需要有16个触发器来保存这些代码,这16个触发器就是一个存储单元。许多存储单元共同构成了一个存储体。然后将PC的内容,也就是指令的地址送入到MAR中,即->MAR,MAR=0。也就是说控制器向存储器指明,我接下来要访问主存0号地址处的数据,同时告诉存储器进行读操作23:主存储器会根据MAR记录的地址信息,到存储体中找出0号地址对应的二进制数据,并将其放入到MDR中,此时MDR中存放了第一条指令。

一:计算机层次结构

(1)早期的冯诺依曼机

冯诺依曼机特点如下

  1. 计算机硬件系统由运算器、存储器、控制器、输入和输出设备5部分组成
  2. 指令和数据以同等地位存储在存储器,并可按地址寻访
  3. 指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在存储器的位置
  4. 指令在存储器内按顺序存放。通常指令是按照顺序存放的,但是在特定条件下可以进行设定
  5. 早期的冯诺依曼机器以运算器为中心,输入输出设备通过运算器与存储器传送数据

其中,实线是数据线,虚线是控制线(双向)。在这种层次结构下,在控制器的指挥下,输入和输出设备输入一些数据给运算器进行各种运算,如果产生中间结果,就会给存储器,计算完成结果给到输出设备。可以发现这种层次结构容易受到输入和输出设备的牵制,因为他们的速度相较于运算器太慢了,也即是短板效应

(2)现代计算机的组织结构

为了解决I/O设备的速度和CPU速度差异悬殊的问题,现如今的计算机则采用以存储器为中心的计算机组织结构

这种结果使I/O操作尽可能绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率

二:计算机硬件概述

(1)存储器

A:存储元、存储单元、存储体、存储字和存储字长

目前我们采用半导体器件来承担存储任务,一个半导体触发器由于有0和1两个状态,就可以记忆一个二进制代码。比如1个数需要用16位二进制代码表示,那么就需要有16个触发器来保存这些代码,这16个触发器就是一个存储单元。

主存储器由许多存储单元组成,每个存储单元包含多个存储元,每个存储元存储1位二进制代码0或1.故存储单元可存储一串二进制代码,称这串代码为存储字,这串代码的位数称为存储字长,存储字长一般是一个字节(8位)或字节的偶数倍。许多存储单元共同构成了一个存储体。

B:存储器的基本结构

存储器分为主存(内存)和辅存(外存)。CPU可以直接访问的是内存,内存主要存放的是程序和数据,是计算机实现“存储程序”控制的基础;外存中信息必须加载进内存后,CPU才可以访问

主存最基本构成如下。存储体存放二进制信息,MAR存放访存地址,经过地址译码后找到所选存储单元;MBR用于暂时存要从存储器中读入或写入的信息

【考点】

  • 数据在存储体中是按照地址存储的,每个地址对应一个存储单元
  • 存储单元数目=2MAR位数
  • ,例如如果MAR为10位,则存储单元数目为210
  • =1024。它用于寻址,其长度和PC长度一致
  • MDR的位数表示存储字长,例如MDR为16,表示存储字长为16,也表示1个字(word)=16bit
  • 注意区分字(word)和字节(Byte),1个字节等于8个bit,而1个字的大小取决于机器
  • 1B=1个字节,1b=1个bit

(2)运算器

运算器是计算机的执行部件,用于进行算数运算和逻辑运算

  • 算数运算:比如加减乘除
  • 逻辑运算:比如与、或、非、异或、比较等等

A:运算器基本结构

其中ALU是运算器造价最为高昂的部分,其实就是一堆复杂的电路

其余三个分别是寄存器,辅助ALU完成计算功能,作用如下了解即可

B:运算器过程伪代码描述

设M为主存中的某一个存储单元,(M)表示取M中的数据,->表示将内容送入寄存器

加法实现:假设ACC中已经存在一个数,那么首先取M的内容送入操作数寄存器X,即(M)->X;然后两者相加重新送入寄存器ACC中,即(ACC) (M)->(ACC)

乘法实现:假设ACC中已经存在一个数,那么首先取M的内容送入乘商寄存器MQ作为乘数,即(M)->MQ,再取ACC寄存器的内容放入X寄存器作为被乘数,即ACC->X,接着将ACC清零,即0->ACC,然后乘数乘以被乘数,一个送入乘积高位,一个送入乘积低位,即(X)×(MQ)->ACC//MQ

除法实现:假设ACC中已经存在一个数,首先取M的内容送入X作为除数,即(M)->X,ACC中的内容作为被除数,结果一个放入MQ作为整数部分,即(ACC)/(X)->MQ,另一个放入ACC作为余数,即(ACC)%(X)->ACC

(3)控制器

控制器是计算机的指挥中心,由其指挥各部件自动协调地进行工作

A:指令

计算机指令就是指挥机器工作的指示和命令,程序本质就是一系列按照一定顺序排列的指令

控制器靠指令指挥机器工作,人们用指令表达自己的意图,并交给控制器执行

指令=操作码 地址码

操作码就是指示计算机要干什么,地址码可以理解为干这些事情需要的原材料在哪里,比如主存中就有可能存储一些我们需要用到的数据,甚至可以是一些IO设备,比如键盘的地址

B:控制器基本结构

控制器基本结构如下

  • 控制单元(CU):分析指令、发出信号、协调操作
  • 指令寄存器(IR):存放当前要执行的指令,注意内容来源于MDR,因为指令和数据一样也被存在存储器
  • 程序计算器(PC):存放当前要执行的指令地址, 与MAR直接连通,并且可以自动 1

C:控制器过程伪代码描述

完成一条指令的过程为:取指令(PC)->分析指令(IR)->执行指令(CU)

具体过程:首先取出指令,即(IR),接着获取指令的操作码,即OP(IR),然后获取指令的地址码,即AD(IR),然后将操作码送入控制单元分析,即OP(IR)->CU,操作码表示需要干什么,但是干活需要原材料,所以再把指令的地址码送入MAR,AD(IR)->MAR,从MAR指示的存储体取出原材料即可。

结合前面的加法,我们可以写出完整的加法运算的过程的: 首要取加法指令,而指令存储在存储体中,想要取出指令必须要知道的指令的地址,而这个地址就存放在PC中,PC又和MAR直接相连,即(PC)->MAR,于是指令此时被放入了MDR中,那么接着将指令放入IR中,即(MDR)->IR,接着取指令的操作码送入控制单元,即OP(IR)->CU,然后再把原材料(就是一些操作数)的地址码送入MAR,即AD(IR)->MAR。接着就可以进行加法操作了,由于上一步已经将操作数的地址码送入了MDR中,所以现在送入操作数寄存器,即(MDR)->X,然后(ACC) (X)->ACC,最后PC要自增,即(PC) 1->PC,表示下一条指令

精华:计算机的工作过程

学习到这里,我们就可以从硬件到角度分析一下,看似简单的C语言代码,在背后计算机究竟做了多少事情

以下程序非常简单,声明了4个变量并赋值,然后在main函数内进行运算

int a=2,b=3,c=1,y=0; void main() { y=a*b c; }

经过编译器编译后,这段程序在主存中就是这样的

  • 下半部分是定义的变量,上半部分则是对应于高级语言对应的机器指令

为了方便演示,我们将控制器、运算器和存储体也放在旁边

第一组

1:程序开始运行,PC的值为0,保存的是第一条指令的地址。然后将PC的内容,也就是指令的地址送入到MAR中,即(PC)->MAR,MAR=0。也就是说控制器向存储器指明,我接下来要访问主存0号地址处的数据,同时告诉存储器进行读操作

2 3:主存储器会根据MAR记录的地址信息,到存储体中找出0号地址对应的二进制数据,并将其放入到MDR中,此时MDR中存放了第一条指令。即M(MAR)->MDR,此时MDR=000001 0000000101

4:接着将MDR中的指令放入IR中,于是控制器就存放了当前要执行的指令。即(MDR)->IR,(IR)=000001 0000000101

5:这条指令的前6个比特位是地址码,会被送入到控制单元CU中,CU分析后,得知这是一条取数命令。即OP(IR)->CU

6:取数指令会将变量a的内容放入寄存器ACC中。但是现在变量a不知道在哪里,所以现在会把指令的地址码送到MAR当中,即(MAR)=5

7 8:接着主存储器根据MAR指明的地址,也就是a的地址(5),去存储体中找出5号地址的数据,并将其放入MDR当中。即M(MAR)->MDR,(MDR)=0000000000000010,也即(MDR)=2

9:接着在控制单元的指挥下,MDR中的数据就被放入到了ACC中。至此第一条指令完成

10:最后PC自增1,进行下一条指令,即(PC)=1

接下来进行下一组操作

1:程序接着运行,PC的值为1,保存的是第二条指令的地址。然后将PC的内容,也就是指令的地址送入到MAR中,即(PC)->MAR,MAR=1。也就是说控制器向存储器指明,我接下来要访问主存1号地址处的数据,同时告诉存储器进行读操作

2 3:主存储器会根据MAR记录的地址信息,到存储体中找出1号地址对应的二进制数据,并将其放入到MDR中,此时MDR中存放了第二条指令。即M(MAR)->MDR,此时MDR=000100 0000000110

4:接着将MDR中的指令放入IR中,于是控制器就存放了当前要执行的指令。即(MDR)->IR,(IR)=000100 0000000110

5:这条指令的前6个比特位是地址码,会被送入到控制单元CU中,CU分析后,得知这是一条乘法命令。即OP(IR)->CU

6:接着把指令的地址码送到MAR当中,即(MAR)=6

7 8:接着主存储器根据MAR指明的地址,也就是b的地址(6),去存储体中找出6号地址的数据,并将其放入MDR当中。即M(MAR)->MDR,(MDR)=0000000000000011,也即(MDR)=3

9:由于是乘法,所以控制单元将MDR中的内容送入到乘商寄存器MQ中,即(MDR)->MQ,此时(MQ)=0000000000000011=3

10:先把a的值放入通用寄存器X中,即(ACC)->X,(X)=2

11:CU告诉ALU,让其进行乘法运算。即(MQ)×(X)->ACC,(ACC)=6。注意如果乘积过大,需要MQ辅助存储,也就是最上面讲到过的(X)×(MQ)->ACC//MQ

接着进行下一组操作,具体过程就不详细演示了,步骤如下

  • 1:PC存储2号指令的地址,(PC)->MAR,(MAR)=2
  • 2 3:M(MAR)->MDR,(MDR)=000011 0000000111
  • 4:(MDR)->IR,(IR)=000011 0000000111
  • 5:OP(IR)->CU,CU分析操作码,得知这是加法执行
  • 6:Ad(IR)->MAR,将指令的地址码送入MAR,(MAR)=7
  • 7 8:M(MAR)->MDR,(MDR)=00000000 00000001=1
  • 9:(MDR)->x,(X)= 00000000 00000001=1
  • 10:(ACC) (X)->ACC,(ACC)->7,由ALU实现加法运算

接着进行下一组操作

  • 1:(PC)->MAR,(MAR)=3
  • 2 3:M(MAR)->MDR,MDR=000010 0000001000
  • 4:(MDR)->IR,(IR)000010 0000001000
  • 5:OP(IR)->CU,CU分析得知,这是存数指令
  • 6:AD(IR)->MAR,(MAR)=8
  • 7 8:(ACC)->MDR,MDR=7
  • 9:(MDR)->地址为8的存储单元,导致y=7

最后再读取到停机指令时,计算机通过中断机制就结束了程序的运行

    推荐阅读
  • 怎样养好盆栽百合花(盆栽百合花又香又高贵)

    怎样养好盆栽百合花百合开花香气浓郁,艳丽而娇嫩,含苞待放,芬芳吐蕊,是特别深受人们喜爱的一种花卉。在选择的时候一定要选择正规的商家,选择对版的百合才能符合自己的心愿。大约两个月左右,就可以看到百合花开出艳丽的花朵了。百合花开完花之后不要丢掉,直接把它的残花修掉就可以了。

  • 绵阳市有哪些旅游景点好玩(旅行攻略之四川省绵阳市)

    绵阳又称为“中国科技城”,位于四川西北部盆地。风景优美,家人爬爬山不错,有天然溶洞)六:越王楼七:潼川古城(历史悠久,晚上夜景很不错。我国两弹就是在这里研究成功的。是个不错的打卡地)以上十个都是不错的景点,绵阳美食也有很多,米粉、锅盔、冒菜、酥饼、凉粉、醪糟、片粉、还有很多美食,大家可以去品尝一下

  • 忍界大战我爱罗带什么秘卷(这样带秒杀敌人)

    忍界大战我爱罗带什么秘卷带水龙卷和查克拉,水龙卷追踪可以更好地封走位,查克拉能配合大招迅速击杀敌人。在第四代风影遇刺不久后继任成为第五代风影,领导并守护着砂隐村,曾一度被“晓”抽去了一尾守鹤而死亡,最后被千代牺牲性命复活。第四次忍界大战中,我爱罗担任忍者联军队长与第四部队统领。战争结束后,我爱罗仍继续担任风影的职位,还和鸣人及木叶村等人维持着友好的关系。

  • 长春有哪些专科学校(长春的专科学校有哪些)

    师范教育部组建),是吉林省、长春市政府在“十二五”期间重点扶持建设的全省唯一一所师范高等专科学校。长春医学高等专科学校,是经教育部批准的全日制普通高等专科学校,“卓越医生教育培养计划”试点高校。

  • 明日之后夜魔是什么(夜魔特点介绍)

    明日之后夜魔是夜晚出现的野怪每当夜幕降临时,玩家总会收到一条特殊的提醒,那就是连续不断的紧凑三声喇叭声,并提示玩家“喇叭声唤醒了什么”,下面我们就来聊聊关于明日之后夜魔是什么?明日之后夜魔是什么明日之后夜魔是夜晚出现的野怪。其实,这个喇叭声唤醒的就是“夜魔”,出现这条提醒之后,也将意味着在不久过后有一位夜魔大人将亲自光顾你的家园,并向你寒暄温暖,表达最衷心的祝福!

  • 三本末世流小说推荐(10本末日基建玄幻类文)

    幸好“末日营地”游戏自由度极高。公测结束,她满心期待游戏正式运营,不料全球沦为游戏场……袁香儿学艺初成,入妖林,欲擒一小妖,契之以为使徒。袁香儿心中不忍,将其带回家中,哺食裹伤,悉心照料。至此之后,每天外出归来的袁香儿欣喜的发现家门口总会多出一些奇怪的礼物。小招待所内水电齐全,只要支付晶核就可以获得安全的居所美味的食物。

  • 哄女朋友的暖心故事(哄女友开心的故事)

    问老总老总,大家这儿有木有红萝卜?仔猪太胖了,猪妈妈担忧仔猪的身心健康,让仔猪减肥瘦身,猪妈妈每日监管仔猪慢跑。此刻小狗狗来找仔猪,猪妈妈恰好让小狗狗监管仔猪,小狗狗同意了猪妈妈。临行的情况下,猪妈妈刻意交待仔猪不可以喝凉水和吃凉的物品。仔猪开心的吃完起來,但是还没有等吃了,仔猪就肚子痛的倒在了地底,此刻猪妈妈正巧回家,立刻带著仔猪来到医院门诊。

  • 2060打游戏好吗(2060不仅节目全网出圈广受好评)

    10月22日起,江苏卫视推出了一档国产原创动漫形象舞台竞演节目《2060》,在每周五晚间时段播出。截至目前,《2060》已播出五期节目,CSM63城平均收视2.34%、收视份额11.57%。《2060》自开播以来,凭借新颖的节目模式以及弘扬中国传统文化的内核,获得了业内外各方的关注和肯定。文章还着重表扬了《2060》节目用好国风元素弘扬优秀传统文化,并采用年轻化表达贴近青少年喜好。

  • 新宝骏十年磨剑苦工一朝转型成功(新宝骏形象店什么样)

    在服务方面,新宝骏将会提供全生命周期的实施在线服务,通过APP实现从预约到服务完结的全面在线化。不仅如此,新宝骏还将提升服务水平,将会对到店的每一位消费者提供6对1的专属服务,包括店长、销售顾问、服务顾问、技术主管、保险专员和客服专员,给用户提供实时在线响应,为用户日常用车进行保驾护航。而且,新宝骏提供了在线预约和上门取车保养的服务,让您可以足不出户完成车辆保养。

  • 贵州赤水丹霞大瀑布美景迷人(赤水大瀑布难得一见的)

    在贵州赤水丹霞旅游区大瀑布景区,壮美的大瀑布气势恢宏。据了解,按照疫情防控要求,游客在进入景区时需要进行扫码、测温。景区还采取了门票线上预约、错峰游览等措施。此外,为应对假期客流,当地加强了车辆运力调控、增加工作人员值守,优化客流引导。