主要是概括下计算机组成原理的知识点,有不对之处望指正。
1.计算机分为软件和硬件两部分。而软件又分为系统软件和应用软件。
2.计算机只能识别机器语言,即二进制代码。所以用户是通过使用高级语言编写程序,然后由计算机翻译成机器语言。
第一步虚拟机M4(高级语言机器,如CbLauncher C语言的编译器)用汇编程序翻译成汇编语言程序。第二步虚拟机M3(汇编语言机器)用汇编程序翻译成机器语言程序。第三步,虚拟机器M2(操作系统机器)用机器语言解释操作系统。(以上三步使用的虚拟机都是软件。并不是真实的机器)。第四步,传统机器M1(机器语言机器)用微程序解释机器指令。第五步,M0(微指令系统)由硬件直接执行微指令。
3.计算机体系结构是指那些能被程序员所见到的计算机系统的属性包括(指令集,数据类型,存储器寻址技术,I/O机理)。。。 而计算机组成是指如何实现计算机体系结构所体现的属性如(指令系统属于计算机结构的,但是如何取指,分析指令等,都是属于计算机组成,是个实现的过程)。因此当两台计算机指令系统相同时,只能认为计算机系统结构相同。组成不一定。
4.冯诺依曼计算机的特点
- 计算机由运算器,存储器,控制器,输入设备和输出设备五大部件组成。
- 指令和数据以同等地位存放于存储器内,按地址寻访
- 指令和地址都是用二进制数表示
- 指令由操作码和地址码组成,操作码是用来表示操作的性质,这条指令是用来做什么的,地址码是用来表示操作数存在存储器中的位置,是根据地址取出操作数的。
- 存储程序,指令在存储器中按顺序存放。
- 机器是以运算器为中心的。
5.各部件功能
- .运算器(ALU)用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内
- 存储器用来存放数据和程序
- 控制器(CU)用来控制,指挥程序和数据的输入,运行及处理运算结果
- 运算器(ALU)和控制器(CU)组成CPU,CPU加存储器组成主机
- 运算器的长度决定了计算机字长,一般为8,16,32,64位
6.计算机的工作过程
- 主存储器:简称主存或内存,存储数据和程序的。包括存储体M,各种逻辑部件及控制电路。
- 存储体由许多存储单元组成。每个存储单元包含若干个存储元件(也叫存储基元、存储元)每个存储元件能寄存一位二进制代码 0 或1 .因此一个存储单元可寄存一串二进制代码。这串二进制代码则被称为一个存储字。这串二进制代码的位数则被称为存储字长。存储字长可为8位,16为,32位。一个存储字可代表一个二进制数(因为一个存储单元可以有一个存储元件存储一个二进制代码)或一串字符。
- 主存的工作方式是按存储单元的地址号来实现对存储字各位的存入写入,取出。(按地址存取方式)(简称访存)。为了实现这种访问方式。需要配置两个寄存器【MAR】存储器地址寄存器,用来放欲访问的存储单元的地址。其位数对应存储单元的个数。(如MAR为10位,则有2^10 = 1024 个存储单元,记位1K)。【MDR】存储器数据寄存器。用来存放从存储体某单元取出的代码或者准备往某存储单元存入的代码。其位数与存储字长相等。当MAR = 4 MDR = 8 .则容量为 2^4 *8 =128
- 一个字节(Byte)由八位(bit)二进制代码组成。即2^3 b = 1 B。 1K= 2^10.
- 2^13 bit = 1KB.。2^21 bit = 256KB。 2^30 bit = 1GB。2^10 KB = 1M.2^10 M = 1G。 2^10 G = 1T
- 在纯ASCII码下,字节数=字符串长度=字符个数。
- 在UNICODE下,字节数/2 = 字符串长度= 字符个数
2.运算器
-
运算器最少包括3个寄存器和一个算术逻辑单元(ALU)。其中ACC为累加器。MQ为乘商寄存器。X为操作数寄存器。
-
做加法时。先将被加数放入ACC中,即ACC中已经存有一个数。在X中存放加数。得到的结果又存到ACC中
- [M] ——>X
- 【ACC】+【X】——>ACC
-
做减法时。ACC中存放着被减数,X中存放着减数,得到的结果存放在ACC中
- 【M】——>X
- 【ACC】-【X】——> ACC
-
做乘法时。ACC中存放的数看做被乘数。先将主存中的数放入MQ中作为乘数。再将ACC中的被乘数放入X中。然后将ACC做清零处理。然后[X]和[MQ]相乘,结果的高位放在ACC中,低位保留在MQ中。
- [M]——>MQ
- [ACC]——>X
- 0——>ACC
- [X]*[MQ] ——>ACC//MQ
-
做除法时。将[ACC]看做被除数,将主存中的数取出存放到X中作为除数。然后ACC除以X,结果商暂留于MQ中,ACC为余数R。若要将商保留在ACC中,只需要[MQ]——>ACC即可
- [M]——>X
- 【ACC】/[X] ——>MQ
- 余数留在ACC中
3.控制器:控制器由程序计数器【(PC)用来存放当前欲执行指令的地址,具有自动加1的功能,可形成下一条指令的地址】、指令寄存器【(IR)用来存放当前指令,并将其中的操作码送入CU中,其中的地址码作为操作数的地址送入MAR中】、以及控制单元组成【(CU)用来分析当前指令所需要完成的操作,并发出各种微操作命令序列】
-
控制器是计算机的神经中枢。
-
控制器工作由三个阶段分别为
- 取指过程(取指阶段)PC取指令
- 分析过程(分析阶段)IR分析指令
- 执行过程(执行阶段) CU执行指令
-
取指周期中从内存中是指令流,流向控制器
-
执行器周期中从内存读出是数据流,流向运算器。
7.计算机硬件的主要技术指标
1. 机器字长
- 机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长。数的表示范围越大,精度也越高。
2.存储容量
-
存储器的容量包含主存容量和辅存容量
-
主存容量指主存中存放的二进制代码的总数
-存储容量=存储单元个数(MAR) *存储字长(MDR)
3.运算速度
- 主频
- 核数(每个核支撑的线程数)
- 以上两个并不是直接指标
- 吉普森法。即将每条指令所用的时间乘于他们在全部操作中所占的百分比得出的结果相加。
- CPI 执行一条指令所需要时钟周期数
- MIPS 每秒执行百万条指令(与指令的复杂程度,逻辑运算有关)
- FLOPS 每秒浮点数运算次数。