zoukankan      html  css  js  c++  java
  • 软件设计师备考笔记——计算机硬件基础2

    本章在综合考试中的平均分数为6分,约总分的8%

    考点归纳

    1、数值的计算

    各进制数相互间的转换、二进制的特点、原码、反码、补码、移码的特点、数值的表示范围

    2、计算机系统的组成

    计算机包含的部件、常见的寄存器及各寄存器的作用重点、计算机的性能和基本工作原理、计算机体系结构的分类、指令系统基础、寻址方式重点、CISC和RISC、流水线工作原理、流水线的计算重点、总线系统

    3、存储系统

    存储器的分类、主存-Cacher的工作原理、命中率计算、存储芯片容量计算重点、虚拟存储器重点、RAID类型和特点、主存、存储器地址编码

    4、可靠性与性能评价

    可靠性计算重点、系统性能评价

    5、校验码

    循环冗余校验码(CRC)、海明效验码、奇偶校验码的基本原理

    6、输入输出

    常见的I/O设备、I/O控制方式

    一、主存储器

    存储器是计算机系统中的记忆设备,用来存放程序和数据。
    计算机中全部信息,包括输入的原始数据、计算机程序、中间运 行结果和最终运行结果都保存在存储器中。

    存储器分为:
    寄存器
    Cache(高速缓冲存储器)
    主存储器
    辅存储器

    一、存储器的存取方式

    在这里插入图片描述

    在这里插入图片描述

    二、存储器的性能

    • 存取时间:对于随机存取而言,就是完成一次读/写所花的时 间;对非随机存取,就是将读/写装置移动到目的位置所花的 时间。
    • 存储器带宽:每秒能访问的位数。通常存储器周期是纳秒级 (ns)。计算公式是:1/存储器周期×每周期可访问的字节数。
    例如:存储器周期是200ns,每个周期可访问4B,则带宽 =1s/200ns×(4Bx8)=160Mbps。 
    
    • 数据传输率:每秒输入/输出的数据位数。 对于随机存取而言,传输率R=1/存储器周期。

    例:地址编号从80000H到BFFFFH且按字节编址的内存容量为 ( B )KB,若用16K*4bit的存储芯片够成该内存,共需( C )片。
    A.128 B.256 C.512 D.1024
    A.8 B.16 C.32 D.64

    三、主存储器

    (1)主存储器的种类

    • 1.RAM:随机存储器,可读/写,只能暂存数据,断电后数据丢失。

      • SRAM:静态随机存储器,在不断电时信息能够一直保持,读 写速度快,生产成本高,多用于容量较小的高速缓冲存储器。
      • DRAM:动态随机存储器,需要定时刷新以维持信息不丢失,读写速度较慢,集成度高,生产成本低,多用于容量较大的主存储器。
    • 2.ROM:只读存储器,出厂前用掩膜技术写入,常用于存放BIOS和微程序控制。

    • 3.PROM:可编程ROM,只能够一次写入,需用特殊电子设备进行写入。

    • 4.EPROM:可擦除的PROM,用某种方法可擦去信息,可写入多次。

    • 5.E2PROM:电可擦除EPROM,可以写入,但速度慢。

    • 6.闪速存储器(Flash Memory):其特性介于EPROM与E2PROM之间。但不能进行字节级别的删除操作。

    • 7.CAM(相联存储器):CAM是一种特殊的存储器,是一种基于数据内容进行访问的存储设备。其速度比基于地址进行读写的方式要快。

    二、辅助存储器

    一、磁带

    磁带是一种顺序存取的设备。
    特点:存储容量大,价格便宜。适合数据的备份存储。

    二、磁盘

    在这里插入图片描述

    三、RAID(独立磁盘冗余阵列)

    把多个相对便宜的磁盘组合起来,成为一个磁盘组,配合数据分散排列的设计,提升数据的安全性和整个磁盘系统效能。

    • 利用多磁盘来提高数据传输率;
    • 通过数据冗余与校验实现可靠性。

    RAID应用的主要技术:分块技术、交叉技术和重聚技术。

    (1) RAID 0级(无冗余和无校验的数据分块)

    RAID 0原理是把连续的数据分散到多个磁盘上存取,数据请求被多个磁盘并行执行,每个磁盘执行属于自己的那部分数据请求。这种数据上的并行操作充分利用总线的带宽,显著提高磁盘整体存取性能。

    • 优点:具有最高的I/O性能和最高的磁盘空间利用率,易管理。
    • 缺点:不提供数据冗余,一旦数据损坏,损坏的数据将无法得到恢复。

    RAID 0特别适用于对性能要求较高,对数据安全要求低的领域, 如图形工作站等。对于个人用户,也是提高硬盘存储性能的绝佳选择。

    (2) RAID 1级(磁盘镜像阵列)

    由磁盘对组成,每个工作盘都有其对应的镜像盘,上面保存着与工作盘完全相同的数据拷贝,具有最高的安全性,但磁盘空间利用率只有50%。RAID 1主要用于存放系统软件、数据及其他重要文件。

    (3) RAID 2级(采用纠错海明码的磁盘阵列)

    RAID 2采用海明码纠错技术,用户增加校验盘来提供纠错和验错功能,磁盘驱动器组中的第1个、第2个、第4个…第2n个磁盘驱动器是专门的校验盘,用于校验和纠错,其余的用于存放数据。 RAID2最少要三台磁盘驱动器方能运作。

    (4) RAID 3级(采用带奇偶校验码的并行传送)

    RAID 3把数据分成多个“块”,按照奇偶校验算法存放在N+1个 硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,第N+1 个硬盘上存储的数据是校验容错信息。

    当N+1个硬盘中的一个硬盘出现故障时,从其他N个硬盘中可以恢复原始数据。所以RAID 3,安全性可以得到保障。

    RAID 3比较适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播放机和大型数据库等。

    (5) RAID 4级(带奇偶校验码的独立磁盘结构)

    RAID4和RAID3很像,不同的是,它对数据的访问是按数据块进行的(一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。一个数据块存储在一个磁盘上),也就是按磁盘进行的,每次是一个盘。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘成为写操作的瓶颈。

    (6) RAID 5级(无独立校验盘的奇偶校验码磁盘阵列)

    RAID 5把数据和奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。
    当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

    RAID5磁盘空间利用率较高:(N-1)/N
    

    RAID4和RAID5使用了独立存取技术,阵列中每一个磁盘都相互独立地操作,所以I/O请求可以并行处理。该技术非常适合于I/O请求率高的应用,不太适用于要求高数据传输率的应用。

    (7) RAID 6级(具有独立的数据硬盘与两个独立的分布式校验方案)

    RAID6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一 种RAID方式,是一种扩展RAID 5等级。
    与RAID 5的不同之处:除了每个硬盘上都有同级数据XOR校验区外, 还有一个针对每个数据块的XOR校验区。当前盘数据块的校验数据不是存在当前盘而是交错存储的,每个数据块有了两个校验保护, 所以RAID 6的数据冗余性能相当好。
    但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。

    (8) RAID 10级

    把RAID0和RAID1技术结合起来,即RAID0+1 是磁盘分段及镜像的结合,结合了RAID0及RAID1的优点。

    它采用两组RAID0的磁盘阵列互为镜像,也就是它们之间又成为 一个RAID1阵列。

    三、Cache 存储器

    Cache(高速缓冲存储器)

    高速缓冲存储器是位于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于 CPU的速度。但其成本更高,因此Cache的容量要比内存小得多。
    Cache存储了频繁访问内存的数据。

    (1) Cache原理、命中率、失效率
    使用Cache改善系统性能的主要依据是程序的局部性原理。
    在这里插入图片描述

    命中率、失效率
    Cache的访问命中率为h(通常1-h就是Cache的失效率),Cache的 访问周期时间是t1,主存储器的访问周期时间是t2,则整个系统的平均访存时间就是:t3=h x t1+(1-h)x t2

    在这里插入图片描述

    (2) Cache存储器的映射机制

    分配给Cache的地址存放在一个相联存储器(CAM)中。CPU发生 访存请求时,会先让CAM判断所要访问的数据是否在Cache中, 如果命中就直接使用。这个判断的过程就是Cache地址映射,这 个速度应该尽可能快。

    常见的映射方法有:

    • 直接映射
    • 全相联映射
    • 组相联映射

    1、直接映射

    是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上去。
    Cache的行号 i和主存的块号 j 有函数关系:

    i = j % m(其中m为Cache总行数)
    

    在这里插入图片描述

    例:某Cache容量为16KB(可用14位表示),每行的大小为16B (即可用4位表示),则说明其可分为1024行(可用10位表示)。 主存地址的低4位为Cache的行内地址,中间10位为Cache行号。 如果内存地址为1234E8F8H,那么最后4位就是1000(对应十六进 制数的最后一位),而中间10位,则应从E8F(1110 1000 1111)中 获取,得到10 1000 1111 。内存地址为1234E8F8H的单元装入的 Cache地址为10 1000 1111 1000。

    2、全相联映射

    将主存中任一主存块能映射到Cache中任意行(主存块的容量等 于Cache行容量)。
    根据主存地址不能直接提取Cache页号,而是需要将主存块标记与Cache各页的标记逐个比较,直到找到标记符合的页(访问Cache命中),或者全部比较完后仍无符合的标记(访问Cache失 败)。

    在这里插入图片描述

    主存块标记与Cache各页的标记逐个比较,所以这种映射方式 速度很慢,失掉了高速缓存的作用,这是全相联映射方式的 最大缺点。如果让主页标记与各Cache标记同时比较,则成本太高。

    3、组相联映射

    是前两种方式的折中方案。它将Cache中的块再分成组,各组之间是直接映像,而组内各块之间则是全相联映像。

     主存地址=区号+组号+组内块号+块内地址号
    

    在这里插入图片描述

    例:容量为64块的Cache采用组相联方式映射,字块大小为128个 字,每4块为一组。若主存容量为4096块,且以字编址,那么主 存地址应该为多少位?主存区号为多少位?

    首先根据主存块与Cache块的容量必须一致,得出内存块大小也 是128个字,因此共有128x4096个字,即219 (27x212)个字,因此需 19位主存地址;其中:块内地址号为7位,以表示128个字。一组 为4块,则组内块号用2位表示。Cache容量为64块,共分16组, 故组号需要4位地址表示。剩余的即为区号,为6位。

    (3) Cache淘汰算法

    当Cache数据已满,并且出现未命中情况时,就要淘汰一些老的数据,更新一些新的数据进入Cache 。选择淘汰哪些数据的方法就是淘汰算法。
    常见的方法有三种:

    • 随机淘汰算法
    • 先进先出淘汰算法( FIFO)
    • 最近最少使用淘汰算法(LRU)

    其中平均命中率最高的是LRU算法。

    (4) Cache存储器的写操作

    在使用Cache时,需要保证其数据与主存一致,因此在写Cache时 就要考虑与主存间的同步问题,通常使用以下三种方法:

    • 写直达:当Cache写命中时,Cache与主存同时发生写修改。
    • 写回:当CPU对Cache写命中时,只修改Cache的内容而不立即写入主存,当此行被换出才写回主存
    • 标记法:数据进入Cache后,有效位置1;当CPU对该数据修改时, 数据只写入主存并将该有效位置0。当要从Cache中读取数据时 要测试其有效位,若为1则直接从Cache中取数,否则从主存中 取数。
    欢迎查阅
  • 相关阅读:
    redhat 找不到eth0等网卡设备
    oracle12.2 windows 安装卸载重新学习
    Ubuntu官方推荐U盘镜像写入工具(转载别人的)
    linux sh 脚本获取命令结果变变量然后post
    img图片过长自动截取隐藏
    python 数字类型
    Pycharm 常用快捷键 转自 暮良文王
    #python输入输出
    勤学如春起之苗,不见其增日有所长。缀学如磨刀之石,不见其损日有所亏
    感冒了,好难受
  • 原文地址:https://www.cnblogs.com/gh110/p/11827743.html
Copyright © 2011-2022 走看看