(教材资料)计算机组成原理_第1页
(教材资料)计算机组成原理_第2页
(教材资料)计算机组成原理_第3页
(教材资料)计算机组成原理_第4页
(教材资料)计算机组成原理_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理 computer organization principle,本章要点,计算机系统结构是指从机器语言这一级,程序员所看到的计算机属性。计算机系统的发展是围绕着元器件技术和体系结构两个方面发展的。 本章的要点是先介绍对于计算机体系结构具有决定性影响的几种并行技术,然后介绍几种非Neumann体系结构,最后介绍人们在计算机元器件技术方面进行的一些新探索和新成果。,目录,91 计算机体系结构概述 92 并行计算机系统概述 93 指令级并行技术流水线技术 94 线程级并行技术 95 非冯诺依曼体系的计算机系统 96 新型计算机元器件技术,9.1 计算机体系结构概述 9.1.1 计算机体系结构的发展,当前计算机体系结构主要沿着两个方向发展。 第一个发展方向是改变冯诺依曼机器的串行执行模式,第一个发展方向控制驱动方式下并行处理体系结构的计算机,已经取得了重大进展和一些可喜的成果。不论是硬件技术还是相应的软件技术都已经相当成熟,并有许多产品走向市场,获得了广泛的应用,它们代表了当前计算机体系结构发展的主流。 第二个发展方向是改变冯诺依曼机器的控制驱动方式。除了数据流计算机已经有了一些成型的计算机以外,大多数仍处于探索、研究阶段,还需进行大量的工作。 本章介绍的重点是第一个发展方向的相关成果。,9.1.2 计算机体系结构的分类,1. SISD系统 SISD系统代表了传统的冯.诺依曼机器的体系结构, 即大多 数的单处理器系统。但都是以单一的指令流从存储器取指 令, 以单一的数据流从存储器取操作数和将结果写回存储器。 2. SIMD系统 典型的SIMD系统有一个控制部件, 但有多个处理部件。所 有被“激活的”处理部件在同一时刻执行同一条指令, 即单 指令流。但在每台流动的处理部件执行这条指令时所用的数 据是从它本身的存储器模块中读取的,故各处理部件加工的 数据是不同的, 即多数据流。SIMD的典型代表是阵列处理机,3.MIMD系统 4.MISD系统,典型的MIMD系统由多台独立的处理机(包含处理器和控制器)、多个存储模块和一个互连网络组成;每个处理机执行自己的指令(多指令流), 操作数据也是各取各的(多数据流)。大多数现代的并行计算机都属于这一类。 MISD系统有几个处理部件, 各配置了相应的控制部件。各个处理部件接收不同的指令, 多条指令同时在一份数据上进行操作。这种计算机体系结构是一种比较奇怪的组合。关于MISD系统的界定, 众说不一, 有的认为根本就不存在MISD系统;有的把流水线处理机划分在这一类。,9.2并行计算机系统概述,近年来, 计算机并行技术取得了重大进展, 其主要原因有: 1.人们对计算机性能的要求也越来越高。 2.大量商品化的处理器的出现为设计并行计算机系统提供了 可能。 3.并行计算机系统的快速发展与处理机间通信技术密不可分 并行计算机系统中大量的多处理机要能够高效地协同工作, 处理机之间的通信是至关重要的, 它们以共享内存变量或以 消息传递机制来进行通信。业已成熟的各种网络互联技术, 从理论上和技术上为并行计算机系统的实现和发展提供了 坚实的基础。,9.2.1 提高计算机并行性的措施,计算机系统中提高并行性可归纳为下面三种:时间重叠、资源重复和资源共享。 1.时间重叠(time-overlapping) 时间重叠又称时间并行。在不增加重复设备的情况下,将整个功能的处理过程分割成多个在时间上相互错开的过程, 数据可以顺序地经过各个处理过程, 以求得最终结果, 其特点是不同的数据可重叠使用同一个设备。各种流水线部件和流水线处理机就是通过时间重叠技术实现并行处理的典型实例。 2.资源重复(resource-replication) 资源重复又称空间并行, 它通过重复地设置硬件资源以大幅度提高计算机系统的性能, 是一种“以多取胜”的方法。阵列处理机是通过资源重复技术实现并行处理的典型实例。,3.资源共享(resource-sharing),资源共享是多个用户之间可以互相使用另一方的资源(硬件、软件、数据),以提高计算机设备利用率。计算机网络就是这一技术的产物,它通过计算机与通信技术的融合,实现信息资源共享。另外,多道程序运行也是通过资源共享技术实现并行处理的典型实例。,9.3 指令级并行技术流水线技术 9.3.1 指令流水技术,1.指令的重叠与流水 指令的作业方式与CPU结构及其对指令的解释有关。早期的CPU虽然也把指令分解为一系列的微指令,但是如图9-3所示,在同一时间段内处理器只能进行一个指令的作业;一条指令的作业完成后,才能开始另外一条指令的作业。 顺序作业方式的优点是控制简单; 缺点是速度慢, 因当前操作完成前, 下一步操作不能开始。另外机器各部件的利用率也不高, 如主存与运算器不能同时工作。,图9-3 指令的串行作业,当CPU分成多个相对独立的部件(图9-5所示) 并且可把一条指令解释为多个子过程时,不 同的部件将分别对微指令流中不同的子过 程进行操作, 于是就形成流水作业方式。流 水线是CPU实现高速作业的关键性技术。,2.指令流水线结构,指令流水线是将指令的整个执行过程进行分段处理。 时间步均衡的流水线:设一条流水线由k个时间步(功能段)组成, 每个时间步的长度为t。对n条指令顺序执行时所需的时间为n. k. t , 而流水作业时所需时间为kt(n-1). t=(k+n-1). t,吞吐量就提高了(k+n-1)/ nk。显然, k值越大, 流水线吞吐量提高得越高。 时间步不均衡的流水线:各时间步长度不一,导致流水线的吞吐量主要由时间步最长的功能段决定。这个最长的功能段就是流水线的“瓶颈”。,图9.7,解决方法: 一是将“瓶颈”部分再细分, 如图9-8(b)所示, 当分成与其他时间步(设为1个时钟周期)几乎相等的功能段时, 就会每一个时间步(1个时钟周期)出一条指令; 另一种是采用如图9-8所示的“瓶颈”段复制的方法,用数据分配器, 将多条指令的“瓶颈”段(访存)并行地执行,加快执行过程。当然, 后者的复杂度要高。,不均衡 流水线 “瓶颈” 的 解决 方法,图9-8,流水处理技术还可用于部件级, 如把流水线技术用到运算操作中就形成运算流水线。下面介绍两种运算流水线分类方法。 单功能和多功能流水线 单功能流水线是只能实现一种特定的专门功能的流水线。多功能流水线是指同一流水线可以有多种连接方式,实现多种功能。图9-9是T1-ASC计算机的功能块及3种功 能连接方式。,3. 运 算 流 水 线,图9-9, 静态和动态流水线 静态流水线在同一时间内只能按一 种运算连接方式工作。动态流水线 在同一时间内允许按多种不同的运 算连接方式工作。单一流水线一定 是静态流水线, 动态流水线一定是 多功能流水线但多功能流水线可以 是动态的, 也可是静态的。,4.访存冲突,取指令与执行指令都要访问主存, 前者要取指令, 后者要取操作数。故重叠流水方式要求CPU能同时访问主存中的两个单元。这对一般将操作数和指令混合存储在同一主存中的机器来说是难以实现的。为实现重叠解释, 应在硬件结构上采取措施: 设置两个独立编址的主存储器,分别存放操作数和指令; 采用多体交叉存储结构, 使两条相邻指令的操作数不在同一存储体内; 指令预取技术, 也称指令缓冲技术,该技术的实现是基于访内周期很短这一点。在执行指令期间, 取数时间很短,在这段时间内存储器会有空闲, 这时只要指令队列空闲,就可将下一条指令取来。,5.相关处理,指令间的相关(instruction dependency) :指因一段机器语言程序的相近指令间出现了某种关联, 使它们不能同时被解释, 造成指令流水线出现停顿,影响指令流水线的效率。 指令间的相关大体可分控制相关和数据相关两种。 (1) 控制相关(control dependency) 当一条指令要等前一条(或几条)指令做出转移方向的决定后才能进入流水线时, 便发生控制相关。典型的情况是条件转移指令, 控制相关处理的第一步是要先确定是否是转移指令, 可通过指令译码就能确定。 无条件转移指令对流水线的影响比较小。但如是条件转移, 问题就较麻烦,一旦发现条件转移指令, 指令部件就停止作业, 直等到条件码给出, 才能确定转移方向。,以图9-10为例, 在第i条转移指令后, 有两个程序分支, 当i-1条指令的结果形成时, i+1, , i+3条都已进入流水线。若根据结果判断, 应执行p+1, p+2分支, 那么前面进入流水线的指令就将作废。解决转移问题的方法有两个: 1.后退法:凡遇到转移指令, 则暂停输入新指令, 等待结果2.猜测法:思路是, 在遇到条件转移指令后, 机器先选定转移分支中的一个, 按它的地址继续取指令和处理, 若条件码生成后, 证明猜测正确, 那么流水线可继续进行;若猜错了,就要返回分支点, 相当于后推执行。,解 决 转 移 问 题 的 方 法, 数据相关,流水线中数据相关的问题较常见, 一般发生在几条相近的指令间共用同一个存储单元或寄存器时. 图9-11是一条8个功能段的流水线, 第2段为读, 第7段为写。若有h和j两条指令对同一存储单元有“先写后读”的要求, 则流水线将发生错误, 因为当第j条指令到达读段时, 第h条指令尚在第4功能段, 运算结果还没形成, 故第j条指令读出的数是错误的。解决的方法有以下三种:, 后退法 设置相关的专用通路 改变流水的顺序,9.3.2 流水线中的多发射技术,常见的多发射技术有超标量技术、超流水技术和超长指令技术。 1. 超标量技术(Super Scalar) 是指可在每个时钟周期内同时并发多条独立指令, 即以并行操作方式将两条或两条以上指令编译、执行之,如图9-12(b)所示。 在超级标量机的处理机中配置了多个功能部件和指令译码电路,还有多个寄存器端口和总线, 以便能同时执行多个操作,并要由编译程序决定哪几条相邻指令可并行执行。,图9-12(a) 普通流水线作业,图9-12(b) 超标量流水线作业,指令数,指令数,t,t,2.超流水线技术(super pipe lining) 3.超长指令字技术(Very long instruction word, VLIW),采用超流水线技术可在一个基本时钟周期内发射多条指令, 即把每一级流水线细分成多个时间段, 在每一个小时间段取出一条指令, 这样在一个时钟周期内可有多条指令进入流水线。如图9-12(c)所示,虽然在每个子流水线中取出的仍只有一条指令, 但从总体上看, 在一个时钟周期内取出三条指令。 超长指令字技术的时空图如图9-12(d)所示。图中在IF流水线, 取出的是包含三条指令的长指令字,该长指令字一起在ID流水线中译码,项但在执行级EX时, 分别由三个独立的执行部件执行。它的最主要问题是指令格式是特殊的, 不能做到与现有的处理机指令兼容。,图9-12(c) 超流水线作业,图9-12(d) VLIW作业,指令数,指令数,t,t,9.3.3 Pentium CPU,Pentium有如下特点: 1.超标量处理结构 如图9-13所示, Pentium的超标量处理结构指在硬件上具有两条分开的整数流水线U流水线和V流水线。每条流水线在一个周期内可流出一条常用指令, 整个系统可在一个周期内流出两条整数指令。两条流水线各有自己的ALU,当两条指令不相关时, Pentium便可同时执行它们。 2. 独立的指令和数据超高速Cache Pentium为指令和数据各设了一个独立的超高速缓冲存储器,使之互不干扰, 减少争用Cache的冲突。,图9-13 Pentium的结构框图,图9-14 Pentium的整数流水线作业示意图,3. 转移指令预测 Pentium有两个行长为32字节的预取缓冲区。处理器有一个转移目标缓冲存储器BTB(Branch Target Buffer)用以保存有关的历史信息, 在遇到转移时, 预测是否发生转移以及将使用哪一条支线, 预测准则是基于先前曾使用的支线将会再度使用。 4.高性能的浮点运算单元 Pentium在80486基础上作了重大改进。其浮点部件内具有自己的浮点寄存器堆、加法器和乘/除法器, 故在一个机器周期内它也可发出一条浮点指令(最多可发两条, 但其中有一条必须是交换指令)。 5. 其他技术特点 增强的64位数据总线 (2)多重处理支援 错误检测和功能冗余校验技术,9.3.3 Pentium CPU,9.3.4 向量流水线处理机,在科学计算中, 有大量不相关的数据进行同一种运算, 这正适合流水线特点。因此就出现了设有向量数据表示和相应向量指令的向量流水线处理机。 1. 向量数据表示和向量计算 向量数据表示 向量数据就是一组数据元素的集合, 所有的元素必须具有相同的结构(数据的类型和长度),向量间的次序不可改变, 向量存储器中应是连续顺序存放, 各元素间是等距离的。向量数据表示如图9-16所示。,D D+ D+2,向量参数有:起始地址D, 向量第一个元素所存放的地 址; 向量长度L, 表示元素的数量; 向量间距表示 相邻两元素间的间距。根据以上参数 可得到其中任一元素的地址。,向量:指批量有序数据的整体。通常向量中的元素是标量。标量是具有独立逻辑意义的最小数据单位, 可以是一个浮点数、定点数、逻辑量或字符等。 向量中的各标量元素之间存在着顺序关系,如 A =(a0,a1,a2,an-1) 就是说,向量A由n个标量组成,这n个标量存在前后顺序。其中n称为向量的长度。向量运算是把两个向量(设为A,B)的对应元素进行运算,产生一个结果向量(设为C)。如对运算式 C = A+B, 也可表示成 ci = a i +b i 0in-1 在一般通用计算机中, 向量运算要用循环结构进行 如 for(i = 0;i = n-1;i+) ci = a i +b i ;,向量 计算,显然, 这种算法的效率是很低的。向 量处理机的基本思想是并行地对这3 个向量的各分量进行对应运算, 如对 上述向量加可以采用图9-18所示的机 器结构, 其目的是用一条指令就可处 理n个或n对数据。,多窗口 存储器,向量 处理机,图9-18 向量处理机框图,A B,2.向量的流水处理,向量处理机有两种典型的结构:阵列结构和流水结构。阵列结构将在下一节中介绍, 这里先介绍流水结构。 由于每个向量包含每个向量包含了多个元素, 各元素间互不相关, 都进行相同的处理, 因而最适合流水处理。在向量处理的过程中, 向量流水处理机能充分发挥流水线技术的特点, 从而获得很高的吞吐量。 通常, 向量元素主要是浮点数, 而浮点数的运算比较复杂, 需经过多个节拍才能完成, 故目前绝大多数向量计算机都采用流水线结构, 其中有用于微机的协处理器, 也有用于高速的超级计算机, 并且一般称向量计算机就是指流水结构的向量计算机。,对向量的处理要设法避免流水线功能的频繁切换以及操作数间的相关,才能使流水线畅通、效率最高,保持每个节拍能送出一个结果元素,这就要求采取合适的处理方式。假定A、B、C、D,都是长度为n的向量,并有一个向量运算 D = A(B+C) 若采取如下处理顺序 d0 = a0(b0+c0) d1 = a1(b1+c1) di = ai(bi+ci) dn-1 = an-1(bn-1+cn-1) 就要反复进行加与乘的运算,为此要不断切换流水线的功能,计算每个di的一次加和一次乘之间存在着数相关。如 bi + ciki kiaidi 这两次操作之间,因为ki存在读-写相关,所以每次都要等待。使流水作业效率降低。但是如果采用如下的处理顺序 K = B+C D = KA 加与乘之间只切换一次。,举 例,3.向量计算机的系统结构,向量计算机系统的关键部件: 存储系统和流水线运算器. 要求存储器系统能连续不断地向运算流水线提供数据,并连续不断地接收来自运算流水线的数据。 为保证流水线的连续作业, 向量计算机应设法维持连续的数据流, 在体系结构方面, 要求存储器系统能满足运算器的带宽要求。常用以下两种方法: 多个独立存储模块:支持相对独立的数据并发访问。基本思路是, 若一个存储模块在一个时钟周期内最多能进行一次读/写, 那么要在一个时钟周期内读/写n个独立数据就需n个独立的存储模块。 构造一个具有要求带宽的高速中间存储器:Cray-1向量处理机采用层次结构的存储器系统, 在主存与运算流水线间构造了一级或两级的中间 存储器。,4.向量处理机中的并行技术,从系统结构上, 在向量处理机的运算流水线中, 采取以下三种技术: 多个功能部件 具有多个功能部件处理机, 把ALU的多种功能分散到多个具有专门功能的部件, 这些功能部件可并行工作。 运算流水线 在向量处理机中, 向量、标量和地址的运算都采用运算流水线 链接技术 该技术就是把一个流水线功能部件的输出结果直接输入到另一流水线功能部件的操作数寄存器中去, 中间结果不存入存储器;只要不发生功能部件冲突或操作数寄存器的冲突, 就可实现这种链接。,9.4 线程级并行 (Thread-Level Parallelism, TLP)技术,程序是一组编译代码, 这些代码由一条条指令组成, 每个代码组就是一条线程。线程是现代计算机系统分派和调度处理器时间资源的基本单元。 单处理器系统虽然可实现ILP( Instruction Level Parallelism, 指令级平行)运算, 做到同时执行几条指令, 但在线程级上还是串行工作, 很难保证CPU资源得到100%的利用, 要依靠提升时钟频率和改进架构进一步增强其性能。 TLP( Thread-Level Parallelism, 线程级并行)是基于CPU资源管理和调度的并行技术, 旨在实现线程级的并行性, 使CPU同时执行多个线程, 以充分利用CPU的所有资源。目前,实现这一技术有两种途径: 一是用多处理器系统(Multi-Processor System, MPS)实现; 二是使用多线程技术, 使一个处理器当 多个处理器使用。,9.4.1 对称多处理器技术SMP (Symmetric Multi-Processor ),1. 概述 在SMP系统中, 存储器、I/O等主要资源都为系统中所有处理器共享, 系统要执行的工作被均衡地分配在所有处理器上。 2. SMP系统的结构 目前,多处理器系统有共享总线和共享内存两种基本结构形式。 共享总线的多处理器系统 共享总线结构是多处理机系统结构中最简单的一种。其特点是, 所有处理机采用公共的通信通道, 信息在总线上分时传送。实际上是把处理机与I/O之间的通信方式引入到了处理机间的通信。, 单总线结构 它们都是把多台处理机P、包括它们的内存M和I/O设备等,通过自身的接口用一套总线连接起来,进行分时的信息传送。 多总线结构 在多总路线结构中,总线的改进处: 减少使用总线的次数, 如在处理机中增加本地内存和Cache, 但这又会引起解决多处理机中的Cache一致性的问题。 改进总线结构, 提高带宽, 如采用双套或多套总线结构。 系统总线:iPSB并行总线,iSSB串行总线; iLBX局部总线; 多通道I/O。 纵横开关阵列 纵横开关阵列是多总线结构的一种变种, 可看作是多总线结构中总线量相当多的极端情况。因成本的限制, 目前采用纵横开关结构的多处理机系统, 规模都较小。, 共 享 总 线 的 多 处 理 器 系 统,共享存储器的多机结构是一种紧耦合的多处理机系统。它可采用总线结构共享存储器, 如图9-20所示; 也可通过纵横开关阵列共享存储器, 如图9-22所示。图9-23所示的是通过一种多端口共享存储器的结构。 在采用多端口存储器模块的多处理机系统中, 因每个存储器模块有多个端口, 可使每台处理机和I/O模块都分别接在一个端口上, 都可独立地直接访问存储器。在各存储器模块中, 有一套逻辑线路对各端口来的存储访问进行排队, 各端口的优先次序是固定的。 这种结构的特点是:因每个处理机和I/O模块都有专门的通道,故传输效率较高。结构比较简单, 但比总线结构复,(2) 共 享 存 储 器 的 多 处 理 机 系 统,杂, 只能用于处理机 数量不多时, 且端口 一经做好, 便不好变更。,4.AMD Opteron解决方案,AMD Opteron的技术要点: 32/64位兼容工作模式 强大的内存访问、管理与控制能力 AMD Opteron拥有12级整数运算流水线和17级浮点运算流水线。 高负荷工作性能的提高 减少分支预测冲突可能性的有效办法是具有更大的全局历史计数器。 采用Hyper TRansport技术 Hyper Transport是点到点总线。 Opteron 的多处理器处理能力 Opteron具有3个16-bit宽的Hyper Transport连接功能, 每个方向的连接提供多达 3.2GB/s的带宽,9.4.2 同时多线程技术SMT (Simultaneous MultiThreading),同时多线程SMT是超标量技术与多线程技术的结合。 基本思路:是把注意力返回到处理器本身, 从充分利用CPU的效率、挖掘单个物理CPU的潜力入手, 通过发射更多的指令, 来提高处理器的性能。 1.多线程处理器技术 多线程技术处理器的重大贡献就是将操作系统中对线程的调度工作部分, 完全由处理器硬件承担, 实现了在一个时钟周期完成线程切换的突破。 在采用多线程技术的标量处理器中, IPC大大提高。 2.同时多线程技术SMT SMT的最重要意义是利用操作系统的虚拟多重处理, 把2个(或多个)CPU看成是1个 处理器。,SMT技术是超标量技术与多线程技术的充分协同与结合,可解决影响处理器性能的诸多难题,如在减少相关性方面有如下能力。 减少结构相关性的影响。 减少逻辑相关性的影响。 减少控制相关的影响。 3STM处理器的实现途径 STM处理器有两种实现途径。 在超标量处理器的基础上, 对同时多线程的取指令、现场保存、指令退出(retire)提供硬件支持; 而不同线程仍然共享其他处理器资源, 如取指缓冲、指令窗口等。 每一条线程都有自己独立的指令窗口、寄存器文件和退出部件。发射部件可同时发射不同指令窗口中的指令到各个功能部件。 4. Alpha 21464解决方案 Alpha 21464是基于超标量技术的STM处理器设计方案, 其流水线结构如图9-28所示。,SMT,1.HT (Hyper-Threading Technology, 超级线程技术)概述 Intel公司的HT是同步多线程技术(SMT)的一种形式。主要特点是把资源管理的思想引入到处理器的设计中。它把一个处理器的工作看做由两部分组成:一部分用于进行加、乘、负载等操作, 称为“处理器执行资源”,包括处理器核心和高速缓存;一部分用于跟踪资源的分派和调度(跟踪程序或线程的流动), 称为“体系架构状态”。,物理处理器1,物理处理器2,采用超线程技术的多处 理器系统复制物理处理 器上的体系架构状态, 能把一个物理处理器当 作两个“逻辑”处理器 来使用。这样, 应用的多 个线程就可同时运行于 一个处理器上。,2.Intel的P 4-Xeon解决方案,Intel公司已经在基于Pentium 4的至强(Xeon)处理器中使用了HT技术。 快速执行引擎: 负责从指令队列中获取指令, 并以最快的速度发送给执行单元。 高速缓存: 以高速向处理器核心传输数据和指令。 提取和发送引擎 重新排序与释放模块: 负责收集,所有被乱序执行的指令, 将它们按 照程序顺序重新排列, 按照程序顺 序提交这些指令的状态。 400 MHz系统总线:可提高多任务 处理操作系统和多线程应用的吞吐 量,并在利用HT技术访问内存时提 供足够的带宽。 BIOS、OS和应用软件的支持,小知识,超线程、双核和SMP的关系 超线程、双核技术都是用来提高系统性能的方法,但两者存在本质的区别。双核处理器属于单芯片多处理器CMP(Chip Multiprocessor), 而超线程技术属于多线程技术中的同时多线程技术SMT( Simultaneous Multithreading )技术。 采用双核技术的CPU可具有接近两颗单处理器SMP的功能,将成为下一代计算机系统的一个主要特征。双核技术对吞吐率密集应用(如多任务、多网络请求)、计算密集应用、企业关键业务及高性能计算机有很大帮助, 可使我国10万亿次的曙光4000A提高2倍的性能。,9.5 非Neumann体系的计算机系统,Neumann计算机致命弱点: 计算机硬件研究表明, 不管CPU和主存的吞吐能力有多高,也不管主存的容量有多大, 在CPU和主存之间只有一条每次只能交换一个字的狭窄数据通道。 人工智能的研究表明Neumann计算机只适合于求解确定性的、可以程序化的问题。这是由它的“程序存储控制”体系原理决定了的,即它只能解释事先所存储的程序,只要针对问题的性质,提出相应的算法,并编制有效的计算程序,即可对问题进行求解。 软件开发的实践表明,随着计算机应用的广泛与深入,软件的规模和复杂度越来越大,软件系统的开发成本、可靠性、可维护性、性能却越来越难以控制。,9.5.1 数据流计算机 (data-flow computer ),1.从控制驱动到数据驱动 数据流计算机的基本工作原理可归纳为以下两点: 当且仅当指令所需的数据可用时, 指令即可以独立地执行 传统的Neumann计算机最突出的特征是“控制驱动、共享数据、串行执行”。 数据流计算机中取消了指令指针和共享存储器,以数据驱动方式启动指令的执行。 任何操作都是纯函数操作。在数据流计算机中没有变量的概念,也不设置状态,在指令之间直接传送数据。,2.数据流计算机中的指令结构,在数据流计算机中,一条指令包括操作包和数据令牌两部分。操作包(或指令包)通常由操作码、一个或几个操作数及后继指令地址组成, 如图9-33(b)所示。后继指令地址用来组成新的数据令牌, 以便把本条指令的运算结果送往需要它的目标指令中。数据令牌通常由结果数值和目标地址等组成。其中, 结果数据就是上条指令的运算结果, 而目标地址直接取自上条指令的后继指令地址, 如图9-33(c)所示。,3.数据流计算机中的指令执行过程,在数据流计算机中,用数据令牌传送指令并激活指令。图9-34表示函数x(ab)(ab)在数据流计算机中的计算过程。图中用符号“( )”表示数据令牌所携带的操作数。 数据流驱动的结果具有以下5个性质: 异步性, 并行性 “单赋值”性: 局部性 函数性,图9-34计算函数x(ab)(ab)的流程,3.数据流计算机中的指令执行过程,假设a8,b12,图中“”代表该输入数据已准备就绪,旁边的数字代表此数据值。 图9-35(a)表示数据就绪,激发复制结点以复制多个操作数; 图9-35(b)表示复制结点驱动结束, 激发数据已准备就绪的、结点; 图9-35(c)表示、结点驱动结束, 激发数据已准备就绪的结点; 图9-35(d)表示结点驱动结束,输出计算结果。,a 8 b 12 a b a b a b,4.数据流计算机的分类, 静态数据流计算机 最主要特点是数据令牌不带任何符号。为保证正确无误地工作, 在任何给定时刻内, 当数据流程序图中的结点操作时, 其任何一条输入弧上就只允许存在一个数据令牌。 动态数据流计算机 最主要特征是使令牌带上标记。它可在任意时刻, 在数据流程序流程图任一条弧上出现多个带不同标记的令牌。,9.5.2 归约机(reduction machine),1.需求驱动 归约机是一种面向函数式程序设计语言的计算机,属于需求驱动的系统结构。需求驱动、数据驱动和控制驱动三者的主要区别是指令执行的启动条件不同: 控制驱动:当指令指针指向时启动。 数据驱动:当输入到齐时启动。 需求驱动:当需要输出时启动。 即在需求驱动系统中, 一个操作符仅在需要它的输出结果时才启动, 而不管这个操作符所需的输入是否已经到齐; 如计算a=(b1)(c5), 当需要a时, 先驱动函数“”;而“” 需要两个乘数, 进而去驱动“”和“”。,2.FFP归约机结构,归约机的设计基于归约模型,现已提出了多种归约模型和相应的多种设计方案。下面介绍称为细胞树结构多处理机的FFP,如图9-38所示, 它由线性单元阵列、互联网、前端机、辅助存储器4部分组成。,线性L单元阵列: 是一个带有逻 辑功能的存储系统; (2)前端机:控制整个系统; (3)辅助存储器: 作为L存储器的扩充; (4)互联网:L单元间经互联网进行通 信, 还具有某些处理功能。,4.FFP的工作过程,FFP机的工作过程分为多个操作周期,每一周期分为3个阶段。 分解阶段:分解阶段的工作是按可归约表达式各最内层可归约表达式,对二叉树结构的机器进行分解,重新构造成一组互相独立的二叉树结构的子机,为每个最内层可归约表达式分配一台子机。 执行阶段:由各子机独立地对其上的最内层可归约表达式作归约处理。 存储管理阶段:L阵列的主要用途是存储可归约表达式。 FFP机重复执行上述三个周期,直到归约结束 注意: 归约机上使用的语言是函数式语言。用函数式语言描述的程序是一个归约表达式。对运算顺序无显式描述, 运算顺序只蕴含于各函数调用之间的依赖关系中, 且与运行程序的实际计算结构无关。,5.函数式语言简介,函数式语言是一种全新的面向人和问题的程序设计语言,也称为应用式语言或面向表达式语言。函数式语言没有诸如程序计数器、数据存储器和程序当前状态之类的概念。这类语言的程序是纯数学意义上的函数,它作用于程序的输入,提到的结果就是程序的输出。 函数式语言具有以下几个特点: 直接由原函数构成,层次分明, 所编写的程序是静态的、非重复的,便于错误检测; 程序与数据分开, 数据结构不是程序的组成部分,这使程序具有通用性; 程序中包含了固有并行性; 程序无状态及数据存储单元的概念; 无赋值语句, 不使用GOTO类控制语句,,1智能计算机应具备的性能和特点 智能计算机的解题能力主要取决于知识。因此, 它应当是以知识库为中心的系统,其基本部件是知识库。 知识是一个不断积累的过程,这个过程称为知识获取。因此,智能计算机应具有知识获取,即学习功能。 问题的求解过程是知识的应用过程,是根据已有知识对问题进行理解和推理过程,因此,理解与推理是智能计算机的核心部件。 2人工智能的计算特征 人工智能计算的主要对象是符号而不是数值 人工智能计算是非确定计算。 人工智能计算是动态进行的。 具有并行和分布处理的巨大潜力。 知识管理问题。,9.5.3 智能 计算 机,3.智能计算机的一般结构,智能计算机系统按其应用形态提供从小型到大型各种规模的结构,但一般都有以下3个基本结构: 问题解决与推理计算机(相当于中央处理机); 知识数据库管理计算机(相当于带虚拟存储机构的主存和文件系统); 智能接口计算机(相当于过去的I/O通道和I/O设备)。, 基本知识库。它包括3种知识库: 一般知识库, 系统知识库 应用知识库,包含各种应用领域的特殊知识 基础软件系统。由3部分组成: 智能接口系统, 提供智能接口所需知识, 完成各项功能; 问题求解推理系统,提供知识库推理机,便于推理机求解问题; 知识库管理系统, 提供知识给知识库, 支持知识库管理。 智能系统化支援系统。 用于处理程序的智能程序设计系统; 用于处理知识库的设计系统; 用于处理计算机结构的智能设计系统。 智能使用系统。为用户提供各种规程, 帮助用户构造应用系统 基本应用系统。提供基本应用功能 应用系统。,智 能 机 软 件 系 统,4.核心语言与推理机制 5.智能接口技术,LISP与PROLOG语言是当前广泛应用的两种人工智能程序设计语言。 LISP语言: 相当人工智能型语言中的“汇编语言” (2) PROLOG语言:相当人工智能语言中的“高级语言” 。 PROLOG语言是以一阶谓词运算作为理论背景的逻辑型语言。 智能接口技术包括: 视觉系统 : 用计算机模拟人的视觉功能。 听觉系统 : 自然听觉是人类通信的常用工具。 自然语言理解: 可使用户能用普通的语言与计算机相互通信,使计算机的应用、操作更为方便。,图 (a)是传统计算机解决问题的流程。图1(b) 是智能计算机对问题的解决流程。,5. 智 能 计 算 机 的 解 题 过 程,“人工智能之父”和框架理论的创立者 马文. 明斯基( Marvin Lee Minsky ),Marvin Lee Minsky早在1956年就提出了人工智能的概念, 他被授予1969年度的图灵奖。这是第一次获此殊荣的人工智能学者。Marvin Lee Minsky在人工智能方面的贡献是多方面的,1975年他首创框架理论,他的这一理论成为当前流行的一些专家系统开发工具和人工智能语言的基础。他还把人工智能技术与机器人技术结合起来, 开发出了世界上最早的机器人。他的另一举措是创建了著名的Thinking Machine Inc.,开发具有智能的计算机。同时, 他也是虚拟现实VR的倡导者。 Marvin Lee Minsky是美国科学院和工程院的院士。,9.5.4 人工神经网络计算机,人工神经网络计算机是一种模拟人脑神经网络工作原理的超分布和超并行处理信息的新型计算机。 1神经元及其模型 神经元,即神经细胞,是神经系统的基本单元。 2神经网络结构与工作原理 不同的神经网络模型, 在细节上各不相同, 在并行分布处理的思想上也有所不同,但以下性质是共有的。 一组处理单元 单元的输出 活化状态 活化规则 网络模型 组成神经网络的元素被聚集成线性排列, 即所谓的“层”。,3.神经网络的学习规则与分类,机器学习分为3类: 死记式学习; 有导师学习; 无导师学习。 学习规则可分为如下几类: 相关规则; 纠错规则; 无导师学习规则。,比 较 表,9.6计算机元器件技术展望 9.6.1关于摩尔定律寿命的讨论,在电子计算机的发展过程中,现代科学技术,尤其是微电子技术总是不断地为人类最重要的工具计算机提供最先进的技术支持,使电子计算机得到了惊人的发展。 表9-5(P305)为30多年间微处理器芯片集成度的发展及对应的影响运算速度的关键指标的主频提高状况。表中所显示的CPU的集成度不断提高的事实,有力地表明摩尔定律的正确性。 尽管几年内已连续推出90nm、65nm、45nm的芯片,2010年前后推出32nm和20nm的芯片。 不过, 摩尔定理总有寿终正寝之时, 摩尔自己也只保证, 摩尔定理还有十年左右的寿命。,在纳米态, 超分子内部产生强关联性, 使其熔点、磁性、导电性、发光性和水溶性等都发生大幅度的变化。 在计算机技术中, 它们非常有可能成为分子尺度的MOS场效应晶体管MOSFET的替代物。 1.单电子晶体管(Single-Electron Transistor, SET) SET是一种新型的开关器件, 它利用可控的电子隧穿来放大电流。SET的工作机制非常类似于场效应晶体管, 而它却比场效应晶体管小得多。 2. 量子点(Quantum Dot) 量子点是指在金属或半导体内人为制造的纳米尺寸(1100nm)的小空间或小区域, 用于有选择地容纳和释放其内的电子。 3. 共振隧穿器件( Resonant Tunneling Device,RTD) 共振隧穿器件RTD是利用双位垒位能阱中电子波的共振及电子隧穿原理设计而成, 可作为开关器件和放大器件。,9.6.2 纳米 电子 器件,9.6.3量子计算机 (quantum computer),是基于量子力学理论和量子器件的信息处理方式,按一定的体系结构, 采用量子器件所构成的计算机。 1. 基本原理 与传统计算机不同, 量子计算机遵循的是原子级的世界中的运动规律, 在量子计算机中, 使用的是量子状态量, 每个量子状态不仅有存在和不存在两种稳定状态, 还有一种既存在又不存在的状态。 量子计算机中的基本信息单元称做qubit (量子位或者昆比特)。显然, qubit能作为单个的0或1存在, 也能在相应于这些传统位的混合或重叠状态称为“超态”存在(同时既作为0也作为1),而bit只能作为0或者作为1存在。这说明qubit比bit可表示的状态多。,2.量子计算机的应用特点 3.量子计算机的研制情况,量子粒子的“到处都可能出现”的性质可以解决利用现有计算机认为不可解或难解的问题。 用量子方法, 可不一个一个地个别查找, 而是用指定概率的方法为其定位: 对量子计算机的以亿计的名字标识的输入给定相同的概率, 通过计算机程序的推进形成“概率云”, 然后查询到所要寻找的对象。 量子的基本逻辑运算有3种:NOT,COPY,AND。 目前, 量子计算机的研制主要在两条战线展开: 量子器件的制作和量子计算方法的研究。 人们估计, 真正的量子计算机问世至少要到2015年。,9.6.4 光学计算机 (optical computer),光学计算机是利用光技术和光器件实现的计算机。 光是超并行、高容错、超高速、高带宽、强抗干扰计算机的理想技术。 光学计算机有: 模拟光学计算机和数字光学计算机。 光技术的显著特点给高速并行计算机研究带来了希望。 典型的光信息处理部件是光乘加运算器。 在光学计算机中, 信息载波于光束, 计算是由光器件实现的。因此, 光学计算机的实现取决于光器件的发展, 其中光逻辑门是全光数字计算机的关键部件。 科学家认为光连接也是光学计算机的技术关键。,9.6.5 超导技术 (superconductivity computer),超导现象是金属、合金和化合物在温度低于某一临界温度Tc时, 电阻徒然降为零的现象。 在超导回路中, 电流将无限流动, 只有外加磁场或升高温度时, 才能中断该超导性。具有这种特性的物体称为超导体。 基于超导约瑟夫逊效应(超导隧道效应)的约瑟夫逊器件具有可控的二态性。,生物计算机是利用生物系统固有的信息处理机理而研制开发的一种新型计算机。 1生物开关元件 可把一个蛋白质分子当作一个开关元件,并做成生物记忆元件,进而可构成生物计算机。 这种生物计算元件具有许多人们想象不到的优点: 密度高、速度快 生物计算机的元件密度比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论