计算机组成原理学习笔记-第一章
第一章
1.1计算机发展历程
1.1.1计算机硬件的发展
1.计算机的四代变化
- 第一代计算机(1946年—1957年)——电子管时代
- 第二代计算机(1958年—1964年)——晶体管时代
- 第三代计算机(1965年—1971年)——中小规模集成电路时代。
- 第四代计算机(1972年至今)——超大规模集成电路时代
1.1.2 计算机软件的发展
计算机语言的发展经历了面向机器的机器语言和汇编语言、面向问题的高级语言。
1.2.3 计算机的分类与发展方向
- 电子计算机
- 电子模拟计算机
- 电子数字计算机
- 数字计算机
- 专用计算机
- 通用计算机
- 巨型机
- 大型机
- 中型机
- 小型机
- 微型机
- 单片机
计算机的发展趋势正向着“两级”分化:一极是微型计算机向着更微型化、网络化、高性能、多用途方向发展;另一极是巨型机向着更巨型化、超高速、并行处理、智能化方向发展。
1.2 计算机系统层次结构
1.2.1 计算机系统的组成
硬件系统和软件系统共同构成了一个完整的计算机系统
硬件:是指有形的物理设备,是计算机中实际物理装置的总称。
软件:是指在硬件上运行的程序和相关的数据及文档。
1.2.2 计算机硬件的基本组成
-
早期的冯·诺依曼机
- 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备组成
- 指令和数据以等同地位存储在存储器中,并可按地址寻访
- 指令和数据均用二进制表示。
- 指令由操作码和地址码组成,操作码指出操作的类型,地址码指出操作数的地址。
- 指令在存储器内按顺序存放。(注:在特定情况下可以根据运算结果或根据设定的条件改变执行顺序)
- 早期的冯·诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。
-
现代计算机的组织结构
现代计算机是以存储器为中心,I/O操作尽可能地绕过CPU,直接在I/O设备和存储器之间完成。
-
计算机的功能部件
传统冯·诺依曼计算机与现代计算机的结构虽然有所不同,但功能部件是一致的,他们的功能部件包括:
-
输入设备(IN):将程序和数据以机器所能识别和接受的信息形式输入计算机。
- 例:键盘、鼠标、扫描仪、摄像机等
-
输出设备(OUT):将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。
- 例:显示器、打印机
-
存储器:用来放程序和数据
- 主存储器(内存):CPU能直接访问。
- 地址寄存器(MAR):用于存放地址。
- 数据寄存器(MDR):用于暂时存放要从存储器中读或写的信息。
- 辅助存储器(辅存或外存):外部设备,需要将信息调入主存中,才能为CPU所访问。
- 主存储器(内存):CPU能直接访问。
-
运算器:用于进行算术运算和逻辑运算,是计算机的执行部件。
- 算术运算:加、减、乘、除。
- 逻辑运算:与、或、非、异或、比较、位移等。
- 运算器的结构:
- 核心为算术逻辑单元(ALU)
- 包含若干通用寄存器:用于暂存操作数和中间结果,如累加器(ACC),乘商寄存器(MQ),操作数寄存器(X),变址寄存器(IX),基址寄存器(BR)等,前三个是必备的。
- 程序状态寄存器(PSW),也称标志寄存器:用于存放ALU运算得到的一些标志信息或处理机的状态信息,如结果是否溢出、有无产生进位或借位、结果是否为负等。
-
控制器:是计算机的指挥中心,”指挥“各部件自动协调的进行工作。
组成:
- 程序计数器(PC):用来存放当前欲执行指令的地址,可以自动加1以形成下一条指令的地址,与主存的MAR有一条直接通路
- 指令寄存器(IR):用来存放当前指令,内容来自主存的MDR。
- 控制单元(CU)
-
1.2.3 计算机软件的分类
-
软件的分类
- 系统软件
- 应用软件
-
三个级别的语言
- 机器语言
- 汇编语言
- 高级语言
1.2.4 计算机的工作过程
- 把程序和数据装入主存储器
- 将源程序转换成可执行文件
- 预处理阶段
- 编译阶段
- 汇编阶段
- 链接阶段
- 从可执行文件的首地址开始逐条执行指令
- 取指令:PC➡MAR➡M➡MDR➡IR
- 分析指令:OP(IR)➡CU
- 执行指令:Ad(IR)➡MAR➡M➡MDR➡ACC
1.2.5 计算机系统的多层次结构
1.3 计算机的性能指标
1.3.1 计算机的主要性能指标
- 机器字长:一般等于内部寄存器的大小,字长越长,数的表示范围越大,计算精度越高。
- 数据通路带宽:指数据总线一次所能并行传送信息的位数。
- 主存容量:是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可以字数×字长来表示存储容量。
- 运算速度
- 吞吐量和响应时间
- 吞吐量:是指系统在单位时间内处理请求的数量。
- 响应时间:是指用户向计算机发送一个请求,到系统对该请求做出响应并获得结果的等待时间。
- 主频和CPU时钟周期
- CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,执行指令的每个动作至少需要1个时钟周期
- 主频(CPU时钟频率):机器内部主时钟的频率。
- CPI:是指执行一条指令所需的时钟周期数。
- CPU执行时间:是指运行一个程序所花费的时间。(注:CPU执行时间=CPU时钟周期数/主频=【指令条数×CPI】/主频)
- MIPS:是指每秒执行多少百万条指令。
- MFLOPS、GFLOPS、TFLOPS、PFLOPS、EFLOPS、ZFLOPS
- MFLOPS:是指每秒执行多少百万次浮点运算。(注:MFLOPS=浮点操作次数/【执行时间×10^6】)
- GFLOPS:是指每秒执行多少十亿次浮点运算。(注:GFLOPS=浮点操作次数/【执行时间×10^9】)
- TFLOPS:是指每秒执行多少万亿次浮点运算。(注:TFLOPS=浮点操作次数/【执行时间×10^12】)
- PFLOPS=浮点操作次数/【执行时间×10^15】
- EFLOPS=浮点操作次数/【执行时间×10^18】
- ZFLOPS=浮点操作次数/【执行时间×10^21】
- 吞吐量和响应时间
- 基准程序:是专门用来进行性能评价的一组程序。(例:鲁大师等)
1.3.2 几个专业术语
- 系列机:具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列。
- 兼容:是指计算机软件或硬件的通用性。
- 软件可移植性:是指把使用在某个系列计算机中的软件直接或进行很少的修改就能运行在另一个系列计算机中的可能性。
- 固件:将程序固定在ROM中组成的部件成为固件。

浙公网安备 33010602011771号