怎么运行的
CPU 的工作周期由控制单元管理并由 CPU 时钟同步。这个周期称为CPU 指令周期,它由一系列取指/译码/执行部分组成。可能包含静态数据或指向可变数据的指针的指令被取出并放入指令寄存器中。指令被解码,所有数据被放入 A 和 B 数据寄存器。该指令使用 A 和 B 寄存器执行,结果放入累加器。然后 CPU 将指令指针的值增加个指令指针的长度,然后重新开始。
为了让程序员设计出一个完整的程序,需要编写三个组件。
TSXCUSBMBP中央处理器代码:
通常用C 编程语言编写,CPU 代码通过调用由 Maxeler 编译器公开的适当函数来控制执行并使用 DFE 作为处理单元。
内核集:
每个内核都实现了一定的功能,大致相当于一个函数抽象。它有一组输入流和一组附加的输出流。
管理器是将数据流从 CPU 连接到接收内核的组件,反之亦然。它在内核和 LMem 之间建立连接并互连内核。管理器还构建了 CPU 代码与 DFE 交互的接口。
管理器和内核是用一种称为 MaxJ 的特定领域语言编写的。这种语言是Java 编程语言的超集,具有一些更适合更轻松地创建数据流程序的扩展。
编译器将内核的描述转换为数据流图,该图由后端物理布局在 FPGA 芯片上。后端通常计算量很大,因为需要考虑许多结构约束。