(考研计算机组成原理)第一章计算机系统概述-第二节:计算机系统层次结构
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(考研计算机组成原理)第一章计算机系统概述-第二节:计算机系统层次结构相关的知识,希望对你有一定的参考价值。
文章目录
一:冯诺依曼体系结构
在冯诺依曼体系结构中,计算机的硬件主要有**存储器,运算器,控制器,输入和输出设备(也叫做I/O设备)**组成。
(1)存储程序计算机
冯诺依曼体系结构也叫做存储程序计算机,计算器和计算机的唯一区别就是计算器是不能编程的,只能做电路板中设定好的固定的运算。
这也就意味着计算器本质就是一个不能编程的计算机,其在硬件层面已经将逻辑写死,如果需求更改,则需要更改硬件。比如下面的插线板式计算机
而对于我们的存储程序计算机,程序运行是会被加载进内存的,所以可以通过加载不同的程序来解决不同的问题,这也就是冯诺依曼的伟大之处。
(2)层次结构
还有下面这样
其中“运算器+控制器=CPU,CPU+主存=主机”
二:计算机硬件概述
(1)存储器
A:存储元、存储单元、存储体、存储字和存储字长
目前我们采用半导体器件来承担存储任务,一个半导体触发器由于有0和1两个状态,就可以记忆一个二进制代码。比如1个数需要用16位二进制代码表示,那么就需要有16个触发器来保存这些代码,这16个触发器就是一个存储单元。
主存储器由许多存储单元组成,每个存储单元包含多个存储元,每个存储元存储1位二进制代码0或1.故存储单元可存储一串二进制代码,称这串代码为存储字,这串代码的位数称为存储字长,存储字长一般是一个字节(8位)或字节的偶数倍。许多存储单元共同构成了一个存储体。
B:存储器的基本结构
存储器分为主存(内存)和辅存(外存)。CPU可以直接访问的是内存,内存主要存放的是程序和数据,是计算机实现“存储程序”控制的基础;外存中信息必须加载进内存后,CPU才可以访问
主存最基本构成如下。存储体存放二进制信息,MAR存放访存地址,经过地址译码后找到所选存储单元;MBR用于暂时存要从存储器中读入或写入的信息。
【考点】
- 数据在存储体中是按照地址存储的,每个地址对应一个存储单元;
- 存储单元数目= 2 M A R 位 数 2^{MAR位数} 2MAR位数,例如如果MAR为10位,则存储单元数目为 2 10 = 1024 2^{10}=1024 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指示的存储体取出原材料即可。
以上是关于(考研计算机组成原理)第一章计算机系统概述-第二节:计算机系统层次结构的主要内容,如果未能解决你的问题,请参考以下文章
专栏必读王道考研408计算机组成原理万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图
计算机组成原理 王道考研2021 第一章:计算机组成原理概述 -- 认识计算机组成原理计算机的发展