硬件的基本组成
冯诺依曼机
提出存储程序概念,将指令以二进制码形式事先输入计算机的主存储器中,按照地址顺序执行指令
由五大部件构成
指令和数据以同等地位存储于存储器,按地址寻访
指令和数据用二进制表示
指令由操作码和地址码组成
有存储程序,以运算器为中心,IO设备和存储器之间也要通过运算器
这导致运算器效率低
现代计算机
现代计算机以存储器为核心
现代一般把运算器和控制器合并,即CPU
存储器分为主存和辅存,主存即RAM,辅存即ROM,但只有主存属于主机,辅存属于IO设备
各个硬件的工作原理
主存
存储体:数据在存储体内按地址存储
- 存储单元:存放一个字节的二进制码,一个地址对应一个存储单元
- 存储字:上面存的一个字节
- 存储字长:一个字节的位数
- 存储元:存储二进制码的电子元件,每个存储元1bit
MAR(存储地址寄存器):MAR位数反应存储单元个数
n位MAR共有\(2^n\)个存储单元
MDR(存储数据寄存器):反应存储字长,表示每个存储单元可以存储多少bits,即一个字长的位数
运算器
用于实现算术和逻辑运算
- ACC:累加器,存放操作数或运算结果
- MQ:乘商寄存器,乘除运算时存放操作数或运算结果
- X:通用操作数寄存器,存放操作数
- ALU:算术逻辑单元,实现算术运算和逻辑运算
控制器
- CU:控制单元,分析指令并给出控制信号
- IR:指令寄存器,存放当前执行的指令
- PC:程序计数器,存放下一条指令的地址,有自动++功能
CPU通过指令周期的不同阶段区分指令和数据
完成一条指令的流程:
取指令(PC)->分析指令(IR)->执行指令(CU)
前两个统称为取指
软件
软件分为应用软件和系统软件
- 应用软件为了某格应用领域问题而编制
- 系统软件负责硬件资源,向上层应用提供基础服务,如操作系统,DBMS等
语言
分为高级语言、汇编语言和解释语言
软硬件的逻辑功能等价性
同一个功能,既可以用硬件实现,也可以用软件实现,前者性能高成本高,后者相反
所以我们设计计算机系统的时候,要预先设计该计算机可以支持哪些指令、每条指令的作用和用法,即指令集体系结构(ISA),它是软硬件的界面
多级层次结构
传统机器执行二进制指令时,需要将这些指令细分为更小的步骤,这些称为微指令
工作原理
性能指标
数据容量
MAR(存储地址寄存器):MAR位数反应存储单元个数
n位MAR共有\(2^n\)个存储单元
MDR(存储数据寄存器):反应存储字长,表示每个存储单元可以存储多少bits,即一个字长的位数
即总容量=存储单元个数×存储字长bit=存储单元个数×存储字长/8 Byte
CPU
- CPU主频:CPU内数字脉冲信号震荡的频率(=\(\frac{1}{CPU时钟周期}\))
- CPI:执行一条指令所需的时钟周期数,不同指令的CPI不同,相同指令不同时间执行CPI也可能不同
- 执行一条指令的耗时:\(CPI\times CPU时钟周期\)
- CPU执行时间(整个程序的耗时):\(\frac{CPU时钟周期}{主频}=\frac{(指令条数×CPI)}{主频}\)
- IPS:每秒执行多少条指令=\(\frac{主频}{平均CPI}\),前面可能会有单位K/M/G等
- FLOPS:每秒执行多少次浮点运算
系统整体
数据通路带宽:数据总线一次能并行传送信息的位数
吞吐量:系统在单位时间内处理请求的数量
响应时间:指用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间,通常包括CPU时间和等待时间
基准程序:用来测量计算机处理速度的一种实用程序