王道考研-计算机组成原理(1)

1.1.1 软硬件发展

计算机硬件的发展

在这里插入图片描述
电子管时代:
第一台 电子数字计算机:ENIAC
在这里插入图片描述
机器语言
占地面积约170平方米
耗电量150千瓦
包含了17468根真空管
在这里插入图片描述
晶体管时代:
第一台使用晶体管线路的计算机:TRADIC
在这里插入图片描述

面向过程的程序设计语言:FORTEAN
有了操作系统的雏形
耗电量30瓦
包含了800只晶体管
在这里插入图片描述
中小规模集成电路时代:
高级语言迅速发展
开始有了分时操作系统
在这里插入图片描述
大规模,超大规模集成电路时代:
产生了微处理器
新的概念:并行,流水线,高速缓冲,虚拟存储器…
在这里插入图片描述
微处理器的发展:
在这里插入图片描述
机器字长:计算机一次整数运算所能处理的二进制位数

操作系统位数:其所以来的指令集的位数(影响的是整个系统能够访问的存储空间的大小)

摩尔定律(揭示了信息技术进步的速度):集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍

计算机软件的发展

语言的发展:
在这里插入图片描述操作系统的发展
在这里插入图片描述

1.1.2 计算机的分类及发展方向

按照所用信号类型分类

在这里插入图片描述
电子模拟计算机对环境的要求较高,因为模拟信号容易被扰乱而不易恢复,所以一般用于科研。
电子数字计算机较为常用,像我们家庭使用的个人计算机也都是电子数字计算机。

按照指令和数据流分类

  1. 单指令流&单数据流(SISD):冯诺依曼体系结构
    在这里插入图片描述

  2. 单指令流&多数据流(SIMD):阵列处理器,向量处理器
    在这里插入图片描述

  3. 多指令流&单数据流(MISD):实际上不存在

  4. 多指令流&多数据流(MIMD):多处理器,多计算机
    在这里插入图片描述发展趋势:“两级”分化

1.2.1 系统结构

计算机系统的组成

冯诺依曼体系的计算机以运算器为核心:
在这里插入图片描述现代计算机以存储器为核心:
在这里插入图片描述软件和硬件在逻辑上是等效的:例如:为了实现更多位数的计算,我们可以通过买更多的运算器来实现,也可以通过设计步骤来实现,将更多位数拆分成几等位数。通过硬件来实现某个任务,也可以通过某个软件来实现某个任务。但是两者并不是等价的,例如完成这个任务,硬件和软件的完成所需时间不一定相同。

计算机硬件系统的基本组成

在这里插入图片描述
这里说的主机与我们平常见到的机箱中的主机并不一样,机箱中的主机内容比主机更加丰富。辅助存储器就是我们平常说的机械硬盘,固态硬盘,闪存等等…

1.2.2 CPU及工作过程

功能部件-运算器和控制器

在这里插入图片描述

计算机的工作过程-取数指令

在这里插入图片描述
MAR:地址寄存器,用于指明要读/写哪个存储单元。其位数反映存储单元的数量
MDR:数据寄存器,用于暂存要读/写的数据。其位数=存储字长。

PS:可以理解为PC永远存储着下一条指令的地址,但其实在工作期间存储着当前指令的地址。对于控制器需要记得的是永远到PC中寻找要执行的执行。

第一步:去PC所指向的那个位置取出指令地址到主存的地址寄存器中。
(PC) -> MAR
第二步:根据地址到对应的存储体中找出相应的数据,放到数据寄存器中。
M(MAR) -> MDR
第三步:该数据是一条指令,则放置到指令寄存器中
(MDR) -> IR

-----------------------------------取指令结束,开始解析指令------------------
第四步:将操作码放置到控制单元中,控制单元解析操作码,就能知道接下来应该怎么控制各个部件工作
OP(IR) -> CU

-----------------------------------分析指令结束,开始执行指令,假设是取数指令------------------
第五步:从指令中切分出地址码,放置到地址寄存器中
Ad(IR) -> MAR
第六步:根据地址到对应的存储体中找出相应的数据,放到数据寄存器中
M(MAR) -> MDR
第六步:数据寄存器中的数据是一个“数据”,将“数据”放置到累加器中
(MDR) -> ACC

-----------------------------------执行指令结束------------------

如何判断从MDR取出来的数据放置到ACC还是IR中?
答案:如果取出来的数据是指令,则放置IR中,否则放置ACC中

CPU如何区分从MDR中取出来的是指令和数据?
答案:根据指令周期的不同阶段。在取指周期取出来的就是指令,在执行周期取出来的就是数据

大致的步骤:从PC中取出指令的地址送到地址寄存器,然后在存储体中找到地址对应的数据,获取该数据,放入数据寄存器中,然后辨别是取出的是数据还是指令,数据则送至累加器,指令则送至指令寄存器,如果是指令,则送至控制单元解析指令,然后控制各部件执行指令

1.2.3 IO设备

功能部件 - I/O设备

在这里插入图片描述

1.2.4 软件系统

在这里插入图片描述

计算机编程语言

在这里插入图片描述
编译程序:整体编译完了,再一次性执行。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。
在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。

解释程序:一边解释,一边执行。 解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。
解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。

解释程序与编译程序更多细节,请点击

1.2.5 五层结构

计算机系统的层次结构

在这里插入图片描述

冯诺依曼计算机

在这里插入图片描述

1.2.6 存储器

在这里插入图片描述在这里插入图片描述
存储电容放置一个1的信息(也可以是0,无所谓),开关元件收到一个读的信息(假设用1代表读,0代表写),开关元件控制整个电路联通,中间的电路就相当于一根导线,这样就把存储电容中的信息传输到了外边。写也类似的。

在这里插入图片描述
一个存储单元由多个存储元组成。
多个存储元构成一个存储体。
从存储单元中读出的一个个信号合在一起称为存储字。
存储字长:描述一个存储字有多少位

地址寄存器

在这里插入图片描述译码器作用:接受地址寄存器中存放的地址,然后将其转为选通信号,就可以找出该地址所保存的数据

数据寄存器

在这里插入图片描述
数据寄存器并不需要译码器,只是单纯的通过存储元的电容来存储数据。

1.3.1 性能指标 - 容量(主存储器)

主存储器的总容量 = 存储单元个数 * 存储字长 (单位:bit,一个bit就一个0或1)

1Byte(字节) = 8 bit(位)
n位地址(译码器中的“条数”) -> 2的n次方个存储单元(系统能支持额最大容量=2的n次方 * 存储字长)

常用的2的n次方数(记住2的0次方到10次方):

在这里插入图片描述
各种单位:
b:2的0次方
B:2的3次方
K:2的10次方
M:2的20次方
G:2的30次方
T:2的40次方

4K = 2的2次方 * 2的10次方 = 2的12次方

1.3.2 性能指标 - 速度(运算器)

在这里插入图片描述

时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值