导图社区 《计组》第一章-计算机系统概述
计算机系统概述,计算机系统层次结构,计算机的性能指标包括数据通路,宽带运算速度,基准程序,一些专业术语。
编辑于2022-07-15 17:05:03计算机系统概述
计算机系统层次结构
1. 计算机系统的组成
硬件:有形的物理设备,是计算机系统中实际物理装置的总称
软件:在硬件上运行的程序和相关的数据及文档
软硬件在逻辑上等效:一个功能既可以用软件实现,又可以用硬件实现
一个功能若使用较为较为频繁且用硬件实现的成本较为理想,使用硬件解决可以提高效率
2. 计算机硬件
冯·诺依曼机基本思想
采用“存储程序”的工作方式
基本思想:将事先编制好的程序和原始数据送入主存后才能执行,一旦程序被启动执行,就无需操作人员的干预,计算机会自动逐条执行指令,直到程序执行结束
计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5大部件组成
冯·诺依曼机以运算器为中心,其他部件都通过运算器来完成信息的传递;而现代计算机以存储器为中心
指令和数据以同等地位存储在存储器中,形式上没有区别,但计算机能区分它们
指令和数据均用二进制代码表示
指令由操作码和地址码组成
操作码指出操作的类型
地址码指出操作数的地址
计算机的功能部件
主机
存储器
主存储器(内存储器,能够被CPU直接访问)
工作方式:按地址存取方式
按存储单元的地址进行存取
基本组成
存储体
组成单元:存储单元
存储字:每个存储单元存储的一串二进制代码
存储字长:存储字的位数,一般是字节的偶数倍
地址寄存器(MAR)
存放访存地址,用于寻址
位数对应存储单元的个数
如MAR为10位,则存储单元有2^10=1024各
长度与PC的长度相等
数据寄存器(MDR)
暂存要从存储器中读或写的需不需
位数和存储字长相等
时序控制逻辑
用于产生存储器操作所需的各种时序信号
注:MAR与MDR虽然是存储器的一部分,但在现代计算机中却是存在于CPU中,且高速存储器(Cache)也存在于CPU中
外存(不属于主机)
中央处理器(CPU)
控制器
计算机的指挥中心,控制各部件自动协调地进行工作
组成部件
程序计数器(PC)
存放当前欲执行指令的地址,可以自动+1以形成下一条指令的地址
汇编程序员可以提供指定带执行指令的地址来设置PC的值,状态寄存器、通用寄存器只有为汇编程序员可见,才能实现编程;而IR、MAR、MDR是CPU内部工作寄存器,对程序员均不可见,即对用户透明
与主存的MAR之间有一条直接通路
指令寄存器(IR)
存放当前的指令,其内容来自主存的MDR
指令中的操作码OP(IR)送至CU,用以分析指令并发出各种微操作命令序列;而地址码Ad(IR)送往MAR,用以取操作数
控制单元(CU)
运算器
计算机的执行部件,用于进行算术运算和逻辑运算
组成部件
算术逻辑单元(核心)
通用寄存器,用于暂存操作数和中间结果
如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、变址寄存器(IX)、基址寄存器(BR)等
程序状态寄存器(PSW,也称标志寄存器)
用于存放ALU运算得到的一些标志信息或处理机的状态信息,如结果是否溢出、有无产生进位或错位、结果是否为负等
外部设备
输入设备
将程序和数据以机器所能识别和接受的信息形式输入计算机
如键盘、鼠标、扫描仪、摄像机等
输出设备
将计算机处理的结果以人们所能接受的形式或其它系统所要求的信息形式输出
如显示器、打印机
辅助存储器(外存储器)
用于帮助主存储器记忆更多信息
信息必须调入内存后,才能被CPU访问
3. 计算机软件
系统软件和应用软件
系统软件
一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用
主要有操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序等
应用软件
三个级别的语言
机器语言
又称二进制代码语言,是计算机唯一可以直接识别和执行的语言
汇编语言
使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为机器语言程序后,才能在计算机的硬件系统上执行
高级语言
翻译程序
汇编程序(汇编器)
将汇编语言程序翻译成机器语言程序
解释程序(解释器)
将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行
由于解释程序要边翻译成机器语言边执行,因此速度较编译程序慢
编译程序(编译器)
将高级语言程序翻译成汇编语言或机器语言程序
4. 计算机系统的层次结构
1. 微程序机器层
硬件层,由机器硬件直接执行微指令
2. 传统机器语言层
机器层,由微程序解释机器指令系统
3. 操作系统层
混合层,由操作系统程序实现,包括机器指令和广义指令(软件指令)
4. 汇编语言层
由汇编程序支持和执行
5. 高级语言层
虚拟机(用软件实现的机器)
5. 计算机系统的工作原理
“存储程序”工作方式
从主存取指令
对指令进行译码
计算下条指令地址
取操作数并执行
将结果送回存储器
从源程序到可执行文件
预处理阶段
预处理器(cpp)对源程序中以字符#开头的命令进行处理
编译阶段
编译器(ccl)对预处理后的源程序进行编译,生成一个汇编语言源程序hello.s
汇编阶段
汇编器(as)将hello.翻译成机器语言指令,把这些指令打包成一个称为可重定位目标文件的hello.o,它是一种二进制文件
链接阶段
连接器(ld)将多个可重定位目标文件和标准库函数合并为一个可执行目标文件,保存在磁盘上
程序执行过程的描述
1 shell程序将用户从键盘输入的每个字符逐一读入CPU寄存器
2 保存到主存储器中,在主存的缓冲区形成字符串“./hello"
3 接收到Enter键时,shell调出操作系统的内核程序,由内核来加载磁盘上的可执行文件hello到主存中
4 内核加载完可执行文件中的代码和数据后,将hello的第一条指令的地址送往PC,CPU随后开始执行hello程序,它将已加载到主存的字符串”hello,world!\n"中的每个字符从主存取到CPU的寄存器中
5 然后将CPU寄存器中的字符送到显示器
指令执行过程的描述(以取数指令为例)
取指令:PC→MAR→M→MDR→IR
根据PC取指令到IR。将PC的内容送MAR,MAR中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上,MDR从数据线接收指令信息,并传送到IR中。
分析指令:OP(IR)→CU
指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。在本例中,R中是取数指令,因此读控制信号被送到总线的控制线上。
执行指令:Ad(IR)→MAR→M→MDR→ACC
取数操作。将R中指令的地址码送 MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存中读出操作数,并通过数据线送至MDR,再传送到ACC中。 每取完一条指令,还须为取下条指令做准备,计算下条指令的地址,即(PC)+1→PC。
计算机的性能指标
1. 字长
定义:计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,即CPU内部用于整数运算的数据通路的宽度
等于CPU内部用于整数运算的运算器位数和通用寄存器宽度
字长一般等于内部寄存器的大小,翻译了计算机处理信息的能力;字长越长,数的表示范围越大,计算精度越高。计算机字长通常选为字节(8位)的整数倍
2. 数据通路带宽
定义:数据总线一次所能并行传送信息的位数(指外部数据总线的宽度,而非CPU内部数据总线的宽度)
3. 主存容量
定义:主存储器所能存储信息的最大容量,通常以字节来衡量
可以用字数×字长来表示存储容量,即(2^MAR)×MDR
MAR的位数反映存储单元的个数,反映可寻址范围的最大值(不一定时实际存储器的存储容量)
4. 运算速度
吞吐量和响应时间
吞吐量
系统在单位时间内处理请求的数量
主要取决于主存的存取周期
响应时间
从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。
CPU时间(运行程序所花费的时间)
等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等的时间)
主频和CPU时钟周期
主频
定义:机器内部主时钟的频率
主频越高,执行指令的速度越快
单位:Hz(赫兹)
CPU时钟周期
定义:主频的倒数,CPU中最小的时间单位
运行一条指令所需的时钟周期数(CPI)
CPU执行时间
定义:运行一个程序所花费的时间
公式:CPU执行时间 = CPU时钟周期数/主频 = (指令条数×CPI)/主频
MIPS
定义:每秒执行多少百万条指令
公式:MIPS = 指令条数/(执行时间×10^6)= 主频/(CPI*10^)
MFLOPS、GFLOPS、TFLOPS、PFLOPS、EFLOPS、ZFLOPS
MFLOPS:每秒执行多少百万次浮点运算
用于科学计算的计算机主要评估浮点运算的性能
GFLOPS:每秒执行多少十亿次浮点运算
TTFLOPS:每秒执行多少万亿次浮点运算
5. 基准程序
专门用来进行性能评价的一组程序,能够很好地反映机器在运行实际负载时的性能
6. 一些专业术语
系列机
具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列
兼容
软件或硬件的通用性
软件可移植性
固件
将程序固化在ROM中组成的部件称为固件,其执行速度快于软件,灵活性优于硬件,是软硬件结合的产物
C:/Users/86187/AppData/Roaming/Tencent/QQ/Temp/E77F9B50DC9520F32FDAA7299CEDE880.png
C:/Users/86187/AppData/Roaming/Tencent/QQ/Temp/0FFA0C7C0E5AF9AEE94B7E2C0739DF90.png
C:/Users/86187/AppData/Roaming/Tencent/QQ/Temp/0FFA0C7C0E5AF9AEE94B7E2C0739DF90.png
C:/Users/86187/AppData/Roaming/Tencent/QQ/Temp/0FFA0C7C0E5AF9AEE94B7E2C0739DF90.png
C:/Users/86187/AppData/Roaming/Tencent/QQ/Temp/E77F9B50DC9520F32FDAA7299CEDE880.png