CN1319806A - 微控制器双端口ram操作中冲突检测的装置和方法 - Google Patents
微控制器双端口ram操作中冲突检测的装置和方法 Download PDFInfo
- 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
Links
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/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error 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(“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所述的方法,其中,第一装置产生存取信号并且禁止第一装置的存取包括:
将冲突错误信号和存取信号执行一个逻辑“与”。
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)
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)
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)
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 | ハネウエル・インコーポレーテツド | 記憶装置のアドレス紛争検出および仲裁装置 |
-
2001
- 2001-01-16 EP EP01100869A patent/EP1132820A3/en not_active Withdrawn
- 2001-01-16 KR KR1020010002437A patent/KR20010077995A/ko not_active Application Discontinuation
- 2001-01-18 CN CN01101581A patent/CN1319806A/zh active Pending
- 2001-01-18 TW TW090101123A patent/TW544583B/zh active
- 2001-01-22 JP JP2001013888A patent/JP2001229072A/ja not_active Withdrawn
Cited By (12)
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 |