CN100369028C - 读取数据的装置及方法 - Google Patents
读取数据的装置及方法 Download PDFInfo
- Publication number
- CN100369028C CN100369028C CNB2005100770661A CN200510077066A CN100369028C CN 100369028 C CN100369028 C CN 100369028C CN B2005100770661 A CNB2005100770661 A CN B2005100770661A CN 200510077066 A CN200510077066 A CN 200510077066A CN 100369028 C CN100369028 C CN 100369028C
- Authority
- CN
- China
- Prior art keywords
- data
- register
- microprocessor
- indicator
- look
- 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
Landscapes
- Multi Processors (AREA)
Abstract
一种微处理器读取数据的方法,用以节省微处理器读取寄存器中的数据时所耗费的时间,该方法包含下列步骤:由一微处理器读取一寄存器中的数据;若该寄存器中的数据为有效,则由该微处理器持续读取数据;若该寄存器中的数据为无效,则由该微处理器启用一指示器;该微处理器接收该寄存器所传送的一中断信号;由该微处理器禁用该指示器;以及由该微处理器继续读取该寄存器中的数据。
Description
技术领域
本发明是关于一种数据处理的装置及方法,特别是一种节省微处理器读取寄存器中的数据时所耗费时间的方法及装置。
背景技术
近年来,全球迈入信息化的时代,特别是计算机技术的成熟与快速发展,使得数字科技与人类生活密不可分,几乎每个人都拥有一台属于自己的个人计算机用以处理许多工作上以及生活上的事务,例如:以计算机处理文书方面的事务,而在休闲方面则是以计算机上网或是播放影音媒体等等。
计算机的组成较为重要的组件不外乎就是微处理器、储存单元以及寄存单元。以计算机的角度而言,就仅仅只是处理数字数据而已;举例而言,由硬盘读取出影音媒体文档并且显示于屏幕上,或是由外在的储存媒体读取数据并且将该数据处理之后,再储存于硬盘中。而不管是硬盘中的数据或是由外在储存媒体的数据,都会经由寄存单元来暂时存放以等待微处理器的读取并且处理。
一个具有多任务操作系统的微处理器有调度多个程序的能力,当某个程序向数据处理装置的寄存单元要求数据时,若数据尚未准备完成,则必须有方法以解决上述的情况。
在公知技术中,解决寄存单元中的数据尚未准备完成的情况有两种方法,一种方法步骤请参考图1,另一种请参考图2。图1中,步骤S10表示所欲被处理的数据已存于寄存器中,而微处理器正在读取寄存器中的数据。步骤S12表示有两种情况会发生,一是当寄存器中的数据皆被微处理器读取,而无新进数据时,为数据无效,步骤进行至S14;另一种是当寄存器中的数据仍足够微处理器读取,则为数据有效,步骤回到S10。步骤S14表示微处理器处于询问状态,即时时刻刻注意该寄存器是否有新进数据以供读取。简言之,微处理器会一直等待寄存器中的新进数据,直至寄存器有新进数据,步骤便会回到S10。从上所述,第一公知技术的问题在于,在多任务操作系统环境下,一个读取寄存器的程序,若发现寄存器的数据无效后,还会一直询问状态情况下,占据了太多微处理器的时间,相对地,减少了其它程序使用微处理器的时间。
图2中,步骤S20表示所欲被处理的数据已存于寄存器中,而微处理器正在读取寄存器中的数据,假设寄存器的容量为32字节(bytes)数据,当微处理器将32字节的数据读取完后,便进行至步骤S22,即切换处理其它程序。直至寄存器中又存满32字节的数据后,便送出中断信号至微处理器。流程进行至步骤S24,微处理器接收中断信号后,便暂停目前处理的程序,回到步骤S20读取寄存器中32字节的数据。综上所述,虽然微处理器不像第一公知技术中经常分时分工询问寄存器状态;但是在第二公知技术中,只要微处理器将寄存器中的32字节数据读取完毕后,便会切换至其它程序,一方面处理其它程序,另一方面等待中断信号。如此一来,每读取32字节,则微处理器便需要处理一个中断信号。
更进一步说明公知技术的问题,请参考图3以及图4。图3为图1流程缺点的示意图,图3中区块30代表微处理器为了执行程序A而由寄存器中读取数据所耗费的时间,以及区块32代表微处理器读不到寄存器中的数据(即读不到有效数据)而不断地询问并等待寄存器所耗费的时间。由图得知,寄存器中一旦具有数据时,微处理器便马上进行读取的动作,而在读取之后又继续询问并且等待寄存器,因此,耗费了许多询问及等待的时间。换句话说,微处理器完成程序A所花费的总时间中,区块32占了相当多的部分。
图4为图2流程缺点的示意图,图4中区块40代表微处理器为了执行程序A而由寄存器中读取数据所耗费的时间,区块42代表微处理器读不到寄存器中的数据(即读不到有效数据)而切换至程序B所耗费的时间,以及区块44代表微处理器执行程序B所耗费的时间。由图得知,因为微处理器读不到寄存器中的有效数据,而切换至程序B,但微处理器只要接收到中断信号告知寄存器中具有程序A所需要的数据时,便又会由程序B切换回程序A,并且读取寄存器中的数据。因此,耗费了许多程序切换的时间,换句话说,微处理器完成程序A所花费的总时间中,区块42占了相当多的部份。
发明内容
本发明提供一种数据处理的方法,用以节省微处理器读取寄存器中的数据时所耗费的时间,该方法包含有下列步骤:由一微处理器读取一寄存器中的数据;若该寄存器中的数据为有效,则由该微处理器持续读取数据;若该寄存器中的数据为无效,则由该微处理器启用一指示器而微处理器便可以执行其它程序;当寄存器再度被新进数据充填至一固定比例时并且该指示器为启用状态,则传送一中断信号至该微处理器;由该微处理器禁用该指示器;以及由该微处理器继续读取该寄存器中的数据。
本发明亦提供一种数据处理的装置,用以节省微处理器读取寄存器中的数据时所耗费的时间,该装置包含:一寄存器,用以暂时存放数据;一微处理器,可以存取该寄存器中的数据;一指示器,用以指示是否发送一中断信号至该微处理器;以及一监视单元,用以监视该寄存器中是否填满新进数据至一固定比例;其中,当该微处理器于寄存器中读取的数据为无效数据时,将该指示器的内容设定为1;当该寄存器中填满新进数据至该固定比例且该指示器的内容为1时,传送该中断信号至该微处理器;当该微处理器接收该中断信号时,设定该指示器内容为0,并且读取该寄存器中的数据。
当微处理器读取到无效数据时,便设定指示器为1,代表当数据处理装置填满数据至固定比例时,微处理器便会去等待一中断信号,此等待时间,微处理器可以去处理其它事情,若是以第一个公知方法,便会花费很多微处理器询问数据有效或无效的时间。
微处理器并不是一直跟数据处理装置要数据,假设在要一笔数据后,数据处理装置已经没有数据了,此时,数据处理装置会赶紧做充填的动作,也很幸运地,微处理器再要下一笔数据时,数据装置已经完成充填,所以微处理器也拿到有效的数据,这个过程中,指示器一直为0,所以数据装置完成充填,也不会产生中断信号给微处理器。也就不会有第二个公知技术产生太多中断信号的缺点。
关于本发明的优点与精神可以藉由以下的发明详述及所附图式得到进一步的了解。
附图说明
图1为第一公知技术的流程图;
图2为第二公知技术的流程图;
图3为图1流程缺点的示意图;
图4为图2流程缺点的示意图;
图5为根据本发明的数据处理方法的流程图;
图6为根据本发明一实施例中微处理器处理程序的示意图;以及
图7为根据本发明的数据处理装置的示意图。
组件符号说明:
30:微处理器为了执行程序A而由寄存器中读取数据所耗费的时间区块。
32:微处理器读不到有效数据而不断地询问并等待寄存器所耗费的时间区块。
40:微处理器为了执行程序A而由寄存器中读取数据所耗费的时间区块。
42:微处理器读不到有效数据而切换至程序B所耗费的时间区块。
44:微处理器执行程序B所耗费的时间区块。
60:微处理器为了执行程序A而由寄存器中读取数据所耗费的时间区块。
62:微处理器读不到寄存器中的数据(即读不到有效数据)而切换至程序B所耗费的时间区块。
64:微处理器执行程序B所耗费的时间区块。
102:寄存器。
104:微处理器。
106:指示器。
108:监视单元。
100:本发明的数据处理装置
S10~S14:公知读取数据的方法的流程
S20~S24:另一公知读取数据的方法的流程
S30~S38:依本发明的数据处理方法的流程
具体实施方式
本发明提供一种数据处理的方法,用以节省微处理器读取寄存器中的数据时所耗费的时间,达到有效率地处理数据的目的。
请参阅图5,图5为本发明的数据处理方法流程图。步骤S30至步骤S32的说明与公知技术类似,因此不再赘述。而于步骤S34中,微处理器启用一指示器用以表明欲处理的数据乃是紧急,因此一旦接收到这一类数据时便要发送一中断信号至该微处理器;紧接着于步骤S36,微处理器便可以暂时执行其它程序并且等待中断信号;若是寄存器再度充填新进数据至寄存器容量的一固定比例并且指示器为启用状态,则微处理器将会接收到中断信号,用以通知停止目前执行的程序,先行禁用指示器然后读取寄存器的数据,如步骤S38所示。
请参阅图6,图6为根据本发明一实施例中微处理器处理程序的示意图,图6中区块60代表微处理器为了执行程序A而由寄存器中读取数据所耗费的时间,区块62代表微处理器读不到寄存器中的数据(即无效数据)而切换至程序B所耗费的时间,以及区块64代表微处理器执行程序B所耗费的时间。由图得知,因为微处理器读不到寄存器中的有效数据,而切换至程序B,此时寄存器正在充填程序A所需要的数据,直到时间T1时寄存器中程序A所需数据已达到一固定比例,举例而言,此固定比例为寄存器容量的50%,送出中断信号至微处理器告知寄存器中已具有程序A所需要的大量数据,此时便又会由程序B切换回程序A,并且读取寄存器中的数据。因此,减少了许多耗费在程序切换的时间,换句话说,微处理器完成程序A所花费的总时间中,区块62占了相当少的部分,此外还能处理其它程序,例如程序B,大大提升微处理器的效率。在此所提及“无效数据”即指在寄存器中已无程序A所需要的数据,或是指寄存器中无数据;同理,读不到有效数据亦是相同的意思。
请参阅图7,图7为本发明的数据处理装置示意图。本发明的数据处理装置100包含寄存器102,用以暂时存放数据;微处理器104与寄存器102相连,可以存取寄存器102中的数据;指示器106,与微处理器104相连,当寄存器102中的数据为无效时,微处理器104便会启用指示器106,当微处理器104接收中断信号时,便会禁用指示器106;以及监视单元108,用以监视寄存器102中是否充填新进数据至一固定比例,当寄存器102中填满新进数据至该固定比例,监视单元108则会送出中断信号至微处理器104告知寄存器中已具有大量所需的数据,此时微处理器会先暂停正在处理的程序,转而处理先前待处理的程序。
通过以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的权利要求的范畴内。
Claims (8)
1.一种微处理器读取数据的方法,包含下列步骤:
由一微处理器读取一寄存器中的数据;
若该寄存器中的数据为有效,则由该微处理器持续读取数据;
若该寄存器中的数据为无效,则由该微处理器启用一指示器并等待一中断信号,在等待该中断信号的过程中,该微处理器会处理其他程序;
当该寄存器再度被新进数据充填至一固定比例且该指示器为启用的状态时,传送该中断信号至该微处理器;
当该微处理器接收该中断信号时,该微处理器禁用该指示器以禁止后续其他中断信号的传送;以及
由该微处理器再次读取该寄存器中的新进数据。
2.如权利要求1所述的方法,其中该寄存器为一先进先出寄存器。
3.如权利要求1所述的方法,其中启用该指示器是将该指示器的内容设为1,而禁用该指示器是将该指示器的内容设为0。
4.如权利要求1所述的方法,其中该固定比例为大于该寄存器容量的50%。
5.如权利要求1所述的方法,其中该寄存器中的数据为有效是指该寄存器中仍存有数据,而该寄存器中的数据为无效是指该寄存器中已无数据供以读取。
6.一种数据处理装置,该装置包含:
一寄存器,用以暂时存放数据;
一微处理器,可以存取该寄存器中的数据;
一指示器,用以指示是否发送一中断信号至该微处理器;以及
一监视单元,用以监视该寄存器中是否填满新进数据至一固定比例;
其中,当该微处理器于寄存器中读取的数据为无效数据时,启用该指示器;且该微处理器等待该中断信号,在等待该中断信号的过程中,该微处理器会处理其他程序;当该寄存器中填满新进数据至该固定比例且该指示器为启用的状态时,传送该中断信号至该微处理器;
当该微处理器接收该中断信号时,禁用该指示器以禁止其他中断信号的传送,并且读取该寄存器中的数据。
7.如权利要求6所述的数据处理装置,其中该寄存器为一先进先出寄存器。
8.如权利要求6所述的数据处理装置,其中该固定比例为大于该寄存器容量的50%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100770661A CN100369028C (zh) | 2005-06-15 | 2005-06-15 | 读取数据的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100770661A CN100369028C (zh) | 2005-06-15 | 2005-06-15 | 读取数据的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1694087A CN1694087A (zh) | 2005-11-09 |
CN100369028C true CN100369028C (zh) | 2008-02-13 |
Family
ID=35353051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100770661A Active CN100369028C (zh) | 2005-06-15 | 2005-06-15 | 读取数据的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100369028C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902626B (zh) * | 2009-05-31 | 2012-11-28 | 承景科技股份有限公司 | 比特流缓冲控制器及其控制方法 |
CN105247269B (zh) | 2013-03-15 | 2017-09-12 | 斯科特科技公司 | 用于填充气瓶的系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1167298A (zh) * | 1996-05-21 | 1997-12-10 | 三星电子株式会社 | 在微处理器和存储器之间进行数据接口的方法 |
CN1185255A (zh) * | 1995-03-22 | 1998-06-17 | 艾利森电话股份有限公司 | 用于处理器间传输数据的链路协议 |
EP1127320A1 (en) * | 1999-08-19 | 2001-08-29 | Koninklijke Philips Electronics N.V. | Servicing of interrupts with stored and restored flags |
JP2002132746A (ja) * | 1995-02-07 | 2002-05-10 | Hitachi Ltd | データ処理装置及びシングルチップマイクロコンピュータ |
US6738837B1 (en) * | 2001-02-02 | 2004-05-18 | Cradle Technologies, Inc. | Digital system with split transaction memory access |
US20040103230A1 (en) * | 2002-11-25 | 2004-05-27 | Emerson Steven M. | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process |
-
2005
- 2005-06-15 CN CNB2005100770661A patent/CN100369028C/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132746A (ja) * | 1995-02-07 | 2002-05-10 | Hitachi Ltd | データ処理装置及びシングルチップマイクロコンピュータ |
CN1185255A (zh) * | 1995-03-22 | 1998-06-17 | 艾利森电话股份有限公司 | 用于处理器间传输数据的链路协议 |
CN1167298A (zh) * | 1996-05-21 | 1997-12-10 | 三星电子株式会社 | 在微处理器和存储器之间进行数据接口的方法 |
EP1127320A1 (en) * | 1999-08-19 | 2001-08-29 | Koninklijke Philips Electronics N.V. | Servicing of interrupts with stored and restored flags |
US6738837B1 (en) * | 2001-02-02 | 2004-05-18 | Cradle Technologies, Inc. | Digital system with split transaction memory access |
US20040103230A1 (en) * | 2002-11-25 | 2004-05-27 | Emerson Steven M. | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process |
Also Published As
Publication number | Publication date |
---|---|
CN1694087A (zh) | 2005-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8170610B2 (en) | Combination personal data assistant and personal computing system dynamic memory reclamation | |
CN1143228C (zh) | 对服务器进行负荷管理的数据处理设备和方法 | |
US5603063A (en) | Disk drive command queuing method using two memory devices for storing two types of commands separately first before queuing commands in the second memory device | |
CN100411341C (zh) | 一种并行下载方法和终端 | |
CN100345124C (zh) | 利用共享专用高速缓存减少高速缓存失误率的方法和系统 | |
US5894579A (en) | Power management system and method | |
US6795875B2 (en) | Arbitrating and servicing polychronous data requests in direct memory access | |
JP2005092875A (ja) | スレッドスケジューリングを使用してデータスループットを向上させるためのシステムおよび方法 | |
US6633954B1 (en) | Method for enhancing host application performance with a DASD using task priorities | |
CN101493805B (zh) | 可伸缩总线结构 | |
US6785751B1 (en) | Method and apparatus for minimizing bus contention for I/O controller write operations | |
KR20040106535A (ko) | 적어도 하나의 데이터 스트림, 데이터 기억 시스템의데이터 처리 방법 및 사용 방법 | |
US20130091509A1 (en) | Off-loading of processing from a processor blade to storage blades | |
CN1930563A (zh) | 多地址两信道总线结构 | |
AU2002245564A1 (en) | System, method and computer program product for storing data in a databa using a multi-thread shared memory message queue buffer | |
US6636951B1 (en) | Data storage system, data relocation method and recording medium | |
JP2001524707A (ja) | コントローラの機能性を高めるためのファームウェアの使用 | |
CN101470636B (zh) | 一种消息的读写方法和装置 | |
CN100369028C (zh) | 读取数据的装置及方法 | |
US7865632B2 (en) | Memory allocation and access method and device using the same | |
US7216186B2 (en) | Controlling data flow between processor systems | |
US20100115152A1 (en) | Sending large command descriptor block (CDB) Structures in serial attached SCSI(SAS) controller | |
US20060179172A1 (en) | Method and system for reducing power consumption of a direct memory access controller | |
CN102117261B (zh) | 一种芯片内部处理器之间的通信方法 | |
CN101634956B (zh) | 多核处理器消息调度方法及调度器 |
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 |