一:计算机系统概述
发展历程
层次结构
1:硬件组成:
冯诺依曼体系
- 计算机由运算器,控制器,存储器,输入,输出五部分组成;
- 指令和数据都用二进制代码表示,保存在存储器中,按地址寻址;
- 指令由操作码和地址码组成,在存储器内按顺序存放;
- 以运算器为中心,IO 通过运算器与存储器相连。
现代体系:
- 以存储器为中心
- IO 尽可能绕过 CPU,直接让 IO 和存储器间完成
功能部件:
输入设备,
输出设备,
存储器:存储字,MAR 和 MDR 的位数。
运算器:算数运算和逻辑运算,ALU
控制器:PC + IR + CU,CPU 和主存储器构成主机,IO 设备和外村构成外设。
2:软件分类
系统软件:OS。DBMS,语言处理程序,分布式系统,网络系统,标准库,服务程序
应用软件:科学计算程序,应用类程序
机器语言,汇编语言,高级语言
3:工作过程
程序和数据装入主存,从程序起始地址开始执行;从起始地址取出第一条指令,译码执行并计算下一条指令地址;取出下条指令地址,在取值译码,执行间往复,直到执行完毕
4:多级层次结构
性能指标
吞吐量:系统在单位时间内处理请求的数量,取决于主存存取周期;
响应时间:发出请求到得到结果的时间差,包括 CPU 时间和等待时间;
时钟周期:主频的倒数,CPU 最小时间单位
主频:
CPI:执行一条指令需要的时钟周期数
CPU 执行时间:运行一个程序花费的时间
MIPS:每秒执行多少百万条指令
FLOPS:每秒执行多少百万条浮点运算
二:数据的表示与运算
4:ALU
串行加法器
并行加法器
ALU 功能
ALU 是一个组合逻辑电路,核心是并行加法器,
4 片 74181 串联可组成 16 位 ALU,属于单级先行进位;
4 片 74181 和一片 74182 构成 16 位 ALU,属于两级先行进位 ALU
ALU 结构
三:存储器层次结构
1:分类
层次划分:主存储器即内存,辅存储器即硬盘;高速缓存 Cache
存取方式:
- 随机存储器:如主存和 cache
- 只读存储器:也是随机存储,但只能读不能写,RAM 和 ROM 共同构成主存地址域。
- 串行访问存储器:如磁带是顺序访问存储器,硬盘是直接访问存储器,但不是随机存储器,需要先寻道然后再道上殊勋存取。
信息的可保护性:
断电易失:如 RAM
断电不丢失:如 ROM,磁盘,光盘
破坏性读:DRAM
非破坏性读:SRAM,磁盘
2:性能指标
实际容量 = 存储单元个数 单元长度;理论容量= 存储子树 存储字长;
存取时间 = 取出结果时间 - 启动存储器时间
存取周期 = 存取时间 + 存储器状态恢复时间 = 连续读或写的最小时间间隔,显然存取周期>=存取时间
3:层次化结构
CPU-寄存器-Cache-主存-辅存
4:随机存储器
SRAM :使用双稳态触发器存储信息,多用于高速缓存
非破坏性读,断电易失
引脚中处理地址线和数据线外,还有 CS(片选),WE(可写),OE(可读)
DRAM:
用电容电荷存储信息,用于主存;
刷新:
- 集中刷新:在固定的时间集中刷新,产生无法访问的时间段(死区)
- 分散刷新:将工作周期分开为读写周期和刷新周期,这样增加了存储周期,但无死区
- 异步刷新:刷新周期(2ms)除以行数,得到时间间隔 t,每时间 t 产生一次刷新,缩短死区时间;
刷新对 CPU 透明,刷新单位是行,刷新类似读,刷新无序片选;
DRAM 引脚除了地址线和数据线,还有 RAS(行选,起 CS 的作用),CAS(列选),WE,OE
只读存储器:
ROM 跟 RAM 一样随机读写,结构简单,断电不丢失
ROM,MROM 只读,PROM 写一次,EPROM 和 E2PROM 多次擦除,Flash 固态硬盘
Flash
5:主存与 CPU 的连接
四:指令系统
指令
基本格式:
零地址指令:空操作,停机,关中断指令;运算类指令只用在堆栈计算机中
一地址指令:自加,自减,求反等单操作数运算;隐含地址 ACC,结果也放进 ACC 中
二地址指令:| OP |A1 | A2| ,结果存放在 A1 中
三地址指令:同时给出两个操作数地址和存放结果的地址
四地址指令:在三地址指令基础上再给出下条指令地址,这不利于跳转。
定长指令:
指操作码长度固定,利于流水线
变长地址:
操作码长度不固定,会进行扩展操作码指令设计
寻址
有效地址:指令中的地址码给出的是形式地址,要根据寻址方式得到有效地址
指令寻址:PC +1 ;JMP
数据寻址:根据指令中的地址码和寻址方式
数据寻址方式:
隐含寻址:操作数在 ACC 中
立即寻址:指令直接给出操作数
直接寻址:指令给出操作数在内存地址,EA = A
间接寻址:指令给出操作数地址的地址,EA = (A)
寄存器寻址:指令给出寄存器号。EA = R
寄存器间接寻址:指令给出寄存器号,寄存器存储操作数地址,EA = (R)
相对寻址:指令给出形式地址 A,EA = (PC ) + A(数加,A 是补码表示),注意 PC 取值后 +1
基址寻址:EA = (BR ) + A
变址寻址:EA = (IX ) + A
堆栈寻址:EA = (SP)
基址寻址用于为程序会数据分配存储空间,基址地址由操作系统给出且不变,A 由程序猿给出,可变。
变址寻址用于处理数组问题,变址寄存器内容由用户给出,可变;A 不变
CISC:指令复杂庞大;指令长度不固定,指令执行时间和频率差异;大多采用微程序控制器;编译程序难优化
RISC:指令精简,指令定长;只选常用指令,且大都只用一个时钟周期;只有 Load/Store 才能访存;使用大量寄存器流水线和组合逻辑电路
五:中央处理器
六:总线
1:概述
分时,共享,猝发传送
分类:
内部总线:CPU 内部
系统总线:数据总线,是双向的;地址总线,单向传输;控制总线,双向;
通信总线(外部总线):计算机系统之间传输信息的总线
组成
单总线:将各设备挂在一组总线上(不是一根),简单低成本;带宽低,
双总线:一条主存总线,一条 IO 总线,从低速 IO 从总线分离,需要增加硬件。
三总线:主存总线,IO 总线,DMA 总线;提高 IO 性能吞吐量;工作效率低
性能指标:
总线周期:一次总线操作所需全部时间(申请,寻址,传输,结束)
总线时钟周期:即机器时钟周期
总线工作频率:总线周期倒数,总线周期 = 若干时钟周期
总线时钟频率:即机器时钟频率
总线宽度:总线上能同时传输数据位数,取决于数据总线的根数;