注:此文章是个人的学习笔记,笔记中的部分图片来源于王道考研的视频课件,对应的图片版权归王道所有;(咸鱼学长讲的真的很清楚,学渣本渣每天都被升华)
目录
冯诺依曼结构特点
· 由五大部件组成
输入设备、输出设备、运算器、存储器、控制器
· 以运算器为中心
输入输出设备与与存储器间的数据传送也需要经过运算器,使运算器不能专注于数据运算工作,降低运算器工作效率
· 指令和数据都用二进制表示
· 指令和数据以同等地位存于存储器(主存),可以按地址寻访
· 指令 = 操作码 + 地址码
· 存储程序
将需要执行的程序指令,事先以二进制的形式输入计算机的主存;
按照程序在主存中的首地址,执行第一条指令,后续按照程序中所规定的顺序,依次执行后续指令,直到程序结束
1.早期冯诺依曼机—单处理机;
基本工作方式—控制流驱动
2.计算机分类
(A)
(B)
D.相联存储器
现代常用结构
应用程序一般存储在辅存中,当需要运行时调入主存
现代计算机将地址寄存器MAR和数据寄存器MDR集成到CPU内部,但并未集成到运算器或控制器内部
习题1(D)
硬件组成部件
主存储器
运算器
控制器
· 程序计数器PC 的位数 与 地址寄存器MAR的位数相等(都是用来存储主存的地址编号的)
· 指令寄存器IR 的位数与 数据寄存器MDR的位数相等(因为取指令操作是先将指令从主存中取到MDR中,再由MDR经过数据总线传给IR)
IR存放当前欲执行指令(IR)
寄存器的设置对汇编语言不透明,汇编程序员要对寄存器进行直接操作;
程序员可以通过指定待执行指令的地址来设置PC的值,状态寄存器和通用寄存器只有为汇编程序员可见才能实现编程;
IR MAR MDR 是CPU内部的工作寄存器,对程序员不可见
寄存器由触发器构成
(B)
©
计算机指令执行工作过程
· 取指令 和 分析指令2部分进行的操作对于每条被执行的指令来说都是相同的
系统软件和应用软件
· 系统软件
操作系统、数据库管理系统、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务型程序
· 应用软件
为用户解决某个领域中各类问题
科学计算类程序、工业设计类程序、数据统计与处理程序
· 数据库系统–在计算机系统中引入数据库后的系统,由数据库、数据库管理系统、应用系统、数据库管理员组成;
(D)
编译程序–语言处理程序
连接程序–服务性程序
文本处理–应用软件
(A)
©
软件和硬件在逻辑上是等效的,不是等价的
语言和翻译程序
语言
· 机器语言:二进制组成,计算机唯一可以直接识别和执行的语言
· 汇编语言:英文单词或缩写,需要转换为机器语言机器才能够识别和运行
· 高级语言:如C,C++,JAVA
翻译程序
· 编译程序:将高级语言源程序一次性全部翻译为目标程序(可以将高级语言直接翻译成机器语言,也可以将高级语言翻译成汇编语言),每次执行程序时只需要执行目标程序;只要源程序不变,便无需重新编译
· 解释程序:将源程序的语句逐条翻译成对应的机器代码,一次只翻译一句并且立即执行,不会生成目标程序
· 汇编程序:将汇编语言翻译成机器语言的程序
· 汇编程序V.S.编译程序
汇编语言和机器语言可看做较为“低级”的语言
当源程序语言是高级语言(C,C++)目标程序语言是汇编或机器等“低级语言”则用的翻译程序是编译程序
当源程序语言是汇编语言,目标程序语言是机器语言,则用的翻译程序是汇编程序
解释程序会立即执行被翻译好的该条指令,所以运行速度慢
©
层次结构
主存容量
主存储器所能存储信息的最大容量
数据通路带宽
外部数据总线一次所能并行传送信息的位数
如果存储字长比数据通路带宽大,一次就无法将整个存储字传送出去,效率降低
数据字长 = 数据通路带宽
©
机器字长、指令字长
· 机器字长:计算机能够直接处理的二进制数据的位数;运算器内部的寄存器如累加寄存器ACC、通用寄存器X、乘商寄存器MQ的位数都是机器字长的决定因素
· 指令字长:一个指令的二进制位数
取指令要先将指令从主存取到数据寄存器MDR中,然后通过数据总线传到指令寄存器IR中;指令寄存器IR的位数就是指令字长;
但数据寄存器MDR的位数不一定和指令字长相同,因为指令和数据一样以二进制存储在主存中,指令完全有可能存储在2个或多个存储单元中;
如果指令字长比存储字长大,那么一次存取操作就不能把该条指令完全取出来,需要2次或多次;
机器字长、指令字长、存储字长都是字节的整数倍,指令字长一般取存储字长的整数倍,如果指令字长是存储字长的2倍,那么取出一条指令需要2次访存,所以取指周期是机器周期的2倍,如果指令字长等于存储字长,那么取指周期等于机器周期。
机器字长经常用“位”进行说明,但也要注意用“字节”说明的情况
©
CPU主频、CPU时钟周期、CPI
· CPU主频:CPU内数字脉冲信号震荡的频率
· CPU时钟周期:CPU内最小的时间单位,每个动作都至少需要1个CPU时钟周期
同一型号的计算机,其主频越高,完成指令的一个执行步骤所用的时间越短,执行指令的速度就越快
· CPI:执行一条指令所需要的CPU时钟周期数
不同的指令CPI不同,相同的指令CPI也可能不同
(A)
©
平均CPI=0.5 * 2+0.2 * 3+ 0.1 * 4 + 0.2 * 5
CPU执行时间
· CPU执行时间:执行整个程序所花费的时间
CPU执行时间=指令条数 * 执行一条指令所花费的时间=指令条数 * CPI * CPU时钟周期
CPU执行时间:指令条数、CPU主频/CPU时钟周期)、CPI
(D)
数据通路–CPU内部运算器 和 寄存器及寄存器之间的数据交换,优化数据通路,提高计算机系统吞吐量,加快程序运行;
计算机程序需要先转换成机器指令序列才能被识别和执行,所以编译优化能够得到更优秀的机器指令序列,减少指令CPI
(D)
CPU速度提高50%,–CPU速度为原来的1.5倍
90/1.5+10=70
IPS
FLOPS
吞吐量、响应时间、基准程序运行得分
实际软件的运行情况–全面代表计算机性能