1.6 计算机总线结构
**总线:一种连接多个设备的信息传递通道。
典型的计算机总线结构由内部总和外部总线组成。
Ø 内部总线用于连接CPU内部各个模块;
Ø 外部总线用于连接CPU、存储器和I/O系统,又称为系统总线。
系统总线:可分为 数据总线、地址总线、控制总线3类。
数据总线:各个模块间传送数据的通道;
地址总线:传递地址信息,来指示数据总线上的数据的来源或去向,CPU根据地址信息从相应的存储单元读出数据或向该存储单元写入数据;
控制总线:控制数据总线和地址总线。
多层总线结构:大多数计算机系统都使用多总线体系结构进行互联。它的优点就在于根据各个部件对数据传输率的不同要求,用不同层次的总线进行互联,以适应各自的特性与需求,不同层次目的总线相对独立,允许使用不同的信号和以不同的速率运行。对某一层次总线结构的修改不会影响其他层次的总线结构。
常用的微机总线:ISA(工业标准体系结构)、EISA(扩展ISA)、VESA、PCI(外围元件互联结构)总线。
例题:
某系统总线的一个总线周期包含3个时钟周期,每个总线周期中可以传送32位数据。若总线的时钟频率为33MHz,则总线带宽为 (55) 。
(55) A.132MB/s B.33MB/s C.44MB/s D.396MB/s
1.7 体系结构其他的知识
1**.流水线技术**
流水线技术其实是通过并行硬件来提高系统性能的常用方法,其基本思想在冯·诺依曼第一台存储程序计算机中已经提出。
流水线技术的基本原理实际上是一种任务分解的技术。把一件任务分解成若干顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时并行的工作。在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。
流水线技术包括指令流水线和运算操作流水线。需要注意的是,对流水线技术而言,其对性能的提高程度取决于其执行顺序中最慢的一步。
在实际情况中,流水线各个阶段可能会相互影响,阻塞流水线,使其性能下降。影响流水线性能的主要因素有两个:执行转移指令和共享资源冲突。
在实际处理中,为了使流水线能维持最大的吞吐率,同时确保流水线各段不会产生冲突,就需要对流水线进行很好的控制。一般采用预留表来预测冲突。预留表是从流水线设计直接推导出来的,表中列出的是流水线上各个部件操作的时间信息,每一行代表流水线中的一段,而每一列则代表一个时间步。
流水线周期:
另外,流水线计算机处理中断的方法通常有两种。
Ø 不精确断点法
Ø 精确断点法
2**.RISC技术**
RISC(reduced instruction set computer)即精简指令集计算机,它的主要特点是CPU的指令集大大简化,从而减少指令的执行周期数,提高运算速度。
一般来说,CPU的执行速度受三个因素的影响:
Ø 程序中的指令数I
Ø 每条指令执行所需的周期数CPI
Ø 每个周期的时间T
它们之间的关系可表示为:程序执行时间=I*CPI*T
与CISC(复杂指令集系统)相比,RISC具有以下的特点。
CISC | RISC |
1)指令数量众多
| 1) 指令数量少
|
<p>
RISC采用窗口重叠技术完成寄存器的组织和参数的传递,对于RISC的流水线的处理是采用延迟转移的方法解决流水线阻塞和互锁。
</p>
<p>
另外,采用RISC技术的CPU硬件一般具有寄存器数量多、采用流水线组织、控制器的实现采用硬布线逻辑电路等特点。
</p>
<p>
<strong>3</strong><strong>.并行处理技术</strong>
</p>
<p>
并行性(parallelism)就是指在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作,只要时间上相互重叠,就都蕴含了并行性。并行性有两重含义:
</p>
<p>
Ø 同时性(simultaneity):两个或两个以上事件在同一时刻发生
</p>
<p>
Ø 并发性(concurrency):两个或两个以上事件在同一时间间隔内发生
</p>
<p>
并行性有不同的层次,从不同的角度看其层次结构也不一样。
</p>
<p>
<strong>程序执行的并行性</strong>
</p>
<p>
Ø 指令内部并行:一条指令内的微操作之间的并行;
</p>
<p>
Ø 指令间并行:多条指令的并行执行;
</p>
<p>
Ø 任务或进程并行:软件的进程任务分解
</p>
<p>
Ø 作业或程序并行:软件和硬件的分配
</p>
<p>
<strong>数据处理的并行性</strong>
</p>
<p>
Ø 位串字串:一次只对一个字的一位进行处理
</p>
<p>
Ø 位并字串
</p>
<p>
Ø 位串字并
</p>
<p>
Ø 位并字并(全并行)
</p>
<p>
<strong>操作并行性</strong>
</p>
<p>
Ø 存储器操作并行:多个存储单元同时被访问
</p>
<p>
Ø 处理器操作步骤并行:指令的执行步骤重叠
</p>
<p>
Ø 处理器操作并行:大量的处理单元按同一指令对多个数据操作;
</p>
<p>
提高计算机系统并行性的措施主要有3类。
</p>
<p>
◆时间重叠
</p>
<p>
在并行性概念中导入时间因素,让多个处理过程在时间上错开,轮流重叠的使用同一套硬件设备的各个部件,以加快硬件周转,提高处理速度。
</p>
<p>
◆资源重复
</p>
<p>
在并行性概念中导入空间因素,基于“以数量取胜”的原则,通过重复设置硬件资源来提高系统可靠性或性能。
</p>
<p>
◆资源共享
</p>
<p>
多个用户按一定时间顺序轮流的使用同一套资源,以提高其利用率,从而相应的提高整个系统的性能。
</p>
<p>
<strong>并行处理机(也称为阵列处理机)</strong>使用按地址访问的RAM,以SIMD方式工作,主要用于要求大量高速进行向量或矩阵运算的应用领域。并行处理机的并行性来源于资源重复,它依靠操作级的并行处理来提高系统性能。
</p>
<p>
根据存储器的不同组织形式,并行处理机有两种典型的结构。
</p>
<p>
Ø 具有分布式存储器的并行处理机
</p>
<p>
Ø 具有集中共享存储器的并行处理机
</p>
<p>
<strong>并行性处理机的特点:</strong>
</p>
<p>
Ø 强大的向量运算能力
</p>
<p>
Ø 并行方式
</p>
<p>
Ø 适用于专门领域,如矩阵运算、向量运算
</p>
<p>
Ø 标量运算速度对系统性能的影响也很明显
</p>
<p>
Ø 具有向量化功能的高级语言编译程序有助于提高并行处理机的通用性,以及减少编译时间
</p>
<p>
例题:
</p>
<p>
利用并行处理技术可以缩短计算机的处理时间,所谓并行性是指__(51)__。可以采用多种措施来提高计算机系统的并行性,它们可分成三类,即__(52)__。
</p>
<p>
提供专门用途的一类并行处理机(亦称阵列处理机)以__(53)__方式工作,它适用于__(54)__。多处理机是目前较高性能计算机的基本结构,它的并行任务的派生是__(55)__。
</p>
<p>
(51):A.多道程序工作 B.多用户工作
</p>
<p>
C.非单指令流单数据流方式工作 D.在同一时间完成两种或两种以上工作
</p>
<p>
(52):A.多处理机,多级存储器和互连网络 B.流水结构,高速缓存和精简指令集
</p>
<p>
C.微指令,虚拟存储和I/O通道 D.资源重复,资源共享和时间重叠。
</p>
<p>
(53):A.SISD B.SIMD C.MISD D.MB4D
</p>
<p>
(54):A.事务处理 B.工业控制 C.矩阵运算 D.大量浮点计算
</p>
<p>
(55):A.需要专门的指令来表示程序中并发关系和控制并发执行
</p>
<p>
B.靠指令本身就可以启动多个处理单元并行工作
</p>
<p>
C.只执行没有并发约束关系的程序
</p>
<p>
D.先并行执行,事后再用专门程序去解决并发约束
</p>
<p>
51:D 52: D 53: B 54: C 55: A
</p>
<p>
<strong> 4</strong><strong>.多处理机</strong>
</p>
<p>
多处理机具有两个或两个以上的处理机,共享输入/输出子系统,在统一的操作系统控制下,通过共享主存或高速通信网络进行通信,协同求解一个大而复杂的问题。
</p>
<p>
多处理机通过利用多台处理机进行多任务处理来提高速度,利用系统的重组能力来提高可靠性、适应性和可用性。多处理机是新一代计算机结构的基本特征。
</p>
<p>
多处理机具有共享存储器和分布存储器两种不同的结构。
</p>
<p>
多处理机属于MIMD系统,与SIMD的并行处理机相比有很大差异。其根源在于两者的并行性等层次不同,多处理机要实现的是更高一层的作业任务间的并行。
</p>
<p>
大规模并行处理机MPP是由众多的微处理器组成的大规模并行处理系统。对称多处理机SMP与MPP最大的差别在于存储系统,SMP有一个统一的共享主存空间,而MPP则每个微处理器都拥有自己本地存储器。
</p>
<p>
MPP和SMP都是基于RISC处理器的。
</p>
<p>
<strong>1.8 </strong><strong>计算机的安全、可靠性评价</strong> *<软件设计师>
</p>
<p>
安全与保密
</p>
<p>
数据加密即是对明文(未经加密的数据)按照某种的加密算法(数据的变换算法)进行处理,而形成难以理解的密文(经加密后的数据)。这是计算机安全中最重要的技术措施之一。
</p>
<p>
数据加密和解密是一对可逆的过程,其关键在于密钥的管理和加密/解密算法。通常加密/解密算法的设计需要满足3个条件:
</p>
<p>
Ø 可逆性
</p>
<p>
Ø 密钥安全
</p>
<p>
Ø 数据安全
</p>
<p>
按照加密密钥K<sub>1</sub>和解密密钥K<sub>2</sub>的异同,分为两种密钥体制,比较如下:
</p>
<table border="0" cellspacing="0" cellpadding="0" width="543">
<tr>
<td width="120" valign="top">
密钥体制
</td>
<td width="228" valign="top">
特点
</td>
<td width="195" valign="top">
典型算法
</td>
</tr>
<tr>
<td width="120">
秘密密钥加密体制(K<sub>1</sub>=K<sub>2</sub>)或对称密钥体制
</td>
<td width="228" valign="top">
1. 加密与解密采用相同密钥</p>
<p>
2. 加密速度快,通常用于加密大批量的数据</td>
<td width="195" valign="top">
1.日本NTT的快速加密标准FEAL</p>
<p>
2.瑞士的国际数据加密算法IDEA
</p>
<p>
3.美国的数据加密标准DES</td> </tr>
<tr>
<td width="120">
公开密钥加密体制(K<sub>1</sub>≠K<sub>2</sub>)或不对称密钥体制
</td>
<td width="228" valign="top">
1.加密和解密使用不同的密钥,其中一个公开,另一个是保密的</p>
<p>
2.加密速度较慢,往往用在少量数据的通信中</td>
<td width="195" valign="top">
1. RSA算法</p>
<p>
2. NTT的ESIGN</td> </tr> </tbody> </table>
<p>
数据完整性保护是数据中加入一定的冗余信息,从而能发现对数据的任何修改、增加或删除。
</p>
<p>
在某些商业或金融领域经常需要一种“数字签名”的技术,防止通信的一方否认或伪造通信内容。数字签名是利用密码技术进行的,其安全性取决于密码体制的安全程度。它的目的是在保证真实的发送方和真实的接受方之间传送真实的信息。
</p>
<p>
数字签名有两个特点:
</p>
<p>
Ø 动态变化,随着密钥和数据的不同而不同
</p>
<p>
Ø 签名和数据不可分离
</p>
<p>
数据加密的安全性在很大程度上取决于密钥的安全性。
</p>
<p>
对于密钥的管理主要包括以下几个方面:
</p>
<p>
Ø 密钥体制的选择
</p>
<p>
Ø 密钥的分发
</p>
<p>
Ø 现场密钥保护
</p>
<p>
Ø 密钥的销毁
</p>
<p>
例题:
</p>
<p>
常规的数据加密标准DES采用__(l)__位。有效密钥对____(2)__位的数据块进行加密。
</p>
<table border="0" cellspacing="1" cellpadding="0" width="94%">
<tr>
<td width="25%">
(1) A. 56
</td>
<td width="25%">
B. 64
</td>
<td width="25%">
C. 112
</td>
<td width="25%">
D. 128
</td>
</tr>
<tr>
<td width="25%">
(2) A. 32
</td>
<td width="25%">
B. 64
</td>
<td width="25%">
C. 128
</td>
<td width="25%">
D. 256
</td>
</tr>
</table>
<p>
1.A 2. B
</p>
<p>
计算机可靠性、可用性和可维护性(computer reliability、availability and serviceability ,RAS)技术和容错技术是研究、设计、生产、评价计算机系统的重要内容。
</p>
<p>
<strong>计算机可靠性</strong>
</p>
<p>
计算机系统的可靠性是指从它开始运行(t=0)到某个时刻t这段时间内能正常运行的概率,用R(t)表示。失效率则是指单位时间内失效的元件数与元件总数的比例,以λ表示。当为λ常数时,可靠性与失效率的关系为:
</p>
<p>
R(t) = e^(-2t)
</p>
<p>
两次故障之间系统能正常工作的时间的平均值称为平均无故障时间:MTBF=1/λ
</p>
<p>
通常用平均修复时间(MTRF)来表示计算机的可维修性,即计算机的维修效率,指从故障发生到机器修复平均所需要的时间。计算机的可用性是指计算机的使用效率,它以系统到执行任务的任意时刻能正常工作的概率A来表示:
</p>
<p>
A=MTBF/(MTBF+MTRF)
</p>
<p>
计算机的RAS技术,就是指用可靠性R、可用性A和可维修性S三个指标来衡量一个计算机系统。
</p>
<p>
常见的计算机系统可靠性数学模型有3种。
</p>
<p>
<strong>串联系统:</strong>
</p>
<p>
该系统由N个子系统组成,当且仅当所有的子系统都能正常工作时,系统才能正常工作。整个系统的可靠性R和失效率λ分别为:
</p>
<p>
可靠性:R=R<sub>1</sub>R<sub>2</sub>…R<sub>n</sub>
</p>
<p>
失效率:λ=λ<sub>1</sub>+λ<sub>2</sub>+…+λ<sub>n</sub>
</p>
<p>
<strong>并联系统:</strong>
</p>
<p>
该系统由N个子系统组成,只要有一个子系统正常工作,系统就能正常运行。整个系统的可靠性R和失效率μ分别为:
</p>
<p>
可靠性:R=1-(1- R<sub>1</sub>)(1-R<sub>2</sub>)…(1- R<sub>n</sub>)
</p>
<p>
失效率μ = 1/[(1/λ)sum(1/j)] 其中j=1..N
</p>
<p>
<strong>计算机可用性: </strong>是指该系统在某一时刻提供有效使用的程度,以可用度A表示,可用度是在任意指定时刻系统能正确运行的概率。一般情况下,系统发生故障是可以修复的,,可用下列公式计算:A=MTBF/(MTBF+MTTR),其中MTBF为平均无故障时间,MTTR是平均修复时间。平均修复时间是指多次故障中,从开始失效到系统修复所用的平均时间,可用下式计算:
</p>
<p>
<strong>系统修复时间=申请维修时间+等待时间+维修时间+恢复时间</strong>
</p>
<p>
提高计算机可用性的途径是:提高计算机可靠性;提高计算机的可维护性,完善故障诊断与测试技术以及系统恢复和部件更换技术;提高维护人员的素质。
</p>
<p>
<strong>计算机可维护性:</strong>是指系统失效后在规定时间内可修复到规定功能的能力,参数修复率和平均修复时间MTTR。
</p>
<p>
<strong>故障诊断与容错:</strong>容错是指计算机系统在运行过程中发生一定的硬件故障或软件故障时仍能保持正常工作而不影响正确结果的一种性能或措施。
</p>
<p>
计算机的故障根据表现特点可以分为三类。
</p>
<p>
Ø 永久性故障:表现出稳定性和持续性,特点是故障可重复出现。
</p>
<p>
Ø 间歇性故障:表现出不稳定性和对系统状态的依赖性
</p>
<p>
Ø 瞬时性故障:偶然原因引起的短暂故障
</p>
<p>
Ø 软件故障:来源于程序错误
</p>
<p>
故障诊断包括故障检测和故障定位两个方面。通常,故障诊断的主要方法有三种:
</p>
<p>
Ø 对电路直接进行测试的故障定位测试法
</p>
<p>
Ø “检查诊断程序”法
</p>
<p>
Ø 微诊断法
</p>
<p>
容错是采用冗余方法来消除故障影响。针对硬件,有时间冗余和元器件冗余两种方法。主要的容错技术有简单的双机备份和操作系统支持的双机容错。
</p>
<p>
<strong>计算机性能评价:</strong>
</p>
<p>
计算机性能评测是为了一定目的、按照一定步骤、选用一定的度量项目通过建模、计算和实验,对计算机性能进行测试并对测试结果作出评价的技术。
</p>
<p>
<strong>计算机性能评测的度量项目:</strong>
</p>
<p>
n 性能指标:
</p>
<p>
Ø 工作量类,吞吐率、指令执行速率和数据处理速率;
</p>
<p>
Ø 响应性类:响应时间
</p>
<p>
Ø 利用率: 资源利用率
</p>
<p>
n 可靠性、可用性和可维护性
</p>
<p>
n 环境适应性
</p>
<p>
n 兼容性和开放性
</p>
<p>
n 可扩充性
</p>
<p>
n 安全性
</p>
<p>
n 性能价格比
</p>
<p>
计算机性能评估的常用方法主要有:
</p>
<p>
Ø 时钟频率和指令执行速度:可用于比较和评价同一系统上求解同一问题的不同算法的性能。
</p>
<p>
Ø 等效指令速度法:通过各种指令在程序中所占的比例进行计算得到的
</p>
<p>
Ø 核心程序法:
</p>
<p>
Ø 数据处理速率: 主要对CPU和主存数据处理速度进行计算得出的
</p>
<p>
基准程序法(benchmark)是目前一致承认的测试性能较好方法,有多种多样的基准程序。
</p>
<p>
Ø 整数测试程序
</p>
<p>
Ø 浮点测试程序
</p>
<p>
Ø SPEC基准程序
</p>
<p>
Ø TPC基准程序
</p>