【1.1】计算机系统
(一)计算机软硬件概念
(1)硬件
计算机的实体部分,看得见摸得着,有各类光、电、机器的实物组成,如主机、外设等;
(2)软件
完全是一个逻辑概念;机器才不知道什么软件,机器只知道一串串的电流从它的硬件里哧溜溜的流过去了,并且那一串串的电流还时断时续,最后导致电流流过之后某个地方发生了变化;
但对于人这边来讲,那个电流怎么断可以控制并且可以调试成实现目标功能,有必要为这组电流起一个名字;
软件又分为
系统软件
应用软件
前者为管理整个计算机的软件,可以理解为写在计算机硬件上的接口,之后的软件只要调用这个软件提供的接口就可以完成与硬件的交互;
后者为特色,什么都能干得出来,只要合理调用系统暴露出来的接口;
(二)计算机解题过程
就是运行过程呗,如果让一个计算机一直跑一个while(true){}也算解题那也太可怜了;
计算机实际上用以运行程序的部件称为微程序机器M0,指令依靠微指令系统;
下发微指令的是实际机器M1,指令依靠机器语言;
下发机器语言的是虚拟机器M2,指令依靠汇编语言;
下发汇编语言指令的是虚拟机器M3,指令依靠高级语言;
下发高级语言指令的是在座的各位,说实话要是不是这样我真不知道你打开这个东西是干什么;
此外在M2(汇编语言)与M1(机器语言)之间还有操作系统横插一脚,来管理汇编语言对内存的调用(但是我到并没有发现这种事有什么实例可供分析)
【1.2】计算机的基本组成
(一)冯·诺伊曼计算机
信冯哥,得高分
这不是什么信仰不信仰的问题,这是现实不现实的问题:现在随便拿个手提电脑就有很大可能是冯·诺伊曼体系(不会真有人找出一个不是的来台杠吧)
的特点
(1)计算机由运算器、储存器、控制器、输入设备、输出设备五大部件组成
你说为什么用3即标题的形式而不是小序号——当然是很重要啊。很很很很很重要;
(2)指令和数据一同等的地位存放于储存器内,可以按址寻访
寻访是能寻访,就是出不了6星罢了;
(3)指令和数据均用二进制表示
都存一起了表示方式不一样哪能成;
(4)指令由操作码和地址码组成(外联外章)
(5)指令在存储器中按顺序存放,顺序执行
从这一点可以看出来冯·诺伊曼的计算机跟图灵机的设计简直一模一样——我当然不是指什么高大上的东西,我是说它们都在设计上在同一个时间只让一个运算工具运行;
(6)以运算器为中心,存储器和输入输出设备之间的数据传送经由运算器
这个到底要不要记啊,毕竟后面一会就提出这一点的改良;
(二)计算机硬件框架
(1)以存储器为中心,剩下的照冯·诺伊曼搬
(2)现代计算机硬件名词术语分布
现代计算机仍然保留冯·诺伊曼体系的五个主要部分
运算器(ALU, Ariithmetic-Logical Unit,炫,拽英文实在是帅,本土化一点可以叫’算术逻辑单元‘)
控制器(CU,Control Unit,突然发现英文好普通啊,高级感啪就没了)
存储器(再分为主存、辅存)
输入设备
输出设备
名词术语是这么分的:
ALU与CU合体称CPU;
CPU与主存合体称主机;
主机、辅存、输入输出设备合体称硬件;
(三)计算机的使用步骤
(1)上机前的准备
① 洗手
② 数学建模
③ 设计算法
④ 洗好了吗
⑤ 看看自己还记不记得怎么写程序
(2)计算机的工作过程
① 存储器的基本组成
存储体——一个长方体
存储单元——没想到吧,那个长方体是由具有同样高不同长、宽的小长方体组成的
存储字——存储单元里面的东西,一串二进制代码
存储字长——长方体以及小长方体的高,以’二进制位‘位单位
??这样做的好处??
?begin
程序按顺序保存在长方体里,运行时按顺序执行;
指令、数据可以重复使用;
指令、数据存储需要的电路完全相同(毕竟都是同一个东西)
?end
MAR——存储器地址寄存器,位数反映存储单元的个数(长方体长宽截面的地图)
MDR——存储器数据寄存器,位数反应存储字长(存储单元的一个空白实例)
??存储字长、指令字长、数据字长??
?begin
三者相等
随着计算机应用范围扩大,往往要求指令字长、数据字长是可变的,用字节个数表示其长度,三者必须是字节的整数倍,一个字节是8位二进制代码;
存储字长(有时可能会戏称为机器字长)取指令与数据字长最大值或者更大
?end
② 运算器的基本组成
ACC(accumulator)——累加器(外联外章)
加法存储被加数、和
减法存储被减数、差
乘法存储乘积高位
出发存储被除数、余数
MQ(Multiplier-Quotient Register)——乘商寄存器
加法不用
减法不用
乘法储存乘数、乘积低位
除法存储商
X——某科学的寄存器
加法存储加数
减法存储减数
乘法存储被乘数
除法存储除数
ALU——负责读数计算(直接连ACC与X)
??工作流程??
?begin
指令格式:操作+操作数地址M
加法、减法
[M] -> X
[ACC] +/- [X] -> ACC
乘法
[M] -> MQ
[ACC] -> X
0 -> ACC
[X] × [MQ] -> ACC//MQ
除法
[M] -> X
[ACC] ÷ [X] -> MQ,余数存在ACC中
?end
③ 控制器基本组成
CU——分析指令,发出各种微操作指令,控制所有被控制对象
PC(Program Counter)——存放当前执行指令的地址,自动加一(有图灵机纸带内味了)
IR(Instruction Register)——存放当前与执行指令
【1.3】计算机硬件的主要技术指标
① 机器字长——之前是不是说过跟存储字长是一回事?实际上机器字长还指全部寄存器字长的最大值;
② 运算速度——有五种指标
主频(CPU的时钟频率)、操作类型(乘除法可能比加减法慢)、主存速度(数据传输的速度)(先大致了解,外联外章)
吉普森法(不要试图了解这个方法)
MIPS(每秒执行百万条指令)
CPI(执行一条指令所需的始终周期数)
FLOPS(每秒浮点运算次数)(咱也不知道为啥要用浮点运算次数,是因为浮点运算难以实现吗,可能吧)
③ 存储容量——存放二进制信息的总位数
看看内存(MAR×MDR,如果想要麻烦一点的话)!看看磁盘!
!!Gigabyte到底是多少!!
!begin
姑且这样,1G = 2的30次方
!end