CN1319806A - 微控制器双端口ram操作中冲突检测的装置和方法 - Google Patents

微控制器双端口ram操作中冲突检测的装置和方法 Download PDF

Info

Publication number
CN1319806A
CN1319806A CN01101581A CN01101581A CN1319806A CN 1319806 A CN1319806 A CN 1319806A CN 01101581 A CN01101581 A CN 01101581A CN 01101581 A CN01101581 A CN 01101581A CN 1319806 A CN1319806 A CN 1319806A
Authority
CN
China
Prior art keywords
access
address
microcontroller
port
signal
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.)
Pending
Application number
CN01101581A
Other languages
English (en)
Inventor
西奥多·J·迪佩纳尔
斯蒂芬纳斯·P·杜文哈格
迈克尔·S·派斯卡
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN1319806A publication Critical patent/CN1319806A/zh
Pending legal-status Critical Current

Links

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/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Bus Control (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

通过微控制器地址总线将微控制器耦合到双端口RAM。通过外设地址总线将外设耦合到双端口RAM。地址比较器比较微控制器地址总线和外设地址总线以产生一个中断微控制器的冲突错误信号。逻辑功能单元耦合在微控制器和双端口RAM之间。错误信号至少是部分根据微控制器地址总线的第一地址和外设地址总线上的第二地址的比较,以及是否微控制器和外设之间是对双端口RAM同时访问。因此,当微控制器同时存取被禁止和通过冲突错误信号禁止被通知到微控制器的时候,外设是被允许存取的。

Description

微控制器双端口RAM操作中冲突检测的装置和方法
本发明一般涉及存储器存储结构,更具体地,涉及对双端口RAM操作的冲突检测。
双端口存储器用于在两个数据源如微控制器和外设数据源间执行共享存储空间。因为从双端口存储器中读回的数据不改变它的内容,所以同时读处理不产生问题而同时写入处理却会产生问题。更特别地,因为数据能在任何时间被传递到任何地址的存储器中,因而对同一地址同时写入操作可能将内容改变成为一个不确定的值。发生的这种情况就称为“写入冲突”。
写入冲突问题已经通过防止冲突发生的约束确定如确定重缓冲结构或通过总线仲裁的时分复用得到解决。这种仲裁通常是写入要求和授权协议的形式,授权协议暂停从处理直到主处理放弃对该地址的访问并将一授权返回到从处理。在这种总线仲裁结构中,共享存取是按时间计划的,当主处理没有及时授权总线让从处理向其内写入数据时给出错误指示。另一个仲裁的通用形式是将写入存取分时,这样就不会有两个装置能够同时写入任何一个地址。这种分时仲裁设计要求以一预定的方式定时以防止同时写入的出现。
这些关于写入冲突问题的解决方法引入了一个对存储器的任何位置的存储器写入处理的不可预知的时间延迟。任何一个预定时间的仲裁涉及一个时间处罚,以及仲裁硬件设计的复杂性。所以,现在需要的是可以排除或减轻这些问题的存储器存储结构。
同时写入处理发生在允许微控制器和外设都对双端口RAM(“DPR”)执行读出和写入的操作的情况。如果微控制器和外设都访问DPR的相同地址,则微控制器的存取被禁止而外设的存取继续。如果微控制器被中断,可以采取诸如对作为错误的存取操作计数或重试该存取之类的合适的动作。
在本发明的实施例中,通过微控制器数据总线和微控制器地址总线将微控制器耦合到双端口RAM。通过外设数据总线和外设地址总线将外设耦合到双端口RAM。地址比较器有输入端口,输入端口耦合到微控制器写入信号、微控制器地址总线、和外设地址总线。地址比较器具有在耦合到微控制器中断口的控制总线上产生中断信号的功能。在微控制器和双端口RAM之间插入的是逻辑功能单元,逻辑功能单元可以由例如电路或软件实现。逻辑功能单元的输出端耦合到双端口RAM。中断信号是至少部分根据微控制器地址总线的第一地址和外设地址总线的第二地址的比较,以及微控制器和外设是否同时访问双端口RAM而产生的。
通过下面结合示例性地说明本发明的特点,从对附图进行的详细描述中,本发明的其他方面和优点将会变得更加清楚。
图1示出了一个根据本发明原理的存储器存储结构的例子。
如图1所示,为了说明的目的,微控制器10和外设14共享通用的双端口存储器12。微控制器和外设的对同一地址同时存取,例如写入操作,会产生写入冲突错误或中断微控制器但允许外设继续执行存取操作的中断信号。
对于微控制器10和外设14的数据流是流入双端口RAM(“DPR”)12和从双端口RAM中流出的。微控制器10和外设14每个都有地址总线和数据总线使从DPR12两侧都可以随机存取。微控制器10具有内置中断能力。如果发生了通过微控制器10和外设14在同一地址的同时存取(例如,写入)操作,则通过线16上的中断信号中断微控制器,这样只有外设被允许访问DPR12中的该地址。接着微控制器10可以进行合适的动作。
根据图1所示的实施例,微控制器10通过微控制器数据总线18和微控制器地址总线20和DPR12的第一数据端口相连。微控制器10在微控制器数据总线18上对DPR12进行存取。逻辑功能单元22插入在微控制器10和DPR12之间。逻辑功能单元22的输出连接到DPR12的第一数据端口。
外设14通过外设数据总线30和外设地址总线32连接到DPR12的第二数据端口。外设14通过外设数据总线30访问DPR12。
地址比较器36有四个输入端口。地址比较器36的这四个输入端口耦合到微控制器写入信号、微控制器地址总线20、外设写入信号、和外设地址总线32。地址比较器36在线16上产生冲突错误信号。冲突错误信号的产生是基于(a)微控制器地址总线20的第一地址和外设地址总线32的第二地址的比较,以及(b)微控制器10和外设14是否是同时存取DPR12(例如,写入到)。
例如,(a)外设14和微控制器10不同时写入时,或(b)外设写入的DPR中的地址和微控制器写入的DPR中的地址是不同的,则地址比较器36不产生冲突错误信号。但是,如果外设14和微控制器同时写入,以及如果外设写入的DPR中的地址和微控制器写入的DPR中的地址是相同的,则地址比较器36就产生冲突错误信号。在本例中,冲突错误信号指示一个写入冲突。
在图1所示的特定的实施例中,地址比较器36产生的写入冲突的中断信号通过控制线16的方式施加到微控制器10的中断端口。冲突信号也连接到逻辑功能单元的输入端口。
地址比较器36输出的冲突错误信号通常是一个逻辑假状态(例如,代表“0”)。当在其假状态的中断信号输入到逻辑功能单元22时,逻辑功能单元22的输出是:(a)当在微控制器数据总线18上的从微控制器10输出的数据是真时,在其为逻辑真状态(例如,代表“1”)或(b)当在微控制器数据总线18上的从微控制器10输出的数据是假时,在其为逻辑假状态(例如,代表“0”)。作为例子,逻辑功能单元可以实现如下表所描述的逻辑功能。本领域技术人员都知道,该表表示的逻辑功能可以通过多种方法实现,包括硬件或软件逻辑“与”操作。
    A     B     Y
    0     0     0
    0     1     1
    1     0     0
    1     1     0
因此,当冲突错误信号是逻辑假状态时,逻辑功能单元22的输出跟随着逻辑功能单元22的输入B。
微控制器10在其中断端口接收来自线16的冲突错误信号。微控制器10根据冲突错误信号确定是否使能或不使能从微控制器输出数据。当通常是逻辑假状态时的该冲突错误信号变成逻辑真状态时,从微控制器10到DPR12的写入信号被有效地不使能。因此,在外设14的写入操作进行的同时,微控制器的写入操作被中断并被禁止。
在到DPR12的存取时间需要被预知的应用中,本发明保证对于外设14到DPR12的存取。由于微控制器10和外设14二者试图同时存取操作(例如,写入操作)而产生错误并按照上述示范的实施例中的描述该同时存取操作是可以防止的。外设14在写入到DPR12时有优先权并且微控制器10在错误发生前预先被中断。根据本发明的特定应用,微控制器10可以具有优先权而不是外设14具有优先权。在这种情况下,如图所示的微控制器10和外设14的相对位置关系则要被翻转,冲突错误信号施加到外设14上。并且,DPR12不限于存储器设备且可以是任何合适的双端口装置。
在本发明的特定形式已经被说明和描述的同时,可以看出在不背离本发明的精神和范围的前提下可以有多种改进。

Claims (14)

1、一种装置,包括:
双端口设备;
第一设备,包括中断输入,以及实施地耦合到双端口设备的第一数据总线和第一地址总线;
第二设备,包括第二数据总线,以及实施地耦合到双端口设备的第二据总线和第二址总线;和
地址比较器,实施地耦合到第一地址总线和第二地址总线,以便通过第一和第二设备根据预定的双端口设备的同时存取产生的冲突错误信号。
2、如权利要求1中的装置,还包括:
逻辑功能单元,实施地耦合在第一和第二装置之间,以响应冲突错误信号禁止第一装置而停止对双端口装置的访问;
3、如权利要求2中的装置,其中,第一装置产生存取信号,以及逻辑功能单元包括至少一个冲突错误信号和存取信号的逻辑“与”;
4、如权利要求3中的装置,其中,存取信号包括第一装置提供的写入信号;
5、如权利要求4中的装置,其中,第一装置包括微控制器以及第二装置包括外设;
6、如权利要求4中的装置,其中,第一装置包括外设,以及第二装置包括微控制器;
7、如权利要求1中的装置,其中,预定的同时存取包括通过第一和第二装置对双端口装置的同时写入;
8、如权利要求7中的装置,其中,地址比较器相应于第一和第二地址总线的比较产生的冲突错误信号;
9、一种通过第一和第二装置对双端口装置的控制存取的方法,包括:
通过第一装置启动对双端口装置的第一地址的存取;
通过第二装置启动对双端口装置的第二地址的存取;和
通过第一装置至少部分根据第一地址和第二地址的比较而禁止存取。
10、如权利要求9所述的方法,还包括通过第一设备和第二设备根据预定的双端口装置的同时存取产生的冲突错误信号;
11、如权利要求10所述的方法,还包括响应冲突误差信号禁止第一装置的存取;
12、如权利要求12所述的方法,其,第一装置产生存取信号以及该方法还包括根据冲突错误信号可控地传递存取信号到双端口装置;
13、如权利要求12所述的方法,其中,存取包括到双端口装置的写入操作;
14、如权利要求11所述的方法,其中,第一装置产生存取信号并且禁止第一装置的存取包括:
将冲突错误信号和存取信号执行一个逻辑“与”。
CN01101581A 2000-02-04 2001-01-18 微控制器双端口ram操作中冲突检测的装置和方法 Pending CN1319806A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49779400A 2000-02-04 2000-02-04
US09/497,794 2000-02-04

Publications (1)

Publication Number Publication Date
CN1319806A true CN1319806A (zh) 2001-10-31

Family

ID=23978340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01101581A Pending CN1319806A (zh) 2000-02-04 2001-01-18 微控制器双端口ram操作中冲突检测的装置和方法

Country Status (5)

Country Link
EP (1) EP1132820A3 (zh)
JP (1) JP2001229072A (zh)
KR (1) KR20010077995A (zh)
CN (1) CN1319806A (zh)
TW (1) TW544583B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100395741C (zh) * 2003-12-12 2008-06-18 冲电气工业株式会社 数据传输电路
CN101127208B (zh) * 2007-08-15 2010-05-19 西安龙腾微电子科技发展有限公司 异步伪双端口图像存储器的访问冲突处理方法
CN101751980A (zh) * 2008-12-17 2010-06-23 中国科学院电子学研究所 基于存储器知识产权核的嵌入式可编程存储器
CN101025898B (zh) * 2006-02-21 2010-10-06 天利半导体(深圳)有限公司 一种用于lcd驱动电路中双口sram操作冲突的仲裁电路结构
CN101911033A (zh) * 2008-03-05 2010-12-08 密克罗奇普技术公司 在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽
CN101981901A (zh) * 2008-04-04 2011-02-23 宗拓贝尔照明器材有限公司 借助冲突检查的总线地址自动分配
CN101763250B (zh) * 2008-12-25 2014-03-12 世意法(北京)半导体研发有限责任公司 地址比较电路和方法
CN103699388A (zh) * 2013-12-30 2014-04-02 北京控制工程研究所 基于绝对地址汇聚的数据访问冲突检测方法
CN110307961A (zh) * 2019-07-04 2019-10-08 歌尔股份有限公司 光机测试方法、测试装置及计算机可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938111B2 (en) * 2002-04-19 2005-08-30 Siemens Aktiengesellschaft Method for operating automation control equipment applications
US9171594B2 (en) * 2012-07-19 2015-10-27 Arm Limited Handling collisions between accesses in multiport memories
US10649909B2 (en) 2018-06-14 2020-05-12 Western Digital Technologies, Inc. Logical block addressing range collision crawler

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627030A (en) * 1985-02-04 1986-12-02 At&T Bell Laboratories Dual port memory word size expansion technique
JPS61194549A (ja) * 1985-02-20 1986-08-28 ハネウエル・インコーポレーテツド 記憶装置のアドレス紛争検出および仲裁装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100395741C (zh) * 2003-12-12 2008-06-18 冲电气工业株式会社 数据传输电路
CN101025898B (zh) * 2006-02-21 2010-10-06 天利半导体(深圳)有限公司 一种用于lcd驱动电路中双口sram操作冲突的仲裁电路结构
CN101127208B (zh) * 2007-08-15 2010-05-19 西安龙腾微电子科技发展有限公司 异步伪双端口图像存储器的访问冲突处理方法
CN101911033A (zh) * 2008-03-05 2010-12-08 密克罗奇普技术公司 在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽
CN101911033B (zh) * 2008-03-05 2013-07-31 密克罗奇普技术公司 在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽
CN101981901A (zh) * 2008-04-04 2011-02-23 宗拓贝尔照明器材有限公司 借助冲突检查的总线地址自动分配
CN101981901B (zh) * 2008-04-04 2013-09-11 宗拓贝尔照明器材有限公司 借助冲突检查的总线地址自动分配
CN101751980A (zh) * 2008-12-17 2010-06-23 中国科学院电子学研究所 基于存储器知识产权核的嵌入式可编程存储器
CN101763250B (zh) * 2008-12-25 2014-03-12 世意法(北京)半导体研发有限责任公司 地址比较电路和方法
CN103699388A (zh) * 2013-12-30 2014-04-02 北京控制工程研究所 基于绝对地址汇聚的数据访问冲突检测方法
CN103699388B (zh) * 2013-12-30 2015-07-08 北京控制工程研究所 基于绝对地址汇聚的数据访问冲突检测方法
CN110307961A (zh) * 2019-07-04 2019-10-08 歌尔股份有限公司 光机测试方法、测试装置及计算机可读存储介质

Also Published As

Publication number Publication date
KR20010077995A (ko) 2001-08-20
EP1132820A3 (en) 2003-01-22
EP1132820A2 (en) 2001-09-12
JP2001229072A (ja) 2001-08-24
TW544583B (en) 2003-08-01

Similar Documents

Publication Publication Date Title
EP1032882B1 (en) Buffering data that flows between buses operating at different frequencies
US5673396A (en) Adjustable depth/width FIFO buffer for variable width data transfers
US7171526B2 (en) Memory controller useable in a data processing system
US4698753A (en) Multiprocessor interface device
US5918028A (en) Apparatus and method for smart host bus adapter for personal computer cards
EP0628910A1 (en) Error capture logic for peripheral bus in multiple bus computer system
US6883053B2 (en) Data transfer control circuit with interrupt status register
EP0550223A2 (en) Arbitration control logic for computer system having dual bus architecture
US6463338B1 (en) Industrial controller and network card with buffer negotiation
US6412032B1 (en) Interface for industrial controller network card
CN1319806A (zh) 微控制器双端口ram操作中冲突检测的装置和方法
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
KR930016873A (ko) 컴퓨터 시스템 및 시스템 메모리 액세스 제어방법
US7058740B2 (en) Effective bus utilization using multiple buses and multiple bus controllers
US5089953A (en) Control and arbitration unit
US7451254B2 (en) System and method for adaptive buffer allocation in a memory device interface
US5889948A (en) Apparatus and method for inserting an address in a data stream through a FIFO buffer
CN107463520B (zh) 一种基于可编程逻辑的双口ram防冲突方法
US6742073B1 (en) Bus controller technique to control N buses
USRE38514E1 (en) System for and method of efficiently controlling memory accesses in a multiprocessor computer system
KR900005555B1 (ko) 인터럽트를 이용한 프로세서간의 정보 교환회로
JPH05120207A (ja) デ−タ転送方式
JPS61153770A (ja) 画像処理装置
GB2222283A (en) Data transfer between modules in a processing system
JPS6158033A (ja) デイスク制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication