计算机系统 #
计算机系统 = 硬件 + 软件
- 硬件
- 内存、硬盘、cpu、键鼠等
- 软件
- 系统软件:管理整个计算机系统
- 操作系统、数据库管理软件(DBMS)、标准程序库、网络软件、服务程序,语言处理程序
- 应用软件:根据任务需要编写的各种程序
- qq、微信
- 系统软件:管理整个计算机系统
硬件发展历程 #
- 第一代:电子管时代(1946-1957)
- 1946 - 第一台电子数字计算机ENIAC - 逻辑元件是电子管
- 第二代:晶体管时代(1958-1964)
- 操作系统雏形诞生
- 面向过程语言FORTRAN出现
- 第三代:中小规模集成电路(1964-1971)
- 高级语言迅速发展
- 出现分时操作系统
- 第四代:大规模、超大规模集成电路(1972-至今)
- 出现微处理器
- 个人计算机出现(PC)
- 操作系统快速发展
摩尔定律 #
intel创始人摩尔提出,集成电路上可容纳的晶体管数目,大约每隔18个月就会提升一倍,性能也随之提升一倍
发展两极化 #
1、微型计算机向着更微型化、网络化、高性能、多用途方向发展
2、巨型机向着更巨型化、超高速、并行处理、智能化方向发展
计算机硬件的基本组成 #
1、早期冯诺依曼结构 #
存储程序:将指令以二进制代码的形式实现输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
计算机中,软件和硬件在逻辑上是等效的
冯诺依曼计算机的特点:
1、计算机由五大部件组成
2、指令和数据以同等地位存于存储器、可按地址寻访
3、指令和数据用二进制表示
4、指令由操作码和地址码组成
5、存储程序
6、以运算器为中心
2、现代计算机结构 #
现代计算机的特点**:以主存储器(内存)为中心**
各种硬件 #
1、主存储器(内存) #
存储体:由一个个存储单元组成,存储单元地址从0开始,大小和MDR一样
MAR(Memory Address Register):存储地址寄存器
MDR(Memory Data Register):存储数据寄存器
2、运算器(CPU) #
ACC(Accumulator):累加器,用于存放操作数,或运算结果
MQ(Multiple-Quotient Register):乘商寄存器,在乘除运算时,用于存放操作数或运算结果
ALU(Arithmetic and Logic Unit):算数逻辑单元,通过内部复杂电路实现算数运算、逻辑运算,运算器的核心部件
X:通用的操作数寄存器,用于存放操作数
3、控制器 #
CU(Contol Unit):控制单元,分析指令,给出控制信号
IR(Instruction Register):指令寄存器,存放当前执行的指令
PC(Program Counter):程序计数器,存放下一条指令地址,有自动加一功能
计算机的工作过程 #
有c语言程序如下:
int a = 2,b = 3,c = 1,y = 0;
void main(){
y = a * b + c;
}
编译后装入主存:
1、根据PC(程序计数器)中存放的下一条指令地址,从主存中获取指令(操作码和地址码)放到IR(指令寄存器)中
2、然后IR将指令的前6个bit(操作码)发送到CU(控制单元),CU对指令进行分析
3、000001)是一个取数指令,通过地址码到主存中取到相应的操作数放到ACC(累加器)中
4、(000100)是一个乘法指令,通过地址码到内存中取到另一个乘数放到MQ(乘商寄存器)中,再将ACC中的值放到X(通用寄存器)中,然后CU控制ALU(算术逻辑单元)进行乘法运算,ALU将X和MQ中存储的两个数进行乘法运算并将结果放到ACC中(如果结果过大,则使用MQ辅助存储)
计算机系统的层次结构 #