导图社区 计算机系统概述
此篇导图主要从计算机发展历程,计算机系统层次结构以及计算机的性能指标这几方面的内容概述计算机系统,愿对您的学习有所帮助
编辑于2022-06-24 23:45:05计算机组合原理
1 计算机系统概述
1.1 计算机发展历程
计算机发展历程
硬件发展
电子管时代
晶体管时代
有了操作系统雏形
中小规模集成电路时代
有了分时操作系统
大规模、超大规模集成电路时代
开始出现微处理器、微型计算机
微型计算机的发展以微处理器技术为标志
软件发展
1.2 计算机系统层次结构
计算机系统的组成
硬件系统和软件系统共同构成一个完整的计算机系统
硬件
有形的物理设备,实际物理装置的总称
软件
在硬件上运行的程序和相关数据及文档
计算机硬件
冯诺依曼机结构
首次提出“存储程序”的概念
将指令以二进制代码的形式事先输入主存储器,按其在存储器中的首地址执行第一条指令,以后就按该程序的规定顺序执行其他指令
特点
采用存储程序工作方式
由五大部件组成
指令和数据以同等地位存储在存储器中,可按地址寻址
存放在相同类型存储单元中,长度相同,仅存放地址不同
指令和数据均用二进制表示
指令的构成
操作码
指出操作的类型
地址码
指出操作数的地址
以运算器为中心
现代计算机以存储器为中心
五大部分
输入设备
功能
将程序和数据以机器所能识别和接受的形式输入计算机
举例
键盘、鼠标、扫描仪、摄像机
输出设备
功能
将计算机处理的结果以人们所能接受的形式输出
举例
显示器、打印机
存储器
功能
存放数据和程序
组成
主存储器(内存储器)
组成
存储体(M)
存放二进制信息
由许多存储单元构成
每个存储单元包含若干存储元件,即一串二进制代码
每个存储元件存储一位二进制代码
这串代码为存储字
存储字长是二进制代码的位数,是字节的偶数倍
一个字节(B)一定是8bit,但一个字不一定
地址寄存器(MAR)
存放访存地址
位数对应存储单元的个数
只代表最大数量,实际不一定有这么多
与PC的长度相等
数据寄存器(MDR)
暂存从存储器中读或写的信息
位数和存储字长相等
存在CPU中
CPU能够直接访问
辅助存储器(外存储器)
所存储的信息必须调入内存后,才能为CPU所访问
工作方式
按地址存取方式
运算器
功能
计算机的执行部件,进行算术运算和逻辑运算
组成
算术逻辑单元(ALU)
运算器的核心,用电路实现算术运算和逻辑运算
累加器(ACC)
乘商寄存器(MQ)
操作数寄存器(X)
程序状态寄存器(PSW)
也称标志寄存器
存放ALU运算得到的一些标志信息或处理机的状态信息, 如结果是否溢出、有无产生进位或错位等
其他寄存器如变址寄存器、基址寄存器
控制器
功能
指挥各部件自动协调地进行工作
组成
控制单元(CU)
分析指令,给出控制信号
指令寄存器(IR)
存放当前执行的指令,内容来自MDR
操作码OP(IR)送至CU,用以分析指令并发出各种微操作命令序列
地址吗Ad(IR)送至MAR,用以取操作数
程序计数器(PC)
存放当前欲执行的指令,可以自动加1形成下一条指令的地址
与MAR之间有一条通路
硬件
主机
中央处理器(CPU)
运算器
控制器
存储器
内存储器
外设
存储器
外存储器
输入设备
输出设备
三种总线
地址线
MAR中的地址信息会送到地址线上,指向读/写操作的主存存储单元
控制线
指出数据是从CPU写入主存还是从主存读出到CPU(取数)
数据线
由控制线发出的控制信号决定将MDR中的数据送到数据线上还是将数据线上的数据收到MDR中(取数)
计算机软件
两种软件
系统软件
保证计算机系统高效、正确运行的基础软件
操作系统(OS)、数据库管理系统(DBMS) 语言处理程序(编译程序)、服务性程序(连接程序) 标准库程序、网络软件系统
应用软件
用户为解决某个领域中的各类问题而编制的程序
数据库系统、各类app
三个级别语言
机器语言
二进制代码语言
计算机唯一可以直接识别和执行的语言
汇编语言
用英文单词或其缩写代替二进制的指令代码
高级语言
C、JAVA等
不与指令直接对应,具有较好的可移植性
三类翻译程序
汇编程序(汇编器)
将汇编语言程序翻译成机器语言程序
解释程序(解释器)
将源程序中的语句按执行顺序逐条翻译成机器指令,并立即执行
JS、Python
翻译一句执行一句
编译程序(编译器)
将高级语言程序翻译成汇编语言程序或机器语言程序
C、C++
只需翻译一次,都翻译完再执行
软件和硬件的逻辑功能等价性
对于某一功能来说,既可以由硬件实现,又可以由软件实现,从用户角度来看,它们在功能上是等价的
硬件实现的性能要优于软件
层次结构
M0微程序机器层
由机器硬件直接执行微指令
M1传统机器语言层
用微程序解释机器指令
硬件
M2操作系统层
由机器指令和广义指令组成
混合层
M3汇编语言层
用汇编程序翻译成机器语言程序
M4高级语言层
用编译程序翻译成汇编语言程序
虚拟机
软件
下层是上层的基础,上层是下层的扩展
计算机系统工作原理
指令的执行过程
从主存取指令
PC→MAR→M→MDR→IR
将PC的内容送MAR,MAR中的内容直接送地址线,同时控制器将读信号送控制线,主存根据地址和读信号,从指定存储单元中读出指令,送到数据线上,MDR从数据线接收信息,传送到IR中
对指令进行译码
OP(IR)→CU
控制器根据IR中指令的操作码,生成相应的控制信号,送到控制线上
计算下条指令地址
(PC)+1→PC
(PC)指PC中存放的内容,PC→MAR应理解成(PC)→MAR,表示数据通路时括号可省略,但运算时不能省略
从主存中取操作数并执行
Ad(IR)→MAR→M→MDR→ACC
将IR中指令的地址码送MAR,MAR中的内容送地址线,同时控制器将读信号送控制线,从指定存储单元中读出操作数,通过数据线传送至MDR,再传送到ACC中
将结果送回存储器
从源程序到可执行文件
预处理阶段
预处理器对源程序(.c文件)进行处理,将.h文件插入,得到.i文件
编译阶段
编译器对.i文件进行编译,生成汇编语言源程序(.s文件)
汇编阶段
汇编器将.s文件翻译成机器语言指令,打包成一个可重定位的目标文件(.o文件)
链接阶段
链接器将多个可重定位文件和标准库函数所在的可重定位目标模块合并,生成可执行文件
CPU区分指令和数据的依据
指令周期的不用阶段
1.3 计算机的性能指标
字长
计算机进行一次整数运算所能处理的二进制数据的最大位数
字长一般等于内部寄存器的大小
字长越长,计算精度越高
数据通路带宽
数据总线一次所能并行传送信息的位数
指的是外部数据总线,与CPU内部的数据总线宽度可能不同
主存容量
主存储器所能存储信息的最大容量
MAR反映存储单元的个数,也即可寻址范围的最大值(不一定是实际存储容量)
若MAR为16位,MDR为32位,则存储容量=64K*32位=2的21次位=256KB
不是2的48次位,32位能表示2的32次个数,但不是大小,大小是32b,即4B
运算速度
吞吐量
系统在单位时间内处理请求的数量
主要取决于主存的存取周期
响应时间
从用户向计算机发送一个请求,到系统对该请求做出相应并获得结果所需的等待时间
包括CPU时间(运行一个程序的时间)与等待时间(磁盘访问、存储器访问、I/O操作等时间)
主频
也称CPU时钟频率,指CPU内脉冲信号震荡的频率
单位Hz,1Hz表示每秒一个脉冲信号
主频高的CPU不一定比主频低的CPU快
CPU时钟周期
CPU中最小的时间单位,主频的倒数
执行指令的每个动作至少需要1个时钟周期
CPI
执行一条指令所需的时钟周期数
不同指令的CPI不同,相同指令的CPU也可能不同
CPI是一个平均值
CPU执行时间
运行一个程序需要花费的时间
CPU执行时间=(CPI*指令条数)*CPU始终周期=(CPI*指令条数)/主频=CPU时钟周期数/主频
执行一条指令耗时=CPI*CPU时钟周期
CPU性能取决于三个要素:主频,CPI,指令条数 这三者也是相互制约的
IPS
每秒执行多少条指令=指令条数/执行时间=主频/CPI
MIPS=指令条数/执行时间*10的6次
MFLOPS
每秒执行多少百万次浮点运算
K、M、G、T、P、E、ZFLOPS
基准程序
测量计算机处理速度的一种程序
其结果不能完全说明问题
几个术语
系列机
具有基本相同的体系结构,使用相同基本指令系统的多个不同型号的计算机组成的一个产品系列
兼容
软件或硬件的通用性,即运行在某个型号的计算机系统中的软件/硬件也能用于另一型号的计算机系统
软件可移植性
把使用在某个系列机中的软件直接或做很少的修改就能运行在另一个系列机中
固件
将程序固化在ROM中组成的部件成为固件
执行速度快于软件,灵活性优于硬件,是软/硬件结合的产物
2 数据的表示和运算
3 存储系统
4 指令系统
5 中央处理器
6 总线
7 输入/输出系统