观看地址如下【2019版】1.3.2 性能指标2——速度_哔哩哔哩_bilibili
第一章 计算机系统概述
了解
#低电平高电平
#计算机的发展
主要是因为逻辑元件的限制
选择题 微处理器的发展
这里的机器字长为
软硬件的发展
几种指令和数据流
计算机的系统结构
-
需求产生变化
- 电信号变成数据呈现在我们面前——输出设备
- 这里我们来理解一下,因为需要才产生元件,所以怎样才能使的输入设备的电信号会被输出设备识别和转换呢——运算器
- 问题是输出设备不知道什么时候运算器处理好了输入设备的电信号,所以我们需要——控制器,协调各个部件之间的线路
- 数据变成电信号——输入设备
这里控制器双向的原因是为了和这些部件进行交流,如运算器已经处理好了电信号,发出消息给控制器,或者控制器发现输入设备发出了电信号需要通知运算器处理。
如果不加上存储器的话,那工作模式就是
给出一个数据——给一个结果——等待下一个数据(产生问题,必须在等待结果完成后输入下一个数据,计算机也需要等人给出数据后处理输出——存储器
我们可以先把数据批量的放入存储器中,等运算完成后再输出。也会有把运算后的数据暂存到存储器中,进行更为复杂的运算
字长的需要,
如果我们运算器是4位的话,不过我们的数据是8位的,我们可以对八位的数据进行切割,批量放入存储器中,然后等待处理,所以我们需要把存储器中的数据放给控制器——数据相对于控制器为指令
所以我们可以看到的结构是
我们的运算器主要是做运算功能的,若在需要输入数据时,运算器会帮忙把数据搬运到存储器,这样占据了运算器资源——新的结构
这样的结构,运算器是以字长传输的,存储器以块传输的,增大了数据通路
说法,软件和硬件在逻辑上是等价的——如为了计算8位的,可以买两个4位的运算器(硬件)也可以更改计算步骤,如把8位的分割成4位的批次放入运算器计算(软件)任务等价了
cpu的主要组成部分
其中ALU是算术逻辑单元,是最重要的部分
ACC:累加器;ALU算数逻辑单元;X操作寄存器;MQ乘商寄存器。
控制器
这里的运算器是组合逻辑,如根据1+1=2这样的规则输出。而控制器是根据时序逻辑,根据运行到哪一步了。如这个结果是否需要判断,不需要的话跳过
主存储器
指令执行的过程
我们来分析指令的运行过程
(pc)-MAR 把pc这一条指令的地址放入MAR就是存储地址寄存器,放入后再存储体中找到数据放入MDR数据寄存器中。这里MDR取到的数据相当于是一条指令了。然后放入IR中
取指令结束
IR中的指令放入cu中,因为指令分为地址码和操作码,所以cu用的就是操作码
分析指令结束。
然后地6步是取到指令的地址码去得到数据
然后把数据放入累加中,这样数据就执行完成了
怎么理解呢,因为第一次是指令,第二次是数据
编程语言
这里有三种级别的语言
我们常说的机器语言是
像这样的二进制代码,然后我们去对应的表上查询如load和store这样的两个操作。
那么我们是否可以用电脑来查询这个对应的表格呢。
那就是写一段程序来自动查询,这个我们就叫汇编程序
如果我们直接将c=a+b翻译成机器语言的话就叫做编译
编译程序有两种
后面我们来一个个的分析一下为什么,有需求就能够产生解决方案
像二进制代码是能够被M1完全执行看懂的,但我们人类很难看懂,现在我们用汇编语言放在M2上,M2能将汇编语言翻译机器语言
在M1还是可以往下面扩展M0
为什么会这样呢
因为我们发现在二进制代码中会有很多的微指令是相同的,我们就能够通过几条不同的微指令排列组合
我们就可以鉴定
冯诺依曼机
存储器
存储器的三个部分
其中MAR是用来承接外部送来的一个地址。这个地址定位到存储体中的某个存储单元,数据寄存器许多这个存储单元里面的数据。
那么存储体如何实现存储呢
我们用一个开关结构模拟
左边的是电容,可以存储信息的
比如电容里面是存储了1的信息。后面我们规定在开关器规定1为接通。0为断开。那么这样实现了信息的传输。这样实现了读的过程。
写的过程也是相同的
。我们准备好右边的数据为1,然后开关联通。使得电容里面信息就为1了。
我们把这里这个电路就看作存储元来了
那么我们多个存储元都串连在一起。并且在电容中存储为10100011.用信号1连通进行读取
我们就把由多个存储元构成的为存储单元了。横的几行就叫做存储体了。像10100011就叫做存储字。那么存储字长就是8bit
这里有个痛点
在竖的一列中,每一行仅有一个是1其他的只能是0,但我们是用2进制表达的,那样不好用二进制。所以我们需要——译码器
几位地址对应的几个存储单元。n位地址是自由选位,如三位可以是111、010、101,就是每一位有 01两种变化,那么三位就是八种变化。而在我们的八位数据
A2 | A1 | A0 | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
输入的每一种变化可以对应的这八位的每一种变化了
驱动器是为其提供动力的
送往数据寄存器
容量大小计算
通常换算
速度
指令并不是一次就执行完毕的