[发明专利]一种四核处理器系统共享单一程序存储器的方法有效
申请号: | 201310173042.0 | 申请日: | 2013-05-11 |
公开(公告)号: | CN103412848A | 公开(公告)日: | 2013-11-27 |
发明(设计)人: | 杨灿美;杨宏周 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F15/167 | 分类号: | G06F15/167 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种四核处理器系统共享单一程序存储器的方法,其结合了两种方法——使用双相时钟和存储器地址按奇偶序号分堆,四核处理器系统的四个处理器分别是Core0,Core1,Core2,Core3,它们在地址总线上对应的存储器访问地址为addr0,addr1,addr2,addr3,Core0和Core1属于集合A1,由时钟φ1驱动,Core2和Core3属于集合A2,由时钟φ2驱动,共享存储器SMEM由时钟HCLK驱动,φ1和φ2是一对相位相反的时钟,频率是HCLK的一半。由于φ1和φ2的相位相反,这样两组Cores之间对存储器的访问是独立的,互不干扰,因此两组Cores(即A1和A2)之间不会产生访问竞争。本发明解决了四核处理器系统对一个共享存储器的访问竞争问题。 | ||
搜索关键词: | 一种 处理器 系统 共享 单一 程序 存储器 方法 | ||
【主权项】:
一种四核处理器系统共享单一程序存储器的方法,其特征在于:所述四核处理器系统的四个处理器分别是Core0,Core1,Core2,Core3,它们在地址总线上对应的存储器访问地址为addr0,addr1,addr2,addr3,Core0和Core1属于集合A1,由时钟φ1驱动,Core2和Core3属于集合A2,由时钟φ2驱动,共享存储器SMEM由时钟HCLK驱动,φ1和φ2是一对相位相反的时钟,频率是HCLK的一半;所述共享单程序存储器分为奇地址块和偶地址块;具体实现步骤如下:(1)在时钟φ1上升沿到来时,进入的是集合A1中Core0和Core1的存储器读地址addr0和addr1,将addr0和addr1送至访问竞争仲裁逻辑及控制信号产生单元,产生访问存储器类型选择信号TPS0和TPS1,访问存储器地址奇偶块选信号BNS0和BNS1,以及等待状态信号WS0和WS1;在时钟φ2上升沿到来时,进入的是集合A2中Core2和Core3的存储器读地址addr2和addr3,将addr2和addr3送至访问竞争仲裁逻辑及控制信号产生单元,产生访问存储器类型选择信号TPS2和TPS3,访问存储器地址奇偶块选信号BNS2和BNS3,以及等待状态信号WS2和WS3;(2)在HCLK的上升沿到来时,若WS0或WS1=0,则读取addr0或addr1对应的数据,此时若BNS0或BNS1=0将读取的数据即奇地址块数据送至多路分配器0,否则将读取的数据即偶地址块数据送至多路分配器1,若WS0或WS1=1,则不会读取addr0或addr1对应的数据,将相应的地址addr0或addr1延迟2个HCLK时钟周期,然后跳转至(1),若WS2或WS3=0,则读取addr2或addr3对应的数据,此时若BNS2或BNS3=0将读取的数据即奇地址块数据送至多路分配器0,否则将读取的数据即偶地址块数据送至多路分配器1,若WS2或WS3=1,则不会读取addr2或addr3对应的数据,将相应的地址addr2或addr3延迟2个HCLK时钟周期,然后跳转至(1);(3)在HCLK的上升沿到来时,将输入到多路分配器0的数据转变为两路输出A1data_odd和A2data_odd,将输入到多路分配器1的数据转变为两路输出A1data_even和A2data_even,然后将A1data_odd和A2data_even分别送至多路选择器00和多路选择器10,然后将A2data_odd和A2data_evne分别送至多路选择器20和多路选择器30;(4)在时钟φ1上升沿到来时,若BNS0或BNS1=0,则多路选择器00或10的输出为A1data_odd,,若BNS0或BNS1=1,则多路选择器00或多路选择器10的输出为A1data_even,将多路选择器00或多路选择器10的输出送至锁存器0或锁存器1;在时钟φ2上升沿到来时, 若BNS2或BNS3=0,则多路选择器20或多路选择器30的输出为A2data_odd,,若BNS2或BNS3=1,则多路选择器20或多路选择器30的输出为A2data_even,将多路选择器20或多路选择器30的输出送至锁存器2或锁存器3;(5)将输入到锁存器0和锁存器1的数据锁存半个时钟φ1周期后输出数据data0和data1,然后将锁存器0和锁存器1的输出数据送至多路选择器01和多路选择器11,将输入到锁存器2和3的数据锁存半个时钟φ2周期后输出数据data2和data3,然后将锁存器2和锁存器3的输出数据送至多路选择器21和多路选择器31;(6)在时钟φ1上升沿到来时,若TPS0或TPS1=0,则多路选择器01或多路选择器11的输出为data0或data1,若TPS0或TPS1=1,则多路选择器的输出为本地存储器访问地址对应的数据,在时钟φ2上升沿到来时,若TPS2或TPS3=0,则多路选择器21或多路选择器31的输出为data2或data3,若TPS2或TPS3=1,则多路选择器的输出为本地存储器访问地址对应的数据;(7)在时钟φ1上升沿到来时,将多路选择器01和多路选择器11的输出数据送至Core0和Core1,在时钟φ2上升沿到来时,将多路选择器21和多路选择器31的输出数据送至Core2和Core3,完成一次数据的读取操作,然后跳转至步骤(1)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310173042.0/,转载请声明来源钻瓜专利网。