CN100419723C - 多中断的缓存装置和方法 - Google Patents
多中断的缓存装置和方法 Download PDFInfo
- Publication number
- CN100419723C CN100419723C CNB2005101374436A CN200510137443A CN100419723C CN 100419723 C CN100419723 C CN 100419723C CN B2005101374436 A CNB2005101374436 A CN B2005101374436A CN 200510137443 A CN200510137443 A CN 200510137443A CN 100419723 C CN100419723 C CN 100419723C
- Authority
- CN
- China
- Prior art keywords
- interruption
- generating unit
- interrupt
- unit
- interrupts
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims abstract description 18
- 230000003139 buffering effect Effects 0.000 claims abstract description 4
- 238000003860 storage Methods 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 2
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了多中断缓存装置和方法,该装置包含存储器,存储器控制单元,中断发生单元。必要时可以给中断产生单元分配一个中断产生单元寄存器,来控制中断产生单元产生中断。该方法包括以下步骤:设置每个中断产生条件寄存器;设置中断发生单元使能寄存器;发送数据;存储单元到达某一特定位置触发中断发生单元,中断发生单元产生中断给其对应的设备;对应设备根据中断的优先级进行判断,是否处理该中断;处理中断,发送或者接收数据。本发明可以充分利用存储器的空间,减少对设备工作的干扰,同时避免了存储器堵塞和空置以及设备的等待。
Description
技术领域
本发明涉及数据传输技术,尤其涉及一种改进的用于数据传输中的缓存装置和方法。
背景技术
有数据传输的***设计中,在***设计中选择了不同的设备,由于不同的设备具有不同的数据处理数据,导致了各个设备之间数据传输的不协调,为了解决这个问题,目前很多***设计中都选用了缓冲的方式来协调这个问题。
在***设计中采用了中断、DMA和通道控制技术使得***中各设备之间可以并行工作。但是,设备的处理速度不匹配的问题是客观存在的。这限制了设备之间连接的数量。
设备与设备速度不匹配的问题可以采用设置缓冲区的方法解决。在设置了缓冲区之后,数据输出设备(以下简称发送方)进程可把数据首先输出到缓冲区,然后继续执行后面的工作,数据接收设备(以下简称接收方)则可以从缓冲区取出数据进行操作。两个设备之间互相不影响。
有的***中采用乒乓结构的Buffer,结构图如图1所示。在这个结构中由两块相同的单端口存储器,假定乒乓缓存的总容量为M(单位为存储单元),这两个物理上分开的存储器,每个的容量分别为M/2。图中Buffer1和Buffer2是同样的两块存储器,两个存储器的两个端口绑定到一起,共同构成乒乓结构的Buffer缓存装置的输入接口和输出接口。
不同设备通过乒乓Buffer结构传送数据,当Buffer有一半空间为空时,向发送方发出Buffer空中断,发送方用新数据填满这半个Buffer空间;当Buffer有一半空间为满时,向接收方发出Buffer满中断,接受方取走这半个Buffer的新数据。
由于现有方法中,只有存储器半满的一个中断,而这个中断必然处于接收方众多中断处理中的一个位置,产生了下面的问题:
如果这个中断优先级很高,那么读取存储器中断来时,接收方必须停止正在进行的工作,不响应接收方其他中断,而去读取数据。这时存储器还有一半的空间供发送方写数,可能接收方取走一半Buffer的数据时,另一半存储器还差很多才写满,造成存储器空间的浪费,另一方面又影响了接收方其他的工作;同样,对于发送方来讲,当写入存储器中断来时,发送方必须停止正在进行的工作,不响应发送方其他中断,而去写入数据。同样,这时存储器还有一半的空间供接收方读取,造成了存储器空间的浪费,同时也影响了发送方的其他工作。
如果这个中断优先级很低,那么存储器中断来时,接收方可能正在处理更高级的中断而无法响应,造成取数不及时,存储器被填满,发送方进入等待;或者由于存储器中断来时,发送方可能正在处理更高级的中断而无法响应,造成存储器被取空,接收方进入等待,影响了接收方和发送方相互之间的协调。
发明内容
有鉴于此,为了解决存储器利用率不高,设备不被不紧急事件打断以及不错过紧急写/取数中断等问题,本发明提出一种使用多中断缓存的装置和方法。
一种缓存装置,其特征在于:包括:
存储器,用于数据传输过程中的数据暂时存放的部分;
存储器控制单元,用于控制存储器与外部的操作,包括,读写操作,禁止读写操作等等;
中断发生单元,用于根据不同的中断产生值产生中断。
进一步,这种缓存装置产生多个中断时可以根据存储器不同的状态产生一个中断或者不同的多个中断;这些中断可以是同样的优先级别,来不断向设备发出申请,也可以根据存储器的状态发生不同优先级别的中断;如图2所示,多中断中断发生单元由多个条件寄存器和对应的多个比较器组成,可以形成对应的多个中断,这些中断可以通过存储器控制单元上层软件进行灵活设置。
进一步,这种缓存装置中的中断发生单元可以分为接收方中断发生单元,也可以为中断发送方中断发生单元,也可以同时有两个中断发生单元,一个为中断发送方中断发生单元,一个为接收方中断发生单元。
进一步,可以将中断发生单元固定设置为两个,一个为接收方中断发生单元,一个为发送方中断发生单元。但是给每个中断发生单元配备一个中断发生单元使能寄存器,可以根据这两个中断发生单元使能寄存器来控制这两个中断发生单元是否使用。甚至,当接收方读取速度普遍比较快,而发送方写入速度普遍比较慢的情况下,可以将两个中断发生单元都禁用掉。这样,配置了中断发生单元使能寄存器的多中断缓存装置可以作为一种通用的器件,适用于各种不同的设备。
进一步,这种缓存装置所述存储器可以为多块存储单元拼接的乒乓Buffer,也可以是一块存储单元的FIFO。
一种数据缓冲方法,其特征在于:包括以下步骤:
A.设置中断条件产生寄存器;
B设置中断发生单元使能寄存器;
C发送数据;
D存储单元存储数据的容量到达不同的中断产生值,触发中断发生单元,中断发生单元产生不同优先级的中断给其对应的设备;
E对应设备根据中断的优先级进行判断,是否处理该中断;
F处理中断,发送或者接收数据。
进一步,该方法中这些不同的中断产生值对应的中断可以分配不同级别的优先级;这些不同的中断产生值可以通过存储器控制单元上层软件进行灵活的设置。
进一步,该方法中的步骤B中的两个中断发生单元使能寄存器可以都设置为不用。
通过本发明,可以解决现有技术中对存储器资源浪费的情况,提高了存储器利用效率;同时为发送和接收双方提供了充足的时间处理各自的事情,不因为数据传输问题而引起处理停滞,减少了对双方工作的影响;避免了存储器的堵塞和空置,提高数据传输的效率。
附图说明
图1现有技术乒乓Buffer缓存装置示意图;
图2多中断中断发生单元结构及连接示意图。
图3本发明的多中断缓存装置示意图;
图4本发明带有中断发生使能寄存器的缓存装置示意图;
具体实施方式
本发明的关键在于提出了中断发生单元200可以产生多个中断。如图2所示,存储器控制单元上层软件203可以通过软件对各个条件寄存器2001、条件寄存器2002和条件寄存器2003进行设置,存储器控制单元202将存储器的信息读取后,通过比较器20011、比较器20022以及比较器20033和条件寄存器2001、条件寄存器2002以及条件寄存器2003进行比较,符合那个那个条件就产生对应的中断。
如图3所示,以通常意义上的存储器为例,假定在这个缓存装置中发送方中断发生单元212和接收方中断发生单元222都可以产生三个中断,第一个是当存储数据到达存储器201的容量的四分之一时,由发送方中断发生单元212产生一个中断给发送方211,该中断的优先级设为高级,同时,接收方中断发生单元222产生一个中断给接收方221,该中断的优先级设为低级;第二个是当存储数据到达存储器201的容量的二分之一时,由发送方中断发生单元212产生一个中断给发送方211,该中断的优先级设为普通级,同时接收方中断发生单元222产生一个中断给接收方221,该中断的优先级设为普通级;第三个是当存储数据到达存储器201的容量的四分之三时,由发送方中断发生单元212产生一个中断给发送方211,该中断的优先级设为低级,同时接收方中断发生单元222产生一个中断给接收方221,该中断的优先级设为高级。
当数据存储到达存储器201的容量的四分之一时,存储器201提供读写指针给存储器控制单元202,存储器控制单元202根据读写指针计算出存储器201现有的有效数据和剩余空间大小,分别提供给发送方中断产生单元212和接收方中断产生单元222。发送方中断产生单元212将剩余空间大小与每个中断产生值进行比较,如果剩余空间大小大于四分之三这个中断产生值,高级中断产生,发送方211的高级中断就产生了;接收方中断产生器222将有效数据大小与每个中断产生值进行比较,如果有效数据大小大于某个四分之一这个中断产生值,低级中断产生,接收方221的低级中断产生了。发送方211接收到这个高级中断后,和自己正在处理的事件的优先级相比较,认为这个高级中断的优先级比较高,于是就开始在写使能的控制下向存储器201发送数据,以防止因为存储器201中数据被取空,而导致接收方221进入等待的状况发生;同时接收方221的低级中断被接收方221接收到,接收方221和自己正在处理的事件的优先级相比较,认为这个低级中断的优先级别比较低,于是并不响应该中断,继续进行自己正在处理的事件,保证了接收方221处理事务的连贯性。当数据存储到存储器201的容量的四分之三时,发送方211的低级中断和接收方221的高级中断产生了,发送方211接收到这个低级中断后,和自己正在处理的事件的优先级相比较,认为这个低级中断的优先级比较低,并不响应该中断,继续进行自己正在处理的事件,保证了发送方211处理事务的连贯性;同时,接收方221的高级中断被接收方221接收到,接收方221和自己正在处理的事件的优先级相比较,认为这个高级中断的优先级别比较高,于是就开始在读使能的控制下读取存储器201中的数据,防止因为发送方211将存储器201填满之后,进入等待状态。同样在数据存储到存储器201的容量的二分之一时,同样产生了发送方211和接收方221的两个普通中断,他们根据各自正在处理事件的优先级进行合适的处理。
在高级中断响应完毕后,同样因为数据的减少或者增加又会引起中断,而这个中断有可能会低于以前正在处理的事情,于是就停止数据的写入/读取操作,执行当前更重要的事情,这样就保证了发送方211或者接收方221把腾出更多的时间来处理主要事情。而不是被数据传输的事情而打断。
如图4所示,给发送方中断产生单元212分配发送方中断产生单元使能寄存器213,给接收方中断产生单元222分配接收方中断产生单元使能寄存器223,这样就可以在不同的场合控制中断是否发生。在***运行前,先进行中断发生单元使能寄存器的设置,在中断发生单元接收到存储器控制单元202的指针后,在根据自己的中断发生单元使能寄存器来决定是否发生中断。其余过程同上述过程。
当存储器201由Buffer A 101和Buffer B 102组成的乒乓结构的,初始状态两个Buffer均处于空状态,发送方211将Buffer A 101与满,接收方中断发生单元222向接收方221发出低优先级中断;由于Buffer B 102为空,发送方211继续写Buffer B 102。当写满Buffer B 102一半空间时,接收方中断发生单元222向接收方221发出高优先级中断;发送方211继续写Buffer B 102,接收方221开始读Buffer A 101;发送方211写满BufferB 102时,如果接收方221已经读空Buffer A 101,发送方211可以继续写Buffer B 102,否则发送方211将进入等待状态。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,因此本发明保护范围以权利要求书的保护范围为准。
Claims (9)
1. 一种缓存装置,其特征在于:包括:
存储器,用于数据传输过程中的数据暂时存放的部分;
所述存储器是多块存储单元拼接的乒乓Buffer或一块存储单元的FIF0;
存储器控制单元,用于控制存储器和中断发生单元,包括对存储器的读写指针控制、存储器使用空间的计算;
中断发生单元,由多个条件寄存器和对应的多个比较器组成,用于根据不同的中断产生值产生不同优先级的中断。
2. 根据权利要求1所述缓存装置,其特征在于:所述中断发生单元,每个中断发生单元都可以发生一个或者多个中断。
3. 根据权利要求2所述缓存装置,其特征在于:所述中断发生单元发生的多个中断可以配置不同级别的优先级别。
4. 根据权利要求2所述缓存装置,其特征在于:所述中断发生单元发生的多个中断可以由存储器控制单元上层软件编程设置不同的产生条件。
5. 根据权利要求1所述缓存装置,其特征在于:所述中断发生单元为接收方中断发生单元,或为中断发送方中断发生单元,或同时有两个中断发生单元,一个为中断发送方中断发生单元,一个为接收方中断发生单元。
6. 根据权利要求1所述缓存装置,其特征在于:所述中断发生单元为两个,一个为接收方中断发生单元,一个为发送方中断发生单元,每个中断发生单元配备一个中断发生单元使能寄存器,可以根据该装置使用场合进行具体设置。
7. 一种数据缓冲方法,其特征在于:包括以下步骤:
A.配置各个中断产生条件寄存器;
B设置中断发生单元使能寄存器;
C发送数据;
D多块存储单元拼接的乒乓Buffer或一块存储单元的FIF0存储数据的容量到达不同的中断产生值,触发中断发生单元,中断发生单元产生不同优先级的中断给其对应的设备;
E对应设备根据中断的优先级进行判断,是否处理该中断;
F处理中断,发送或者接收数据。
8. 根据权利要求7所述方法,其特征在于:步骤B中的中断发生单元使能寄存器可以都设置为不用。
9. 根据权利要求7所述方法,其特征在于:步骤D中的不同的中断产生值对应的中断可以分配不同级别的优先级,这些中断产生值可以由存储器控制单元上层软件进行设置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101374436A CN100419723C (zh) | 2005-12-30 | 2005-12-30 | 多中断的缓存装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101374436A CN100419723C (zh) | 2005-12-30 | 2005-12-30 | 多中断的缓存装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1804822A CN1804822A (zh) | 2006-07-19 |
CN100419723C true CN100419723C (zh) | 2008-09-17 |
Family
ID=36866847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101374436A Expired - Fee Related CN100419723C (zh) | 2005-12-30 | 2005-12-30 | 多中断的缓存装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100419723C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855156B (zh) * | 2011-06-30 | 2015-05-27 | 重庆重邮信科通信技术有限公司 | 一种中断控制器及中断控制方法 |
CN103345873B (zh) * | 2013-07-19 | 2015-08-19 | 南京财经大学 | 一种单片机中断优先级的演示方法及装置 |
KR20170032502A (ko) * | 2015-09-14 | 2017-03-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 인터럽트 발생 방법 |
CN108366372A (zh) * | 2017-12-13 | 2018-08-03 | 国家电网公司 | 故障指示器与手持维护工具的无线通讯***及通讯方法 |
TWI676171B (zh) | 2018-09-18 | 2019-11-01 | 華邦電子股份有限公司 | 記憶體裝置及其中斷處理方法 |
CN111081295A (zh) * | 2018-10-22 | 2020-04-28 | 华邦电子股份有限公司 | 存储器装置及其中断处理方法 |
CN109947580A (zh) * | 2019-03-27 | 2019-06-28 | 上海燧原智能科技有限公司 | 中断处理方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN87103247A (zh) * | 1986-04-30 | 1987-12-30 | 阿特阿公司 | 报文通信接口电路 |
JPH11202909A (ja) * | 1998-01-13 | 1999-07-30 | Mitsubishi Electric Corp | プログラマブルコントローラ用リンクユニット |
JP2001202255A (ja) * | 2000-01-19 | 2001-07-27 | Hitachi Ltd | ノンマスカブル割込み方式 |
US20040001499A1 (en) * | 2002-06-26 | 2004-01-01 | Patella James Philip | Communication buffer scheme optimized for voip, QoS and data networking over a power line |
CN1585373A (zh) * | 2004-05-28 | 2005-02-23 | 中兴通讯股份有限公司 | 一种乒乓缓冲装置 |
-
2005
- 2005-12-30 CN CNB2005101374436A patent/CN100419723C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN87103247A (zh) * | 1986-04-30 | 1987-12-30 | 阿特阿公司 | 报文通信接口电路 |
JPH11202909A (ja) * | 1998-01-13 | 1999-07-30 | Mitsubishi Electric Corp | プログラマブルコントローラ用リンクユニット |
JP2001202255A (ja) * | 2000-01-19 | 2001-07-27 | Hitachi Ltd | ノンマスカブル割込み方式 |
US20040001499A1 (en) * | 2002-06-26 | 2004-01-01 | Patella James Philip | Communication buffer scheme optimized for voip, QoS and data networking over a power line |
CN1585373A (zh) * | 2004-05-28 | 2005-02-23 | 中兴通讯股份有限公司 | 一种乒乓缓冲装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1804822A (zh) | 2006-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100419723C (zh) | 多中断的缓存装置和方法 | |
US6181705B1 (en) | System and method for management a communications buffer | |
US6493818B2 (en) | Technique for pipelining synchronization to maintain throughput across two asynchronous clock domain boundaries | |
US5440690A (en) | Network adapter for interrupting host computer system in the event the host device driver is in both transmit and receive sleep states | |
RU2487401C2 (ru) | Способ обработки данных, узел-маршрутизатор и носитель информации | |
US9128633B2 (en) | Semiconductor memory device and method of operating the semiconductor memory device | |
JPH1117708A (ja) | Atmスイッチシステムの入力バッファ制御装置及び論理バッファサイズ決定方法 | |
CN101303685B (zh) | 可提升通用序列总线储存设备的读写数据速率的方法 | |
CN101707565A (zh) | 零拷贝网络报文发送、接收方法和装置 | |
US20060047990A1 (en) | System and method for data storage and transfer between two clock domains | |
US6363076B1 (en) | Phantom buffer for interfacing between buses of differing speeds | |
US6510155B1 (en) | ATM layer device controlling method and ATM layer device | |
CN115221082A (zh) | 一种数据缓存方法、装置及存储介质 | |
CN109145397A (zh) | 一种支持并行流水访问的外存仲裁结构 | |
US6715021B1 (en) | Out-of-band look-ahead arbitration method and/or architecture | |
US20010029558A1 (en) | First-in first-out data transfer control device having a plurality of banks | |
US6831920B1 (en) | Memory vacancy management apparatus and line interface unit | |
JP2597040B2 (ja) | Fifoメモリ装置 | |
US5923658A (en) | ATM line card and method for transferring connection memory data | |
JP2001203705A (ja) | フロー制御回路及びフロー制御方法並びにフロー制御プログラムを記録した記憶媒体 | |
CN1328668C (zh) | 弹性缓冲器的初始装置及其方法 | |
US7239640B1 (en) | Method and apparatus for controlling ATM streams | |
JPH04220834A (ja) | Atmスイッチにおける優先制御バッファの制御方式 | |
JP2933039B2 (ja) | 通信用コントローラ | |
JPH11175312A (ja) | データ転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080917 Termination date: 20111230 |