基于 FPGA 的处理器多周期时分复用功能级模拟

Preview:

DESCRIPTION

基于 FPGA 的处理器多周期时分复用功能级模拟. 清华大学计算机系高性能计算所 张悠慧 2010.10. 研究背景. 核的增加和. Cache #0. Cache #1. ……. Cache #15. Cache Controller. Memory. SRAM. SDRAM. IDE. 主要思路. Interleaved Pipeline 16xCPU. NIOSII Processor #0_MMU. NIOSII Processor #1_Cplx. NIOSII Processor #2_PCI-E. 16Clk. 1Clk. - PowerPoint PPT Presentation

Citation preview

基于 FPGA 的处理器多周期时分复用功能级模拟

清华大学计算机系高性能计算所 张悠慧 2010.10

研究背景

核的增加和

Interleaved Pipeline 16xCPUInterleaved Pipeline 16xCPU Cache #0

Cache #1

Cache #15

……

Cache Controller

NIOSII Processor #0_MMU

NIOSII Processor #1_Cplx

NIOSII Processor #2_PCI-E

MemoryMemory

SRAMSRAM

SDRAMSDRAM

IDEIDE

主要思路

Interleaved Pipeline 16xCPUInterleaved Pipeline 16xCPU

16Clk

发射 16 条指令来自模拟的 16 个处理器

完成 16 条指令的执行

1Clk

每条指令依次经过 16 个流水段每个流水段上依次经过 16 个核的指令

主要思路

验证评估

通过设计时的考虑和一些实现上的优化手段,以及后期的布线参数约束。最终实现的模拟器的能够在 200Mhz 的工作频率下稳定地运行测试程序,即折合 16 核系统的全系统模拟频率12.25Mhz (200Mhz / 16) 。目前已知最快的软硬件混合的多核模拟器之一PROTOFLEX 的模拟频率为 90Mhz (16 核 ) 。但需要注意的是,虽然都是基于 RISC 架构的指令集,但 Sparc 架构还是较 MIPS 来的复杂,因此该对比仅作为参考。

6

BEE3-LX155T-2C

集成了四片 Xilinx LX155T FPGA 芯片、 64GB DDR2 内存、 8 个 10G 以太网接口、 4 个 PCI-E 接口的大规模开发平台。预计可以模拟几百核至近千核的多核多芯片系统(采用时分复用模式),包括其互连、存储层次等结构。

Xilinx Virtex-5 XC5VLX110T

预期成果FPGA 模拟器的可综合 RTL 代码以及相关工程文件相关开发文档以及使用手册关键技术说明文档或者技术论文相应的测试用 OS 、编译器以及测试代码(采用第三方开源软件)

验收方法展示 FPGA 演示系统

功能检查、运行频率检查(根据量化指标)文档、代码检查帮助进行系统迁移、安装。

基本目标规模: 64 核规模, 80 结点互连网络规模 ( 支持虚通道 )

频率: 80Mhz

良好目标规模: 128 核规模, 256 结点互连网络规模

挑战目标规模: 128 核规模 + 256 结点互连网络规模(需要跨片实现)

项目进度阶段一 (三个月)确定细化技术方案,给出细致指标;完成初步的内核模拟代码,以及 RTL 功能仿真;完成互连模拟的 RTL 代码(支持跨片设计)。阶段二 (七到九个月)

代码综合、上板调试完成原型系统集成软件部分

阶段三 (二到三个月)调整优化系统展示

Interleaved Pipeline 16xCPUInterleaved Pipeline 16xCPU

16Clk

发射 16 条指令来自模拟的 16 个处理器

完成 16 条指令的执行

1Clk

每条指令依次经过 16 个流水段每个流水段上依次经过 16 个核的指令

未来工作

面向 IA64 的处理器体系结构模拟、故障注入与跟踪(设计阶段)• IA64 处理器的微体系结构模拟

• 提供内核、存储层次、互连网络等多层次的故障注入接口

• 内部模拟实现了多种主流容错技术,可以直接配置运行

• 提供容错技术开发接口,以开发新的容错功能模块Appl i cation/Benchmark

系统模拟

体系结构配置参数…

处理器锁步配置参数…

互联网络配置参数…

故障注入参数…

配置接口

新的容错模块

容错开发接口

研究平台

高性能服务器

ECC容错模块

互联网络容错模块处理器锁步模块

检查点设置模块

启动时配置参数

容错模拟结果、模拟统计分析、模拟执行记录…

输入 输出

修改的处理器锁步容错模块

User

User

模块接口内存容错模块

. . .

Recommended