计算机系统概述
1. 计算机发展历程
- 第一代–电子管时代:逻辑元件采用电子管,机器语言编程,主存容量极小;体积庞大,成本高,运算速度低
- 第二代–晶体管时代:逻辑元件使用晶体管,采用高级语言
- 第三代–中小规模集成电路时代:开始出现分时操作系统
- 第四代–超大规模集成电路时代:产生了微处理器;诸如并行,流水线,高速缓存出现
2. 计算机分类
- 单指令单数据流(SISD):传统冯诺依曼体系结构
- 单指令多数据流(SIMD):陈列处理器和向量处理器系统
- 多指令单数据流(MISD):不存在
- 多指令多数据流(MIMD):多处理器多计算机系统
3. 计算机系统组成
-
硬件和软件系统构成了一个完整的计算机系统;使用硬件可以提高效率,软件可以实现高灵活性
-
早期的冯诺依曼体系:
1) 硬件系统由运算器,存储器,控制器,输入设备和输出设备组成 2) 指令和数据用二进制表示,并存储在存储器中,可按地址寻访 3) 指令由操作码和地址码组成,操作码表示操作的性质,地址码表示操作数在存储器的位置 4) 指令顺序存放并且顺序执行;特定条件下可改变执行顺序
-
存储器
1) 分为主存(内存)和辅存(又称外存) 2) CPU自己访问的是主存,辅存用来帮助主存记忆更多信息;辅存中的数据调入主存后才能被CPU访问 3) 存储单元存的二进制代码成为存储字,代码位数是存储字长,存储字长可以是1B(8bit)或是字节的偶数倍 4) 存储体存放二进制信息,地址寄存器(MAR)存放访存地址,地址译码后找到存储单元 5) 数据寄存器(MDR)暂存要从存储器读或写的信息,时序控制逻辑产生各种时序信号
-
运算器
1) 核心是ALU 2) 包含若干通用寄存器,如累加器(ACC),乘商寄存器(MQ),操作数寄存器(X),变址寄存器(IX),基址寄存器(BR),程序状态寄存器(PSW)
-
控制器
1) 包含程序计数器(PC),指令寄存器(IR),控制单元(CU) 2) PC 存放当前欲执行指令的地址,可以自动+1形成下一条指令地址,与主存MAR有一条直接通路 3) IR 存放当前指令,内容来自主存MAR;操作码送至CU用以分析指令,地址码送至MAR取操作数
4.计算机软件
软件
- 系统软件:保证计算机系统高效,正确运行的基础软件,如操作系统(OS),数据库管理系统(DBMS),语言处理程序,分布式软件系统,网络软件系统,标准库程序等
- 应用软件:为用户解决某个应用领域内的各类问题而编制,如各种科学计算类程序,数据统计与处理程序等
语言
- 机器语言:计算机唯一可以识别和执行的语言
- 汇编语言:汇编语言须经过汇编程序的翻译为机器语言才能执行
- 高级语言:编译为汇编语言,再汇编为机器语言
工作过程
-
程序和数据装入主存 --> 源程序转为可执行文件 --> 从可执行文件的首地址开始逐条执行指令
-
从源程序到可执行文件
1) 预处理阶段:预处理器(CPP)对源程序中以字符# 开头的命令进行处理,输出是以 .i 为扩展名的源文件hello.i 2) 编译阶段:编译器(CCL)对hello.i 编译,生成汇编语言程序 hello.s;每条语句都以一种文本格式描述一条低级机器语言指令 3) 汇编阶段:汇编器(As)将 hello.s 翻译为机器语言指令,打包成一个可重定位目标文件hello.o 4) 链接阶段:链接器(LD)将多个可重定位文件和标准库函数链接为一个可执行目标文件。
5.性能指标
- 机器字长:进行一次整数运算所能处理的二进制数据的位数;与CPU寄存器位数,加法器有关;字长越长,表示范围越大,精度越高,通常选为字节(8位)的整数倍
- 数据通路带宽:数据总线一次所能并行传送信息的位数
- 吞吐量:系统在单位时间内处理请求的数量。取决于主存存取周期
- 响应时间:从用户向计算机发送一个请求,到系统对该请求做出响应并获得结果的等待时间
- CPU时钟周期:主频的倒数
- 主频:主频越高,完成指令所需时间就越短
- CPI:执行一条指令所需时间周期数
- CPU执行时间:运行一个程序所需时间=CPU时钟周期数/ 主频 =(指令条数*CPI)/ 主频