文章目录
- 计算机系统概述
- 存储系统
- 指令系统
计算机系统概述
指令和数据以同等地位存储在存储器中,形式上没有差别,但计算机应能区分他们。通过指令周期的不同阶段。
完整的计算机系统包括,1)软件系统:程序、文档和数据;2)硬件系统:主机【运算器、控制器、主存储器】和外部设备【外存、I/O设备】。
系统软件包括,OS、DBMS、语言处理程序、分布式软件系统、网络管理系统、标准库程序、服务性程序。
机器语言和汇编语言与机器指令对应,而高级语言不与指令直接对应,具有较好的可以值性。
存储系统
行缓冲器大小=列数*位平面数,用SDRAM实现。【举例】8个16M*8位的芯片=128MB,其中8个的8即为位平面数。
MDR位数=数据线位数=存储字长。【注】其中第一个等于号必须成立,此由硬件决定;第二个等于号通常相等。
SDRAM,不同于DRAM(异步方式),采用同步方式与CPU交换数据,将地址和控制信号都锁存起来。
DRAM需要读后再生,读后再生也具有刷新功能。但与刷新不同的是,刷新操作需要只需要给出行地址。
刷新方式分为,1)集中刷新:固定一段时间刷新,称为死时间;2)分散刷新:增加系统存取周期,前半部分用于读写,后半部分用于刷新,没有死时间;3)异步刷新:一个刷新周期内一行只刷新一次,减少了死时间。
固态硬盘基于闪存,闪存基于ROM。
固态硬盘以页为读写单位。
动态磨损均衡是在写入时自动选择较新的块。
静态磨损均衡更先进,没有数据写入时也会自动分配。
线选法,高位地址线直接连接至各个存储芯片的片选端。
译码器片选法,高位地址线通过地址译码器产生片选信号。
磁盘存储器包括,1)磁盘驱动器【即磁盘本身】;2)磁盘控制器;3)盘片。
扇区,也称块,是磁盘读/写的最小单位,也即磁盘按块存取。
磁盘高速缓存是在内存中开辟的区域。
磁盘存取时间为寻道时间、旋转时延【旋转半周】和传输时延【扇区处理时间】的加和。
磁盘调度算法可以优化寻道时间,物理结构和空闲分区的分配会影响旋转时延,传输时延和旋转时延难以从操作系统层面优化。
RAID是指将多个独立的物理磁盘组成一个独立的逻辑盘。
从RAID0到RAID5的技术分别为,0)无冗余无校验(条带化);1)镜像;2)海明码;3)位交叉;4)块交叉;5)无独立检验。
多模块存储器是一种空间并行技术,解决访存速度问题,主要分为单体多字存储器和多体并行存储器。
多体并行存储器有两种启动方式,1)轮流启动,每个模块一次读写位数等于数据总线位数;2)同时启动,所有模块一次并行读写总位数等于数据线位数。
CPU与cache之间数据交换以字为单位,而cache与主存的交换以cache块为单位。
cache访问效率等于cache全部命中所需时间/实际cache-主存访问时间。
cache映射中比较器的个数取决于一个组内有几行,就需要几个比较器。
直接映射【一行一组】,只需要一个比较器;全相联映射【整个cache是一组】,行数就是比较器个数;n路组相联【一组n行】,需要n个比较器。
指令cache和数据cache分离,是为了减少流水线冲突,在IF段使用指令cache,在MEM段使用数据cache。
cache缺失由硬件完成;缺页处理由软件完成,操作系统通过缺页异常处理程序实现;TLB缺失既可以用硬件,又可以用软件来处理。
cache中各字段的意义,标记位【指明cache行中存放的是主存哪一块的副本】、有效位【说明cache行中信息是否有效】、LRU位【记录主存块的使用情况,根据计数值选择淘汰某个块】。
指令系统
偏移寻址分为三种,1)相对寻址,地址相对PC偏移;2)基址寻址,地址相对基址偏移,基址由操作系统给出,不可变;3)变址寻址,地址相对指令中的A偏移,变址由用户指定,可变。
变址寻址,有利于处理数组问题和编制循环程序。
基址寻址有利于多道程序设计和编制浮动程序。
浮动程序是指在多道程序设计的系统中,要求每道程序存放在主存的任何位置都能正确地运行。
mov指令可以将第二个操作数复制到第一个操作数,但两个操作数不能都是内存。
imul指令是有符号乘法指令,可以是双操作数,也可以是三操作数,但是第一个操作数必须是寄存器。
RISC机器一定采用指令流水线,大部分指令在一个时钟周期内完成。