高性能处理器体系结构

合集下载

smp体系结构

smp体系结构

SMP体系结构一、引言在计算技术领域中,对于多处理器系统架构(Symmetric Multiprocessing,简称SMP)的研究和应用已经成为一个重要的方向。

SMP体系结构是一种在计算机系统中使用最为广泛的处理器架构之一,它具有多个处理器核心共享同一内存地址空间的特点,从而实现了多个处理器之间共享资源与协同工作的能力。

本文将深入探讨SMP体系结构的原理、特点、优势和应用。

二、SMP体系结构的原理SMP体系结构是一种对称多处理器系统,其中有多个处理器核心连接到同一个主存储器单元。

每个处理器核心拥有自己的高速缓存,并且可以通过总线来访问共享的内存资源。

处理器核心之间可以相互通信和协作,实现任务的划分和并行执行。

在SMP系统中,每个处理器核心可以执行独立的任务,也可以共同处理同一个任务,极大地提高了系统的整体性能和可扩展性。

三、SMP体系结构的特点1.对称性: SMP系统中的各个处理器核心之间是对称的,没有主次之分,可以平等地访问系统资源。

2.共享内存:所有处理器核心共享同一内存地址空间,方便数据共享和通信。

3.多核心并行: SMP系统中有多个处理器核心可以并行执行任务,提高系统的整体性能。

4.系统可扩展: SMP系统可以通过添加更多的处理器核心来扩展系统的性能和处理能力。

5.负载均衡:多个处理器核心可以根据系统负载动态调整任务分配,实现负载均衡。

四、SMP体系结构的优势1.高性能:多处理器核心并行执行任务,提高系统的计算速度和整体性能。

2.可靠性:多处理器核心可以相互冗余备份,避免单点故障,提高系统的稳定性。

3.可扩展性:可以通过添加更多的处理器核心来扩展系统的性能,适应不同的应用需求。

4.灵活性:处理器核心之间可以随时通信和协作,实现任务的分解、协同和重组。

五、SMP体系结构的应用SMP体系结构在许多领域都有广泛的应用,例如: - 服务器系统: SMP系统可以提供高性能的服务器解决方案,支持大规模数据处理和并发访问。

设计高性能并行计算机体系结构

设计高性能并行计算机体系结构

设计高性能并行计算机体系结构高性能并行计算机体系结构是现代科学计算、数据处理和人工智能等领域的核心技术之一。

在大规模计算和高度并行的应用场景下,设计一个高性能的并行计算机体系结构至关重要。

本文将介绍何为高性能并行计算机体系结构,并提出一种设计思路,以实现高性能并行计算。

高性能并行计算机体系结构是指在硬件层面上如何组织计算单元、内存和互联网络等组件,以实现各处理单元之间的高效通信和并行计算能力。

一种常见的高性能并行计算机体系结构是多核处理器集群。

多核处理器集群由多个处理器核心组成,每个核心可以同时处理不同的指令,从而实现并行计算。

每个处理器核心拥有自己的缓存和寄存器,通过共享内存或者消息传递机制进行通信。

通过合理地设计处理器核心的数量和互连网络的结构,可以实现高性能的并行计算。

在设计高性能并行计算机体系结构时,需要考虑以下几个关键因素:首先是处理器核心的设计。

处理器核心是计算机的计算和控制单元,其性能直接决定了并行计算机的性能。

为了实现高性能的并行计算,处理器核心需要具备高性能的浮点计算单元、多级缓存、乱序执行和分支预测等特性。

此外,处理器核心的设计也需要考虑功耗和散热等问题,以保证在高负载下仍能保持良好的性能。

其次是内存子系统的设计。

内存的访问延迟和带宽是限制高性能并行计算的重要因素。

为了减少内存访问的延迟和提高带宽,可以采用多级缓存、高速内存和内存一致性机制等技术手段。

此外,还可以通过将数据和任务分布到不同的内存节点上,以实现更好的负载均衡和并行计算效率。

第三是互连网络的设计。

互连网络负责连接处理器核心和内存节点,为它们提供高效的通信通道。

在设计互连网络时,需要考虑带宽、延迟、拓扑结构和路由算法等因素。

常用的互连网络拓扑结构包括全互连、多维互连和树状互连等,而路由算法则需要根据具体的应用场景和计算需求来选择。

最后是编程模型和软件支持。

并行计算机体系结构需要与相应的软件开发环境相匹配,以提供方便快捷的并行编程接口和工具。

高性能计算机体系结构研究综述

高性能计算机体系结构研究综述

高性能计算机体系结构研究综述引言随着计算机技术的不断发展,高性能计算机的应用范围越来越广泛。

高性能计算机是指能够提供高性能计算能力的计算机体系结构,主要用于进行复杂的科学计算、工程仿真等领域。

随着计算机应用场景的不断扩大,如何提高高性能计算机的计算能力和效率成为了计算机领域的核心问题。

本文综述了高性能计算机体系结构相关的研究进展和热点问题。

第一章高性能计算机体系结构概述高性能计算机体系结构是指计算机硬件系统的组成部分和相互连接方式。

高性能计算机与传统计算机系统的差别在于,高性能计算机使用了一种特殊的并行处理技术和高速通信技术。

高性能计算机主要由计算节点、存储节点、网络节点三个部分组成。

其中,计算节点用于执行计算任务,存储节点用于存储数据,网络节点用于实现节点之间的通信。

第二章并行计算体系结构并行计算体系结构是高性能计算机体系结构的重要组成部分,也是高性能计算机计算能力提高的核心。

并行计算体系结构主要有集中式共享存储架构、分布式存储架构、混合存储架构等。

其中,集中式共享存储架构具有计算能力强、资源利用率高等优点,是高性能计算机比较成熟的体系结构之一。

第三章高性能计算机并行计算模型高性能计算机并行计算模型是指对高性能计算机进行并行计算的理论模型和计算模型。

高性能计算机并行计算模型主要包括共享存储模型、分布式存储模型、混合存储模型等。

其中,共享存储模型是高性能计算机并行计算模型中的重要一种模型,具有良好的可扩展性和灵活性。

第四章高性能计算机芯片架构高性能计算机芯片架构是指高性能计算机中的处理器芯片架构。

高性能计算机芯片架构主要采用多核处理器的设计方式,如Intel的Xeon、AMD的Opteron、IBM的PowerPC等。

这些多核处理器的设计方式具有计算能力强、性能高等优点,可以提高高性能计算机的计算能力和效率。

第五章高性能计算机网络架构高性能计算机网络架构是指高性能计算机中节点之间的通信方式和通信协议。

arm相关概念

arm相关概念

arm相关概念ARM相关概念1. ARM架构简介•ARM架构是一种低功耗、高性能的处理器架构。

•ARM架构广泛应用于移动设备、嵌入式系统和智能硬件等领域。

•ARM架构采用精简指令集(RISC)的设计,具有较高的能效比和较低的功耗。

2. ARM处理器•ARM处理器是基于ARM架构设计的中央处理器(CPU)。

•ARM处理器具有多种系列和型号,包括Cortex-A系列、Cortex-R 系列和Cortex-M系列等。

•Cortex-A系列适用于高性能应用,如智能手机和平板电脑。

•Cortex-R系列适用于实时应用,如汽车电子系统和工业控制。

•Cortex-M系列适用于低功耗应用,如物联网设备和传感器。

3. ARM指令集•ARM指令集是ARM处理器所支持的指令集合。

•ARM指令集分为ARM指令集和Thumb指令集两种。

•ARM指令集提供32位的指令,适用于高性能应用。

•Thumb指令集提供16位的指令,适用于低功耗应用。

•ARM处理器可以在ARM指令集和Thumb指令集之间进行切换,以提高能效和节省存储空间。

4. ARM体系结构•ARM体系结构是指ARM处理器的整体结构和设计。

•ARM体系结构包括核心处理单元(CPU)、内存管理单元(MMU)、缓存等组件。

•ARM体系结构面向各种应用需求,提供不同级别的性能和功能选择。

•ARM体系结构允许系统设计者根据实际需求进行定制和优化。

5. ARM开发工具和平台•ARM开发工具和平台是用于开发和调试ARM架构软件的工具和环境。

•ARM开发工具包括编译器、调试器和仿真器等。

•ARM开发平台包括开发板、集成开发环境(IDE)和软件开发工具包(SDK)等。

•ARM开发工具和平台提供了丰富的开发资源,帮助开发者快速构建和优化ARM架构的应用程序。

6. ARM生态系统•ARM生态系统是指围绕ARM架构建立起来的全球化合作伙伴网络。

•ARM生态系统包括芯片厂商、设备制造商、软件开发商和解决方案提供商等。

boom结构文档

boom结构文档

boom结构文档Boom结构文档引言:Boom结构是一种用于构建高性能处理器的技术,它能够提高处理器的吞吐量和性能。

本文将介绍Boom结构的原理、优势和应用场景。

一、Boom结构的原理Boom结构是一种基于超标量乱序执行的处理器设计,它通过增加指令级并行性来提高处理器的性能。

Boom结构采用了两个关键技术,分别是乱序执行和重命名。

乱序执行是指处理器可以不按照程序顺序执行指令,而是根据指令之间的数据依赖关系来动态调度指令的执行顺序。

这样可以充分利用处理器的资源,提高指令的并行度,从而提高处理器的性能。

重命名是指处理器可以为指令中的寄存器分配临时的物理寄存器,这样可以避免由于指令之间的数据依赖关系而导致的指令等待。

重命名可以减少指令的冲突,提高指令的并行度,进一步提高处理器的性能。

二、Boom结构的优势1. 提高处理器性能:Boom结构通过增加指令级并行性来提高处理器的性能。

它可以同时执行多条指令,充分利用处理器的资源,提高指令的并行度,从而提高处理器的性能。

2. 提高吞吐量:Boom结构采用了乱序执行和重命名技术,可以避免由于指令之间的数据依赖关系而导致的指令等待。

这可以减少指令的冲突,提高指令的并行度,进一步提高处理器的性能。

3. 灵活性和可扩展性:Boom结构采用模块化设计,可以根据需求进行灵活配置和扩展。

它可以根据不同的应用场景和性能需求,选择不同的模块组合,以实现灵活的处理器设计。

4. 低功耗和低延迟:Boom结构采用了优化的电源管理和时序设计,可以降低功耗和延迟。

它可以通过动态调整电源供应和时序控制,以实现低功耗和低延迟的处理器设计。

三、Boom结构的应用场景Boom结构适用于对性能要求较高的应用场景,特别是在科学计算、人工智能、图形处理等领域。

它可以提供高性能的处理能力,满足这些应用对处理器性能的要求。

Boom结构还适用于服务器、超级计算机等大规模计算环境。

它可以提供高吞吐量和高并行性,能够同时执行多个任务,满足大规模计算环境对处理器性能和效率的要求。

超级计算机的体系结构和性能分析

超级计算机的体系结构和性能分析

超级计算机的体系结构和性能分析超级计算机是目前世界上最为强大的计算机之一,能够处理巨大的数据和运算任务,是现代科学和技术发展的重要基础设施。

但是想要深入了解超级计算机的性能和体系结构,需要具备一些相关的专业知识和技能。

本文将从计算机结构、处理器、内存等方面进行分析,帮助读者更好地了解超级计算机的体系结构和性能。

一、计算机结构超级计算机的结构与普通计算机基本一致,主要包括CPU、内存、输入输出设备等部件,但是其规模和性能要远远超过普通计算机。

超级计算机通常采用并行计算的方式,即将大的任务分解成若干个小任务,由多个处理器并行处理,最终将结果整合起来。

这种方法可以大大提高计算效率,缩短计算时间。

二、处理器超级计算机的处理器通常采用多核心和超线程技术。

多核心技术指处理器内部集成了多个独立的CPU核心,可以同时处理多个任务。

超线程技术是在单一核心内部模拟多个逻辑核心,可以实现单一核心同时处理多个线程。

这些技术的使用可以有效提高计算机的运算速度和效率。

三、内存超级计算机的内存通常采用高性能存储技术,如延迟高带宽内存(HBM)、高速缓存(Cache)等。

这些技术可以实现内存数据的快速读取和存储,为计算机的高速运算提供了保障。

此外,超级计算机的内存容量通常需要大于普通计算机,以应对大规模的数据处理需求。

四、高速网络超级计算机的高速网络是其性能优异的重要保障。

高速网络可以实现处理器之间和计算节点之间的高速数据传输,提高数据处理效率和运算速度。

此外,高速网络还可以支持异构计算,即不同种类的处理器在同一系统中协同工作,共同完成计算任务。

总之,超级计算机是目前科学技术发展中不可或缺的重要设备。

了解其体系结构和性能分析对于深入理解超级计算机的运行原理和应用场景非常重要。

通过对计算机结构、处理器、内存等方面的分析,我们可以更好地了解超级计算机的优势和限制,从而更好地利用其为科学技术发展做出贡献。

高性能计算机体系结构面临挑战及新技术解决方案

高性能计算机体系结构面临挑战及新技术解决方案

高性能计算机体系结构面临挑战及新技术解决方案在当今信息时代,高性能计算机已经成为了各个领域中不可或缺的工具。

高性能计算机不仅能够提供强大的计算能力,还能够处理大规模的数据和复杂的计算任务。

然而,随着科学技术的不断发展,高性能计算机体系结构也面临着一系列的挑战。

本文将探讨高性能计算机体系结构面临的挑战,并介绍一些新技术解决方案。

首先,高性能计算机体系结构面临的一个挑战是处理器性能的瓶颈。

目前,传统的中央处理器(CPU)已经达到了性能的物理极限。

因此,需要借助新的技术来提升处理器的性能。

其中一个新的技术解决方案是多核处理器。

多核处理器是将多个处理核心集成到同一颗芯片上,能够更好地并行处理任务,提高计算效率。

此外,图形处理器(GPU)也成为提升计算机性能的有效工具。

GPU具有大量的计算单元和高速的内存带宽,适用于处理复杂的图形计算和并行计算任务。

因此,在高性能计算机体系结构中引入多核处理器和GPU是提升计算性能的重要手段。

其次,高性能计算机体系结构还面临着数据存储和传输的问题。

随着科学研究和商业应用中产生的数据量不断增加,高性能计算机需要处理和存储大规模的数据。

传统的存储技术往往无法满足这种需求,因此需要采用新的存储技术来解决这个问题。

一种新的技术解决方案是闪存存储器(Flash Memory)。

闪存存储器具有高速的读写速度和大容量的存储空间,适用于高性能计算机的存储需求。

此外,分布式存储系统也是解决大规模数据存储和传输问题的有效方式。

分布式存储系统将数据分散存储在多个节点上,能够实现高性能的数据访问和传输。

此外,高性能计算机体系结构还面临能耗和散热的挑战。

随着计算机性能的提升,计算机的能耗也不断增加,同时也产生大量的热量。

高能耗和散热会限制计算机性能的进一步提升。

因此,需要采用新的技术来降低能耗和散热。

一种新的技术解决方案是超级计算机系统的能耗管理。

超级计算机系统能够根据任务的需求,动态地调整计算节点的功耗和工作频率,以实现能效优化。

arm架构原理

arm架构原理

arm架构原理ARM架构原理ARM架构是一种广泛应用于移动设备和嵌入式系统的处理器架构。

ARM架构的设计目标是为了在低功耗和高效能的情况下提供高性能的处理能力。

本文将介绍ARM架构的原理和特点。

ARM架构最初由英国公司ARM Holdings开发,并成为一种广泛采用的架构标准。

它被广泛应用于智能手机、平板电脑、智能手表、物联网设备等各种移动设备和嵌入式系统中。

ARM架构采用了精简指令集计算机(RISC)的设计理念,即通过简化指令集来提高处理器的性能和效率。

ARM架构的特点之一是其低功耗性能。

ARM处理器采用了先进的低功耗技术,如动态电压和频率调节(DVFS)以及睡眠状态功耗管理等技术,可以根据系统负载调整处理器的工作频率和电压,从而在保证性能的同时降低功耗。

这使得ARM架构非常适合移动设备和嵌入式系统,可以延长电池寿命并提供更好的用户体验。

另一个重要的特点是ARM架构的可扩展性。

ARM提供了不同系列的处理器核心,如Cortex-A、Cortex-R和Cortex-M系列,可以根据不同的应用需求选择适合的处理器核心。

Cortex-A系列处理器核心主要用于高性能的应用场景,如智能手机和平板电脑;Cortex-R系列处理器核心主要用于实时应用,如汽车电子系统;Cortex-M系列处理器核心主要用于低功耗和成本敏感的应用,如物联网设备。

这些不同系列的处理器核心都基于ARM架构,具有一致的编程模型和兼容性,可以方便地进行软件开发和移植。

ARM架构还具有良好的生态系统支持。

ARM架构的处理器广泛应用于各种移动设备和嵌入式系统中,因此有大量的软件和工具可用于ARM架构的开发。

ARM提供了完整的开发工具链,包括编译器、调试器、仿真器等,以支持软件开发和调试。

在ARM架构中,指令集是其核心组成部分。

ARM架构的指令集分为三种类型:数据处理指令、加载/存储指令和控制指令。

数据处理指令用于执行算术和逻辑操作,加载/存储指令用于数据的读写,控制指令用于程序的跳转和分支。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可重构计算专题读书报告杨晓晖(BA07011001)yangxhcs@ 冯晓静(SA07011002)bangyan@ 赵琼(SA07011013)qiongz@裴建国(SA07011083)ustcowen@ 俞华铭(SA07011053)yhm2007@ 王仁(SA07011089)wangren@ 张志雄(SA07011090)zzxiong@中国科学技术大学计算机科学技术系2007年12月录1可重构计算概述(杨晓晖) (1)1.1引言 (1)1.2可重构计算分类 (2)1.3可重构计算体系结构 (5)1.4可重构计算模型 (7)1.5可重构计算算法 (8)1.6问题讨论 (9)本章小结 (10)参考文献 (10)2案例分析之一:可重构超级计算(冯晓静,赵琼) (11)2.1引言 (11)2.2论文工作 (11)2.3问题及讨论 (12)2.4对论文的思考 (14)本章小结 (15)参考文献 (15)3案例分析之二:可重构计算在数据挖掘中的应用(裴建国,俞华铭) (16)3.1引言 (16)3.2算法实例 (16)3.3主要贡献 (17)3.4问题讨论 (20)本章小结 (22)参考文献 (22)4案例分析之三:可重构计算在分子动力学仿真中的应用(王仁,张志雄).23 4.1引言 (23)4.2仿真算法分析 (23)4.3与相关工作的比较 (24)4.4问题讨论及解决 (25)4.5对论文的思考 (25)本章小结 (26)参考文献 (26)5结论与展望(杨晓晖) (27)1可重构计算概述1.1引言传统的计算方式主要有两种[1][8]。

一种是专用集成电路(Application Specific Integrated Circuit,ASIC),以硬件方式执行特定的操作。

由于ASIC专为某一特定计算任务设计,因此可以快速高效地执行所针对的计算任务。

然而,ASIC一旦生产出来后就再也无法改变其功能。

即使只要修改其中一小部分功能,也不得不投入巨资重新进行设计和生产,显然在生产量达不到一个很大的规模时,这个代价是很昂贵的。

另外一种是通用微处理器(General Purpose Processor,GPP),执行一系列指令来完成特定的计算任务。

如果计算任务发生变化,通过改写程序即可改变软件中所包含的指令序列,GPP通过执行不同的指令序列即可完成不同的计算任务,而硬件无需做出任何改动。

因此GPP非常具有灵活性,但是这种灵活性是以牺牲性能为代价换取的。

处理器为了完成一个计算任务,需要从存储器中逐条取得指令和数据然后加以译码和执行,每次操作都需要很大的执行开销。

所以GPP的性能远远落后于ASIC。

可重构计算(Reconfigurable Computing,RC)正是为了填补硬件实现和软件实现之间的空白而提出的,它试图在达到比软件实现更高性能的同时,还能提供一定的硬件实现灵活性[1]。

可重构计算的定义多种多样。

Bondalapati和Prasanna将可重构计算定义为“通过后生产方式(post-fabrication)和处理单元的时空编程连接(spatially and temporally programmed connection)实现的计算”[5]。

DeHon和Wawrzynek认为可重构计算是“一种具有两个重要特征的计算机组织类型:在生产后可以被定制用来解决任何问题;能够在很大程度上利用空间定制的计算来完成计算任务”[4]。

Hartenstein则把可重构计算资源称为“活件(Morphware)”、“配件(Configware)”和“流件(Flowware)”[7]。

如图1-1所示,可重构计算本质上可以看作是“在(微处理器的)灵活性和(ASIC的)性能之间的一个折衷,时间计算和空间计算的一种结合”[7]。

同时,可重构计算还可以看作是“在灵活性和面积/功耗之间的一个折衷”[2],如图1-2所示,基于FPGA实现的可重构处理器或者嵌入式可重构逻辑可以使用比ASIP或者GPP更低的面积和功耗,来提供比ASIC更好的灵活性。

图1-3则进一步揭示了可重构计算“空间计算和时间计算相结合”的本质[4]。

可重构计算具有如下特征[5]:●空间计算:数据处理由空间分布的计算来实现;●可配置的数据通路:通过配置机制,互联网络和计算单元的功能可以在运行时动态变化(以适应不同的计算任务需求);●分布式控制:计算单元基于本地配置来进行数据处理;●分布的资源:计算所需的资源,如计算单元和存储器,都是分布的。

图1-1可重构计算填补了ASIC与微处理器之间的空白[7]图1-2可重构计算是在灵活性和面积/功耗之间的一个折衷[2]图1-3可重构计算是空间计算和时间计算的一种结合[4]1.2可重构计算分类可重构计算总的来讲可以按照逻辑块粒度、可重构单元耦合程度和重构方式来进行分类。

1.2.1按照逻辑块粒度分类大多数可重构硬件都是一个基于多个基本功能单元组合而成的阵列,这个基本功能单元就是逻辑块。

所谓逻辑块的粒度是指由映射工具综合而成可重构硬件的最小功能单元的大小和复杂度[8]。

按照逻辑块的粒度,可重构计算可以分为如下五类[2][3][5]:●甚细粒度体系结构:逻辑块能够实现1-3输入的处理能力,如Xilinx6200系列FPGA;●细粒度体系结构:逻辑块一般实现4输入的基本处理功能,如Altera FLEX10K;●中粒度体系结构:逻辑块可以实现更加复杂的4输入的处理功能,如Garp;●粗粒度体系结构:逻辑块能够实现字宽度的复杂运算,如RaPid;●甚粗粒度体系结构:每个逻辑块就相当于一个微处理器,如RAW。

逻辑块粒度越细,单个逻辑块的功能就越简单,可重构硬件的功能就越灵活,但是电路集成度就越低,逻辑块之间的连线就越多,所需要的面积和功耗也会越大;反之,逻辑块粒度越粗,单个逻辑块的功能就越复杂,电路集成度就越高,逻辑块之间的连线就越少,所需的面积和功耗也较低,但是可重构硬件的灵活性会变差[3][5]。

1.2.2按照可重构单元耦合程度分类如图1-4和图1-5所示,可重构计算按照可重构处理单元(Reconfigurable Processing Unit,RPU)与主处理器之间的耦合程度或连接方式,可以分为如下四类[2][3]:●连接I/O总线的RPU,其作用相当于一个外部的独立处理单元(Standalone ProcessingUnit);●连接局部总线的RPU,其作用相当于一个附加的处理单元(Attached ProcessingUnit);●与主处理器直接连接的RPU,其作用相当于一个协处理器(CoProcessor);●集成到主处理器内部的RPU,其作用相当于主处理器的一个功能单元(Function Unit)。

图1-4RPU与主处理器之间的连接方式[2]图1-5可重构系统的耦合程度[3]1.2.3按照重构方式分类简单地,重构方式分为静态重构(static reconfiguration)和动态重构(dynamic reconfiguration)两大类[1]。

静态重构又称编译时重构(compile time reconfiguration),是最简单、最常见的一种重构方式[2]。

如图1-6所示,静态重构在系统编译时完成配置信息的生成,在执行前进行逻辑块的重构,系统在投入运行后逻辑块的功能不能改变,除非系统终止运行[1][2]。

动态重构又称运行时重构(run-time reconfiguration)[2]。

如图1-7所示,系统可以在运行时收集所需的状态信息,然后据此生成新的配置信息,并在系统运行过程中完成逻辑块的重构,从而改变其功能[1]。

图1-6静态重构[1]图1-7动态重构[1]动态重构又可以进一步分为单上下文可重构(single context reconfigurable)、多上下文可重构(multi-context reconfigurable)、部分可重构(partially reconfigurable)[2],以及流水线可重构(pipeline reconfigurable)[3],分别如图1-8、图1-9所示。

图1-8动态可重构方式[2]在单上下文可重构体系架构中,配置信息以串行流(serial stream)的形式存储在配置存储器中。

当发生上下文切换时,即改变系统的配置时,需要重新装入新的配置信息,才能完成对可重构部件的配置,因此配置信息在串行流中的分割会对重构延迟产生较大影响。

Xilinx4000系列就属于这种架构。

在多上下文可重构体系结构中,每个配置位对应着配置存储器中的多个存储位,但是任一时刻只有一个存储位处于激活状态。

当需要上下文切换时,只需要改变配置位和存储位的对应关系即可实现系统的快速重构。

多上下文重构相当于多个单上下文重构的堆叠实现。

典型产品有Chameleon公司的CS2000系列。

部分可重构体系结构针对配置只需要使用全部可重构硬件的一部分,或者只有一部分配置需要改变的情况。

部分可重构硬件可以在一部分硬件运行的同时改变另外一部分硬件的配置,这是通过给每个可配置位编址访问来实现的。

部分可重构硬件体系结构可以进一步减少重构时间,缩短重构延迟。

Xilinx6200系列和Virtex系列都属于可部分重构的体系结构。

流水线可重构体系结构可以看作是部分可重构体系结构的一个特殊的例子,它可以实现流水线各段的部分重构[3]。

如图1-9所示,重构过程是逐段进行的,这意味着配置信息要先于数据信息到达流水线的各段。

完成硬件配置的流水段可以进行相应的运算。

在整个流水线部件中,配置和运算是在不同的流水段中交叉进行的。

图1-9流水线可重构体系结构[3]1.3可重构计算体系结构1.3.1设计综合方法利用可重构体系结构来实现更高的计算性能,需要开发高效的配置设计技术。

但是现有的设计方法都是基于ASIC设计工具的、传统的逻辑综合方法,无法充分发挥可重构硬件的加速潜能,其最大问题就在于设计过程[1]。

如图1-10的左图所示,逻辑综合方法利用行为模型进行设计,但是算法的语义和本质却在软硬件的映射过程中丢失了。

图1-10逻辑综合方法与算法综合方法[1]算法特定且实例相关的配置是实现高加速比的一个关键所在。

基于算法的综合方法[1],如图1-10的右图所示,提出了一个“算法-模型-体系结构”的综合设计方法。

算法经过调度成为模型,模型进而映射为体系结构;反之,体系结构抽象为模型,模型再参数化为算法。

这种局部优化的设计方法可以获得更好的面积与时延性能。

1.3.2可重构计算体系结构可重构体系结构从现场可编程门阵列(Field Programmable Gate Array,FPGA)发展而来,现在已经有很多种类的商业化FPGA产品面市,各种各样的可重构计算系统也随之被构建起来。

相关文档
最新文档