一种并行微处理器及其实现方法技术

技术编号:2821376 阅读:179 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及并行微处理器及其实现方法,基于FPGA开发,具有中央处理器,为由取指译码单元、进程管理单元和整数指令执行单元构成的32位定点中央处理器;通讯模块,由多组LINK通道和In/Out控制器组成;仲裁控制器,对中央处理器的内外部地址总线和数据总线进行仲裁;外部存储器接口,对外部存储器提供读/写操作的时序逻辑;中断/时序控制器,用于对中央处理器提供定时与中断;内部存储器,提供中央处理器的指令及数据的快速存取;中央处理器还具有浮点运算单元,其结合32位定点中央处理器构成64位浮点中央处理器。本发明专利技术实现的32位定点并行微处理器和64位浮点并行微处理器运行稳定,便于系统的修改和调试,加快验证速度,为OccamⅡ语言所编写的程序提供了低成本的运行平台。

【技术实现步骤摘要】

本专利技术涉及微处理器
,具体地说是一种基于FPGA开发的、 支持并行程序设计语言并行微处理器及其实现方法。技术背景支持并行程序设计语言OccamII的原始硬件平台是1984年之后英国 INMOS公司陆续推出的IMS T400系列并行定点Transputer微处理器和IMS T800系列并行浮点Transputer微处理器。IMS T400系列并行定点微处理器 包括T414、 T425两种微处理器,IMS T800系列浮点微处理器包括T801 、 T805两种并行微处理器,IMS T400和T800系列并行微处理器分别支持全 部的OccamII语言定点指令集和浮点指令集。但自1989年INMOS公司被 STMicroelectronics收购之后,IMS T400系列和T800系列的并行微处理器 不再向巿场提供,使得IMS T400系列定点并行微处理器和IMS T800系列 浮点并行微处理器处于生命周期终止状态。与本专利技术最接近的方法是曰本东京Metropolitan大学在《Design of a Transputer Core and its Implementation in an FPGA》 提至(J的T425 Transputer CPU模块实现方法,该文A作者分别为Makoto TANAKA、 NaoyaFUKUCHI、 Yutaka OOKI和Chikara FUKUNAGA ,作者的联系方式为Tb^yo Mefrapo//tow该文献给出的技术主题是实现了 一个被称作TPCORE的IP( Intellectual Property )核,该IP核可以植入FPGA ( Field Programmable Gate Array)中 完成32位并行定点处理器T425 Transputer的CPU功能。在实现原理上,TPCORE是通过微码只读存储器(Micro-code ROM) 方式,实现对状态变化进行描述的,TPCORE仅仅是提供了 32位定点微处 理器T425 Transputer其中的一个CPU模块,而且TPCORE并未涉及到64 位并行浮点微处理器的实现方法。如图1所示,为TPCORE的结构,TPCORE由一个CPU、 一个LINK 模块、存储器控制器及存储器组成,存储器的容量为4K字节,LINK模块 通过四个LINK接口与外部TPCORE进行通信(交换数据)。
技术实现思路
针对现有技术中并行微处理器存在未实现Transputer的所有功能的缺 陷,本专利技术要解决的技术问题是提供一种可完全替代Transputer的并行微处 理器及其实现方法。为解决上述技术问题,本专利技术釆用的技术方案是本专利技术并行微处理器,基于FPGA开发,包括中央处理器为由取指译码单元、进程管理单元和整数指令执行单元构 成的32位定点中央处理器,中央处理器执行指令的预取指和译码操作、负 责串行进程和并发进程的调度管理,实现多个进程之间的数据通信;通过 通讯模块在多个处理器之间进行数据通信,实现分布式处理器之间的协同 工作;通讯模块,由多组相互独立的LINK通道和In/Out控制器组成,执行主 机接口功能,实现与外部处理器通讯;仲裁控制器,根据取指译码单元、整数指令执行单元、进程管理单元中 和通讯模块的总线请求的优先级,对中央处理器的内外部地址总线和数据总线进行仲裁;外部存储器接口,在仲裁控制器的控制下,对外部存储器提供读/写操作的时序逻辑;中断/时序控制器,用于对中央处理器提供定时与中断; 内部存储器,提供中央处理器的指令及数据的快速存取; 调试接口 ,提供对中央处理器内部状态进行分析/调试的功能; 时钟管理单元,生成并行微处理器各种内部时钟。 所述In/Out控制器具有以下结构译码控制单元,对中央处理器传送来的In/Out控制信息进行判断,并 进一步解析出该执行接收/发送命令的LINK通道、要接收/发送的数据长度 以及接收数据的目的地址/发送数据的源地址;发送控制单元,接收译码控制单元的控制信息,接收通过读存储器控制器得到的存储器数据发送至LINK通道;向读存储器控制器发送读请求和 地址;读存储器控制器,接收发送控制单元输入的命令,发送读请求和地址 至读/写存储器仲载器;接收读/写存储器仲载器返回的数据发送至发送控制单元 ^存储器控制器,接收接收控制单元输入的命令,发送写请求和地址 至读/写存储器仲载器;读/写存储器仲载器,对读存储器控制器发送的读请求和写存储器控制器发送的写请求进行仲载;接收存储器数据发送给读存储器控制器;发送 存储器数据及存储器地址至仲载控制器;接收控制单元,接收译码控制单元的控制信息,接收link通道的数据, 向写存储器控制器发送写请求和地址。所述取指译码单元具有以下结构取指单元,通过仲裁控制器将内部存储器或外部存储器中存放的32位 数据转化为4条8位存储器码;译码单元,将上述存储器码进行译码,译码后的指令存放在指令队列 中,同时将该指令的指针存放在指令指针队列中;指令队列与指令指针队列,均由先进先出队列实现,其写请求控制端 与译码单元的指令译出信号相连,读请求控制端接至指令周期设置单元的 读指令队列信号;指令周期设置单元,对要执行指令所需要的指令周期数进行设置,设 置周期完成后将指令发射到整数指令执行单元。所述中央处理器还具有浮点运算单元,其结合32位定点中央处理器构成64位浮点中央处理器;所述浮点运算单元的构成如下浮点运算子单元,接收来自取指译码单元中指令周期设置单元及浮点 接口单元送出的浮点指令,根据具体指令的内容选择相应的浮点计算类型 对由堆栈中读取的操作数进行相关浮点运算;堆栈,装载由浮点运算子单元返回的运算结果或数据格式转换模块送 来的搡作数,负责向数据格式转换模块送出运算结果;接收浮点运算子单 元送出的出错信息;数据格式^Si莫块,对来自内部或外部存储器的定点搡作数进行格式 转换,转换结果送至堆栈;64位浮点中央处理器中的取指译码单元还具有浮点接口单元,对从取指译码单元的指令队列中读取的浮点指令进行分类,实现整数指令执行单 元与浮点运算单元的并行工作。所述浮点运算子单元具有尾数计算模块、指数计算模块、归一化模块、 舍入模块、移位模块以及出错处理模块,其中移位模块根据指数计算模块 计算结果进行相应的移位操作,同时尾数计算模块通过归一化模块根据移位模块的移位结果进行相应的归一化操作;舍入模块对归一化结果进行相 应的舍入搡作,舍入结果送至出错处理模块,如果计算错误,则输出出错 标志至堆栈。堆栈采用双堆栈结构,其中一组堆栈用于存储32位位宽的数据或64 位位宽的数据,另一组堆栈用于存储数据的长度,两组保持同步出栈或进 栈。本专利技术并行微处理器实现方法,包括以下步骤通过In/Out控制器将启动代码从通讯模块的LINK通道接收并写入内 部存储器中;通过In/Out控制器将启动成功的信息发送至32位定点并行处理器的 中央处理器,取指译码单元将从内部存储器读回的数据进行译码,根据整 数指令执行单元的忙闲状态将整数指令发送给整数指令执行单元;整数指令执行单元执行相应指令并启动进程管理功能;如果取指译码单元发送的是In/Out命令,则In/Out控制器根据接收到 的In/Out命令执行相本文档来自技高网
...

【技术保护点】
一种并行微处理器,基于FPGA开发,其特征在于包括: 中央处理器(1),为由取指译码单元(10)、进程管理单元(11)和整数指令执行单元构成的32位定点中央处理器,中央处理器(1)执行指令的预取指和译码操作、负责串行进程和并发进程的调度管理,实现多个进程之间的数据通信;通过通讯模块在多个处理器之间进行数据通信,实现分布式处理器之间的协同工作; 通讯模块(2),由多组相互独立的LINK通道和In/Out控制器组成,执行主机接口功能,实现与外部处理器通讯; 仲裁控制器(3),根据取指译码单元、整数指令执行单元、进程管理单元中和通讯模块(2)的总线请求的优先级,对中央处理器(1)的内外部地址总线和数据总线进行仲裁; 外部存储器接口(4),在仲裁控制器(3)的控制下,对外部存储器提供读/写操作的时序逻辑; 中断/时序控制器(5),用于对中央处理器(1)提供定时与中断; 内部存储器(6),提供中央处理器(1)的指令及数据的快速存取; 调试接口(7),提供对中央处理器(1)内部状态进行分析/调试的功能; 时钟管理单元(8),生成并行微处理器各种内部时钟。

【技术特征摘要】

【专利技术属性】
技术研发人员:史建华王君杰孙容李海泉吴林王鹏张丙春孙佳音
申请(专利权)人:东软飞利浦医疗设备系统有限责任公司
类型:发明
国别省市:89[中国|沈阳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利