这张图片很好的介绍了408的4门课程间的关系。
计算机性能的好坏取决于“软”、“硬”件功能的总和
硬件的发展
机器字长:计算机一次整数运算所能处理的二进制位数
摩尔定律
揭示了信息技术进步的速度集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍
软件的发展
“两极”分化:
一极是微型计算机向更微型化、网络化、高性能、多用途方向发展;
另一极是巨型机向更巨型化、超高速、并行处理、智能化方向发展
冯若依曼体系
早期的冯若依曼
“存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其
在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直
至程序执行结束。
冯若依曼体系的特点
1. 计算机由五大部件组成。输入输出存储器运算器控制器 运算器+控制器可以叫做CPU
2. 指令和数据以同等地位存于存储器,可按地址寻访
3. 指令和数据用二进制表示
4. 指令由操作码和地址码组成
5. 存储程序
6. 以运算器为中心
现代计算机以存储器为核心。
下面对几大部件做一下简介
这里说明一下在导论看不懂几大部分没关系,因为到后面每一章都会拿出来单独说。
主存储器
数据存储在存储体中,要找一个数据时,在MAR段读取地址去存储体中找到元素后给它放到MDR里面去。
MAR位数反映存储单元的个数
MDR位数=存储字长
例:
MAR=4位总共有2^4个存储单元
MDR=16位每个存储单元可存放16bit,
1个字(word) = 16bit
易混淆:1个字节(Byte)= 8bit
1B=1个字节,1b=1个bit
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1bit
运算器
运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
ACC: 累加器,用于存放操作数,或运算结果。
MQ: 乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
X: 通用的操作数寄存器,用于存放操作数
ALU: 算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
接下来看一下控制器
CU:控制单元,分析指令,给出控制信号
IR:指令寄存器,存放当前执行的指令
PC:程序计数器,存放下一条指令地址,有自动加1功能
至于输入输出设备就不做介绍了,千变万化的根据实际情况来判断。
接下来通过一条指令模拟三个计算机硬件的实现过程。这里可以好好感受一下因为到后面的章节里面会多次借用这个例子的。
首先介绍一下其实这里面涉及到一个编辑编译执行的过程,这里后面的知识点会做介绍。
我们先来看一下第一条指令初始时PC=0
第一步;
第二步,前面说过MAR到存储体,存储体到MDR,这个指令包含了2步
第四步,译指,MDR到IR,IR分析指令,
分析指令后知道
第五步,IR传输信息给CU。指令的操作码送到CU,CU分析后得知,这是“取数”指令同时再一次执行取数的操作
第6步,
第七和八步,
导致(MDR)=0000000000000011=2
第9步,
执行完取数指令后PC自动加1执行下一条指令。
分析一下计算机的操作过程
执行过程简单分析一下就好,后面的章节会详细分析的
冯·诺依曼计算机的特点:
1. 计算机由五大部件组成
2. 指令和数据以同等地位存于存储器,可按地址寻访
3. 指令和数据用二进制表示
4. 指令由操作码和地址码组成
5. 存储程序
6. 以运算器为中心(现在一般以存储器为中心)
解析来介绍一下计算机软件。
介绍一下语言的结构,计算机只能通过高低电平识别01信号所以计算机不能直接识别高级语言以及汇编语言,
在计算机发展的过程中最早出现的语言是汇编语言,它类似于一种助记符它包含了一些简单的操作,(LOAD,ADD,MUL,JUMP,DIV)等操作,
再然后才是高级语言,
注意;我们这里的汇编语言,高级语言的划分是属于一个大类的划分,不具体讨论如basic c c++ python等具体的语言
现在我们采用的都是高级语言,现在正常程序的执行有三种类型,
第一种是;高级语言通过编译程序将其转换为汇编程序,再通过汇编器转化为计算机能够直接识别的01代码
第二种是;高级语言直接通过编译器一步到位直接转换为机器语言
第三种是;高级语言通过解释器直接逐句的解释成机器语言。
对于编译程序和解释程序的区别如下;
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译下一句(每次执行都要翻译)
对于这两种方式针对于不同的应用场景各有优缺点。
接下来这张图片介绍了一下计算机软硬件逻辑上的等价性原理。
对于ISA的介绍了解就好记不住也没关系。
接下来介绍一下计算机的多级层次结构的划分,这里的划分是站在计组这门科目的划分,其他科目的划分可能多少会有一些出入但是没问题
接下来的介绍是针对于两个科目的介绍
计算机体系结构——机器语言程序员所见到的计算机系统的属性概念性的结构与功能特性
(指令系统、数据类型、寻址技术、I/O机理)
计算机组成原理——实现计算机体系结构所体现的属性,对程序员“透明”
同时注意一下机组这门课说的透明其实是不可见的和我们现实中理解的透明多少有些出入,这里需要注意一下。
计算机系统的工作原理
最后介绍一下计算机的性能指标,
这里可能会涉及到一些简单的计算需要注意一下。
首先介绍一下存储器的性能指标
前面介绍过的MAR,MDR
总容量=存储单元个数×存储字长bit 1Byte = 8bit
=存储单元个数×存储字长/8 Byte
这里介绍一下几个单位
注意一下这里的单位又和CPU里面涉及到的单位不一样,这里的单位处理需要具体问题具体分析
接下来介绍一下CPU的性能指标
首先介绍一下主频,
主频就是CPU时钟周期的倒数
接下里介绍一下CPI
CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期数
那么就可以推算出一条指令的执行需要多长的时间
接下来看一个例题
中间的表述其实不够严谨应该表述为CPU时钟周期总数。
接下来在介绍一下IPS的概念,IPS就是每秒执行多少条指令
由此引出接下来的这些单位
FLOPS(Floating-point Operations Per Second):每秒执行多少次浮点运算
注:此处K、M、G、T为数量单位
K=Kilo=千=10^3,M=Million=百万=10^6,G=Giga=十亿=10^9 ,T=Tera=万亿= 10^12
21考研大纲新增:PFLOPS,EFLOPS,ZFLOPS。P=10^3T,E=10^3P,Z=10^3E
前面介绍的都是单独的指标,接下来介绍一下整体的指标
系统整体的性能指标
数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
吞吐量:指系统在单位时间内处理请求的数量。
响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需
要的结果的等待时间。
通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储
器访问、I/O操作、操作系统开销等时间)。
接下来介绍一下基准程序的概念
基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相
同程序的其它计算机性能进行比较。其实说简单一点你可以认为是跑分软件。