论文部分内容阅读
大规模片上多核微处理器拥有大量中央处理器(CPU)核,并通过多任务并行的方式使它们协作工作。然而,随着片上CPU核数量的增加,传统总线或者点对点的互联结构已无法满足大量CPU核对通讯结构的面积、功耗以及带宽的需求。同时,作为CPU私有缓存的高速缓存(cache)的数量也随着CPU核数量的增加而增加,传统的cache结构很难满足大量CPU核对cache的低功耗需求。针对上述存在的这些关键技术问题,本论文对大规模片上多核微处理器的低功耗cache技术、片上网络互联技术以及可重构片上网络技术等方面进行了研究。本论文的主要工作内容和创新点如下: (1)为微处理器内存子系统建立功耗模型,分析低功耗cache所应具备的基本特征,并在此基础上提出动态重定位cache结构。动态重定位cache采用基于踪迹的指令存储方案,按照指令执行顺序为每个进入cache存储器的指令分配一个踪迹地址,并通过动态地址映射模块来完成踪迹地址与编译地址之间的相互转换,同时采用“先入先替换”的替换策略,从而保证即使在cache存储器满时,踪迹存储方案仍然能被正确执行。 (2)提出基于混合电路交换(HCS)的片上网络结构。实现高级微控制器总线结构(AMBA)协议到片上网络协议的映射,具有AMBA兼容性。采用无缓存的交换机结构,各交换机之间通过流水线通道实现数据包传输。采用混合的传输机制,传输机制的切换由消息的长度所决定,对于单数据包的消息采用包交换方式,而多数据包的消息则采用电路交换方式。 (3)提出基于规则拓扑的可重构片上网络(RROCN)。通过所提出的可重构策略和网络构造算法,可在最大规则拓扑的约束下,动态的构造具有各种不同参数的拓扑结构。采用自适应的XY路由算法,从而保证数据包在任何拓扑结构中都能正确到达目的地。 最后,基于本论文所提出的技术与方法,设计实现了一个拥有64核的片上网络多核微处理器系统,并在Xilinx现场可编程门阵列(FPGA)中进行了实现。