JP2555171B2 - Bit judgment method - Google Patents
Bit judgment methodInfo
- Publication number
- JP2555171B2 JP2555171B2 JP63325410A JP32541088A JP2555171B2 JP 2555171 B2 JP2555171 B2 JP 2555171B2 JP 63325410 A JP63325410 A JP 63325410A JP 32541088 A JP32541088 A JP 32541088A JP 2555171 B2 JP2555171 B2 JP 2555171B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- register
- bits
- software
- 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
Description
【発明の詳細な説明】 〔発明の概要〕 プロセッサが取込んだデータの各ビットを判定するビ
ット判定方法に関し、ハードウエアも利用して、ビット
判定を高速に、効率的に行なうことを目的とし、 マイクロプロセッサを備えた装置による、複数ビット
からなる入力データの各ビットの判定方法において、該
複数ビットからなる入力データをセットされる第1のレ
ジスタ、該第1のレジスタ中でアドレス信号により指定
されるビット位置の1ビットを取出すビット分解部、お
よび該取出された1ビットを特定ビット位置に取込み、
残りのビット位置は一定値のビットで埋めた複数のビッ
トからなる判定用データを出力する第2のレジスタを用
い、該第2のレジスタの出力の判定用データにつき、ソ
フトウエアにより1,0ビット判定をするよう構成する。The present invention relates to a bit determination method for determining each bit of data captured by a processor, and an object of the present invention is to perform bit determination at high speed and efficiency by using hardware. In a method for determining each bit of input data composed of a plurality of bits by a device equipped with a microprocessor, a first register in which the input data composed of the plurality of bits is set, and designated by an address signal in the first register A bit decomposing unit for taking out one bit of the bit position to be taken, and taking the taken out one bit to a specific bit position,
The remaining bit positions use a second register that outputs judgment data consisting of a plurality of bits filled with a fixed value of bits, and the judgment data output from the second register is 1,0 bits by software. It is configured to make a judgment.
〔産業上の利用分野〕 本発明は、プロセッサを取込んだデータの各ビットを
判定するビット判定方法に関する。TECHNICAL FIELD The present invention relates to a bit determination method for determining each bit of data taken in by a processor.
マイクロプロセッサを搭載したシステムにおいては、
装置外部より受信したデータまたは装置内部で作成した
データをマイクロプロセッサに取込み、データ解析/処
理を行なう。In a system with a microprocessor,
The data received from the outside of the device or the data created inside the device is taken into the microprocessor and data analysis / processing is performed.
第5図(a)に示すようにマイクロプロセッサMPU、
共通バスCBUS、I/Oポートを備えるコンピュータシステ
ムにおいて、該I/Oポートに入力した複数例えば8ビッ
トデータを該MPUは8ビットパラレルで、内部レジスタ
(アキュムレータ)に取込み、データ解析を行なう。ア
ラーム情報などではハードウエアが送ってきた複数ビッ
トデータは、各ビットがそれぞれ意味を持っている。例
えば第6図(b)に示すようにD0ビットはREC(受信部
正常/異常)、D1ビットはSND(送信部正常/異常)、
……を示しており、MPUは各ビット(不使用ビットもあ
るが)の1,0を読んで送受信端末の状態を知り、記憶/
表示などを行なう。As shown in FIG. 5 (a), a microprocessor MPU,
In a computer system having a common bus CBUS and an I / O port, a plurality of, for example, 8-bit data input to the I / O port is taken into an internal register (accumulator) by the MPU in 8-bit parallel and data analysis is performed. In the alarm information and the like, each bit of the multi-bit data sent by the hardware has its own meaning. For example, as shown in FIG. 6 (b), D0 bit is REC (reception unit normal / abnormal), D1 bit is SND (transmission unit normal / abnormal),
...... indicates that the MPU reads 1 or 0 of each bit (although there are unused bits) to know the status of the transmitting / receiving terminal, and stores / stores it.
Display etc.
ビット判定の仕方には色々あるが、1ビットずつシフ
トする、のがその1つである。例えば第6図(b)でデ
ータビットD0〜D7をシフト命令により1ビットずつ右方
へシフトして、キャリービットCを順次D0,D1,……と
し、MPUがキャリービットCの1,0を解読する。別な方法
は、アンドをとることである。例えば第6図(b)のD0
に対しては00……001とのアンドをとり、そ結果が1な
ら最初のD0は1、0なら0である。次のビットD1に対し
ては00……010とのアンドをとり、結果が0なら最初のD
1は0、1なら最初のD1は1である。以下これに準ず
る。第5図はこのフローを示す。There are various methods of bit determination, but one of them is shifting by one bit. For example, in FIG. 6 (b), the data bits D0 to D7 are shifted to the right one bit by a shift instruction and the carry bits C are sequentially set to D0, D1, ... And the MPU sets the carry bits C 1,0. Decipher. Another way is to take the AND. For example, D0 in Fig. 6 (b)
For, the AND of 00 …… 001 is taken, and if the result is 1, the first D0 is 1, and if 0, it is 0. The next bit D1 is ANDed with 00 ... 010, and if the result is 0, the first D
If 1 is 0, the first D1 is 1. The same shall apply hereinafter. FIG. 5 shows this flow.
第4図では入力データは つまり01111101であったとしており、こはれアキュムレ
ータACC(1)へセットする。このACC(1)のデータ
と1即ち とのアンドをとり、結果をACC(1)へセットする。
次にACC(1)=0か否かチェックし、0でないなら
入力データのD0ビットは1である(立っている)ことを
示すフラグFLG1を立てる(本例では とする)。0ならこのフラグは立てない 。本例ではACC(1)=01111101であり、00000001との
アンドは00000001であるからACC(1)=0?はNOであ
り、 とする。In Figure 4, the input data is In other words, it is assumed that it is 01111101, and is set in the spill accumulator ACC (1). This ACC (1) data and 1 AND with and set the result in ACC (1).
Next, it is checked whether or not ACC (1) = 0, and if it is not 0, a flag FLG1 indicating that the D0 bit of the input data is 1 (is set) is set (in this example, it is set). And). If 0, do not set this flag . In this example, ACC (1) = 0111111101, and AND with 00000001 is 00000001, so ACC (1) = 0? Is NO, And
次は再び入力データ をACC(1)へセットし、今度は とのアンドをとる。そしてACC(1)=0か否かチェ
ックし、0なら 0でないなら とする。以下同様である。Next input data again Set to ACC (1), and this time And take. Then, check whether ACC (1) = 0, and if 0, If not 0 And The same applies hereinafter.
この第4図の処理フローは一例であり、ビット判定部
はループで戻すとか、受信データ は他のアキュムレータACC(2)に持っておいて判定時
にACC(1)にムーブ(MOVE)する等、種々の方法があ
る。唯、いずれにしても、ソフト処理でビット判定を行
なう。The processing flow of FIG. 4 is an example, and the bit determination unit returns in a loop or receives data. There are various methods, such as holding in another accumulator ACC (2) and moving to ACC (1) at the time of determination. In any case, bit determination is performed by software processing.
このようなソフトウエアまたはファームウエアによる
ビット判定では、連続して収集するデータに対して、有
意性のある(意味を持っている)各ビットについて、ま
たそのビット構成の変わる毎に(各データのビット割付
けが変化する毎に)ビット判定処理を行なうタスクが必
要となり、ビット判定処理に時間がかゝる(これは処理
時間が問題となる時、影響が大きい)、プログラム量
(従ってメモリ容量)が大きくなう。等の問題がある。In the bit judgment by such software or firmware, for each data that is significant (meaningful) with respect to the data that is continuously collected, and each time the bit configuration changes (for each data A task to perform bit judgment processing is required every time the bit allocation changes), and it takes time to perform bit judgment processing (this has a large effect when processing time is a problem), program amount (hence memory capacity) Grows. There is a problem such as.
ソフト処理によりビット判定を行なうと、問題となる
のは、受信データのビット分解を判定しようとするビッ
ト毎に行なう必要があるという点である(前記の1ビッ
トずつのシフト、 とのアンド、がそれ)。有意ビットが単純に(一元的
に)決っている場合、例えばビットの第1〜第4ビット
に必要な情報が入っており、各ビットの持つ意味は常に
同じ、といった場合は、単純にループ処理とすれば、プ
ログラム量という点では大きな問題とならないが、処理
時間という点では同じであり、これでは解決にならな
い。When bit determination is performed by software processing, the problem is that bit decomposition of received data must be performed for each bit for which determination is to be performed (the above-mentioned shift by 1 bit, And that's it). If the significant bits are simply (unified) determined, for example, if the 1st to 4th bits of the bits contain the necessary information, and the meaning of each bit is always the same, simply loop the process. If so, it does not pose a big problem in terms of program amount, but it is the same in terms of processing time, and this does not solve the problem.
本発明は、ハードウエアも利用して、ビット判定を高
速に、かつ効率的に行なうことを目的とするものであ
る。An object of the present invention is to make a bit decision quickly and efficiently by using hardware as well.
第1図に示すように本発明ではビット判定をソフトウ
エア10とハードウエア20で行なうようにし、ソフトウエ
ア10には受信データをアキュムレータACCAに取込む機能
12、およびビット判定する機能14を持たせる。またハー
ドウエア20にはIOレジスタ(PSCONV−I)22、ビット分
解部24、およびIOレジスタ(PSCONV−O)26を設ける。As shown in FIG. 1, in the present invention, bit determination is performed by software 10 and hardware 20, and software 10 has a function of taking received data into accumulator ACCA.
12 and a bit judgment function 14 are provided. Further, the hardware 20 is provided with an IO register (PSCONV-I) 22, a bit disassembly unit 24, and an IO register (PSCONV-O) 26.
ソフトウエア10は受信データ(本例では$7D)をアキ
ュムレータACCAに取込むと、これをハードウエア20のI/
Oレジスタ22へ送る。ビット分解部24はアドレス信号
(図示しない)を受けて、I/Oレジスタ22の各ビットをI
/Oレジスタ26へ出力する。I/Oレジスタの内容はビット
分解部24から受ける1ビットのみ可変で、残りは一定で
ある。本例ではMSBのみ可変であり、従ってI/Oレジスタ
26の内容は である。ソフトウエア10ではこのI/Oレジスタ26からの をアキュムレータACC(1)に受け、ACC(1)が0か
否かチェックする。0なら当該ビットは0、1なら1
と判断し、前記の例ならフラグFLGiを にする。なおACCA,ACC(1)は同じアキュムレータであ
る。When the software 10 fetches the received data ($ 7D in this example) into the accumulator ACCA, the I / O of the hardware 20
Send to O register 22. The bit disassembling unit 24 receives an address signal (not shown) and sets each bit of the I / O register 22 to I
Output to / O register 26. The content of the I / O register is variable only for one bit received from the bit disassembling unit 24, and the rest is constant. In this example, only the MSB is variable, so the I / O register
Contents of 26 Is. Software 10 uses this I / O register 26 Is received by the accumulator ACC (1), and it is checked whether ACC (1) is 0 or not. If it is 0, the bit is 0, and if it is 1, 1
Flag FLGi in the above example To ACCA and ACC (1) are the same accumulator.
このように本発明では、ビット判定処理のうちビット
分解はハードウエアで行ない、被判定データをレジスタ
へ書込む部分とビット分解結果をレジスタより読出す部
分をI/Oとして、ハードとソフトのインタフェースを合
わせることにより、ビット判定処理を高速に行なうこと
ができる。As described above, in the present invention, the bit decomposition of the bit judgment processing is performed by hardware, and the portion for writing the data to be judged to the register and the portion for reading the bit decomposition result from the register are I / O, and the interface between the hardware and the software is set. The bit determination processing can be performed at high speed by adjusting the.
第1図ではハードウエア20はソフトウエア10から受信
データ を取込むとこれをI/Oレジスタ22へ書込み、次にソフト
ウエア10がI/Oレジスタ26を読むとビット分解結果 が得られ、これをアキュムレータACC(1)にロードで
き、次のステップではビット判定を行なうことができ
る。In FIG. 1, hardware 20 receives data from software 10. Capture it and write it to I / O register 22, then when software 10 reads I / O register 26, bit decomposition result , Which can be loaded into the accumulator ACC (1) and a bit decision can be made in the next step.
第2図はI/Oレジスタ26の内容を示し、本例では入力
データは であるからそのD0,D1,D2,……D8ビットは1,0,1,……0
であり、これをMSBにしたレジスタ26の内容PSCONV01,同
2,同3,……同8は となり、これがソフトウエアのアキュムレータACC
(1)へ順次セットされる。Figure 2 shows the contents of the I / O register 26. In this example, the input data is Therefore, the D0, D1, D2, ... D8 bits are 1,0,1, ... 0
The contents of register 26, which is the MSB, PSCONV01,
2, same 3, ... same 8 This is the software accumulator ACC
It is sequentially set to (1).
受信データの各ビットの中には空き(不使用、従って
無意味)ビットもあるが、このビットについてはビット
分解部24に当該アドレスを与えないようにすると、空き
ビットを除いた有効ビットのみビット判定することがで
き、効果的な高速なビット判定ができる。Although each bit of the received data has a vacant (unused, and therefore meaningless) bit, if this address is not given to the bit disassembling unit 24, only the valid bit excluding the vacant bit is bit. It is possible to make a decision, and an effective high-speed bit decision can be made.
一般にプロセッサの演算処理は遅いので、この方法を
用いることにより、演算数が減り、プログラムのステッ
プ数が減り、高速化が図れる。例えば上記処理を行なう
プログラムは次の命令群で済む。In general, the arithmetic processing of the processor is slow, and by using this method, the number of arithmetic operations can be reduced, the number of program steps can be reduced, and the speed can be increased. For example, the following instruction group is sufficient for the program that performs the above processing.
LDAA DATA STAA PSCONV−I LDAA PSCONV−0 BEQ LVL1 STAA FLG1 LVL1 LDAA PSCONV−0+1 BEQ LVL2 ここで、LDAAはLoad Acmltr A,STAAはStore Acmltr
A,BEQは、Branch If=Zero,LVLはラベルである。データ
をアキュムレータA(Acmltr A)ヘロードし、アキュム
レータA(Acmltr A)から,PSCONV−Iにストアし、こ
ゝにラッチしておけば、あとはPSCONVをPSCONV,PSCONV
+1,PSCONV+2,……として次々に読出すことにより、ビ
ット分解した結果が得られる。ビット判定処理が行なえ
る。LDAA DATA STAA PSCONV-I LDAA PSCONV-0 BEQ LVL1 STAA FLG1 LVL1 LDAA PSCONV-0 + 1 BEQ LVL2 where LDAA is Load Acmltr A and STAA is Store Acmltr
A, BEQ, Branch If = Zero, LVL are labels. Load the data to accumulator A (Acmltr A), store it in PSCONV-I from accumulator A (Acmltr A), and latch it to PSCONV, then PSCONV and PSCONV
By reading one after another as +1, PSCONV + 2, ..., the result of bit decomposition can be obtained. Bit determination processing can be performed.
ビット分解部24は受信した複数ビットパラレルデータ
をシリアルデータに変換すればよいので、簡単なハード
ウエアで実現できる。第3図にその一例を示す。ビット
分解部24は本例では8チャネルのマルチプレクサ(8→
1セレクタ)24Aである。D0〜D7はデータ入力端、A,B,C
はアドレスA0,A1,A2の入力端、Yは1ビット出力端、EN
はイネーブル端子である。Since the bit disassembling unit 24 only needs to convert the received multi-bit parallel data into serial data, it can be realized with simple hardware. FIG. 3 shows an example thereof. The bit disassembling unit 24 in this example is an 8-channel multiplexer (8 →
1 selector) 24A. D0 to D7 are data input terminals, A, B, C
Is the input end of addresses A0, A1, A2, Y is the 1-bit output end, EN
Is an enable terminal.
I/Oレジスタ22はデータ入力端子1D〜8D、同出力端子1
Q〜8Q、クロック端子CLK、およびイネーブル端子ENを備
え、ライトコマンドW.PSCONVがCLK端子に入力するとき
入力(受信)データRDの各ビットD0〜D7を取込み、それ
を1Q〜8Qより出力する。I/Oレジスタ26はデータ入力端
子8A〜1A、同出力端子8B〜1B、イネーブル端子ENを備え
る。このデータ入力端子の1つ1A(これはMSB)のみマ
ルチプレクサ24Aの出力端子Yに接続され、残り2A〜8A
は一定電位本例ではグランドに接続されてデータとして
はオール0である。従ってこのI/Oレジスタ26の出力デ
ータD0〜D7は になる。I / O register 22 has data input terminals 1D to 8D and output terminal 1
Equipped with Q to 8Q, clock terminal CLK, and enable terminal EN, when write command W.PSCONV is input to the CLK terminal, each bit D0 to D7 of input (reception) data RD is taken in and output from 1Q to 8Q . The I / O register 26 includes data input terminals 8A to 1A, output terminals 8B to 1B, and enable terminal EN. Only one of the data input terminals, 1A (this is the MSB), is connected to the output terminal Y of the multiplexer 24A, and the remaining 2A to 8A.
Is a constant potential, and is connected to the ground in this example, and all 0s are data. Therefore, the output data D0 to D7 of this I / O register 26 is become.
アドレスA0〜A2によりマルチプレクサ24Aの入力デー
タビットの1つを端子Yより出力し、読出しコマンドR.
PSCONVをI/Oレジスタのイネーブル端子ENに入力する。A
0〜A2を変えてこの処理を8回行なうと入力データRD各
ビットをMSBとする出力データを、I/Oレジスタ26より出
力するとができる。One of the input data bits of the multiplexer 24A is output from the terminal Y by the addresses A0 to A2, and the read command R.
Input PSCONV to the enable pin EN of the I / O register. A
When this process is repeated 8 times by changing 0 to A2, the output data with each bit of the input data RD as the MSB can be output from the I / O register 26.
マルチプレクサ24Aの出力ビットをレジスタ26のMSB端
子1Aに入力する代りに、LSB端子8Aなどに入力させても
よい。Instead of inputting the output bit of the multiplexer 24A to the MSB terminal 1A of the register 26, it may be input to the LSB terminal 8A or the like.
以上説明したように本発明では、従来ソフトウエアで
行なっていたデータ処理を、ソフト処理の一部(ハード
ウエアが得意とする部分)をハードウエアに実行させ、
ファームウエアとして処理遂行することにより、プログ
ラムの簡略化、処理の高速化を図ることができる。特に
データが次々と入力されてそのデータのビット判定を次
々に行なう場合は、高速化可能ということの利点は非常
に大きい。As described above, in the present invention, a part of the software processing (a portion that the hardware is good at) is caused to be executed by the hardware in the data processing conventionally performed by the software.
By executing the processing as firmware, the program can be simplified and the processing speed can be increased. In particular, when the data is input one after another and the bit determination of the data is performed one after another, the advantage that the speed can be increased is very large.
第1図は本発明の原理説明図、 第2図はI/Oレジスタの読出し内容の例を示す説明図、 第3図は本発明の実施例を示すブロック図、 第4図は従来方式の説明図、 第5図はビット判定の説明図である。 第1図で22,26はI/Oレジスタ、24はビット分解部、14は
判定機能である。FIG. 1 is an explanatory view of the principle of the present invention, FIG. 2 is an explanatory view showing an example of read contents of an I / O register, FIG. 3 is a block diagram showing an embodiment of the present invention, and FIG. Explanatory drawing, FIG. 5 is explanatory drawing of bit determination. In FIG. 1, 22 and 26 are I / O registers, 24 is a bit disassembly unit, and 14 is a judgment function.
Claims (1)
複数ビットからなる入力データの各ビットの判定方法に
おいて、 該複数ビットからなる入力データをセットされる第1の
レジスタ(22)、該第1のレジスタ(22)中でアドレス
信号により指定されるビット位置の1ビットを取出すビ
ット分解部(24)、および該取出された1ビットを特定
ビット位置に取込み、残りのビット位置は一定値のビッ
トで埋めた複数ビットからなる判定用データを出力する
第2のレジスタ(26)を用い、 該第2のレジスタの出力の判定用データにつき、ソフト
ウエアにより1,0ビット判定をすることを特徴とするビ
ット判定方法。1. A device comprising a microprocessor,
In a method of determining each bit of input data composed of a plurality of bits, a first register (22) in which the input data composed of a plurality of bits is set, and a bit designated by an address signal in the first register (22) A bit disassembling unit (24) for taking out one bit at a position, and taking out the taken out one bit at a specific bit position, and outputting the judgment data consisting of a plurality of bits in which the remaining bit positions are filled with bits of a constant value. A bit determination method characterized by using a second register (26) and determining 1,0 bits by software with respect to the determination data of the output of the second register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63325410A JP2555171B2 (en) | 1988-12-23 | 1988-12-23 | Bit judgment method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63325410A JP2555171B2 (en) | 1988-12-23 | 1988-12-23 | Bit judgment method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02171827A JPH02171827A (en) | 1990-07-03 |
JP2555171B2 true JP2555171B2 (en) | 1996-11-20 |
Family
ID=18176533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63325410A Expired - Fee Related JP2555171B2 (en) | 1988-12-23 | 1988-12-23 | Bit judgment method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2555171B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61180279A (en) * | 1985-02-06 | 1986-08-12 | 松下電器産業株式会社 | Laser printer |
JPS63292766A (en) * | 1987-05-26 | 1988-11-30 | Olympus Optical Co Ltd | Picture forming device |
JPH01128095A (en) * | 1987-11-13 | 1989-05-19 | Hitachi Ltd | Memory writing circuit |
-
1988
- 1988-12-23 JP JP63325410A patent/JP2555171B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02171827A (en) | 1990-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6675235B1 (en) | Method for an execution unit interface protocol and apparatus therefor | |
US9015390B2 (en) | Active memory data compression system and method | |
CN107609644B (en) | Method and system for data analysis in a state machine | |
EP0118781A2 (en) | Control flow parallel computer system | |
JPH01134541A (en) | Information processor | |
US4371924A (en) | Computer system apparatus for prefetching data requested by a peripheral device from memory | |
CN101313290A (en) | Performing an n-bit write access to an mxn-bit-only peripheral | |
CN113918233A (en) | AI chip control method, electronic equipment and AI chip | |
US7254283B1 (en) | Image processor processing image data in parallel with a plurality of processors | |
JP2555171B2 (en) | Bit judgment method | |
JPH11110214A (en) | Command control system and method for the same | |
US5539919A (en) | Microcomputer having function to specify functional block having data to be monitored and to output data as an anaglog signal | |
EP0735459A1 (en) | Fuzzy processor with improved architecture | |
JPS6230455B2 (en) | ||
JP3121609B2 (en) | Digital signal processor | |
GB2180118A (en) | Image processing | |
US6426754B1 (en) | Simple image processing system and method capable of reducing occurrence of unwanted overhead | |
JP3359987B2 (en) | Data processing device | |
JP2586074B2 (en) | Data processing device | |
JPH06208614A (en) | Image processor | |
CN114661633A (en) | Data caching device and method, integrated circuit chip, computing device and board card | |
JPH0267665A (en) | Interface circuit | |
KR0168973B1 (en) | Rom accessing method and its apparatus | |
JP2518387B2 (en) | Serial data transmission circuit | |
JP2707256B2 (en) | Micro computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |