文章目录
- 计算机系统概述
- 数据的表示与运算
- 存储系统
- DRAM
- 固态硬盘
- 存储芯片的片选
- 磁盘
- RAID
- 多模块存储器
- Cache
- 存储管理方式
- 虚拟存储器
- 指令系统
- 寻址方式
- 指令格式
- 扩展操作码
- 中央处理器
- 单周期处理器
- 各类部件
- 微程序控制器
- 中断与异常
- 流水线
- 多处理器系统
- 总线
- 输入输出设备
- I/O方式
计算机系统概述
指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。
完整的计算机系统包括,1)软件系统:程序、文档和数据;2)硬件系统:主机【运算器、控制器、主存储器】和外部设备【外存、I/O设备】。
计算机组织设计架构设计的物理实现,包括有关组件之间互连和通信的决策,如总线结构。内存层次结构、输入输出结构。
系统软件包括,OS、DBMS、语言处理程序、分布式软件系统、网络管理系统、标准库程序、服务性程序。
机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可以值性。
将高级语言程序转换为机器语言程序的软件称作翻译程序,包括1)汇编程序;2)解释程序;3)翻译程序。
汇编程序可以将汇编语言程序翻译成机器语言程序。
解释程序可以将高级语言程序中的语句按执行顺序逐条翻译成机器指令并立即执行【无目标代码文件生成】。
编译程序可以将高级语言程序翻译成汇编语言或机器语言程序【有目标代码文件生成】。
时间局部性是指被引用过的内存位置【可以是数据或者指令】很可能在不久的将来再次被引用。
空间局部性是指某个被引用过的内存位置,其附近的内存位置很可能在不久的将来被引用。
向后兼容【backforward】,指的是可以兼容旧系统。
向前兼容【forward】,指的是可以兼容未来的系统。
吞吐率是评价计算机系统性能的综合参数。
数据的表示与运算
IEEE754标准的浮点数乘法,不需要左规。
IEEE754浮点数表示中,尾数用源码表示,阶码用移码表示。
浮点数舍入最简单的方法是截断法。
机器零不是真值零,是零点及其附近的一段区域,而定点数的零是真值0。
IEEE754单精度浮点数,若对阶操作得到的两个阶码之差的绝对值 ∣ Δ E ∣ |\Delta E| ∣ΔE∣等于24,则表示阶小的尾数加减运算结果的前24位直接取阶大的那个数的相应位。
存储系统
行缓冲器大小=列数*位平面数,用SDRAM实现。【举例】8个16M*8位的芯片=128MB,其中8个的8即为位平面数。
MDR位数=数据线位数=存储字长。【注】其中第一个等于号必须成立,此由硬件决定;第二个等于号通常相等。
DRAM
SDRAM,不同于DRAM(异步方式),采用同步方式与CPU交换数据,将地址和控制信号都锁存起来。
DRAM需要读后再生,读后再生也具有刷新功能。但与刷新不同的是,刷新操作需要只需要给出行地址。\DRAM的刷新不是把信息读入CPU,也不是从CPU向主存存入信息,它只是把信息读入,通过一个刷新放大器【集成在RAM上】又重新存回存储单元。
刷新方式分为,1)集中刷新:固定一段时间刷新,称为死时间;2)分散刷新:增加系统存取周期,前半部分用于读写,后半部分用于刷新,没有死时间;3)异步刷新:一个刷新周期内一行只刷新一次,减少了死时间。
主存与辅存初见的数据调动是由硬件和操作系统完成的,仅对应用程序员透明。
固态硬盘
固态硬盘基于闪存,闪存基于ROM。
固态硬盘以页为读写单位。
动态磨损均衡是在写入时自动选择较新的块。
静态磨损均衡更先进,没有数据写入时也会自动分配。
存储芯片的片选
线选法,高位地址线直接连接至各个存储芯片的片选端【有几片就需要几根地址线】。
译码器片选法,高位地址线通过地址译码器产生片选信号。
磁盘
磁盘存储器包括,1)磁盘驱动器【即磁盘本身】;2)磁盘控制器;3)盘片。
扇区,也称块,是磁盘读/写的最小单位,也即磁盘按块存取。
磁盘高速缓存是在内存中开辟的区域。
磁盘存取时间为寻道时间、旋转时延【旋转半周】和传输时延【扇区处理时间】的加和。
磁盘调度算法可以优化寻道时间,物理结构和空闲分区的分配会影响旋转时延,传输时延和旋转时延难以从操作系统层面优化。
磁盘的性能指标分为记录密度【道密度、位密度和面密度】和磁盘容量。
RAID
RAID是指将多个独立的物理磁盘组成一个独立的逻辑盘。
从RAID0到RAID5的技术分别为,0)无冗余无校验(条带化);1)镜像;2)海明码;3)位交叉;4)块交叉;5)无独立检验。
多模块存储器
多模块存储器是一种空间并行技术,解决访存速度问题,主要分为单体多字存储器和多体并行存储器。
多体并行存储器有两种启动方式,1)轮流启动,每个模块一次读写位数等于数据总线位数;2)同时启动,所有模块一次并行读写总位数等于数据线位数。
Cache
CPU与cache之间数据交换以字为单位,而cache与主存的交换以cache块为单位。
cache访问效率等于cache全部命中所需时间/实际cache-主存访问时间。
cache映射中比较器的个数取决于一个组内有几行,就需要几个比较器。
直接映射【一行一组】,只需要一个比较器;全相联映射【整个cache是一组】,行数就是比较器个数;n路组相联【n行一组】,需要n个比较器。
指令cache和数据cache分离,是为了减少流水线冲突,在IF段使用指令cache,在MEM段使用数据cache。
指令cache通常比数据cache具有更好的空间局部性,因为指令流通常是顺序执行的,而数据流跳转或者随机访问的概率较高。
cache缺失由硬件完成;缺页处理由软件完成,操作系统通过缺页异常处理程序实现;TLB缺失既可以用硬件,又可以用软件来处理。
cache中各字段的意义,标记位【指明cache行中存放的是主存哪一块的副本】、有效位【说明cache行中信息是否有效】、LRU位【记录主存块的使用情况,根据计数值选择淘汰某个块】。
cache缺失不是内部异常,也不是外部中断,不会引起对当前执行程序的中断,发生缺失机器会直接去访存取数据。
存储管理方式
段的分界与程序的自然分解对应,因而具有逻辑独立性,更易于编译、管理、修改和保护,也利于多道程序的共享。
虚拟存储器
虚存需要操作系统完成地址映射,所以对系统程序员不透明。
指令系统
ISA指令集体系结构包括,寻址方式、数据类型、寄存器相关【个数、位数和编号】、中断机构和I/O结构。
寻址方式
偏移寻址分为三种,1)相对寻址,地址相对PC偏移;2)基址寻址,地址相对基址偏移,基址由操作系统给出,不可变;3)变址寻址,地址相对指令中的A偏移,变址由用户指定,可变。
变址寻址,有利于处理数组问题和编制循环程序。
基址寻址有利于多道程序设计和编制浮动程序。
浮动程序是指在多道程序设计的系统中,要求每道程序存放在主存的任何位置都能正确地运行。
指令格式
mov指令可以将第二个操作数复制到第一个操作数,但两个操作数不能都是内存。
imul指令是有符号乘法指令,可以是双操作数,也可以是三操作数,但是第一个操作数必须是寄存器。
零地址指令可以分为,1)不需要操作数【关机、空操作、关中断】;2)需要操作数【只适用于堆栈计算机】。
对于二地址指令,1)若两个操作数都在主存中,则称为RR型指令;2)若一个在寄存器一个在主存中,则称为RS型指令;3)若都在主存中,则为SS型指令【8086CPU不支持该类型指令】。
扩展操作码
定长操作码固定了指令中的具体几位位操作码地段,其余位数表示地址。
扩展操作码其操作码位数会发生改变,不使用的地址位数可以用作操作码。
RISC机器一定采用指令流水线,大部分指令在一个时钟周期内完成。
为保证嵌套调用后能返回到调用过程,必须将地址压栈,若选择保存在特定寄存器中,会被后续指令调用覆盖。
调用指令的目标地址就是被调过程的第一条指令的地址,一定是显式给出的。
中央处理器
单周期处理器
单周期处理器,每条指令的执行只有一个时钟周期,而一个时钟周期内,控制信号不会变化,且每来一个时钟,PC值都更新一次,无须写使能信号。
单周期处理器,在一个周期内完成指令,时钟周期特别长,指令执行速度特别慢。
各类部件
暂存器用于暂存数据总线或通用寄存器送来的操作数,以便在取出下一个操作数时将其同时送入ALU。
能输出到总线的部件均通过三态门与内部总线相连,用于控制该部件与内部总线之间数据通路的连接与断开。
指令执行过程总体以三态门为依据划分时钟周期,因为有三态门就可能暂停一个周期,等待下一个周期再传送。
寄存器是具有存储功能的触发器。
微程序控制器
每条微指令对应一个微程序;每个微程序包含若干条微指令;每条微指令对应一个或几个微命令;每条微命令让机器执行一种微操作。
取址微程序时公共操作,由机器自动将该微程序的入口地址送入uPC。
机器指令操作码字段通过微地址形成部件产生对应微程序的入口地址并送入uPC。
微指令的后继微地址的形成有多种方法,下地址、操作码、uPC自增、标志、硬件等。
微程序个数应为机器指令数加上对应取址、间址和中断周期的公共微程序数。
字段间接编码,一个字段的某些微命令需要由另一个字段中的某些微命令的输出结果来解释。
直接编码,一位就代表了一种微命令。
字段直接编码,将互斥性命令设计到同一段中,每段需留出0
状态表示什么都不做。
中断与异常
异常是CPU在执行一条指令时,CPU在其内部检测到的,与正在执行的指令有关的同步事件、
中断是一种典型的由外部设备触发的,与当前正在执行的指令无关的异步事件。
终止类异常由硬件故障导致,控制器或存储器或总线错误。
故障类异常的断点为当前指令,有些故障无法恢复,只能终止程序,不返回断点。
外部中断的断点为下一条指令。
所有的异常和中断时间都是由硬件【CPU】检测发现的。
中断优先级包括响应优先级和处理优先级。
响应优先级用于中断响应判优,通过硬件排队器或中断查询程序实现。
处理优先级则表明多重中断的实际优先处理次序,通过中断屏蔽技术实现。
CPU响应中断必须满足,1)中断源有中断请求;2)CPU允许中断及开中断【不可屏蔽中断不受此限制】;3)一条指令执行完毕且没有更紧迫的任务。
流水线
流水线的吞吐率是指单位时间内完成的指令数。
流水线效率等于占用面积/总面积。
流水线加速比等于不使用流水线与使用流水线的时间之比。
超流水线技术,通过增加流水线级数使得更多的指令同时执行,但CPI仍为1。
流水线级数越多,每一级所需的时间就更短,则机器的时钟周期可以设置得更短。
高级流水线分为多发射技术【有多个内部部件】和超流水技术【增加流水线级数】。
多发射技术分为,1)动态多发射【超标量流水线技术】,结合动态流水线技术实现;2)静态多发射【超长指令字技术】。
多处理器系统
多处理器系统分为SISD、SIMD和MIMD。
SISD系统包括一个处理器、一个存储器和多个功能部件。
SIMD系统是数据级并行,有一个指令控制部件和多个处理单元,主要变体有向量处理器。
MIMD系统是线程级或以上并行,分为,1)多计算机系统【消息传递MIMD】,各自私有存储器,有独立的主存空间;2)多处理器系统【共享存储MIMD】,共享单一的主存空间。
总线
总线带宽等于总线宽度乘以总线工作频率。
异步串行通信方式,每个字符都要用开始位和停止位作为字符的开始和结束。
地址总线的位数,与MAR的位数相关,与最大存储单元的个数相关,与实际存储单元个数无关。
总线按功能划分为,1)片内总线;2)系统总线【数据线、地址线、控制线】;3)通信总线【外部总线】。
传输速度等于位数乘以工作频率【说明,并行传输不一定比串行传输快】。
输入输出设备
数据线传送读写数据、状态信息、控制信息和中断类型号。
地址线传送的是要访问的I/O接口中的寄存器的地址。
控制线传送的是读写控制信号、中断请求信号、仲裁信号和握手信号。
I/O方式
程序查询方式不会阻塞用户进程。
外设向DMA控制器发出DMA请求,DMA控制器向CPU发出总线请求。
DMA以数据块位基本传送单位,一次总线请求向主存传送一个字。
设备与DMA接口的传送单位是字节或位。
DMA是一种完全由硬件进行信息传送的控制方式。DMA发出的中断请求仅是用于传送完毕通知CPU。