硬件结构分类
SRAM、 DRAM、NVRAM、Flash、EPROM 、Disk 等
采用分层的体系结构,按照与处理 器的物理距离可分为4个层次
• 片上缓存:在处理器核心中直接集成的缓存,一般为SRAM 结构,实现数据的快速读取。它容量较小一般为 16kB~512kB,按照不同的设计可能划分为一级或二级。
• 片外缓存:在处理器核心外的缓存,需要经过交换互联开关访问,上缓存略大,可以为256kB~4MB 。按照层 级被称为L2Cache或L3Cache,或者称为平台Cache。
• 主存(内存):通常采用DRAM 结构,以独立的部件/芯片存在,通过总线与处理器连接。DRAM 依赖不断充电 维持其中的数据,容量在数百MB至数十GB 之间。
• 外存:可以是磁带、磁盘、光盘和各类Flash 等介质器件,这类设备访问速度慢,但容量大,且在掉电后能够 保持其数据。
存储系统
计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾问题。存储系统的层次结构如右图
两级存储:Cache-主存、主存-辅存(虚拟存储体系)
局部性原理
总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内
时间局部性原理
如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即在相邻的时间里会访问同一个数据项
空间局部性原理
在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即 相邻的空间地址会被连续访问
高速缓存(Cache)
用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小, 速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的
组成
控制部分
判断CPU要访问的数据是否在Cache中, 在则命中,不在则依据一定的算法从主存中替换
磁盘结构
调度算法
• 先来先服务FCFS
根据进程请求访问磁盘的先后顺序进行调度。
• 最短寻道时间优先SSTF:
请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
• 扫描算法SCAN:
又称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问 的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似
• 单向扫描调度算法CSCAN:
与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。
校验码(用于存储数据的错误检测)
概念
校验码主要是为了解决计算机各部件进行数据传输和交换,确保传送过程的正确无误, 一是为了提高硬件电路的可靠性,二是提高代码的校验能力。通常会用校验码来检查传送的数据是否 正确。
常用的几种校验码
奇偶校验码
循环冗余校验码(CRC)
只能检错,不能纠错
首先要将原始报文除以多项式,将所得的余数作为校验 位并加在原始报文之后,然后发送数据发给接收方,接收方拿到数据之后,用来数据来除以多项式, 看是否能整除,能整除就代表数据正确。
海明码