计算机组成原理
第一章 计算机系统概述
1.1 计算机发展历程
1、计算机硬件的发展
计算机四代变化
计算机发展 | 特点 |
---|---|
第一代计算机——电子管时代(1946~1957) | 逻辑元件采用电子管、机器语言编程、延迟线或磁鼓信息存储 |
第二代计算机——晶体管时代(1958~1964) | 逻辑元件采用晶体管、磁芯存储、开始出现高级语言、操作系统 |
第三代计算机——中小规模集成电路时代(1965~1971) | 逻辑元件采用中小规模集成电路、半导体存储器、出现分时操作系统 |
第四代计算机——超大规模集成电路时代(1972~至今) | 逻辑元件采用大规模集成电路和超大规模集成电路、微处理器(并行、流水线、高速缓存、虚拟存储器) |
计算机元件的更新换代
- 摩尔定律:每隔18个月,集成电路上的晶体管数目增加一倍,性能提升一倍
- 半导体存储器的发展:半导体存储器经历了11代
- 微处理器的发展
2、计算机软件的发展
1.2 计算机系统层次结构
1、计算机系统的组成
硬件系统和软件系统共同构成了一个完整的计算机系统。
- 硬件:有形的物理设备, 是计算机系统中实际物理装置的总称
- 软件:硬件上运行的程序和相关的数据及文档
1 | 硬件系统: |
2、计算机硬件
①、冯诺依曼机基本思想
特点
- 采用
存储程序
的工作方式 - 计算机硬件系统有
运算器、存储器、控制器、输入设备和输出设备
5大部分组成 指令和数据以同等地位
存储在存储器中- 指令和数据都是以二进制代码表示
- 指令由
操作码
和地址码
组成
存储程序的基本思想:将事先编制好的程序和原始数据存入主存,计算机自动执行
②、计算机的功能部件
输出/输出设备(I/O)是计算机与外界联系的桥梁
MAR和MDR虽然是存储器一部分,但是现代计算机中多存在于CPU(运算器、控制器)中
运算器和控制器集成在一个芯片上,成为中心处理器(CPU),CPU与主存储器共同构成主机
输入设备
- 功能:将程序和数据以机器所能识别和接受的信息形式输入计算机。如键盘、鼠标、扫描仪、摄像机等
输出设备
- 功能:将计算机处理的结果以人们能够接受的形式或其他系统所要求的信息形式输出。如显示器、打印机。
存储器
- 主存储器(内存储器):CPU能够直接访问的存储器
- 辅助存储器(外存储器):用于帮助主存储器记忆更多信息,辅助存储器的信息必须调入主存,才能被CPU访问
- 主存工作方式:
按地址存取方式
(按存储单元的地址进行存取) - 主存基本组成:
- 存储体:存放二进制信息,由存储单元(存储字、存储字长)组成
- 地址寄存器(MAR):存放访存地址,经过地址译码后找到所选的存储单元。其位数对应存储单元个数 10位—>2^10个存储单元,MAR长度等于PC长度
- 数据寄存器(MDR):用于暂存要从存储器中读或写的信息。MDR位数等于存储字长
运算器:计算机的执行部件,进行算术运算和逻辑运算
- 核心:算术逻辑单元(ALU)
- 寄存器:
- 累加器(ACC)
- 乘商寄存器(MQ)
- 操作数寄存器(X)
控制器:计算机的指挥中心,指挥各部件自动协调运行
- 组成:PC、IR、CU
- 程序计数器(PC):存放当前欲执行指令的地址,自动+1
- 指令寄存器(IR):存放当前指令
- 控制单元(CU)
- 组成:PC、IR、CU
3、计算机软件
按功能分类:系统软件、应用软件
系统软件:一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源
应用软件:用户为解决某个领域中的各类问题而编制的程序
三个级别的语言
机器语言:二进制语言,计算机能直接识别和执行的语言
汇编语言:使用英文单词或其缩写代替二进制的指令代码,需要汇编程序翻译成机器语言执行
高级语言:高级语言(c、c++、java等)是方便程序设计人员写出解决问题的处理方案和解题过程的程序。需要高级语言程序翻译为汇编语言程序,然后经过汇编操作得到机器语言程序
4、计算机系统的层次结构
层级 | 结构 | 功能 |
---|---|---|
第五层(软件) | 虚拟机器M4(高级语言机器) | 用编译程序翻译成汇编语言程序 |
第四层(软件) | 虚拟机器M3(汇编语言机器) | 用汇编语言程序翻译成机器语言程序 |
第三层(软件) | 虚拟机器M2(操作系统机器) | 用机器语言解释操作系统 |
第二层(硬件) | 传统机器M1(使用机器语言的机器) | 用微程序解释机器指令 |
第一层(硬件) | 微程序机器M0(微指令系统) | 用硬件直接执行微指令 |
1.3 计算机的性能指标
1、计算机的主要性能指标
字长:计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与CPU的寄存器位数、加法器有关。字长一般等于内部寄存器的大小,字长越长,数的表示返回越大,计算精度越高。计算机字长通常为字节(8位)的整数倍。
数据通路带宽:数据总线一次所能并行传送信息的位数,指外部数据总线的宽度,与CPU内部的数据总线宽度可能不同。
注意:各个子系统通过数据总线连接形成的数据传送路径成为数据通路
主存容量:主存储器所能存储信息的最大容量,通常以字节衡量。MAR位数反应存储单元个数,MAR位数反映可寻址范围的最大值
运算速度
1、吞吐量:指系统在单位时间内处理请求的数量
2、响应时间:指从用户向计算机发送一起请求,到系统对该请求做出响应并获取所需结果的等待时间,包括CPU时间与等待时间
3、主频(CPU时钟频率):机器内部主时钟的频率,是衡量机器速度的重要参数。常用主频有:1.8GHz,2.4GHZ
4、CPU时钟周期:主频的倒数
CPU时钟周期= 1 / 主频
5、CPI(Clock cycle Per Instrucion):执行一条指令所需的时钟周期数
6、CPU执行时间:运行一个程序所花费的时间
CPU执行时间 = CPU时钟周期数 / 主频 = (指令条数 × CPI)/ 主频
7、MIPS:每秒执行多少百万条指令
MIPS = 指令条数 / (执行时间 × 10 ^ 6 )= 主频 / (CPI × 10 ^ 6)
基准程序:专门用来进行性能评价的一组程序
2、几个专业术语
1、系列机:具有基本相同的体系结构
2、兼容:指软件或硬件的通用性
3、软件可移植性:指把使用在某个系列计算机中软件直接或进行很少的修改就能运行在另一个系列计算机的可能性
4、固件:将程序固化在ROM中组成的部件称为固件