嵌入式系统架构:NoGAP、NoTA与GENESYS的技术剖析
1. NoGAP架构概述
NoGAP是一个微架构构建框架,旨在解决硬件描述语言(HDL)工具和架构描述语言(ADL)工具之间的抽象差距问题。它采用组合设计方法,在管理复杂性的同时提供设计灵活性,为PID1架构提供了完全的灵活性,为PID2架构提供了最少的先验假设。
1.1 Pipeliner节点与指令分类
Pipeliner节点接收延迟操作类向量作为输入,默认情况下会优先处理延迟最长的操作,忽略竞争相同资源的较短操作。NoGAP负责根据操作的资源利用率进行指令分类,不过具体实现细节未在文中详述。
1.2 数据路径与控制路径的关系
在Mase图中,所有数据都会正确地进行流水线处理,但控制节点(如插入的多路复用器控制节点或功能单元(FU)控制输入节点)的控制信号未进行流水线处理。因此,需要添加单独的控制路径,以确保控制数据与待处理数据同步。该控制路径还可根据需要处理指令冲突和寄存器转发。
1.3 Castle模块
Castle是NoGAP中处理内部指令生成的部分,本质上是将PID1架构转换为PID2架构。其中描述指令流生成的部分称为序列器。数据路径本身无需了解序列器的操作方式,只需在必要时能够暂停指令流即可。序列器描述包含源操作数和目标操作数的生成方式、寄存器转发的实现方式、跳转的处理方式以及中断处理的相关信息。
1.4 生成器
NoGAP的生成器可用于生成可综合的HDL代码、软件模拟器和编译器。
- HDL生成 :从Mage和Mase描述
超级会员免费看
订阅专栏 解锁全文
16

被折叠的 条评论
为什么被折叠?



