JPS6127770B2 - - Google Patents
Info
- Publication number
- JPS6127770B2 JPS6127770B2 JP4799176A JP4799176A JPS6127770B2 JP S6127770 B2 JPS6127770 B2 JP S6127770B2 JP 4799176 A JP4799176 A JP 4799176A JP 4799176 A JP4799176 A JP 4799176A JP S6127770 B2 JPS6127770 B2 JP S6127770B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- address
- data
- circuit
- input
- 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
Links
- 238000000034 method Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/28—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
- G11C19/287—Organisation of a multiplicity of shift registers
Description
【発明の詳細な説明】
本発明は例えば小型電子式計算機等で使用され
るデータシフト方式に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data shift method used, for example, in small electronic calculators.
近年、例えば小型電子式計算機の記憶装置に
RMM(ランダムアクセスメモリ)を用いたもの
が数種あるが、従来のRAMでは、このRAM内に
記憶されているデータをシフトさせるために、シ
フトさせるべきデータをアキユムレータレジスタ
に呼び出し、RAMのアドレス指定を+1あるい
は−1だけ移動させたのち上記アキユムレータレ
ジスタのデータをRAMに書き込むように複数の
マイクロ命令により行つていた。しかしこのよう
なシフト方式はマイクロ命令の数が増加すると共
にシフト処理時間が遅く、アドレス指定のための
回路構成が複雑である等の欠点があつた。 In recent years, for example, it has been used as a storage device for small electronic calculators.
There are several types of RAM that use RMM (random access memory), but in conventional RAM, in order to shift the data stored in this RAM, the data to be shifted is called into an accumulator register, and the data stored in the RAM is loaded into an accumulator register. A plurality of microinstructions were used to move the address designation by +1 or -1 and then write the data in the accumulator register to the RAM. However, such a shift method has disadvantages such as an increase in the number of microinstructions, a slow shift processing time, and a complicated circuit configuration for addressing.
本発明は上記の欠点を除去すべくなされたもの
で、少ないマイクロ命令で行ない得ると共にシフ
ト処理時間を短縮し得、また回路構成を簡略化し
得るデータシフト方式を提供するものである。 The present invention has been made to eliminate the above-mentioned drawbacks, and provides a data shift method that can be performed with fewer microinstructions, reduce shift processing time, and simplify circuit configuration.
以下図面を参照して本発明の一実施を詳細に説
明する。 Hereinafter, one implementation of the present invention will be described in detail with reference to the drawings.
第1図においてRAM11は例えば半導体集積
回路よりなり、行方向の指定アドレスと列方向と
の指定アドレスとの交点によりアドレスが指定さ
れるもので、謂ゆるマトリクス方式のアドレス指
定が行われる。このRAM11には各種レジス
タ、例えばXレジスタ、Yレジスタ、Zレジスタ
の演算レジスタなどをそれぞれ行方向に設けられ
ている。そして上記RAM11には行アドレス入
力端子RAU、列アドレス入力端子RAL、読出/
書込指令入力端子R/W、データ入力端子IN、
データ出力端子OUTが設けられている。 In FIG. 1, the RAM 11 is made of, for example, a semiconductor integrated circuit, and an address is specified by the intersection of a specified address in the row direction and a specified address in the column direction, and so-called matrix type addressing is performed. The RAM 11 is provided with various registers such as operation registers such as an X register, a Y register, and a Z register in the row direction. The RAM 11 has a row address input terminal RAU, a column address input terminal RAL, and a read/write terminal.
Write command input terminal R/W, data input terminal IN,
A data output terminal OUT is provided.
一方、12は各種マイクロ命令がストアされて
いるROMで、該ROM12からは上記RAM11
の所定行のアドレスを指定する信号〔FU〕、処理
開始列アドレスを指定する信号〔SL〕、処理終了
列アドレスを指定する信号〔FL〕、桁上げ及び桁
下げ等のインストラクシヨン信号〔INS〕、自己
の次アドレスを指定する信号〔NA〕が各々バス
ラインa〜eを介して並列的に出力している。そ
して、バスラインeを介して出力する信号
〔NA〕は、アドレスレジスタ13に一時的に記憶
され、アドレスレジスタ13の出力は、アドレス
デコーダ14に入力する。このアドレスデコーダ
14は、入力した信号を各アドレスにデコードし
て上記ROM12に供給し、ROM12のアドレス
指定を行う。また、信号〔INS〕はバスラインd
を介してインストラクシヨンデコーダ15に印加
される。このインストラクシヨンデコーダ15
は、上記信号〔INS〕と共に、クロツクφ1,φ
2等のタイミング信号を発生するタイミングカウ
ンタ16の出力を、各種回路の同期をとる3相の
タイミング信号〔t1,t2,t3〕にデコードして出力
するタイミングデコーダ17を介して入力し、後
述する各種制御信号を出力する。 On the other hand, 12 is a ROM in which various microinstructions are stored, and from this ROM 12, the above-mentioned RAM 11
A signal that specifies the address of a predetermined row of [F U ], a signal that specifies the processing start column address [S L ], a signal that specifies the processing end column address [F L ], instructions for carry, carry, etc. A signal [INS] and a signal [NA] specifying its own next address are output in parallel via bus lines a to e, respectively. The signal [NA] output via the bus line e is temporarily stored in the address register 13, and the output of the address register 13 is input to the address decoder 14. This address decoder 14 decodes the input signal into each address and supplies it to the ROM 12, thereby specifying the address of the ROM 12. Also, the signal [INS] is the bus line d
The signal is applied to the instruction decoder 15 via the instruction decoder 15. This instruction decoder 15
together with the above signal [INS], the clocks φ 1 , φ
The output of the timing counter 16, which generates a timing signal of the second class, is inputted via the timing decoder 17, which decodes and outputs the three-phase timing signal [ t1 , t2 , t3 ] that synchronizes various circuits. , outputs various control signals to be described later.
また、上記RAM11のレジスタの行アドレス
を指定する信号〔FU〕は、バスラインaを介し
てゲート回路G1に印加され、このゲート回路G1
の出力は、バスラインを介してRAM11の行
アドレス入力端子〔RAU〕に入力する。なお、
上記ゲート回路G1には、タイミングデコーダ1
7から出力するタイミング信号〔t1〕がインバー
タ18を介して供給され開閉制御されている。 Further, a signal [F U ] specifying the row address of the register of the RAM 11 is applied to the gate circuit G 1 via the bus line a, and the gate circuit G 1
The output is input to the row address input terminal [RAU] of the RAM 11 via the bus line. In addition,
The above gate circuit G 1 includes a timing decoder 1
A timing signal [t 1 ] output from 7 is supplied via an inverter 18 to control opening and closing.
また、バスラインbを介して出力する信号〔S
L〕は、インストラクシヨンデコーダ15より出
力する信号〔O1〕により開閉制御されるゲート回
路G2を介して入出力共通バスラインgに出力さ
れ、上記RAM11の列アドレス入力端子
〔RAL〕に入力すると共に、アドレスカウンタ1
9にプリセツト信号として入力する。このアドレ
スカウンタ19は、クロツクφ1により読み込み
動作を行ない、インストラクシヨンデコーダ15
から出力するアツプダウン制御信号〔A〕により
動作制御される。このアツプダウン制御信号
〔A〕は、インストラクシヨン信号〔INS〕によ
り右シフトが指定された時はタイミングt2で、ま
た左シフトが指定された時はタイミングt1及びt3
で夫々“1”を出力する様インストラクシヨンデ
コーダ15で組まれている。そして、アドレスカ
ウンタ19の出力は、インストラクシヨンデコー
ダ15の出力O2により開閉制御されるゲート回
路G3を介して上記入出力共通バスラインgに出
力し、再び自己に入力してカウント動作を行な
う。なお、上記ゲート回路G2及びG3の開閉制御
を行なう信号O1及びO2は、後述するヘツドサイ
クルタイミングS0を用いて
O1=S0・t1
O2=0・1
の論理条件により出力する様インストラクシヨン
デコーダ15で組まれている。 In addition, a signal [S
L ] is output to the input/output common bus line g via the gate circuit G 2 whose opening/closing is controlled by the signal [O 1 ] output from the instruction decoder 15, and is sent to the column address input terminal [RAL] of the RAM 11. Address counter 1
9 as a preset signal. This address counter 19 performs a reading operation using the clock φ1 , and the instruction decoder 15
The operation is controlled by the up-down control signal [A] output from the up-down control signal [A]. This up-down control signal [A] is applied at timing t2 when a right shift is specified by the instruction signal [INS], and at timings t1 and t3 when a left shift is specified.
The instruction decoder 15 is configured to output "1" at each of the instruction decoders 15 and 15. The output of the address counter 19 is outputted to the input/output common bus line g via the gate circuit G3 whose opening/closing is controlled by the output O2 of the instruction decoder 15, and inputted again to itself to perform the counting operation. Let's do it. The signals O 1 and O 2 that control the opening and closing of the gate circuits G 2 and G 3 are based on the logic condition of O 1 = S 0・t 1 O 2 = 0・1 using the head cycle timing S 0 described later. The instruction decoder 15 is configured to output the instruction.
しかして、端子〔RAU〕及び〔RAL〕により
行及び列のアドレス指定されたRAM11の出力
は端子〔OUT〕より並列4ビツトのデータとし
て出力され、バスラインhを介してタイミング信
号t1及びt2により読み込み制御されるバツフアレ
ジスタ20及び21に入力される。なお、シフト
動作を行なう本実施例では、処理されるデータを
記憶しているレジスタの行アドレスを指定する信
号〔FU〕はゲート回路G1によりt2及びt3のタイ
ミングで出力するよう設定されているので、上記
バスラインhに出力されたデータはt2のタイミン
グで読み込み制御されるバツフアレジスタ21に
読み込まれる。そして、これ等バツフアレジスタ
20,21の各出力は、インストラクシヨンデコ
ーダ15の出力信号SB,FAにより開閉制御され
るアダー入力ゲート回路G4,G5を介して加減算
回路22に入力し、その出力はRAM11のデー
タ入力端子〔IN〕にt3のタイミングで入力され
る。また、上記RAM11のデータの入出力、即
ちデータの書き込み及び読み出しは、インストラ
クシヨンデコーダ15の出力AF及びタイミング
信号t3がゲート回路G6を介してRAM11のR/
W端子に印加されることによつて制御される。 Thus, the output of the RAM 11 whose row and column addresses are designated by the terminals [RAU] and [RAL] is output as parallel 4-bit data from the terminal [OUT], and the timing signals t1 and t are sent via the bus line h. 2 is input to buffer registers 20 and 21 whose reading is controlled by 2. In this embodiment, which performs a shift operation, the signal [F U ] specifying the row address of the register storing the data to be processed is set to be output by the gate circuit G 1 at timings t 2 and t 3 . Therefore, the data output to the bus line h is read into the buffer register 21 which is read and controlled at timing t2 . The respective outputs of these buffer registers 20 and 21 are input to the addition/subtraction circuit 22 via adder input gate circuits G 4 and G 5 whose opening and closing are controlled by the output signals SB and FA of the instruction decoder 15. The output is input to the data input terminal [IN] of the RAM 11 at timing t3 . Furthermore, for data input/output of the RAM 11, that is, data writing and reading, the output AF of the instruction decoder 15 and the timing signal t3 are sent to the RAM 11 via the R/R/
It is controlled by being applied to the W terminal.
また、上記終了列アドレスを指定する信号〔F
L〕は、バスラインcを介して一致回路23の一
方の入力端に入力し、この一致回路23の他方の
入力端には、上記入出力共通バスラインgを介し
てアドレスカウンタ19の出力が入力されてい
る。しかして、この一致回路23の一致出力は、
アンド回路24の一方の入力端に印加されてい
る。このアンド回路24の他方の入力端には、タ
イミングデコーダ17より出力するタイミング信
号t3が印加されており、アンド回路24の出力
は、アンド回路25の一方の入力端に入力される
と共に、t3,φ1のタイミングで読み込み動作を
行なうフリツプフロツプ26に入力されている。
一方、アンド回路25の他方の入力端には、タイ
ミングカウンタ16から出力するクロツクφ1が
入力されており、このアンド回路25の出力は、
アドレスレジスタ13の読み込みクロツクとして
アドレスレジスタ13に印加されている。他方、
上記フリツプフロツプ26の出力は、ヘツドサイ
クルタイミングS0としてインストラクシヨンデコ
ーダ15に印加されている。 In addition, a signal [F
L ] is input to one input terminal of the matching circuit 23 via the bus line c, and the output of the address counter 19 is input to the other input terminal of the matching circuit 23 via the input/output common bus line g. It has been entered. Therefore, the coincidence output of this coincidence circuit 23 is
It is applied to one input terminal of the AND circuit 24. A timing signal t 3 output from the timing decoder 17 is applied to the other input terminal of the AND circuit 24, and the output of the AND circuit 24 is input to one input terminal of the AND circuit 25. 3 , and is input to a flip-flop 26 which performs a read operation at the timing of φ1 .
On the other hand, the clock φ1 output from the timing counter 16 is input to the other input terminal of the AND circuit 25, and the output of the AND circuit 25 is as follows.
It is applied to the address register 13 as a read clock for the address register 13. On the other hand,
The output of the flip-flop 26 is applied to the instruction decoder 15 as head cycle timing S0 .
ところで前記アドレスカウンタ19およびゲー
ト回路G3は例えば第2図に示すように並列4ビ
ツトのアツプダウンカウンタで構成されている。
即ち第2図において4ビツトのバイナリカウンタ
30の各段(20〜23)出力はそれぞれナンド回路
31〜34の一方入力端に入力される。このナン
ド回路31〜34の他方の各入力端には、インス
トラクシヨンデコーダ(第1図15)から制御信
号O2が導かれる。この制御信号O2はアドレスカ
ウンタ19にプリセツト指令を与えるときに
“0”、カウント動作指令を与えるときに“1”に
なる。上記ナンド回路31〜33の各出力はそれ
ぞれ対応して不一致回路35〜37の一方入力と
して導かれる。また上記ナンド回路31〜34の
各出力に対して入出力線38〜41が接続されて
いる。この入出力線38〜41はプリセツト時に
プリセツトコード入力が与えられ、カウント動作
時にバイナリカウンタ30の出力がナンド回路3
1〜34を介して取り出される。そして前記不一
致回路35〜37の各他方入力としてインストラ
クシヨンデコーダ(第1図15)からアツプダウ
ン制御信号Aが与えられる。この信号はアツプ動
作指令のときに“0”ダウン動作指令のときに
“1”である。また、上記不一致回路35の出力
は一致回路42の一方の入力として導かれると共
にナンド回路43の一方入力として導かれる。こ
のナンド回路43の他方入力としては不一致回路
36の出力が導かれ、このナンド回路43の出力
は不一致回路44の一方の入力として導かれる。
また前記不一致回路35,36,37の各出力は
ナンド回路45に導かれ、このナンド回路45の
出力は不一致回路46の一方の入力として導かれ
る。そして、この不一致回路46の他方の入力と
しては、ナンド回路34の出力が導かれ、また不
一致回路44の他方の入力としてはナンド回路3
3の出力が導かれ、一致回路42の他方の入力と
してはナンド回路32の出力が導かれる。そして
ナンド回路31、一致回路42不一致回路44,
46の各出力はそれぞれ対応して前記カウンタ3
0の初段〜終段へ導かれる、なお、このカウンタ
30には読み込みクロツクとしてt1〜t3の各タイ
ミングでクロツクφ1が与えられている。 By the way, the address counter 19 and the gate circuit G3 are constituted by a parallel 4-bit up-down counter, for example, as shown in FIG.
That is, in FIG. 2, the outputs of each stage ( 20 to 23 ) of the 4-bit binary counter 30 are inputted to one input terminal of the NAND circuits 31 to 34, respectively. A control signal O2 is introduced from an instruction decoder (FIG. 115) to the other input terminals of the NAND circuits 31-34. This control signal O2 becomes "0" when a preset command is given to the address counter 19, and becomes "1" when a count operation command is given. The respective outputs of the NAND circuits 31-33 are respectively led as one input of mismatch circuits 35-37. Further, input/output lines 38-41 are connected to each output of the NAND circuits 31-34. These input/output lines 38 to 41 are given a preset code input at the time of presetting, and the output of the binary counter 30 is sent to the NAND circuit 3 at the time of counting operation.
1 to 34. An up-down control signal A is applied from an instruction decoder (FIG. 15) as the other input of each of the mismatch circuits 35-37. This signal is "0" when an up operation command is issued, and "1" when a down operation command is issued. Further, the output of the mismatch circuit 35 is led as one input of the match circuit 42 and as one input of the NAND circuit 43. The output of the mismatch circuit 36 is introduced as the other input of the NAND circuit 43, and the output of the NAND circuit 43 is introduced as one input of the mismatch circuit 44.
Further, each output of the mismatch circuits 35, 36, and 37 is led to a NAND circuit 45, and the output of this NAND circuit 45 is led as one input of the mismatch circuit 46. The other input of this mismatch circuit 46 is the output of the NAND circuit 34, and the other input of the mismatch circuit 44 is the NAND circuit 3.
3, and the output of the NAND circuit 32 is introduced as the other input of the matching circuit 42. And a NAND circuit 31, a coincidence circuit 42, a mismatch circuit 44,
Each output of 46 corresponds to the counter 3.
This counter 30 is supplied with a clock φ1 as a read clock at each timing from t1 to t3 .
次に上記データシフト方式において、いま第3
図に示すようにSL=0、FL=3の時の右シフト
動作について第4図aのようにデータが記憶され
ている場合を例として説明する。まずヘツドサイ
クルS0(サイクルタイム1)のクロツクt1時にデ
コーダ15の制御出力O1によりゲート回路G2が
開く、そしてこのゲート回路G2をROM12の信
号〔SL〕(0,0,0,0)が通りアドレスカウ
ンタ19を(0,0,0,0)にプリセツトす
る。このときインストラクシヨンデコーダから出
力する信号Aは“O”であつてカウントアツプ指
令を与えているので+1カウントアツプしバイナ
リカウンタ30の内容は1,2,4,8の重み順
に(0,1,1,1)となる。そして、タイミン
グがt1からt2に変わると、インストラクシヨンデ
コーダ15の制御出力O1,O2によりゲート回路
G2が閉じゲート回路G3が開くようになる。この
ためアドレスカウンタ19のカウント出力が
RAM11の列アドレスを指定するようになる。
また、このときゲート回路G1も開くようになり
ROM12の信号〔FU〕がRAM11の行アドレ
スを指定する。またこのときゲート回路G6には
書き込み指令AF及びt3が供給されておらずRAM
11のR/W端子には読出指令が与えられてい
る。したがつてRAM11の指定アドレス“1”
信号〔FU〕により指定された行のデータレジス
タにおいてアドレスカウンタ19の出力により指
定されたシフト開始桁のデータ3が読み出されて
バツフアレジスタ21に保持される。なおアドレ
スカウンタ19の出力は一致回路23に入力され
て信号〔FL〕3との間で一致判定が行われる
が、未だ一致せず一致出力を発生しない。したが
つてアンド回路24はゲートが閉じられており、
このアンド回路24のアンド出力によりアンド回
路25もゲートが閉じられている。そして上記タ
イミングt2のとき信号Aは“1”であつてカウン
トダウン指令を与えているので、アドレスカウン
タ19は−1カウントダウンしてバイナリカウン
タ30は(1,1,1,1)となり、ナンド回路
31〜34を介して得られるカウント出力は
“0”になる。次にタイミングがt2からt3に変わる
と、インストラクシヨンデコーダ15から制御出
力FAが発生してゲート回路G5が開き、バツフア
レジスタ21のデータ13が上記ゲート回路G5
および加減算回路22を通りRAM11に入力さ
れる。このときインストラクシヨンデコーダから
はAF信号も出力されて居り、且つタイミングが
t3であるのでゲート回路G6は書き込み指令を
RAM11のR/W端子に与えている。したがつて
アドレスカウンタ19のカウント出力0により指
定される列アドレスに上記データ3(タイミング
t2において読み出され保持されていた1桁上のデ
ータ)が書き込まれ、第4図bに示す如く結局右
シフトが行われたことになる。そしてタイミング
t3のとき信号Aは“0”なので、アドレスカウン
タ19は+1カウントアツプレバイナリカウンタ
30は(0,1,1,1)となる。 Next, in the data shift method described above, the third
As shown in the figure, the right shift operation when S L =0 and F L =3 will be explained by taking as an example the case where data is stored as shown in FIG. 4a. First, at clock t1 of the head cycle S0 (cycle time 1), the gate circuit G2 is opened by the control output O1 of the decoder 15, and this gate circuit G2 is connected to the signal [ SL ] (0, 0, 0) of the ROM 12. , 0) is passed and the address counter 19 is preset to (0, 0, 0, 0). At this time, the signal A output from the instruction decoder is "O" and gives a count up command, so the count is increased by +1 and the contents of the binary counter 30 are (0, 1 , 1, 1). Then, when the timing changes from t 1 to t 2 , the gate circuit is activated by the control outputs O 1 and O 2 of the instruction decoder 15.
G 2 closes and gate circuit G 3 opens. Therefore, the count output of address counter 19 is
The column address of RAM11 will be specified.
Also, at this time, gate circuit G1 also opens.
A signal [F U ] of the ROM 12 specifies a row address of the RAM 11. Also, at this time, the write commands AF and t3 are not supplied to the gate circuit G6 , and the RAM
A read command is given to the R/W terminal 11. Therefore, the specified address of RAM11 is “1”
In the data register of the row designated by the signal [F U ], data 3 of the shift start digit designated by the output of the address counter 19 is read out and held in the buffer register 21 . Note that the output of the address counter 19 is input to the coincidence circuit 23 and a coincidence judgment is made between it and the signal [F L ] 3, but there is still no coincidence and no coincidence output is generated. Therefore, the gate of the AND circuit 24 is closed,
Due to the AND output of the AND circuit 24, the gate of the AND circuit 25 is also closed. Then, at the above timing t2 , the signal A is "1" and gives a countdown command, so the address counter 19 counts down by -1 and the binary counter 30 becomes (1, 1, 1, 1), and the NAND circuit The count output obtained through 31 to 34 becomes "0". Next, when the timing changes from t2 to t3 , a control output FA is generated from the instruction decoder 15, the gate circuit G5 is opened, and the data 13 of the buffer register 21 is transferred to the gate circuit G5 .
and is input to the RAM 11 through the addition/subtraction circuit 22. At this time, the AF signal is also output from the instruction decoder, and the timing is
Since t 3 , gate circuit G 6 sends the write command.
It is given to the R/W terminal of RAM11. Therefore, the above data 3 (timing
The data one digit higher than that read out and held at t2 is written, resulting in a right shift as shown in FIG. 4b. and timing
At time t3 , the signal A is "0", so the address counter 19 counts +1 and the pre-binary counter 30 becomes (0, 1, 1, 1).
以下サイクルタイム2〜4においてヘツドサイ
クルS0におけると同様に、タイミングt1にて+1
カウントアツプし、タイミングt2にてカウント出
力によりアドレス指定された1桁上のデータを読
み出して保持したのち−1カウントダウンし、タ
イミングt3にてカウント出力により指定されたア
ドレスに保持データを書き込み+1カウントアツ
プする動作を繰り返す。 Below, at cycle times 2 to 4, as in head cycle S 0 , +1 at timing t 1 .
Counts up, reads the data one digit above the address specified by the count output at timing t2 and holds it, then counts down by -1, and at timing t3 writes the held data to the address specified by the count output +1 Repeat the counting up action.
したがつてRAM11のデータレジスタはサイ
クルタイム1〜4の進行につれて順次上位桁から
下位桁へ向つて1桁目〜4桁目のデータが1桁づ
つシフトされc〜eに示す如くなる。但し4桁目
はブランキングコードαである。そして、アドレ
スカウンタ19のカウント出力がt3のタイミング
でROM12の信号〔FL〕に一致すると、一致回
路23から一致出力が発生する。このため一致出
力とタイミングt3とのアンド出力“1”がアンド
回路24から発生し、このアンド出力“1”はフ
リツプフロツプ26に読み込まれると共に、アン
ド回路25に印加され、このアンド回路25はク
ロツクφ1が出力した時に“1”を出力してアド
レスレジスタ13に印加され、アドレスレジスタ
13が自己の次アドレスを読み込む様動作させ
る。そして、このアドレスレジスタ13のデータ
はアドレスデコーダ14によりデコードされ、こ
のデコード出力によりROM12のアドレス指定
を変えて次のマイクロステツプに移動させる。ま
た、上記フリツプフロツプ26の出力は、ヘツド
サイクルを指定する信号としてインストラクシヨ
ンデコーダ15に印加される。 Therefore, in the data register of the RAM 11, as cycle times 1 to 4 progress, the data in the first to fourth digits are shifted one by one from the upper digit to the lower digit, as shown in c to e. However, the fourth digit is the blanking code α. Then, when the count output of the address counter 19 matches the signal [F L ] of the ROM 12 at timing t3 , a match output is generated from the match circuit 23. Therefore, an AND output "1" between the coincidence output and the timing t3 is generated from the AND circuit 24, and this AND output "1" is read into the flip-flop 26 and applied to the AND circuit 25, which is in turn connected to the clock. When φ1 is output, "1" is output and applied to the address register 13, causing the address register 13 to read its own next address. Then, the data in the address register 13 is decoded by the address decoder 14, and the address designation of the ROM 12 is changed based on the decoded output to move to the next microstep. Further, the output of the flip-flop 26 is applied to the instruction decoder 15 as a signal specifying a head cycle.
次に、第5図に示すようにSL=3、FL=0の
左シフト動作について第6図aのようにデータが
記憶されている場合を例にして説明する。左シフ
ト動作は、第5図に示すように各サイクルタイム
において、タイミングt1にて−1カウントダウン
し、タイミングt2にてカウント出力によりアドレ
ス指定された1桁下のデータを読み出して保持し
たのち+1カウントアツプし、タイミングt3にて
カウント出力により指定されたアドレスに保持デ
ータを書き込んだのち−1カウントダウンするも
のであり、各回路の動作は上記右シフトの時と同
様である。 Next, as shown in FIG. 5, a left shift operation with S L =3 and F L =0 will be described using as an example the case where data is stored as shown in FIG. 6a. As shown in Fig. 5, the left shift operation is performed by counting down by -1 at timing t1 at each cycle time, and at timing t2 reading and holding the data one digit lower than the address specified by the count output. It counts up by +1, writes the held data to the address specified by the count output at timing t3 , and then counts down by -1, and the operation of each circuit is the same as in the right shift described above.
したがつてRAM11のデータレジスタには、
最初例えば第6図のaに示すように123と記憶
されていたとすると、サイクルタイム1〜4の進
行につれて下位桁から上位桁へ向つて順次b〜e
に示すように1桁づつ左方向にシフトされる。そ
して、アドレスカウンタ19の出力がタイミング
t3の時“0”を出力した時一致回路23の一致出
力はアンド回路24を介して、アンド回路25及
びフリツプフロツプ26に印加され、上記右シフ
ト同様アドレスレジスタ13に自己の次アドレス
を読み込ませると共に、ヘツドサイクル指定信号
S0をインストラクシヨンデコーダ15に印加す
る。 Therefore, in the data register of RAM11,
For example, if 123 is initially stored as shown in a in FIG.
It is shifted to the left one digit at a time as shown in . Then, the output of address counter 19 is timing
When "0" is output at time t3 , the coincidence output of the coincidence circuit 23 is applied to the AND circuit 25 and flip-flop 26 via the AND circuit 24, and causes the address register 13 to read its own next address in the same way as the right shift described above. In addition, the head cycle designation signal
S 0 is applied to the instruction decoder 15.
なおデータα,βはゼロサプレスコードのよう
なプランキングコードであるが、このデータα,
βのシフトを禁止して代わりにデータ“0”を書
き込むためには、例えば加減算回路22の出力ラ
インにゲート回路(図示せず。)を設けておき、
通常はこのゲートを開いておきアンド回路24に
アンド出力“1”が得られたときに上記ゲート回
路を閉じるように構成すればよい。 Note that the data α and β are planking codes like zero suppression codes;
In order to prohibit the shift of β and write data “0” instead, for example, a gate circuit (not shown) is provided on the output line of the addition/subtraction circuit 22.
Normally, this gate may be opened and the gate circuit may be closed when AND output "1" is obtained from the AND circuit 24.
次に前記アドレスカウンタ19およびゲート回
路G3の動作を説明する。第2図においてプリセ
ツト時にはO2入力が“0”であり、このときプ
リセツト入力は(0,0,0,0)、A入力は
“0”であつたとする。したがつてナンド回路3
1〜34はそれぞれ出力がプリセツト入力に直結
されているので“0”であり、不一致回路35,
36,37はそれぞれの入力が“0”,“0”,
“0”であつて一致しているからその出力は
“0”である。そして一致回路42の各入力は
“0”,“0”で一致しているから出力は“1”で
ある。またナンド回路43の各入力は“0”,
“0”であるから出力は“1”であり、不一致回
路44の各入力は“0”,“1”であつて不一致で
あり出力は“1”である。またナンド回路45は
各入力が“0”,“0”であるから出力は“1”で
あり、不一致回路46の各入力は“0”,“1”で
あつて不一致により出力は“1”である。したが
つて読み込みパルスφ1によりカランタ30は入
力(0,1,1,1)を読み込み、こののちO2
入力が“1”になると、ナンド回路31〜34の
出力はそれぞれ対応して1,0,0,0となりカ
ウント出力1として取り出される。このときA入
力が“1”になつていれば、不一致回路36,3
7はそれぞれ2入力が“0”,“1”となつて不一
致であるのでそれぞれ出力が“1”になる。しか
し不一致回路35は2入力が1,1となつて一致
するので出力が“0”のままである。したがつて
ナンド回路43,45の出力は“1”のままであ
り、一致回路42、不一致回路44,46の出力
は“1”のままである。 Next, the operations of the address counter 19 and gate circuit G3 will be explained. In FIG. 2, it is assumed that the O2 input is "0" at the time of preset, the preset input is (0,0,0,0), and the A input is "0" at this time. Therefore, Nando circuit 3
1 to 34 are "0" because their outputs are directly connected to the preset inputs, and the mismatch circuits 35,
36 and 37 have their respective inputs “0”, “0”,
Since it is "0" and they match, the output is "0". Since the inputs of the matching circuit 42 are "0" and "0", the output is "1". In addition, each input of the NAND circuit 43 is “0”,
Since it is "0", the output is "1", and each input of the mismatch circuit 44 is "0" and "1", so there is no mismatch, and the output is "1". In addition, since each input of the NAND circuit 45 is "0" and "0", the output is "1", and each input of the mismatch circuit 46 is "0" and "1", and the output is "1" due to mismatch. It is. Therefore, the reading pulse φ 1 causes the caranta 30 to read the input (0, 1, 1, 1), and then O 2
When the input becomes "1", the outputs of the NAND circuits 31 to 34 become 1, 0, 0, 0, respectively, and are taken out as count output 1. If the A input is "1" at this time, the mismatch circuits 36, 3
7, the two inputs are "0" and "1", which are inconsistent, so the respective outputs are "1". However, since the two inputs of the mismatch circuit 35 match as 1, 1, the output remains "0". Therefore, the outputs of the NAND circuits 43 and 45 remain at "1", and the outputs of the match circuit 42 and mismatch circuits 44 and 46 remain at "1".
したがつて次の読み込みパルスφ1によりカウ
ンタ30は(1,1,1,1)を読み込み、ナン
ド回路31〜34の出力はそれぞれ対応して
(0,0,0,0)となつてカウント出力0とし
て取り出される。 Therefore, with the next read pulse φ 1 , the counter 30 reads (1, 1, 1, 1), and the outputs of the NAND circuits 31 to 34 correspond to (0, 0, 0, 0) and count. It is taken out as output 0.
即ち上記した第2図の回路によれば、カウンタ
30の出力がナンド回路31〜34を介して取り
出され、このナンド回路31〜34の出力に対し
てAが“0”のときには+1加算し、Aが“1”
のときには−1減算して、読み込みパルスφ1に
よりカウンタ30へ読み込むように動作する。ま
たプリセツトに際してはナンド回路31〜34を
閉じておき、ナンド回路31〜34の出力にプリ
セツト入力を直結すれば、換言すればカウント出
力を取り出す代わりにプリセツト入力を与えれ
ば、“0”信号が優先されて結果的にプリセツト
コードが優先されて、バイナリカウンタ30に適
宜の処理が行なわれて読み込ませることができ
る。 That is, according to the circuit shown in FIG. 2 described above, the output of the counter 30 is taken out via the NAND circuits 31 to 34, and when A is "0", +1 is added to the output of the NAND circuits 31 to 34. A is “1”
In this case, -1 is subtracted and the counter 30 is read by a read pulse φ1 . Furthermore, when presetting, if the NAND circuits 31 to 34 are closed and the preset inputs are directly connected to the outputs of the NAND circuits 31 to 34, in other words, if the preset input is applied instead of taking out the count output, the "0" signal will have priority. As a result, the preset code is given priority and can be read by the binary counter 30 through appropriate processing.
なお上記実施例は1マイクロサイクル当り3相
のクロツクを用いたが要は1マイクロサイクルに
おける書き込み終了後にアドレスを2シフトさ
せ、次のマイクロサイクルにおける読み出し終了
後にアドレスを1だけ戻しておくように制御すれ
ばよく、このような制御は2相クロツクを用いて
行うことも可能であることは言うまでもない。 Although the above embodiment uses a three-phase clock per microcycle, the key point is that the address is shifted by 2 after writing in one microcycle, and the address is shifted back by 1 after reading in the next microcycle. Needless to say, such control can also be performed using a two-phase clock.
また上記実施例ではバツフアレジスタ21の保
持データを加減算回路22を通してRAM11の
データ入力端子〔IN〕に導いたが、加減算回路
22を通さずに直接に導くようにしてもよい。 Further, in the above embodiment, the data held in the buffer register 21 is led to the data input terminal [IN] of the RAM 11 through the addition/subtraction circuit 22, but it may be directly led without passing through the addition/subtraction circuit 22.
以上詳細に説明した如く、本発明のデータシフ
ト方式によれば、1つのマイクロ命令でシフト処
理開始アドレスとシフト処理終了アドレスとを指
定しておき、各サイクル毎にシフトして書き込む
べきデータのアドレスを指定してデータの読み出
し保持を行つたのち当該データを書き込むべきア
ドレスを指定してデータの書き込みを行うように
制御することによつてシフト処理開始アドレスか
ら終了アドレスまでシフト処理を行うようにして
いる。したがつて従来のように複数のマイクロ命
令によりシフトすべきデータをアキユムレータに
呼び出し、RAMのアドレス指定をシフトさせた
のちデータを書き込む方式に比べてシフト処理時
間を短縮できると共にマイクロ命令の数を減少さ
せることが出来、またアドレス指定のための回路
構成が簡単になる等種々の利点を有する。 As explained in detail above, according to the data shift method of the present invention, a shift processing start address and a shift processing end address are specified with one microinstruction, and the address of data to be shifted and written every cycle. The shift process is performed from the shift process start address to the end address by specifying the address to read and hold the data, and then specifying the address to write the data to write the data. There is. Therefore, compared to the conventional method of calling the data to be shifted to the accumulator using multiple microinstructions, shifting the RAM address specification, and then writing the data, the shift processing time can be shortened and the number of microinstructions can be reduced. It also has various advantages such as a simplified circuit configuration for addressing.
第1図は本発明に係るデータシフト方式の一実
施例を示すブロツクダイヤグラム、第2図は第1
図のアドレスカウンタおよびゲートG3を取り出
して示す構成説明図、第3図及び第4図は第1図
の右シフト動作を説明するために示す図、第5図
及び第6図は第1図の左シフト動作を説明するた
めに示す図である。
11…RAM、12…ROM、19…アドレスカ
ウンタ、20,21…バツフアレジスタ、23…
一致回路。
FIG. 1 is a block diagram showing an embodiment of the data shift method according to the present invention, and FIG.
A configuration explanatory diagram showing the address counter and gate G3 shown in FIG. 3, FIGS. 3 and 4 are diagrams shown to explain the right shift operation of FIG. FIG. 3 is a diagram shown to explain a left shift operation of the controller. 11...RAM, 12...ROM, 19...address counter, 20, 21...buffer register, 23...
matching circuit.
Claims (1)
列によりアドレス指定される記憶手段と、該記憶
手段の行アドレス及びデータ処理開始列、終了列
アドレスを1マイクロ命令で出力するマイクロ命
令発生手段と、1マイクロサイクル毎に上記記憶
手段に対し、データの読み出し及び書き込みを
夫々異なるタイミングで制御するためのタイミン
グ制御手段と、上記マイクロ命令発生手段から出
力する上記データ処理開始列アドレスにより初期
値設定され且つ上記マイクロ命令発生手段から出
力されるアツプ/ダウン制御信号により制御され
るアツプ/ダウンカウント手段を有し、上記読み
出し、書き込みのタイミングに同期して上記アツ
プ/ダウンカウント手段の内容を変更させること
により、上記記憶手段のデータ読み出し及び書き
込みアドレスを1マイクロサイクル毎に指定する
アドレス指定手段と、該アドレス指定手段により
アドレス指定されて読み出されたデータを書き込
みタイミングで再び上記記憶手段に導入する手段
と、上記アドレス指定手段の出力が上記マイクロ
命令発生手段より出力する上記データ処理終了列
アドレスと一致したことを検出する検出手段と、
該検出手段の出力により上記マイクロ命令発生手
段のアドレスを変更する手段とを具備し、1マイ
クロ命令でデータのシフト処理を行なうことを特
徴とするデータシフト方式。1. Storage means in which various data necessary for calculations are stored and addressed by row and column, and microinstruction generation means that outputs the row address of the storage means, data processing start column, and end column address in one microinstruction. , an initial value is set for the storage means every microcycle by a timing control means for controlling reading and writing of data at different timings, and the data processing start column address outputted from the microinstruction generation means. Further, it has an up/down count means controlled by an up/down control signal outputted from the microinstruction generation means, and changes the contents of the up/down count means in synchronization with the read and write timings. Addressing means for specifying data read and write addresses of the storage means every microcycle, and means for reintroducing the data addressed and read by the addressing means into the storage means at the write timing. and detection means for detecting that the output of the address designation means matches the data processing end column address output from the microinstruction generation means;
and means for changing the address of the micro-instruction generating means based on the output of the detecting means, and the data shifting method is characterized in that data is shifted by one micro-instruction.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4799176A JPS52130538A (en) | 1976-04-27 | 1976-04-27 | Data shift system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4799176A JPS52130538A (en) | 1976-04-27 | 1976-04-27 | Data shift system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS52130538A JPS52130538A (en) | 1977-11-01 |
| JPS6127770B2 true JPS6127770B2 (en) | 1986-06-27 |
Family
ID=12790776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4799176A Granted JPS52130538A (en) | 1976-04-27 | 1976-04-27 | Data shift system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS52130538A (en) |
-
1976
- 1976-04-27 JP JP4799176A patent/JPS52130538A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS52130538A (en) | 1977-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0238090B1 (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
| EP0068764A2 (en) | Vector processing units | |
| US4467415A (en) | High-speed microprogram control apparatus with decreased control storage requirements | |
| US4310880A (en) | High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit | |
| US4348720A (en) | Microcomputer arranged for direct memory access | |
| JPH0346850B2 (en) | ||
| US5079694A (en) | Data processing apparatus having a working memory area | |
| EP0080902B1 (en) | Semiconductor memory device | |
| US4641278A (en) | Memory device with a register interchange function | |
| US3480917A (en) | Arrangement for transferring between program sequences in a data processor | |
| EP0164418B1 (en) | Microprogram control system | |
| JPS5812613B2 (en) | Parallel data processing device | |
| JPS6127770B2 (en) | ||
| JPH1069430A (en) | Semiconductor storage | |
| JPS6047612B2 (en) | Microinstruction output control method | |
| KR0153537B1 (en) | Signal processing structure to preselect memory address data | |
| JP2915912B2 (en) | Pattern sequence control circuit for semiconductor test equipment | |
| JPS61269288A (en) | Storage element module | |
| JP2697772B2 (en) | Information processing device | |
| US5123093A (en) | Operational processor for performing a memory access and an operational process in parallel | |
| EP0305530A1 (en) | High-speed floating point arithmetic unit | |
| JPS6198444A (en) | Control memory system | |
| JPH05265746A (en) | Microprocessor | |
| JPH0489698A (en) | Writable non-volatile memory | |
| JPH0660669A (en) | Semiconductor memory device |