CN105573931B - 一种双口ram的访问方法及装置 - Google Patents

一种双口ram的访问方法及装置 Download PDF

Info

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
Application number
CN201510901041.2A
Other languages
English (en)
Other versions
CN105573931A (zh
Inventor
张豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN201510901041.2A priority Critical patent/CN105573931B/zh
Publication of CN105573931A publication Critical patent/CN105573931A/zh
Application granted granted Critical
Publication of CN105573931B publication Critical patent/CN105573931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling 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都提供了两个完全独立的端口,每个端口都有自己的控制线、地址线和数据线,两侧处理器同时访问双口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无效,两个处理器的总线周期不变,维持其默认值。
CN201510901041.2A 2015-12-05 2015-12-05 一种双口ram的访问方法及装置 Active CN105573931B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国航空工业集团公司第六三一研究所 一种避免双端口存储器访问冲突的控制电路与方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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