计算机组成与系统结构第一课(计算机系统概述)
计算机系统的概述
计算机系统 = 硬件 + 软件
软件:
- 系统软件:用来管理整个计算机系统
- 应用软件:按任务需要编制成的各种程序
硬件:
逻辑元件的更新:
- 第一阶段:电子管
- 第二阶段:晶体管
- 第三阶段:中小规模集成电路
- 第四阶段:大规模,超大规模集成电路
计算机硬件的基本组成
早期的冯诺伊曼结构(冯诺伊曼机)
特点:
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据都用二进制表示
- 指令由操作码和地址码组成
- 存储程序,将指令和程序提前存入存储器中
- 以运算器为中心
现代计算机的结构
CPU = 运算器 + 控制器
现代计算机以存储器为中心
各个硬件的工作原理
1. 主存储器
构成:
- 存储体
- MAR(Memory Address Register)
- MDR(Memory Data Register)
目前这两个寄存器一般都集成在CPU中
大致过程:
CPU想要取得一个数据,它把想要的数据写到MAR存储地址寄存器中去,主存储器根据MAR中的信息找到相应的数据,再写入MDR存储数据寄存器中去,最后通过数据线路传给CPU
MAR位数反应存储单元的个数,MDR位数 = 存储字长
例:MAR = 4位 =====> 2^4个存储单元
2. 运算器
用于实现算术运算(加减乘除),逻辑运算(与或非)
构成:
- ACC:累加器,用于存放操作数,或运算结果
- MQ:乘商寄存器,在乘,除运算时,用于存放操作数或者操作结果
- x:通用的操作数寄存器,用于存放操作数
- ALU:算术逻辑单元,通过内部复杂的电路实现算术运算,逻辑运算
3. 控制器
CU:控制单元,分析指令。给出控制信号
IR:指令寄存器,存放当前执行的指令
PC:程序计数器,存放下一条指令地址,有自动加一功能
计算机系统的多层次结构
高级语言:C/C++,Java,pyhton等
汇编语言:助记符
机器语言:二进制代码
高级语言通过编译程序(编译器)成汇编语言,再通过汇编程序(汇编器)成为机器语言
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言的程序(只需翻译一次)
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着翻译下一句(每次执行都要翻译)
计算机的性能指标
-
总容量
总容量 = 存储单元个数 x 存储字长 bit = 存储单元个数 x 存储字长/8 Byte
e.g. MAR为32位,MDR为8位,总容量 = 2^32 * 8 bit = 4GB
-
CPU的性能指标
CPU主频:CPU内数字脉冲信号振荡的频率
CPU时钟周期:每个脉冲信号的时间(与CPU主频互为倒数)
CPI:执行一条指令所需的时钟周期数(可变的)
执行一条指令的耗时 = CPI x CPU时钟周期
CPU执行时间(整个程序的耗时) = CPU时钟周期数/主频 = (指令条数 * CPI)/ 主频
IPS:每秒执行多少次指令 = 主频 / 平均CPI
FLOPS:每秒执行多少次浮点运算