计算机系统由硬件系统和软件系统共同组成。
1 计算机硬件的基本组成
1.1 冯·诺依曼机
冯·诺依曼提出“程序存储”的思想,依据这一原理制造的计算机被称为冯·诺依曼结构计算机。
“程序存储”:按地址访问并顺序执行指令。
早期的冯·诺依曼机以运算器为中心,且是单处理机,最根本的特征是采用“存储程序”原理,基本工作方式是控制流驱动方式!
以运算器为中心。
1.2 现代计算机
1.3 计算机功能部件
五大部分:
-
输入设备:指将外部信息以计算机能读懂的方式输入进来。比如键盘、鼠标。
-
输出设备:是将计算机处理的信息以人所能接受的方式输出出来。比如显示器、打印机。
-
存储器:主存储器和辅助存储器。
-
主存储器:CPU可直接访问;(现代CPU,MAR和MDR是在CPU中的)
- MAR(地址寄存器):存放访存地址,经过地址译码后找到所选的存储单元;
- MDR(数据寄存器):存储器与其他部件的中介,用于暂存要从存储器读或写的信息。
- 存储体:存储数据;
- 时序控制逻辑组成:用于产生存储器操作所需的各种时序信号。
-
辅助存储器:协助主存储器记忆更多的信息,需要把存储的信息导入主存储器CPU才能访问;
-
-
运算器:是计算机的运算单元,用于算术运算和逻辑运算。
核心单元是算术逻辑单元(ALU)
-
控制器:计算机的指挥中心,指挥各部件自动协调第进行工作。
现代计算机将运算器和控制器集成到一个芯片上,合成为中央处理器,简称CPU。
- 程序计数器(PC)
- 指令寄存器(IC)
- 控制单元(CU)
主机:CPU和主存储器
外设:除主机外的其他硬件装置(外存、IO设备等)
冯・诺依曼结构的模型机:
图中从控制器送出的虚线就是控制信号。
- 可以控制如何修改PC以得到下一条指令的地址;
- 可以控制ALU执行什么运算;
- 可以控制主存是进行读操作还是写操作(读/写控制信号)
图中CPU和主存之间通过一组总线相连。
- 地址:MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;
- 控制:控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU;
- 数据:将MDR中的数据是直接送到数据线上或将数据线上的数据接收到MDR中。(依据控制信号)
2 计算机软件的分类
2.1 系统软件和应用软件
计算机软件,一般分为系统软件和应用软件。
-
系统软件
- 操作系统
- 数据库管理系统
- 语言处理系统(比如编译器)
- 分布式软件系统
- 网络软件系统
- 标准库系统
- 服务性系统(比如连接程序)。
-
应用软件
- 各种科学计算类程序
- 工程设计类程序
- 数据统计与处理程序
2.2 三个级别的语言
- **机器语言(二进制代码语言):**需要编程人员记忆每条指令的二进制编码。机器语言是计算机唯一可以直接识别和执行的语言。
- 汇编语言:汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行。
- **高级语言:**为方便程序设计人员写出解决问题的处理方案和解题过程的程序。(C、C++、Java等)
- 通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序;
- 或直接由高级语言程序翻译成机器语言程序。
编译、汇编、解析的区别?
- 编译:由高级语言转换到汇编语言的过程;
- 汇编:由汇编语言转换到机器语言的过程;
- 解析:边翻译边执行。
3 计算机的工作过程
在说明指令执行过程前,先解释下如下标识:
- M:主存中某个存储单元
- ACC、MQ、X、MAR、MDR…:对应寄存器
- M(MAR):取存储单元的数据
- (ACC)…:取相应寄存器的数据
- OP(IR):取操作码
- AD(IR):取地址码
如下是一个操作主存对应的地址和指令:
PC指向主存地址0,(PC)=0执行过程如下:
上一条指令取址后PC自动加1,(PC)=1
上一条指令取址后PC自动加1,(PC)=2
上一条指令取址后PC自动加1,(PC)=3
上一条指令取址后PC自动加1,(PC)=4
通过分析上面操作指令执行的过程可以发现它们有一个共同特征:
CPU区分指令和数据的依据:指令周期的不同阶段。
地址译码器是主存的构成部分,不属于CPU;地址寄存器虽然一般属于主存,但是现代计算机中绝大多数CPU内集成了地址寄存器!
关于CPU存取速度的比较:寄存器(CPU内部)> Cache(高速的SRAM) > 内存 (SDRAM)