1.1计算机发展历程
计算机硬件的发展
- 第一代计算机---电子管时代
- 第二代计算机---晶体管时代
- 第三代计算机---中小规模集成电路时代
- 第四代计算机---超大规模集成电路时代
计算机元件的发展
- 摩尔定律:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍
- 半导体存储器的发展
- 微处理器的发展
1.2计算机系统层次结构
完整的计算机系统:硬件系统和软件系统共同构成
软/硬件在逻辑功能上等价:对某一功能,既可用软件实现、又可又硬件实现
硬件实现的功能一般比软件实现具有更高的执行速度
计算机硬件
冯诺依曼机基本思想
- 基本工作方式:控制流驱动方式,按照指令的执行序列,依次读取指令
- 首次提出"存储程序"概念,将指令以二进制代码的形式事先存在计算机的主存中,一旦程序启动计算机自动逐条执行
- 计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成
运算器
用于进行算术运算和逻辑运算,核心是算术逻辑单元(ALU)
包含若干通用寄存器、累加器(ACC)、乘商寄存器(MQ)、操作系寄存器(X)、变址寄存器(IX)、基址寄存器(BR)
存储器
- 分为主存储器(也称内存储器/主存)和辅助存储器(也称外存储器/外存)
- 主存储器的工作方式:按存储单元的地址进行存取,称为按地址存取方式
- 存储体:存放二进制信息
- 存储器地址寄存器(MAR):存放访存地址,位数与地址码长度相同
- 存储器数据寄存器(MDR):暂存要从存储器中读或写的信息,位数与存储字长相同
- 时序控制逻辑:产生存储器操作所需的各种时序信号
- 地址译码器:将 MAR 中的地址翻译为存储体中具体某一行(存储单元)的访问控制信号
- 相联存储器(又称按内容寻址存储器):既可以按地址寻址又可以按内容寻址
控制器
- 由程序计数器(PC)、指令寄存器(IR)、控制单元(CU)组成
- PC:存放当前执行指令的地址,具有自动加1功能
- IR:存放当前的指令
输入设备
将程序和数据以机器能识别和接受的信息形式输入计算机
输出设备
将计算机处理的结果以人们所能接受的形式或其它系统所要求的信息形式输出
中央处理器(CPU)
运算器和+控制器
包含地址寄存器:用于保存当前CPU所访问的内存单元的地址
状态寄存器、通用寄存器,用户可见
IR、MAR、MDR用户不可见
存取速度:寄存器>Cache>内存
主机:CPU+主存储器
计算机软件
软件按功能分类
- 系统软件:作为系统资源提供用户使用,主要有操作系统(OS)、数据库管理系统(DBMS)等
- 应用软件:用户为解决某个应用领域中的各类问题而编制的程序
语言
- 机器语言(也称二进制代码语言):是计算机唯一可以直接识别和执行的语言
- 汇编语言:用助记符编写的语言
- 高级语言
计算机系统的层次结构

指令集体系结构(ISA/软件可见部分):软件和硬件之间的界面。ISA定义了所有指令的集合,每条指令规定了计算机执行什么操作
本门课主要讨论M1和M0
计算机系统的工作原理
"存储程序"工作方式
- 程序执行前,将程序所含的指令和数据送入主存储器,将程序的第一条指令的地址存放到PC中
- 一旦启动,无须操作人员干预,计算机自动取出并执行一条一条指令
从源程序到可执行文件
翻译过程分为四个阶段:
预处理阶段->编译阶段->汇编阶段->链接阶段
翻译程序
把高级语言源程序转换成机器语言程序的软件
- 编译程序:将源程序一次全部翻译成目标程序,并且会生成目标代码文件
- 解释程序**:边翻译边执行**,不会生成目标代码文件
- 汇编程序:把汇编语言源程序翻译为机器语言程序
1.3计算机的性能指标
主要性能指标
机器字长(简称字长)
"某16位或某32位机器",字长是指计算机进行一次整数运算所能处理的二进制数据的位数
字长越长、数的表示范围更大,计算精度越高
数据通路带宽
外部数据总线一次所能并行传送信息的位数
主存容量
指主存储器所能存储信息的最大容量,以字节(B)来衡量,也可用字数*字长来表示存储容量
MAR的位数反映了能访问多少个单元(地址范围),MDR的位数反映了每个单元的数据位数(存储字长)
存储字长 :即每个存储单元可存储的二进制位数,是由 MDR 的位数决定的;
运算速度
- 吞吐量:指系统在单位时间内处理请求的数量
- 用户观点评价的综合参数
- 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间
- CPU时钟周期:CPU工作的最小时间单位
- 时钟周期数=主频*程序运行时间
- CPU主频:指CPU使用的时钟频率,时钟周期的导数,Hz单位用来计算
- 假设时钟周期2ns,则主频=1/2ns=500MHz
- CPI:执行一条指令所需的时钟周期数
- CPI=总时钟周期数/指令数
- 与系统结构、指令集、计算机组织有关
- IPS:即每秒执行多少条指令,IPS=主频/平均CPI
- CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
- CPU的性能(CPU执行时间)取决于:主频、CPI、指令条数
- CPU执行时间=主频指令数×CPI
- CPU速度提高50%,相当于主频f->1.5f
- MIPS:每秒执行多少百万条指令
- MIPS=指令条数/(执行时间
*
106)=主频/(CPI`*`106)
- MIPS=指令条数/(执行时间
- FLOPS:即每秒执行多少次浮点运算
- MFLOPS:10^6
- GFLOPS:10^9
- TFLOPS:10^12
- PFLOPS:10^15
- EFLOPS:10^18
- ZFLOPS:10^21
指令字长
- 是指 一条机器指令所占的位数或字节数。
- 取决于指令的功能和格式,可以是单字长、半字长、双字长
基准程序
专门用来进行性能评估的一组程序
专业术语
- 系列机:具有相同基本体系结构、基本指令系统的多个不同型号计算机组成
- 兼容:指计算机软件或硬件的通用性,通常在同一系列不同型号的计算机间通用
- 固件:将程序固化在ROM中组成的部件