系统分析师之计算机组成与体系结构

知识点:


  1. 各种计算机体系结构的特点和应用:采用对称多处理(Symmetrical Multi-Processing,SMP)技术构成系统的结构和主要特点,SMP的适合场所;采用海量并行处理结构(Massive Parallel Processing,MPP)技术构成系统的结构和特点,MPP的适用场所。
  2. 构成计算机的各类部件的功能及其相互关系。


计算机的组成与分类

掌握计算机的基本组成和Flynn分类。

计算机主要有6种部件:

(1)控制器:分析和执行指令的部件。所依据的是机器指令。包括程序计数器、指令寄存器、指令译码器、时序部件、微操作控制信号部件和中断机构。

(2)运算器:(Arithmetic and Logic Unit,ALU)算术逻辑单元,对数据进程算数运算和逻辑运算。由ALU、通用寄存器、多路转换器、数据总线组成。

(3)内存储器(内存、主存):存储机器指令和数据。

(4)外存储器(外存、辅存):存储持久化信息。

(5)输入设备

(6)输出设备

注意:现在控制器和运算器统称中央处理器(Central Processing Unit,CPU)


计算机分类

Flynn根据不同的指令流-数据流组织形式,把计算机分成4类:


  1. 单指令流单数据流(Single Instruction stream and Single Data stream,SISD):流水线方式的单处理机
  2. 单指令流多数据流(Single Instruction  stream and Multiple Data stream,SIMD):并行处理机(阵列处理机),相联处理机
  3. 多指令流单数据流(Multiple Instruction stream and Single Data stream,MISD):流水线计算机
  4. 多指令流多数据流(Multiple Instruction stream and Multiple Data stream,MIMD):多处理剂系统,包括MPP和SMP

多级存储器体系

(1)为什么要采用多级存储器体系?

为了确保能够获得尽可能高的存储速率,同时保持较低的成本。

(2)常见的存储器有哪些?

寄存器,Cache(高速缓存),主存储器,磁盘存储器,光盘存储器,磁带等。


数据存取方式:


  1. 顺序存取:数据以记录的形式进程组织,对数据的访问必须按特定的现行顺序进行。典型例子是磁带。
  2. 直接存取:每个数据块拥有唯一的地址标识,读写装置可以直接移动到目的数据块所在的位置进行访问。存取时间是可变的。典型例子是磁盘存储器。
  3. 随即存取:每一个可寻址单元都有自己唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问。典型例子是主存储器。
  4. 相联存取:随即存取的一种形式,但选择某一单元进行读写是取决于其内容而不是地址。典型例子是Cache。

主存储器


也叫主存或内存,根据工艺和技术不同,可分为以下几种:


  1. RAM(Random Access Memory,随机存取存储器):可读可写,断电丢失数据,用于暂存数据。又分为DRAM(动态RAM)和SRAM(静态RAM)。DRAM信息会逐渐消失,需要定时刷新,优点是便宜。SRAM速度快,不用刷新,但是价格高。
  2. ROM(Read Only Memory,只读存储器):用于存放系统程序BIOS(Basic Input Output System)和微程序控制。
  3. PROM(Programmable ROM,可编程ROM)
  4. EPROM(Erasable PROM,可擦除可编程ROM)
  5. E^2PROM(Electrically EPROM,电可擦除可编程ROM)
  6. flash memory(闪存):性能介于EPROM和 E^2PROM之间。
  7. CAM(Content Addressable Memory,相联存储器):基于数据内容进行访问的存储设备(参见Cache技术)。速度最快。


辅存

容量大、可靠性高、价格低。

(1)磁带

顺序存取设备,存取时间长,便宜,容量大,便于携带。
(2)磁盘

磁盘的数据存放于磁道。磁道是磁盘上的一组同心圆,宽度与磁头的宽度相同。

沿磁盘半径方向,每英寸长度内磁道的数目称为道密度(道/英寸,TPI),最外层为0道。

沿磁道方向,单位长度内存储二进制信息的个数称为位密度。

每个磁道存储的位数都是相同的,其位密度由外向内而增加。

磁盘上的数据以块为形式进行存放,称为扇区(sector)。

所有盘面上相同位置的磁道组称为一个柱面(每个柱面有n个磁道),若每个磁盘有m个磁道,则该组磁盘有m个柱面。


磁盘存储容量=n*t*s*b

其中:n为保存数据总盘面数,t为每面磁道数,s为每道扇区数,b为每个扇区存储字节数。


磁盘的存取时间包括寻道时间和等待时间。

寻道时间为磁头移动到目标磁道所需时间(半径方向上)。

等待时间为等待读写的扇区旋转到磁头下方所用时间,一般选用旋转半周所用时间为平均等待时间(磁道方向上)。


磁盘的数据传输速率:磁头找到地址后,单位时间内写入或读出的字节数。

R=TB/T

其中:TB为一个磁道上记录的字节数,T为旋转一周所用时间,R为数据传输速率。


(3)RAID存储器

廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks,RAID)。

(4)光盘

CD(Compact Disk,压缩盘),CD-ROM(Copmact Disk Read-Only Memory),CD-I(CD-Interactive),DVD(Digital Video Disc),EOD(Erasable Optical Disk)

优点:便宜、容量大、可靠性高、便于携带、制作简单

缺点:只读,存取时间长


Cache

提高CPU数据输入输出速率。容量小、速度快、价格高。

(1)Cache基本原理

依据程序的局部性原理。

h表示对Cache的访问命中率。1-h表示失效率(未命中率)。

命中率提高一小步,系统平均存储周期将会缩短。


未使用Cache时,某操作的存取时间为 m,m为内存读写时间

使用了Cache时,该操作的存取时间为m*(1-h) + h * n,h为Cache命中率,n为Cache读取时间


例如:某计算机主存读写时间为100ns,有一个指令和数据合一的Cache,已知该Cache读写时间的10ns,取指令命中率为98%,取数命中率为95%。在执行某类程序时,约有1/5指令需要存取一个操作数,则每条指令的平均访存时间为:

(1-98%)*100ns + 98%*10ns + 1/5 * ((1-95%)*100ns + 95%*10ns) =  14.7ns


(2)映射机制

当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程被称为Cache的地址映射(映像)。常见的映射有直接映射、全相联映射和组相联映射。

a)直接映射

使用随机存储器作为Cache存储器。

多对一的映射关系,一个主存块只能复制到Cache的一个特定位置上去。

优点是实现简单,缺点是不够灵活,Cache的存储空间可能得不到充分利用。

b)全相联映射

使用相联存储器组成Cache存储器。主存的每一页都可以映射到Cache的任一页。

优点是方式灵活,缺点是速度慢,电路难以实现。

c)组相联映射

直接映射和全相联映射的折中方案。

将Cache中的块再分组,通过直接映射决定组号,通过全相联映射决定Cache中的块号。

主存内一组内的块数与Cache的分组数相同。

(3)淘汰算法

当Cache产生一次访问未命中之后,相应的数据同时读入CPU和Cache。当Cache已存满数据后,新数据必须淘汰Cache中的某些旧数据。最常用的淘汰算法有随即淘汰法、先进先出法(First In and First Out,FIFO)和最近最少使用淘汰法(Least Recently Used,LRU)。平均命中率最高的是LRU算法。

(4)写操作

需要保证缓存在Cache中的数据域内存中内容一致。

a)写直达(write through)。写Cache时,数据同时写回内存。

b)写回(write back)。CPU修改Cache的某一行后,相应的数据并不立即写入内存单元,而是当该行从Cache中被淘汰时,才把数据写回内存中。

c)标记法。


输入输出接口

(1)输入输出方式

a)程序控制方式

CPU直接利用I/O指令编程,实现数据的输入输出。

b)程序中断方式

CPU利用中断方式完成数据的输入/输出,当I/O系统与外设交换数据时,CPU无需等待也不必查询I/O状态,当I/O系统完成数据传输后以中断信号通知CPU。

c)DMA方式

使用DMA控制器(Direct Memory Access Controler,DMAC)来控制和管理数据传输。

d)通道方式

通过一种通过执行通道程序管理I/O操作的控制器。

e)输入输出处理机

也叫外围处理机,具有丰富的指令系统和完善的中断系统。

(2)总线和接口

总线是一组互连和传输信息(指令、数据和地址)的信号线是连接计算机系统各个部件之间的桥梁。

a)总线分类

按相对于CPU或其他芯片的位置可分为内部总线(CPU或其他芯片内部)和外部总线。总线速度是制约计算机整体性能的最大因素。

按总线功能可分为地址总线、数据总线和控制总线3类。

按总线在微机中的位置分为机内总线或机外总线(外设标准)。

按功用分为局部总线、系统总线和通信总线。

(3)接口分类

根据外设与I/O模块交换数据的方式,系统接口分为串行接口和并行接口。串行接口一次只能传送1位信息,并行接口一次可传送多位信息。

串行通信又可分为异步通信方式和同步通信方式。

(4)常见接口

a)ESDI(Enhanced Small Drive Interface,加强型小型设备接口),5~10Mbps。

b)IDE磁盘接口,分为普通IDE(1.5Mbps)和增强型IDE(EIDE)接口(150Mbps)。

c)SCSI,大容量存储设备、音频设备和CD-ROM驱动器的一种标准。最大传输速率为5Gbps(640MB/s)。

d)PCMCIA(Personal Computer Memory Card International Assocation,个人计算机内存卡)。广泛应用于计算机的接口标准。又叫PC Card接口。

e)IEEE-1394,又叫i.Link或FireWire。初始数据传输速率为200Mbps,现在有800Mbps。

f)USB。通用串行总线接口。支持热拔插,最多可支持127个设备。USB1.0速率为12Mbps,USB2.0速率为480Mbps,USB3.0为4.8Mbps。


各种体系结构

(1)精简指令系统计算机

复杂指令系统计算机(Complex Instruction Set Compuer,CISC)主要特点:

 

  • 指令数量众多,100~250条左右。
  • 指令使用频率相差悬殊
  • 支持多种寻址方式
  • 变长的指令
  • 指令可以对存储单元中的数据进行直接处理。

精简指令系统计算机(Reduced Instruction Set Computer,RISC),简化指令,减少指令执行周期数。

主要特点:

 

  • 指令数量少
  • 指令寻址方式少
  • 指令长度固定
  • 只提供Load/store指令访问存储器
  • 以硬布线逻辑控制为主。
  • 单周期指令执行
  • 优化的编译器

采用RISC技术的CPU硬件具有如下特点:寄存器数量多;采用流水线组织;控制器的实现采用硬布线控制逻辑电路。


CISC和RISC的简单对比
  CISC RISC
指令条数 只选取最常见的指令
指令复杂度
指令长度 变化 短、固定
指令执行周期 随指令变化 大多在几个机器同期完成
指令格式 复杂 简单
寻址方式 极少
设计访问主存指令 只有Load和Store
通用寄存器数量 一般 大量
译码方式 微程序控制 硬件电路
对编译系统要求


(2)流水线技术

通过并行硬件来提高系统性能的常用方法。将一件任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构来复杂执行,而这些执行机构可以同时并行工作。

a)参数计算

假设有某种类型的任务,共可分成n个子任务,每个子任务所需时间t,则完成该任务所需时间为nt。以传统方式,完成k个任务所需时间为knt;使用流水线技术执行,则花费时间为nt + (k-1)*t。除了第一个任务需要完整的时间外,其他都通过并行,节省了大量的时间。

如果每个子任务所需时间不同,则其速度取决于执行顺序中最慢的那个,

例如:指令流水线把一条指令分为取指、分析和执行3部分,且3部分的时间分别为2ns,3ns,1ns,那么最长的是3ns,在设计流水线周期时,以执行时间最长的那个为标准,100条指令全部取完的时间为:(2+3+1)+(100-1)*3 = 303ns。


流水线的吞吐率(ThroughPut rate,TP)是指单位时间内流水线锁完成的任务数量或输出的结果数量。

流水线的加速比(speedup rate)指完成同一批任务,不适用流水线所用的时间与使用流水线所用的时间之比。

在上述例子中,303ns的时间内完成了100条指令,从指令角度上看,该流水线的吞吐率为10^9/3.03 = 3.3*10^8/s,加速比为600/3.03 = 2。

b)影响流水线的主要因素

 

  • 转移指令,前面的转移指令没完成,流水线就无法确定下一条指令的地址,也就无法向流水线中添加这条指令。
  • 共享资源访问冲突
  • 响应中断

c)非线性流水线

单流水线方式:nt+(k-1)*t

多流水线方式:nt + (k/m-1)*t

(3)并行处理

a)超级标量处理机,配置了多个功能部件和指令译码电路,采取了多条流水线,可以同时执行多个操作。

b)超级流水线处理机。

c)超长指令字处理机,单指令流多操作码多数据的系统结构。

d)向量处理机。

e)多处理机系统

f)大规模并行处理机,也叫阵列处理机,使用按地址访问的随即存储器,以SIMD方式工作,主要用于要求大量高速进行向量矩阵运算的应用领域。MPP是由众多微处理器组成的大规模并行系统,基于RISC微处理器,被用作开发万亿次甚至更高速的并行系统。

g)对称多处理机,SMP也基于RISC微处理器,与MPP最大的差别就是存储系统。SMP有一个统一共享主存空间,而MPP则是每个微处理器都拥有自己的本地存储器。

按多处理机之间连接的紧密程度,又可分为紧耦合系统和松耦合系统。

紧耦合系统又称为直接耦合系统,是指各处理机之间通过互联网络共享内存。用于并行作业中的多任务,一般处理机是同构的,SMP属于紧耦合系统。

松耦合系统又称为间接耦合系统,是指各处理机间通过共享I/O子系统、通道或通信线路实现机间通信,不共享内存。适合粗粒度的并行计算,MPP属于松耦合系统。

(4)互联网络(ICN)

连接一个计算机系统各个处理单元、存储模块以及各种外部设备,在系统软件控制下,使各个处理单元或各个部件相互通信的硬件网络结构。

并行处理机互联方法:

a)恒等置换:相同编号的输入端与输出端一一对应。左右一样。

b)交换置换:实现二进制地址编号中第0位位值不同的输入端和输出端之间的连接。第0位不一样,其他都一样。

c)方体置换:第k位不一样

d)均匀洗牌置换(Shuffle):循环左移,最高位放置在最低位上。

e)蝶式置换:最低位和最高位换位置。

f)位序颠倒置换:全部反向。

 

 

猜你喜欢

转载自housen1987.iteye.com/blog/1328966