CN105573931B - 一种双口ram的访问方法及装置 - Google Patents
一种双口ram的访问方法及装置 Download PDFInfo
- Publication number
- CN105573931B CN105573931B CN201510901041.2A CN201510901041A CN105573931B CN 105573931 B CN105573931 B CN 105573931B CN 201510901041 A CN201510901041 A CN 201510901041A CN 105573931 B CN105573931 B CN 105573931B
- Authority
- CN
- China
- Prior art keywords
- signal
- processor
- dual port
- port ram
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种双口RAM的访问方法及装置,所述方法包括如下步骤:步骤1):当双口RAM两侧的主处理器和协处理器在同一时间间隔内发出访问相同RAM地址的命令时,进行冲突监测;步骤2):冲突监测模块产生BUSY信号,BUSY信号经过逻辑转换模块转换后,输出应答信号给迟滞处理器,使迟滞处理器的总线周期延长;所述迟滞处理器是指在主处理器和协处理器中,在同一时间间隔访问双口RAM相对滞后的处理器;本发明提供的一种带自适应节省了系统开销,响应时间短。
Description
技术领域
本发明涉及数据端口设计领域,尤其涉及一种带自适应避让机制的抢占式访问双口RAM的方法。
背景技术
在现代工业控制系统中,由于对系统的功能和性能要求越来越高,一般都采用高性能的处理器来实现控制功能,并将这些智能设备联网组成分布式系统,双口RAM作为共享存储器。尤其是在综合任务处理机等技术领域,两个处理器之间通过双口RAM交换数据是常见的数据接口方式。一般双口RAM都提供了两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线,两侧处理器同时访问双口RAM时,即当两个处理器同时向同一个地址单元写入数据、或者两个CPU同时对同一个地址单元操作(一个写入数据,一个读出数据)时,会造成冲突,导致读写数据错误,这是双口RAM读写控制方案设计时的常见问题。现有控制发难都是围绕如何避免冲突而设计,需要在软件层面通过复杂的信号量传递机制和握手机制解决,任何一侧在访问前都需查询总线状态,这产生了额外的系统开销,且需占用宝贵的处理器中断资源。
发明内容
本发明的目的是提供一种带自适应避让机制的抢占式访问双口RAM的方法,用以解决现有避让冲突、避免读写失败的技术方案中,额外的系统开销大的技术问题。
为实现上述目的,本发明的方案包括:
一种双口RAM的访问方法,包括如下步骤:
步骤1):当双口RAM两侧的主处理器和协处理器在同一时间间隔内发出访问相同RAM地址的命令时,进行冲突监测;
步骤2):冲突监测模块产生BUSY信号,BUSY信号经过逻辑转换模块转换后,输出应答信号给迟滞处理器,使迟滞处理器的总线周期延长;所述迟滞处理器是指在主处理器和协处理器中,在同一时间间隔访问双口RAM相对滞后的处理器;
进一步的,所述步骤2)中BUSY信号经过逻辑转换模块进行的逻辑转换的设计方法为:逻辑转换模块内置计数器,设置BUSYL信号为计数器清零信号,当计数器计数溢出时,使ACK_L信号有效。
进一步的,所述步骤2)中BUSY信号经过逻辑转换模块进行的逻辑转换的设计方法为:逻辑转换模块内置计数器,设置BUSYR信号为计数器清零信号,当计数器计数溢出时,使ACK_R信号有效。
进一步的,主处理器和协处理器没有在同一时间间隔内访问相同双口RAM时,BUSYR信号和BUSYL无效,两个处理器的总线周期不变,维持其默认值。
一种双口RAM的访问装置,包括如下模块:
模块1):用于当双口RAM两侧的主处理器和协处理器在同一时间间隔内发出访问相同RAM地址的命令时,进行冲突监测;
模块2):用于冲突监测模块产生BUSY信号,BUSY信号经过逻辑转换模块转换后,输出应答信号给迟滞处理器,使迟滞处理器的总线周期延长;所述迟滞处理器是指在主处理器和协处理器中,在同一时间间隔访问双口RAM相对滞后的处理器;
进一步的,所述模块2)中BUSY信号经过逻辑转换模块进行的逻辑转换的设计方法为:逻辑转换模块内置计数器,设置BUSYL信号为计数器清零信号,当计数器计数溢出时,ACK_L信号有效。
进一步的,所述模块2)中BUSY信号经过逻辑转换模块进行的逻辑转换的设计方法为:逻辑转换模块内置计数器,设置BUSYR信号为计数器清零信号,当计数器计数溢出时,ACK_R信号有效。
进一步的,主处理器和协处理器没有在同一时间间隔内访问相同双口RAM时,BUSYR信号和BUSYL无效,两个处理器的总线周期不变,维持其默认值。
本发明提供的一种带自适应避让机制的抢占式访问双口RAM的方法,不需要在软件层面通过复杂的信号量传递机制和握手机制,不需要在访问双口RAM前查询总线状态,不占用处理器中断资源,节省了系统开销,响应时间短。
附图说明
图1是本发明的框架结构图;
图2是无访问冲突时的默认总线周期;
图3是有访问冲突时的调整总线周期。
具体实施方式
下面结合附图对本发明做进一步详细的说明。
为了克服现有的抢占式访问双口RAM会引起总线冲突和读写失败的不足,以及软件控制方式访问双口RAM引起的系统开销大、响应延时长的缺点,本发明提供一种带自适应避让机制的访问方法,不仅不需要额外的系统开销,而且能够有效的避让冲突,避免读写失败。下面将详细介绍本发明的具体实施方式。
如图1所示,是本发明的框架结构图。从图中可以看出,处理器A和处理器B分别设于双口RAM的两端,其中处理器A和处理器B分别是主处理器和协处理器。处理器A和处理器B分别通过数据总线访问双口RAM的数据存储阵列,进行数据(DATA)的交换;并且处理器A、处理器B分别发出CSL和CSR信号,通过双口RAM的两个I/O控制端口对双口RAM进行I/O控制;在处理器A和处理器B在同一时间间隔访问双口RAM时,双口RAM通过冲突监测与指示装置发出冲突信号BUSYL或BUSYR信号,BUSYL信号和BUSYR信号分别进入相应的逻辑处理模块逻辑A和逻辑B中,然后分别产生相应的应答信号ACK_L和ACK_R,传输给相应的处理器A和处理器B。
当处理器A和处理器B没有在同一时间间隔访问双口RAM时,双口RAM按照默认的正常模式对访问数据进行处理,总线访问周期不变。当处理器A和处理器B在同一时间间隔访问双口RAM时,双口RAM则会产生冲突指示信号。虽然处理器A和处理器B在同一时间间隔访问双口RAM,但他们各自向双口RAM发送的访问信号还是存在一定的时间间隔,在这里,以处理器A发送访问信号的时间时刻滞后于处理器B为例。此时,由于处理器A和处理器B同时访问双口RAM,且处理器A访问时间滞后于处理器B,所以冲突监测装置会发出冲突指示信号BUSYL信号;该BUSYL信号从双口RAM出来后传输到可编程逻辑芯片模块逻辑B中,BUSYL信号将逻辑A模块中内置的计数器清零,然后计数器从零开始计数,当计数器溢出时,应答信号ACK_L被使能有效,引起总线周期延长,同时应答信号ACK_L传输到处理器A中,修改处理器A的总线周期配置寄存器,延长处理器A的总线周期,使得处理器A在处理器B访问结束后再访问双口RAM,从而有效的避免两个处理器在同一时间间隔访问双口RAM时发生冲突。
本发明提供的一种带自适应避让机制的抢占式访问双口RAM的方法,在不发生访问冲突时,两侧处理器以最快的速度完成数据读写,而在发生访问冲突时,优先保证一侧的访问在最短时间完成,通过延长总线周期使得另外一侧处理器也能保证在本次访问周期内完成正常读写,从而有效的减少了额外的系统开销。从图2和图3中可以看出,无访问冲突时其总线周期明显小于有访问冲突时的总线周期。
以上给出了本发明具体的实施方式,但本发明不局限于所描述的实施方式。在本发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上述实施例中的技术手段进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发明目的也基本相同,这样形成的技术方案是对上述实施例进行微调形成的,这种技术方案仍落入本发明的保护范围内。
Claims (4)
1.一种双口RAM的访问方法,其特征在于,包括如下步骤:
步骤1):当双口RAM两侧的主处理器和协处理器在同一时间间隔内发出访问相同RAM地址的命令时,进行冲突监测;
步骤2):冲突监测模块产生BUSYL或BUSYR信号,经过逻辑转换模块转换后,输出ACK_L或ACK_R应答信号给迟滞处理器,使迟滞处理器的总线周期延长;所述迟滞处理器是指在主处理器和协处理器中,在同一时间间隔访问双口RAM的时间上相对滞后的处理器;
所述步骤2)中利用BUSYL信号逻辑转换的设计方法为:逻辑转换模块内置计数器,设置迟滞处理器的总线访问信号为计数器启动信号;设置BUSYL信号为计数器清零信号,当计数器计数溢出时,使ACK_L信号有效,输出ACK_L应答信号;
或所述步骤2)中利用BUSYR信号逻辑转换的设计方法为:逻辑转换模块内置计数器,设置迟滞处理器的总线访问信号为计数器启动信号;设置BUSYR信号为计数器清零信号,当计数器计数溢出时,使ACK_R信号有效,输出ACK_R应答信号。
2.根据权利要求1所述一种双口RAM的访问方法,其特征在于,主处理器和协处理器没有在同一时间间隔内访问相同双口RAM时,BUSYR信号和BUSYL无效,两个处理器的总线周期不变,维持其默认值。
3.一种双口RAM的访问装置,其特征在于,包括如下模块:
模块1):用于当双口RAM两侧的主处理器和协处理器在同一时间间隔内发出访问相同RAM地址的命令时,进行冲突监测;
模块2):用于冲突监测模块产生BUSYL或BUSYR,经过逻辑转换模块转换后,输出ACK_L或ACK_R应答信号给迟滞处理器,使迟滞处理器的总线周期延长;所述迟滞处理器是指在主处理器和协处理器中,在同一时间间隔访问双口RAM的时间上相对滞后的处理器;
所述模块2)中利用BUSYL信号逻辑转换的设计方法为:逻辑转换模块内置计数器,设置迟滞处理器的总线访问信号为计数器启动信号;设置BUSYL信号为计数器清零信号,当计数器计数溢出时,ACK_L信号有效,输出ACK_L应答信号;
或所述模块2)中利用BUSYR信号逻辑转换的设计方法为:逻辑转换模块内置计数器,设置迟滞处理器的总线访问信号为计数器启动信号;设置BUSYR信号为计数器清零信号,当计数器计数溢出时,ACK_R信号有效,输出ACK_R应答信号。
4.根据权利要求3所述一种双口RAM的访问装置,其特征在于,主处理器和协处理器没有在同一时间间隔内访问相同双口RAM时,BUSYR信号和BUSYL无效,两个处理器的总线周期不变,维持其默认值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510901041.2A CN105573931B (zh) | 2015-12-05 | 2015-12-05 | 一种双口ram的访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510901041.2A CN105573931B (zh) | 2015-12-05 | 2015-12-05 | 一种双口ram的访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573931A CN105573931A (zh) | 2016-05-11 |
CN105573931B true CN105573931B (zh) | 2019-10-15 |
Family
ID=55884090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510901041.2A Active CN105573931B (zh) | 2015-12-05 | 2015-12-05 | 一种双口ram的访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573931B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463520B (zh) * | 2017-08-14 | 2020-04-28 | 中国航空无线电电子研究所 | 一种基于可编程逻辑的双口ram防冲突方法 |
CN108335719A (zh) * | 2018-02-24 | 2018-07-27 | 上海兆芯集成电路有限公司 | 性能评估装置及性能评估方法 |
CN109614350B (zh) * | 2018-10-29 | 2022-03-15 | 中国航空工业集团公司洛阳电光设备研究所 | 一种用于处理器间双口ram通信的中断系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383370B1 (en) * | 2005-03-31 | 2008-06-03 | Cypress Semiconductor Corporation | Arbiter circuit and signal arbitration method |
CN101227366A (zh) * | 2007-12-11 | 2008-07-23 | 北京豪沃尔科技发展股份有限公司 | 总线传输数据防冲突方法 |
CN101477830A (zh) * | 2000-12-20 | 2009-07-08 | 富士通微电子株式会社 | 基于动态随机存取存储器核心的多端口存储器 |
CN101655824A (zh) * | 2009-08-25 | 2010-02-24 | 北京广利核系统工程有限公司 | 一种双口ram互斥访问的实现方法 |
CN102567248A (zh) * | 2010-12-31 | 2012-07-11 | 中国航空工业集团公司第六三一研究所 | 一种避免双端口存储器访问冲突的控制电路与方法 |
-
2015
- 2015-12-05 CN CN201510901041.2A patent/CN105573931B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477830A (zh) * | 2000-12-20 | 2009-07-08 | 富士通微电子株式会社 | 基于动态随机存取存储器核心的多端口存储器 |
US7383370B1 (en) * | 2005-03-31 | 2008-06-03 | Cypress Semiconductor Corporation | Arbiter circuit and signal arbitration method |
CN101227366A (zh) * | 2007-12-11 | 2008-07-23 | 北京豪沃尔科技发展股份有限公司 | 总线传输数据防冲突方法 |
CN101655824A (zh) * | 2009-08-25 | 2010-02-24 | 北京广利核系统工程有限公司 | 一种双口ram互斥访问的实现方法 |
CN102567248A (zh) * | 2010-12-31 | 2012-07-11 | 中国航空工业集团公司第六三一研究所 | 一种避免双端口存储器访问冲突的控制电路与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105573931A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795844B2 (en) | Multicore bus architecture with non-blocking high performance transaction credit system | |
US20240086065A1 (en) | Delayed snoop for improved multi-process false sharing parallel thread performance | |
CN110647480B (zh) | 数据处理方法、远程直接访存网卡和设备 | |
US8645959B2 (en) | Method and apparatus for communication between two or more processing elements | |
JP4786209B2 (ja) | メモリアクセス装置 | |
CN102710890B (zh) | 双ahb总线的视频处理片上系统 | |
CN105573931B (zh) | 一种双口ram的访问方法及装置 | |
US20060080478A1 (en) | Multi-threaded DMA | |
US20060080477A1 (en) | Multi-channel DMA with shared FIFO | |
CN103714026B (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
JP2012038293A (ja) | マシンビジョン用マルチプロセッサシステムオンチップ | |
TW201423663A (zh) | 資料傳輸之系統與方法 | |
Ecco et al. | Improved dram timing bounds for real-time dram controllers with read/write bundling | |
US9330025B2 (en) | Information processing apparatus, memory control apparatus, and control method thereof | |
EP3200391B1 (en) | Counter and counting method | |
JP2012252490A (ja) | マルチプロセッサおよびそれを用いた画像処理システム | |
US9229895B2 (en) | Multi-core integrated circuit configurable to provide multiple logical domains | |
CN104461957A (zh) | 一种异构多核cpu共享片上高速缓存的方法及装置 | |
WO2009009133A2 (en) | Dual bus system and method | |
US8799699B2 (en) | Data processing system | |
CN109840241B (zh) | 一种异构双核处理器核间通讯电路 | |
US10911375B2 (en) | Processor and information processing apparatus for checking interconnects among a plurality of processors | |
US9767054B2 (en) | Data transfer control device and memory-containing device | |
CN108234147B (zh) | Gpdsp中基于主机计数的dma广播数据传输方法 | |
WO2006042108A1 (en) | Multi-threaded direct memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |