计算机系统的硬件结构
# 0x1.系统总线
# 0x2.存储器
# 0.概述
# 0.1.分类
按存储介质分类:
按存取方式分类:
按作用分类:
# 0.2.层次结构
# 1.主存储器
# 1.1.主存的基本组成
# 1.2.主存和CPU的联系
# 1.3.主存中存储单元地址的分配
# 1.4.主存的技术指标
# 1.5.主存的分类
# (1)半导体存储芯片
半导体存储芯片采用超大规模集成电路制造工艺,存储芯片的基本结构如下:
地址线是单项输入的,其位数和芯片容量有关。
数据线是双向的(有的芯片可用承兑出现的数据线分别作为输入或输出),其位数与芯片可读出或写入的数据位数有关,其位数也和芯片容量有关。
地址线和数据线的位数共同反应存储芯片的容量。例如,地址线为10根,数据线为4根,则芯片容量为2^10^×4=4K位;有如地址线为14根,数据线为1根,则容量为2^14^=16K位。
# (2)随机存取存储器(RAM)
根据存储信息的原理不同,可以分为静态RAM和动态RAM两大类。
1.静态RAM【未深究】
2.动态RAM(DRAM)【未深究】
# (3)只读存储器(ROM)
ROM的原始定义是:一点注入原始信息即不能改变。但是随着用户的需要,总希望能修改ROM内的信息,于是便有了PROM、EPROM和EEPORM等。
对于半导体ROM而言,基本器件为两种:MOS型和TTL型。
分类如下:
1.掩模ROM(MROM)
行列选择线交叉处有 MOS 管为“1” 行列选择线交叉处无 MOS 管为“0”
2.PROM(一次性编程)
熔丝断为“0” 熔丝未断为“1”
3.EPROM(多次性编程)
(1)N型沟道浮动栅 MOS 电路 G 栅
紫外线擦洗。
(2)2716 EPROM
4.EEPROM(多次性变成)
电可擦写 局部擦写 全部擦写
5.Flash Memory(闪存型存储器)
EPROM 价格便宜 集成度高 EEPROM 电可擦洗重写 比EEPROM快 具备RAM功能
# 1.6.存储器与CPU的连接
不清楚。
# 1.7.校验(汉明码)
例子:
纠错过程:
# 1.8.提高访存速度的措施
2.多体交叉系统
3.高性能存储芯片
(1) SDRAM (同步 DRAM) 在系统时钟的控制下进行读出和写入 CPU 无须等待 (2) RDRAM 由 Rambus 开发,主要解决 存储器带宽 问题 (3) 带 Cache 的 DRAM 在 DRAM 的芯片内 集成 了一个由 SRAM 组成的 Cache ,有利于 猝发式读取
# 2.高速缓存存储器(cache)
# 2.1.问题的提出
CPU和主存(DRAM)的速度存在差异,这样就导致CPU“空等”的现象。
为了解决这个问题,就提出了使用缓存cache。
# 2.2.Cache的工作原理
# 2.3.Cache的基本结构
# 2.4.Cache的读写操作
读操作:
写操作:
# 2.5.Cache的改进
# 2.6.Cache-主存的地址映射
# (1)直接映射
– 优点:比较电路少m倍线路,所以硬件实 现简单,Cache地址为主存地址的低几位, 不需变换。 – 缺点:冲突概率高(抖动) – 应用场合 • 适合大容量Cache
# (2)全相联映射
– 优点:冲突概率小,Cache的利用高。 – 缺点:比较器难实现,需要一个访问速度 很快代价高的相联存储器 – 应用场合: • 适用于小容量的Cache
# (3)组相联映射
–比全相联容易实现,冲突低 –v(r)=1,则为直接相联映射方式 –u(q)=1,则为全相联映射方式 –v(r)的取值一般比较小, 一般是2的幂, 称之为v路组相联cache.
# (4)例题:
# 2.7.替换算法
三种算法FIFO、LRU、LFU。
LFU是最不经常使用的数据被替换出去。
例子:
分析过程:
# 3.辅助存储器(磁盘)
辅助存储器作为主存的后援设备又成为外部存储器,简称外存,它与主存一起组成了存储器系统的主存-辅存层次。
与主存相比,辅存具有容量大、速度慢、价格低、可脱机保存信息等特点,属于“非易失性”存储器。
而主存具有速度快、成本高、容量小等特点,而且大多由半导体芯片构成,所存信息无法永久保存,属于“易失性”存储器。
目前较为常用的辅助存储器有:硬磁盘、软磁盘、磁带、光盘等。
前三种均为磁表面存储器:
温切斯特磁盘记录原理图:
# 技术指标
磁表面存储器重要的技术指标:
(1)记录密度
磁盘沿半径方向单位长度的磁道数为道密度,单位是tpi(Track Per Inch,道每英寸)或tpm(道每毫米)。相邻两条磁道中心线之间的距离称为道距,因此道密度D~t~是道距P的倒数。
单位长度磁道能记录二进制信息的位数,称为位密度或线密度,单位是bpi(Bits Per Inch,位每英寸)或bpm(位每毫米)。磁盘的位密度D~b~可用以下式子表示: $$ f_t=D_b*\pi d_{min} $$ 其中,f~t~为每道总位数,d~min~为 同心圆中的最小直径。
因此我们是用最小的周长来算的!!!
(2)存储容量
磁盘一般有多个盘面,每个盘面有多条磁道(由tpi道密度D~t~决定),每条磁道可以存储多位数据(由bpi线密度D~b~决定)。
因此总的非格式化容量的存储容量C这样运算: $$ \begin{align*} C &=nD_tf_t \ &=nD_tD_b*\pi d_{min} \end{align*} $$ n为盘面数。
但是用户实际可以使用的容量是格式化容量,这才是操作系统操作可控的容量,它一般为非格式化容量的60%~70%。
简单理解就是操作系统规定的扇区,其他记录面则是不能使用的。
(3)平均寻址时间
寻址时间分为两部分t~s~和t~w~,t~s~是磁头寻找目标磁道的找道时间,t~w~是找到磁道后,磁头等待欲读写磁道区段旋转到磁头下方所需要的等待时间。
t~s~和磁头移动速度有关,一般题中会给出磁道间移动时间t~1~,那么平均找道时间t~sa~为最大时间和最小时间(0)的平均值: $$ \begin{align*} t_{sa} &=\frac{t_{smin}+t_{smax}}{2} \ &=\frac{0+(D_t-1)t_1}{2} \end{align} $$ t~w~则和盘片的旋转速度有关,单位是rpm(revolutions per millisecond,圈每毫秒),如下:
题目中给出盘片旋转速度v~1~,则平均找道时间t~sa~为最大时间和最小时间(0)的平均值: $$ \begin{align*} t_{wa} &=\frac{t_{wmin}+t_{wmax}}{2} \ &=\frac{0+\frac{\pi d_{min}}{v_1}}{2} \end{align*} $$ 平均寻址时间T~a~是平均找道时间t~sa~和平均等待时间t~wa~之和: $$ \begin{align*} T_a &=t_{sa}+t_{wa}\ &=\frac{t_{smin}+t_{smax}}{2}+\frac{t_{wmin}+t_{wmax}}{2} \end{align*} $$
(4)数据传输率
数据传输率D~r~是指单位时间内磁表面存储器向主机传送数据的位数或字节数,它与记录密度D~b~和记录介质的运动速度V有关: $$ D_r=D_b*V $$ (5)误码率
误码率是衡量磁表面存储器出错概率的参数,它等于从辅存读出时,出错信息位数和读出信息的总位数之比。 $$ 误码率=\frac{出错信息位数}{总信息量} $$ 为了减少出错率,磁表面存储器通常采用循环冗余码来发现并纠正错误。
# 计算举例
# 数据校验码(CRC码)
循环冗余校验码——CRC码,也称(n,k)码,(n=k+r)。
获取时的运算过程采用的是模2运算,就是加减不考虑进位和结尾的运算(其实就是异或),乘除也不借位:
CRC编码方法:
运算举例:
校验过程: