JPH03500718A - データ圧縮システム - Google Patents
データ圧縮システムInfo
- Publication number
- JPH03500718A JPH03500718A JP1506593A JP50659389A JPH03500718A JP H03500718 A JPH03500718 A JP H03500718A JP 1506593 A JP1506593 A JP 1506593A JP 50659389 A JP50659389 A JP 50659389A JP H03500718 A JPH03500718 A JP H03500718A
- Authority
- JP
- Japan
- Prior art keywords
- register
- signal
- data
- state
- counter
- 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.)
- Granted
Links
- 238000013144 data compression Methods 0.000 title claims description 38
- 239000000872 buffer Substances 0.000 claims description 360
- 238000007906 compression Methods 0.000 claims description 105
- 230000006835 compression Effects 0.000 claims description 105
- 238000012546 transfer Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000009963 fulling Methods 0.000 claims 1
- 239000000126 substance Substances 0.000 claims 1
- 229920000747 poly(lactic acid) Polymers 0.000 description 167
- 230000006837 decompression Effects 0.000 description 66
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 description 24
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 14
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 10
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 10
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 101100230887 Arabidopsis thaliana HEN4 gene Proteins 0.000 description 8
- 239000000523 sample Substances 0.000 description 8
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 7
- 230000004913 activation Effects 0.000 description 7
- 201000001440 hypomyelinating leukodystrophy 4 Diseases 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 6
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 6
- 101000866892 Lymnaea stagnalis Homeobox protein engrailed Proteins 0.000 description 6
- 239000000945 filler Substances 0.000 description 5
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 4
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 4
- 101100083853 Homo sapiens POU2F3 gene Proteins 0.000 description 4
- 101100058850 Oryza sativa subsp. japonica CYP78A11 gene Proteins 0.000 description 4
- 101150059175 PLA1 gene Proteins 0.000 description 4
- 102100026466 POU domain, class 2, transcription factor 3 Human genes 0.000 description 4
- 201000000775 hypomyelinating leukodystrophy 5 Diseases 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 3
- 241000283690 Bos taurus Species 0.000 description 3
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 101100321720 Arabidopsis thaliana PP2AA1 gene Proteins 0.000 description 2
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 2
- 229910003844 NSO2 Inorganic materials 0.000 description 2
- 101100445537 Schizosaccharomyces pombe (strain 972 / ATCC 24843) erm1 gene Proteins 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 2
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 201000000770 hypomyelinating leukodystrophy 6 Diseases 0.000 description 2
- 235000021419 vinegar Nutrition 0.000 description 2
- 239000000052 vinegar Substances 0.000 description 2
- BSFODEXXVBBYOC-UHFFFAOYSA-N 8-[4-(dimethylamino)butan-2-ylamino]quinolin-6-ol Chemical class C1=CN=C2C(NC(CCN(C)C)C)=CC(O)=CC2=C1 BSFODEXXVBBYOC-UHFFFAOYSA-N 0.000 description 1
- LTUJKAYZIMMJEP-UHFFFAOYSA-N 9-[4-(4-carbazol-9-yl-2-methylphenyl)-3-methylphenyl]carbazole Chemical compound C12=CC=CC=C2C2=CC=CC=C2N1C1=CC=C(C=2C(=CC(=CC=2)N2C3=CC=CC=C3C3=CC=CC=C32)C)C(C)=C1 LTUJKAYZIMMJEP-UHFFFAOYSA-N 0.000 description 1
- 101100288434 Arabidopsis thaliana LACS2 gene Proteins 0.000 description 1
- 102100026681 Chromobox protein homolog 8 Human genes 0.000 description 1
- 241000257465 Echinoidea Species 0.000 description 1
- 101000910841 Homo sapiens Chromobox protein homolog 8 Proteins 0.000 description 1
- 101000625226 Homo sapiens Melanoregulin Proteins 0.000 description 1
- 102100024976 Melanoregulin Human genes 0.000 description 1
- 241001442654 Percnon planissimum Species 0.000 description 1
- 241000287462 Phalacrocorax carbo Species 0.000 description 1
- ONIBWKKTOPOVIA-UHFFFAOYSA-N Proline Chemical compound OC(=O)C1CCCN1 ONIBWKKTOPOVIA-UHFFFAOYSA-N 0.000 description 1
- QAOWNCQODCNURD-UHFFFAOYSA-N Sulfuric acid Chemical compound OS(O)(=O)=O QAOWNCQODCNURD-UHFFFAOYSA-N 0.000 description 1
- 101150101561 TOM70 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- FIRHQRGFVOSDDY-UHFFFAOYSA-N ethyl 1-hydroxytriazole-4-carboxylate Chemical compound CCOC(=O)C1=CN(O)N=N1 FIRHQRGFVOSDDY-UHFFFAOYSA-N 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 101150115693 ompA gene Proteins 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 101150090944 otomp gene Proteins 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 102200160490 rs1800299 Human genes 0.000 description 1
- 210000002784 stomach Anatomy 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 235000011149 sulphuric acid Nutrition 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Auxiliary Devices For And Details Of Packaging Control (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
牒港
データ圧縮/伸張装置
光肌Ω背景
本発明はデータ圧縮及び伸張装置に関し、特に圧縮及び伸張のために共通の回路
構成を使用する改良された装置に関する。
また、該装置は一方向に記録された圧縮データを逆方向に読取って伸張すること
ができ、更にデータのアンダーラン(転送不足)を防止するためのスロットル制
御を含む。
イーストマン(Eastman)等の特許NQ、、4,464゜650は入力デ
ータシンボルの流れを適応的に成長するシンボルの順序に分解するデータ圧縮及
び伸張装置を開示する。
該装置は各入力文字に対して極めて多数のメモリアクセスサイクルを必要とする
ばかりか、圧縮及び伸張を達成するために時間のかかる乗除演算工程を利用して
いる。またこの開示装置は圧縮及び伸張を行なうために分離された個別のデバイ
スを必要とする。
ウエルヒ(Welch)の特許Na、、4,558,302は、データ圧縮器が
、入力列内で出会うデータ文字信号列を列テーブルに格納することにより、デー
タ文字の入力列を圧縮するデータ圧縮伸張装置を開示する。圧縮データを伸張す
るために独立の伸張器が設けられる。圧縮器は格納された列に対する最長の一致
を決定するための入力データ列をサーチする。各格納された列はプレフィックス
ストリング(接頭列)とエクステンションキャラクタ(拡張文字)から成り、拡
張文字はその列の最後の文字となり、接頭列はその拡張文字を除(全てを構成す
る。各列は互いに関連するコードワーγを有し、そして列は、少なくとも暗黙に
、列接頭語と拡張文字用のコードワード、列用のコードワードを格納することに
より、列テーブル内に格納される。入力データ文字ストリームと格納された列と
の間の最長一致が決定されるとき、その最長−敷用のコードワードは出会った文
字列のための圧縮コード信号として伝送され、そしてその拡張された列は列テー
ブル内に格納される。拡張列の接頭語は最長一致であり、そして拡張列の拡張文
字は最長文字に続く次の入力データ文字となる。列テーブルを通じて探索し、そ
してその中への拡張された列の入力は限定的探索ハツシング工程により実行され
る。伸張は、圧縮信号を受信し、そして格納された列からなるデータ文字信号を
復帰させるために受信コード信号の探索を実行する圧縮器により構成されるもの
と同様の列テーブルを発生する伸張装置により実行される。伸張列テーブルは、
以前に受信されたコード信号による接頭語及び現在復帰されている列の第一の文
字による拡張文字を有する列を格納することにより更新される。
ウエルヒ(Welch)の特許において開示された装置はその目的には適合して
いるが、いくつかの所望の特徴が欠落している。即ち、記録されたものと逆の方
向に読取られるデータを伸張できない。またデータオーバラン(転送過剰)又は
データアンダーランの問題である。例えば、高度に圧縮できるデータを圧縮中は
、データ転送速度は磁気テープコントロールユニット又は他の出力装置において
データアンダーランを引き起こすように十分に低減される。一方、高度に圧縮さ
れたデータが伸張され、そして低速チャネルを通じて転送されるときは、それは
データオーバランを引き起こす。
ウェルヒ装置の他の欠点は、比較的に言えば、かなりの時間が列テーブルを消去
するのに失われる。その列テーブルは“疲労した”ようになり、そこでその中に
格納された列の蓄積は、時間経過後、きっと新しく入ってくるデータ内に現われ
そうな列ではない。このように列テーブルを消去又は再生し、新セットの列を開
始することが必要である。しかしながら、列テーブル内の各ロケーションのアド
レス指定や消去にかなりの時間が必要となり、その間圧縮が行なわれない。本発
明の一局面によれば、列の実消去は行なわれない。代わりに、サブブロックカウ
ンタが提供され、そしてその内容が各接頭コードでもって列テーブル内に書き込
まれる。そのカウンタは、列コードの設定された数の列コードが列テーブル内に
書き込まれた後にインクリメントされる。毎回、列テーブル内のロケーションは
それが空であるかどうかを見るためにアクセスされ、ロケーション内に格納され
たサブブロックカウントがカウンタ内のカウントと比較される。もしその二つが
等しく無い場合、そのロケーションが空として扱われる。
磁気テープ書き込み動作のための起動時間は、データのアンダーランとなる特殊
ケースを生成する。ウエルヒ特許で開示されたアルゴリズムで可能となる高圧縮
を達成するためには、書き込み命令で磁気テープを起動するのに先立って一定時
間のデータの緩和と圧縮を続けて行なう必要がある。しかしながら、この事前圧
縮は、もし起動時間が正確に制御されないならば、コスト、性能、そして圧縮の
結果に影響を及ぼす。例えば、磁気テープが早(起動されると、磁気テープのア
ンダーランを防止するためにスロットル文字を送出する必要がある、これは低位
の、全圧縮となる。一方、もし磁気テープが遅く起動すると、その磁気テープは
、圧縮器が緩和圧縮データを書き込むためにその圧縮を完了した後に送られねば
ならない。これは動作に要される時間を増加することとなる。理想的には、その
磁気テープは、データが圧縮器により作成されるとき圧縮データの最後を書き込
む状態にあるような時に起動されるべきである。
及里Ω互鷹
本発明の目的は、データの圧縮及び書込み動作に要する総時間の両方を最適化す
ることが出来るように書込み動作における装置の起動時間を制御する新しい方法
と装置を提供することである。この目的のために、装置が等式を解(ために提供
さとなる時装置起動信号が送出され、そこで、RC=圧縮入力データレート;
RT=磁気テープデークレート;
TS=磁気テープの速度到達時間:
IB=データブロックサイズ;
IO=磁気テープ起動に先立って圧縮器により作成される入力バイト数;
QO=磁気テープ起動に先立って圧縮器により作成される出力バイト数;そして
CT=数式を使用して磁気テープ起動に続いて達成される最大全圧縮を設定する
設計パラメータ。
CTより高い圧縮はCT又はそれ以下に抑制される。IBは圧縮動作に先立って
チャネルにより提供される。圧縮回路はIO及びQOをカウントするためのカウ
ンタを含む。IOはIBから減じられ、その差を得、その等式の右辺はFROM
テーブルルックアップにより満たされる。振幅コンパレータは、その差がROM
の出力以下に又はそれに等しいとき検知し、起動信号が発生されるようにする。
データは圧縮され、そしてその圧縮されたデータは起動信号が発生されるまでバ
ッファ内に格納される。
他の目的は、データが記録されたものと逆の方向に読取られるとしても、記録圧
縮データを伸張することが出来るデータ圧縮/伸張システムを提供することにあ
る。
他の目的は、システムがデータのアンダーランが発生する状態に近づくとスロッ
トル又はフィラーの文字を出力することによってアンダーランを避けるスロット
ルコシトロール付きのデータ圧縮/伸張システムを提供することである。
他の目的は、データ圧縮/伸張装置を提供することであり、そこでは共通の回路
構成が圧縮及び伸張を行なう。
他の目的は、列テーブルを有する圧縮装置を提供することであり、そこで格納ロ
ケーションは各ロケ7シヨンをアドレス指定すること無しに“消去された”状態
となる。サブブロックカウンタが提供され、そして列コードが列テーブル内のロ
ケーション内に書き込まれる度に、カウンタの内容も又そのロケーション内に書
き込まれる。そのカウンタは、設定された列コード数が列テーブル内に書き込ま
れた後にインクリメントされる。ロケーションがアクセスされる度に、その中に
格納されたサブブロックカウントはカウンタ内の内容と比較されろ。もしその2
つが等しくない時には、そのロケーションは“空”とみなされ、書き込まれる。
他の目的及び動作のそのモードは次の説明や添付の図面により明かとなろう。
置皿の固単皇説朋
第1A図は、逆方向の読取り制御を備えた圧縮/伸長システムのブロック図、
第1B図は、チャネルチョッパ、C/D制御、ストリングテーブル、バッファチ
ョッパ、バッファコントローラ及びテープバッファを示す圧縮/伸長回路のブロ
ック図3第2図はチャネルチョッパを通過するデータ経路を示すブロック図、
第3図乃至第6図はチャネルチョッパを制御するための論理回路を示す図、
第7図は、ストリングテーブルを示す図、第8図及び第9図はC/D制御におけ
るデータ経路を示すブロック図、
第10図及び第11図はC/D制御においてレジスタを制御するために論理回路
を示す図、
第12図はストリングテーブルを制御する論理回路を示す図、
第13図は、バッファチョッパを通るデータ経路を示すブロック図、
第14図及び第15図はバッファチョッパを制御する論理回路を示す図、
第16図はテープバッファと、その読取りおよび書込み制御を示す図、
第17図乃至第20図はバッファ制御論理回路を示す図、第21図は逆方向の読
取りLIFOメモリを示す図、そして第22図及び第23図は逆方向の読取りL
IFOを制御する論理回路を示す図である。
及肌q祥履皇説朋
概要
第1A図に示されるように、本発明の原理に従って構成されるデータ圧縮/伸張
システムは、チャネルデータチョッパ100、圧縮/伸張(C/D)コントロー
ル102、磁気テープデータチョッパ104、磁気テープバッファコントロール
106、そして磁気テープバッファ108から構成される。圧縮/伸張システム
は、Unisys 5U−39,5U−212又はFIPS60などのチャネル
に順に接続されるチャネルバッファ110に一端で接続され、第1A図に示され
ている。他端において、圧縮/伸張システムは、従来型のインテリジェント周辺
インタフェース(IPI)112を通じて磁気テープユニット114に接続され
て、示されている。しかしながら、磁気テープユニットは単に、磁気フロッピー
あるいはハード、光学式コンパクトディスク、通信チャンネル等、など種々の形
態を取る出力装置を代表するものであることが理解されよう。
もし出力装置が、一方向で記録され、そして逆方向に読み取られる磁気テープユ
ニット、あるいは他のタイプのユニットである場合には、逆方向読み取りコント
ロール回路116が必要となる。
コントローラー118は、第1A図に示されるようにシステムの種々のユニット
に接続されている双方向データバス(PBDBUS)とアドレスバス(PROC
ADBUS)を有するマイクロプロセッサを含む。マイクロプロセッサは、磁気
テープユニットの起動時間を計算し、状況をモニタし、そして後述するように圧
縮伸張システムへの命令を提供する。コントローラは68000型のマイクロプ
ロセッサと記憶装置など従来型のマイクロプロセッサを含む。
第1p図に示されるように、チャネルデータチョッパ100はマスタチャネルデ
ータチョッパ100aとスレーブチャネルデータチョッパ100bから構成され
る。同様に、その磁気テープデータチョッパ104はマスクデータチョッパ10
4aとスレーブデータチョッパ104bから構成される。またマスタC/Dコン
トロール102aはそれに関連付けられたマスクストリング(列)テーブル10
3aを有し、そして関連付けられたスレーブストリング(列)テーブル103b
を有するスレーブC/Dコントロール102bがある。マスクユニットとスレー
ブユニットは同一で、並列に接続されている。種々のコンパレータ(不図示)が
マスクとスレーブユニットの状態又はその中で処理されたデータを比較するため
に使用され、誤動作を検出し、コントローラに状態信号を提供する。そのような
状態をコントローラに報告するための回路は本発明の範囲ではないので図示しな
い。
チャネルデータチョッパ100a、1oob (チャネルチョッパ)は9ビツト
データバスFIFBPDによりチャネルバッファ110及び逆方向読取回路11
6内のLIFOメモリに接続される。圧縮動作中に、データバイトがチャネルバ
ッファから受け取られると、そのパリティがチェックされ、そのバイトから捨て
られる。マスク及びスレーブチャネルチョッパはそのデータを9ビツトバイト(
パリティ無し)に再構成され、マスク及びスレーブC/Dコントロール102a
、102bへ夫々バスD9INと5D9INを介して提供される。そのデータは
後述の如くマスク及びスレーブストリングテーブル103a、103bと関連し
て働<C/Dコントロールにより圧縮される。C/Dコントロールは、バスDI
2OUT及び5DI2OUTを介してテープデータチョッパ104a、104b
に送られる12ビツトワードの圧縮データを作成する。テープデータチョッパ、
以下バッファチョッパと言う、は圧縮データを8ビツトバイトに切断し、各バイ
トに対してパリティを発生し、そのバイトとパリティをバスBPBUFMEMを
介してバッファ108とバッファコントロール106に伝送する。バッファコン
トロール106はバッファ108を制御し、バスCDBPBusを介して圧縮デ
ータをIP1112(第1A図)に送る。このIP1112はテープユニット1
14による圧縮データの記録を制御する。
通常の伸張動における回路の動作は必然的に圧縮動作の逆になる。圧縮データは
IP1112によりテープから読取られ、バスCDBPBUSを介してテープバ
ッファコントロール106に送られる。バッファコントロール106は、圧縮デ
ータバイト(8ビット士パリティ)がバッファチョッパ104a、104bに送
られるように、テープバッファ108及びバッファチョッパ104を制御する。
バツファチョシパはパリティを取り去り、12ビツトワードに再構成し、該デー
タはバスD12IN及びSBGMD12 INを介してC/Dコントロール10
2a、102bに送られる。C/Dコントロールはデータを伸張し、9ビツトバ
イトに再構成し、該データはバスD90UTと5D90UTを介してチャネルチ
ョッパ100a、100bへ転送される。チャネルチョッパはデータを8ビツト
バイトに再構成し、各バイトのパリティを演算し、各バイトとパリティをバスF
IFBPDBUSを介してチャネルバッファ110に伝送する。
逆方向読取り伸張動作中は、圧縮データの全ブロックはIP1112を介してテ
ープユニット114からテープバッファ108へ読取られる。圧縮データはその
とき、バッファ内に入力されたものと逆の順にテープバッファから読取られ、テ
ープバッファコントロール106に送られる。通常の伸張動作においてはデータ
はその時伸張される。しかし、チャネルチョッパ100の出力に表われる伸張デ
ータのブロックは逆方向読取回路116内のLIFOメモリ内に入力される。そ
れからデータはチャネル122に読出される。逆方向読取回路116はオプショ
ンであり、データが、それが書き込まれたものと逆の方向でチャネル122に提
示されるところの逆方向読取りが必要となるときのみ要求される。
チャネルチョッパ
第3−6図はチャネルチョッパレジスタ、そしてチャネルチョッパとバッファレ
ジスタ110及びC/Dコントロール102間で必要とされるハンドシェーク方
式を制御する回路を示す。図示しないが、チャネルチョッパは各100ナノ秒サ
イクル中にCLKlからCLK4で示される4相りロック信号を発生するクロッ
ク発生回路を含む。これらのクロック信号は圧縮/伸張システム内の全論理回路
に供給される。
第3図において、チャネルチョッパはバスBPDBUSを介してコントローラ1
18に接続するコントロールレジスタ300を有する。バス上のコントロールワ
ードは信号HOC3ELWROによりレジスタ300内にゲートされる。この信
号は後述されるようにマイクロプロセッサの命令に応じてテープバッファコント
ロール回路内で発生される。レジスタ300により作成された信号は圧縮/伸張
システム全体に送られ種々の機能を制御する。
BPDBUSからのビット0−5だけがコントロールレジスタ300で利用され
る。ビットOはリセットビットである。
それが1である時、レジスタ300のビットOはセットされ、そしてそれは0R
312を通過してFF314に至る出力信号を生成する。次のCLK3でフリッ
プフロップはリセットされ、システム内の種々の回路をリセットする信号HCL
Rを発生する。
ビット1はストリングテーブルアクセスビットであり、それが1である時は、レ
ジスタ300をして信号LSTENをリード305上に生成せしめ、C/Dコン
トロールがストリングテーブルをアクセスできるようにする。
ビット2は逆方向読取りビットである。それがゼロである時は、レジスタ300
はリード307上に信号HBKWDを生成し、逆方向読取りを制御する。
ビット3は圧縮モード信号である。それが1である時は圧縮モードを示し、ゼロ
である時は伸張モードを示す。
ビット4が1である時は、圧縮/伸張システムをディセーブルし、チャネルバッ
ファ110とIP1112間のデータ通路ある時は、圧縮/伸張回路はバッファ
110とIPI112間で動作可能に接続される。
ビット5はスタートテープビットである。これがOである時は、レジスタ300
は圧縮動作中にテープバッファコントロール106がIP1112にデータを送
ることを可能にする信号HsTARTAPEを生成する。該ビットが1である時
は、回路は圧縮動作中にバッファコントロールからIPIにデータがセットされ
ることを防ぐべくディスエーブルされる。好ましくは、データ圧縮動作の起動時
にビット5はlにセットされ、圧縮と能力とのバランスが最適となるように圧縮
が十分に行なわれた後はOにセットされる。
コントロールレジスタ300のリセットビットOは圧縮又は伸張動作の前にトグ
ルされる。即ち、全圧縮/伸張システムを通して種々のレジスタやフリップフロ
ップをタリアするためにセットされ、それからリセットされる。ビットがセット
されるとレジスタ300の出力はOR312を通過し、そしてCLK3でFF3
14がリセットされ、圧縮/伸張システムを消去して初期段階にするHCLRを
生成する。
レジスタ300のステージ3と4の出力はND302及びNAND304に加え
られる。AND302はFF310をセットして信号HCOMP2を生成するた
めの信号を生成し、NAND304はシステムが伸張モードで動作し始める時に
信号LCOMP2Aを生成する。ステージ3の出力は306で反転され、AND
308に送られる。ステージ4の出力はAND308の第2の入力に送られるの
で、システムが圧縮モードで動作する時に信号HCOMPを生成する。
第2図は1つのチャネルチョッパ100のレジスタレベルのブロック図である。
チャネルチョッパは7つのレジスタ200〜206.2グループのプログラム可
能論理アレイ(PLA)208.210を有する。各グループは2つのPLAを
含む。
圧縮中は、バスFIFBPDBUSを介してチャ、ネルバッファ110から受取
ったデータバイトはレジスタ200にクロック入力される。レジスタの出力にお
いて、そのパリティビットは回路(不図示)によりチェックされ、パリティビッ
トは捨てられる。残りの8ビツトはレジスタ201に転送される。レジスタ20
1の出力はPLA208及びレジスタ202に接続され、その出力は又PLAに
接続される。PLAは8ビツトバイトを9ビツトバイトに再構成し、レジスタラ
03に入力される。レジスタ20からのデータはD9INバスを介してC/Dコ
ントロール102に転送される。
データ伸張中にいおいて、D9OUTバスを介してC/Dコ’、tトo−ル10
2から受取った9ビツトバイト(ワード)はレジスタ204,205に入力され
る。これ−らのレジスタの出力は8ビツトバイトとしてデータを再構成するPL
A210に接続される。
PLA210により生成された各バイトのパリティはパリティジェネレーター(
不図示)により生成され、そして各バイト及びそのパリティはレジスタ206に
入力され、そこからバスFIFBPDBUS上を通過しチャネルバッファ110
に至る。
チャネルチョッパのシーケンスは、圧縮動作中は2つのPLA400と402に
より、そして伸張動作中は2つのPLA500と502により制御される。
チャネルチョッパ圧縮論理回路
第4図において、PLA400及び402は複数の入力信号を受取り、何れの信
号がアクティブかにより、出力信号の組み合わせを生成し、これらは論理回路を
駆動するために次のCLKlでサンプルされ、PLAへの次の入力信号を生成す
る。
PLA400は論理回路の次の状態を定義する信号N5(07−00)を生成す
る。これらの信号はレジスタ404及びカウンタ406の入力に送られる。カウ
ンタ406からの出力信号C3(03−00)はPLA400,402の入力に
送られ、現在の状態を定義する。PLA400からの出力N5(07−04)は
各CLK1においてレジスタ404にクロックされ、該レジスタからの出力は次
のCLKlまで論理状態を決定(カウンタ406からの出力で)する。
信号LDがアクティブ(LOW)である場合は、カウンタ406はPLA400
からの出力NS (03−00)でもってCLKIによりロードされる。これは
PLA402の唯一のLOWアクティブ出力であり、他の出力はすべてハイアク
ティブである。また、カウンタ406のカウントはPLA402からの信号UP
がアクティブである場合にはCLKlでインクリメントされる。
PLA402は、チャネルチョッパがチャネルバッファ110から他の8ビツト
データバイトを受け入れる用意がある時にはいつでもリード421に信号H9R
DYAO2を出力する。
第6図において、H9RDYAO2はAND604に加えられる。もしチャネル
バッファ110(第2図)がFIFBPDBUSに1バイトデータを置(と、F
F612はリセット状態となり、AND604をイネーブルする。AND604
の出力はFF606をセットし、信号H3OURCERYAを発生する。この信
号はNAND608及びPLA400,402に送られる。またFF606はN
0R610に送られる信号を生成し、該信号はFF612の消去を禁止する。〜
FF606がリセットされると、NAND608をイネーブルし、かつ該NAN
DO608は、もしチャネルバッファがFIFBPDBUSに1バイトデータを
置くと、チャネルバッファ110からの信号HDIFIFTOBUSRDYを受
け取る。NAND608の出力はFF612をセットし、AND604をブロッ
キングする。
NAND608の出力は信号LRDYENAであり、リード619を介してバッ
ファコントロール回路に送られ、カウンタ1630をインクリメントする。該カ
ウンタは圧縮器が受取ったデータのバイト数をカウントする。LRDYENAは
614で反転され、リード621にHRDYENを発生する。この信号はレジス
タ200に送られ、FIFBPDBUSのバイトデータをレジスタにゲートする
。同時に、NAND608の出力はFF616をセツトシ、該FFはドライバ6
02を介して働<HBUSWTACKを発生する。この信号はチャネルバッファ
110に戻され、バッファをしてHDIFIFTOBUSRDYを偽にさせ、F
IFBPDBUSに新たなデータバイトをロードし、再びHDIFIFTOBU
SRDYを真にさせる。HDIFIFTOBUSRDYが偽になると、FF61
6をクリアしてリード613のHBUSWTACKをターミネートし、NAND
608をブロックしてLRDYENA及びHRDYENを偽にする。
もしFF612がセットされている間にPLA402がH9RDYAO2を発生
すると、H9RDYAOりはFF612からのLOW出力によりAND604で
ブロックされる。CLKlでFF606はリセットされ、H3OURCERYA
を偽にし、CLK2でFF612をクリアする。
PLA402はレジスタ200,201のデータがレジスタ201.202へ転
送される時はリード425の信号H9REGAを生成する。H9REGAはCL
KIでレジスタ618にラッチされ、該レジスタの出力は622でCLKIとA
NDされ、HAMREGを生成する。第2図において、この信号レジスタ200
からのデータをレジスタ201にクロックし、レジスタ201のデータをレジス
タ202にクロックする。
PLA402は、PLA208の9ビツト出力がレジスタ203にロードされる
時は、リード427に信号H9REGBを生成する。H9REGBはCLKlで
レジスタ618にラッチされ、該レジスタの出力は622でCLKIとANDさ
れて、HBMREGを生成する。第2図において、この信号はPLA208から
のデータをレジスタ203にクロックする。
PLA402は、チャネルチョッパがレジスタ203をロードしており、データ
バイトがD9INバス211で利用できることをC/Dコントロール102に知
らせる用意があるときは、信号H9RDYAO1を生成する。H9RDYAO1
はCLKlでレジスタ408のステージ3にゲートされる。ステージ3の出力は
セレクタ410に送られる。圧縮モード中はリード315のHCOMP2は偽で
あるから、H9RDYAO1はセレクタを通過し、AND412に加えられる。
リード1007の信号D9ACKlはC/Dコントロール102により生成され
る応答信号である。それが偽である時は・414で反転され、AND412をイ
ネーブルして、リード413に信号HD9RDYを生成する。この信号はC/D
コントロール102に伝送され、データバイトが09INバス211に在ること
を知らせる。C/Dコントロール102がデータバイトを受け入れると、HD9
ACK1を発生する。第4図において、この信号はHD9RDYを偽にする。H
D9ACK1はPLA400及び402に送られる。
信号H9AENDは圧縮動作の終わりに生成され、チャネルチョッパ100がデ
ータの最終バイトを伝送してたことをC/Dコントロール102に報告する。H
9AENDはレジスタ408にクロックされ、該レジスタの出力はセレクタ41
0を通り、リード415にHD9ENDを発生する。そしてHD9ENDはC/
Dコントロール102に伝送される。
チャネルバッファ110がデータの最終バイトをチャネルチョッパに伝送し、か
つHDIFIFTOBUSRDYが偽となった後は、チャネルバッファ110か
ら信号HLASTBYTがレジスタ408のステージ2へ加えられる。CLKI
で信号はレジスタにクロックされ、該レジスタは信号を生成してAND416を
イネーブルする。もしリード607の信号H3OURCERYAが真であるなら
ば、AND416はPLA400と402に送られる信号HLASTREVを生
成する。
圧縮動作は、コントローラ118がコントウールレジスタ300をアドレスし、
これに信号HCOMPRESSEN、HCOMP、及びLSTENがすべて真に
なるような値をロードする時に初期化される。第12図において、LSTENは
ストリングテーブル付勢回路を制御し、これにより該回路はC/Dコントロール
102からの信号に応答できる。信号HCOMPRESSENは第6図にも供給
され、600で反転され、−組のドライバ602にイネーブル信号として供給さ
れる。信号HCOMPはレジスタ40°8に供給され、各CLK1でレジスタに
クロックされる。レジスタ408は信号HdOMP1を生成し、該信号はPLA
400と402に供給される。HCOMPl信号はPLAの付勢信号であり、圧
縮動作全体を通じて真でなければならない。
チャネルチョッパ圧縮論理ステート
ステー1・00 : HCOMPlが真となる前はチャネルチョッパ圧縮論理は
ステートOOである。このステートにおいて、PLA400及び402からの唯
一のアクティブ出力は信号LDである。P L A、 400の全出力はアクテ
ィブで無いので、レジスタ404とカウンタ406は各CLKIで値OOをロー
ドされる。
HCOMPlが真になると、PLA402が信号H9RDYAO2とLLDを出
力する間にPLA40はレジスタ404に値3を出力する。CLKIで値30は
レジスタ404とカウンタ406にクロックされ、ステート30を知らせる。同
時に、H9RDYAO2は第6図の回路に前述のHSOURCERYAとHRD
YENを生成させる。HRD Y E Nはチャネルバッファ110からの最初
の9ビツトバイトデータをレジスタ2で、HLASTREVが偽である間は、論
理ステート30に留まる。PLA400は値3をレジスタ404に出力し、PL
A402はAND604でブロックされる信号H9RDYAO2を発生する。
もり、HLASTREVがHSOURCERYAが偽となる前に真となるならば
、これはチャネルバッファが送るべきデータを持たないことを意味し、論理は終
了シーケンスに進む。PLA400は値62をレジスタ402とカウンタ406
に出力し、P LA402は信号H9AENDとLLDを生成する。
H9AENDはリード415のHD9ENDになり、終了シーケンスを開始すべ
く圧縮/伸張コントロールに供給される。
CLKlはレジスタ404とカウンタ406に値62をクロックし、次の論理ス
テートは終了ステート62である。
もしHSOURCERYAが偽となると、PLA400はレジスタ404に値3
を出力し、PLA402は信号H9RDYAO2、H9REGA及びUPを出力
する。H9REGAはリード603に信号HAMREGを生成し、該信号はレジ
スタ200からの最初のデータバイトをレジスタ201にクロックする。同時に
、H9RDYAO2は第6図の回路をしてHSOURCERYA、HBUSWT
ACK及びHRDYENを発生させる。信号HRYDENはチャネルバッファ1
10からの第2のデータバイトがレジスタ200にゲートインされるようにし、
HBUSWTACKはそのデータが受け入れられたことをチャネルバッファに報
告する。値3はレジスタ404に入力され、信号UPはカウンタ406をインク
リメントし、次のステートは31である。
ステート31 : HCOMPlとHSOURCERYAが真であり、HLAS
TREVが偽である間はステート31に留まる。P LA400は値3を出力し
、PLA402はAND604でブロックされる信号H9RDYAO2を生成す
る。
もしHLASTREVがHSOURCERYAが偽となる前に真となるならば、
PLA400はレジスタ404に値5を出力し、PLA402はHCLRREG
Iを出力してレジスタ200をクリアする。CLKIで論理はステート5Xに進
み、ここでXはカウンタ406のカウント(1)である。ステート5Xからは後
述のような終了シーケンスが行なわれる。
もしHSOURCERYAが偽となり、HLASTREVが偽である場合は、P
LA400はレジスタ404とカウンタ406に値32を出力し、PLA402
は信号H9REGAとLDを出力する。LDはCLKIでPLA400からの値
2をカウンタ406にロードし、そして同時にPLA400からの値3をレジス
タ404に入力する。カウンタ406のカウントはPLA208に供給され、レ
ジスタ202及び201のバイトからの最初の9ビツトデータバイトを形成する
。H9REGAはHAMREGがリード603に出力されるようにし、該信号は
レジスタ201からの第1のデータバイトをレジスタ202にゲートし、レジス
タ200からの第2のデータバイトをレジスタ201にゲートする。
ステート32ニステート32において、PLA400はレジスタ404に値7を
出力し、PLA404は信号H9RDYA02、H9RDYAO1、H9REG
B及びUPを生成する。
UP信号はカウンタ406を3にインクリメントし、次のステートは73である
。H9REGBは信号HBMREGを発生させ、該信号はPLA208からの第
1の9ビツトワードなレジスタ203にゲートする。H9RDYAO1は信号H
D9RDYをしてリード403を介してC/Dコントロール102に供給せしめ
、データワードがバス211にあることを知らせる。
H9RDYAO2はHRYDEN及びHBUSWTACKが前述の如(して真に
せしめ、FIFBPDBUSからレジスタ200に次のデータバイトをゲートし
、チャネルバッファ11Oへ応答信号を送る。
ステート7X : C/Dコントロール102がバス211のデータバイトを受
け入わ、応答信号HD9ACK1を発生するまではステート7Xに留まる。この
間に発生される特別な出力信号はPLA400と402に送られるコントロール
信号の状態に依存する。
もしHSOURCERYAが真で、HLASTREVが偽であるならば、PLA
400はレジスタ404に値7を出力し1、PLA402はH9RDYAO2と
H9RDYAO1を生成する。AND604はH9RDYAO2をブロックする
が、H9RDYAO1はリード413にHD9RDYを発生させ、C/Dコント
ロール102に再び、バス211を介して転送できるデータがレディであること
を知らせる。カウンタ406のカウントは変化しない。
もしHSOURCERYAが偽であると、PLA400はレジスタ404に値7
を出力し、PLA402は信号H9RDYAOIを生成し、それによりリード4
13の信号HD9RDYを発生する。カウンタ406のカウントは変化しない。
もしHSOURCERYAとHLASTREVが真であると、PLA400はレ
ジスタ404に値7を出力し、PLA402は信号H9RDYAO2とH9RD
YAO1を生成する。
H9RDYAO2はAND604によりブロックされるが、H9RDYAO1は
再びHD9RDYがリード413を介してC/Dコントロール102へ送られる
ようにする。カウンタ406のカウントは変化しない。
C/Dコントロール102がバス211の第1のデータワードを受け入れ、リー
ド1007にHD9ACK1を戻す時は、PLA400と402からの特別の出
力信号はPLAに供給された他のコントロール信号の状態により決定される。
もしHLASTREVが真で、ステート7X (Xは9より小)がレジスタ40
4及びカウンタ406にあると、PLA400はレジスタ404に値5を出力し
、PLA402はHCLRREGIを生成してレジスタ200をクリアする。C
LKIで論理はステート5Xに進み、ここでXはカウンタ406のカウント(3
〜8)である。ステート5xは後述の終了シーケンスの開始である。もしステー
ト79でHSOURCERYAとHLASTREVが真であるならば、正確に同
じ信号が生成される。
もしH5OLIRCERYAが真でHLASTREVが偽であるならば、PLA
400はレジスタ404に値1を出力し、PLA402はAND604でブロッ
クされる信号H9RDYAO2を生成する。CLKlで値1はレジスタ404に
ゲートされるが、カウンタ406のカウントは変化せずに留まるので、次のステ
ートはIXである。
もしHSOURCERYAとHLASTREVが偽であるならば、PLA400
はレジスタ404に値2を出力し、PLA402は信号H9RDYAO2とH9
REGAを生成する。
CLKlでH9REGAとH9’RDYAO2はり−ド603と621にHAM
REGとHRDYENを生成せしめ、レジスタ200と201のデータをレジス
タ201と202に写し、他のデータバイトをレジスタ200にクロックする。
CLK 1はPLA400の出力をレジスタ404にゲートするが、カウンタ4
06内のカウントは変化せずに留まるので、次のステートは2Xとなる。
ステートIX:論理がステートIXに入ると、HSOURCERYAが真で、)
(L、ASTREVが偽である間はそのステートに留まる。PLA400はレジ
スタ404に値1を出力し、PLA402はAND604でブロックされるH9
RDYAO2を発生する。
もしHLASTREVが真になると、PLA400はレジスタ404に値5を出
力し、PLA402はHCLRREGIを生成してレジスタ200をクリアする
。CLKlで論理は終了シーケンスステート5Xに進み、ここでXはカウンタ4
06のカウントである。
HSOURCERYAが偽になると、PLA400は値2を出力し、PLA40
2は信号H9RDYAO2とH9REGAを生成する。CLKlでH9REGA
とH9RDYAはHAMREGとHRDYENを生成し、レジスタ200と20
1のデータをレジスタ201と202へ移し、他のバイトデータをレジスタ20
0にクロックする。CLKlはP LA400のントは変化しないので、次のス
テートは2Xとなる。
もしカウンタ406のカウントが8であるとステートIXがらステート29に移
る。この理由は9つの8ビツトバイトから8つの9ビツトワードが形成されるの
で、8回の9ビツトワード毎にレジスタ201と202への余分のシフトがある
に違いないからである。もしカウンタ406が8のカウントを保有していないな
らば、上記のようにステート2Xに移る。
ステート2Xニステート2X(Xは9ではない)において、PLA400は値7
を出力し、PLA402は信号H9RDYAO2、H9RDYAO1、H9RE
GB及びUPを生成する。CLKIでこれらの信号はゲート信号を生成し、該ゲ
ート信号はD9INバス211の新データワードをレジスタ200−204にク
ロックし、PIFBPDBUSの新データバイトをレジスタ200にロードする
。さらに、H9RDYAO1はリード413にHD9RDYを生成し、データバ
イトがバス211にあることをC/Dコントロールに報告する。信号UPはカウ
ンタ406のカウントがCLKlでインクリメントされるようにし、同時に、値
7はレジスタ404にクロックされる。
こうして論理はステート7Xに戻り、ここでXはカウンタ4゜6での値であり、
前回のステート7Xが実行されたものよりも力し、PLA402はステート2X
におけると同一の信号を発生する。これによりデータバイトがレジスタ203に
入力され、レジスタ200と201の内容はレジスタ201と202に入力され
、FIFBPDBUSからのデータワードがレジスト タ200にクロックイン
される。HD9RDYはリード413に発生され、データワードがバス211に
在ることをC/Dコ) ントロールに告げる。信号UPは値Fがレジスタ404
にクロックされる時にカウンタ406がAにインクリメントされるようにするの
で、次のステートはFAとなる。〜ステートFA : 070回路がバス211
の新データワードを受取り、HD9ACK1を真にして応答するまでステートF
Aに留まる。もしHSOURCERYAが真で、HLASTREVが偽で在るな
らば、PLA400はレジスタ404に値Fを出カシ、PLA402は信号H9
RDYAO2と9RDYAO1を作成する。H9RDYAO2はAND604で
ブロックさレルカ、H9RDYAo1はHD9RDYとなってc/Dコントロー
ルに送られる。CLKIで値Fはレジスタ400に入力し、カウンタ406はA
のカウントを保持する。
もし、HSOURCERYAが偽であるならば、PLA400はレジスタ404
に値Fを出力し、PLA’402は信号H9RDYAO1とH9REGAを生成
スル。CLKlでHRDYENがリード413で真となり、FI FBPDBU
sから(7)データバイトをレジスタ200にクロックし、HAMREGが真と
なってレジスタ200と201の内容をレジスタ202と203にクロックする
。さらに、HD9RDYが発生されて070回路に送られる。値Fはレジスタ4
04に入力され、カウンタ406はカウントAを保持する。
もしHSOURCERYAとHLASTREVが共に真であるらなば、P LA
400はレジスタ404に値Fを出力し、P LA402は信号H9RDYAO
2とH9RDYAO1を発生する。H9RDYAO2はAND604でブロック
されるが、H9RDYAO1はHD9RDYとなり、リード413を介してC/
Dコントロールに送られる。カウンタ406はカウントAを保持する。
C/Dコントロールがバス211のデータワードを受け入れ、かつ応答HD9A
CK1を発生する時は、論理はステート30.31または62へ進む。
もり、HSOURCERYAが真でHLASTREVが偽であるならば、PLA
400はレジスタ404とカウンタ406に値30を出力する。PLA402は
AND604でブロックされる信号H9RDYAO2とカウンタ406をイネー
ブルする信号LDを発生する。CLKlで値3oはレジスタ404とカウンタ4
06に入力される。
もしHSOURCERYAとHLASTREVfJS偽テアルナらば、PLA4
00はレジスタ404とカウンタ406に値31を出力す6゜PLA402は信
号H9RDYAO2、H9REGA及びLDを発生する。H9REGAはリード
603(7)HAMREGを発生し、レジスタ200と201の内容をレジスタ
201と202にシフトする。H9RDYAQ2はHRDYENを発生せしめ、
FIFBPDBUSからのデータバイトなレジスタ200にゲートする。CLK
lで値31はレジスタ404とカウンタ406に入力される。
もしHLASTREVが真である時は、PLA402はレジスタ404とカウン
タ406に値6出力する。PLA402は信号H9AENDとLDを発生する。
H9AENDはCLKIによってレジスタ408にゲートされ、レジスタの出力
はセレクタ410を通過してリード415の信号HD9ENDとなる。この信号
はC/Dコントロールに供給されて、後述のように圧縮終了サイクルを強制する
。CLKIは値62をレジスタ404とカウンタ406にクロックする。
ステート62ニステート62は圧縮動作の終了ステートであり、論理がこのステ
ートに入ると、HCOMPlが偽となるまでそこに留まる。HCOMPlが真の
ステートに在るとき、PLA400はレジスタ404とカウンタ406に値62
を出力し、PLA402は信号H9AENDを発生して、リード415の信号H
D9ENDを真に保つ。
ステート5X:論理は−サイクルだけステート5X (Xは8に等しくない)に
留まり、その間にPLA400はレジスタ404に値4を出力し、PLA402
は信号H9REGAとHCLRREGIを作成する。CLKIでH9REGAは
信号HAMREGを生成し、該信号はレジスタ201と202に供給され、レジ
スタ200と201のバイトをレジスタ201と202にクロックする。HCL
RREGIはレジスタ200をクリアする。同時に、値4はレジスタ404にク
ロックされ、次のステートは4Xとなる。
ステート5Xにおいて、Xが8の場合は、P LA400はHNSO7とHNS
O6をアクティブにし、PLA402はH9RDYAO1、H9REGA及びH
9REGBをアクティブにする。該信号はレジスタ203をロードし、レジスタ
200と201の内容をレジスタ201と202にシフトし、HD9RDYをC
/Dコントロールに送り、次のステートを08にする。
ステート6EニステートC8において、HD9ACK1が偽であると、PLA4
02はH9RDYAO’lをアクティブにしてHD9RDYをC/Dコントロー
ルに送り、PLA400はHD9ACK1が真となる時は、PLA402はHU
Pをアクティブにしてカウンタ406をインクリメントし、PLA400はHN
SO6をアクティブにするので、その論理はステート49へと進む。
ステート4X:論理は−サイクルだけステート4X(Xは9に等しくない)に留
まり、この間にPLA400はレジスタ404とカウンタ406に値61を出力
し、PLA404は信号H9RDYAO1、H9REGB及びLLDを発生する
。CLKlでH9REGBはレジスタ618にラッチされ、AND622はHB
MREGを作成して、レジスタ203に最終データワードをゲートする。同時に
、H9RDYAO1はレジスタ408に入力され、該レジスタの出力はセレクタ
410とAND412を通過して、リード413にHD9RDYを発生する。
この信号はデータワードがバス211にあることをC/Dコントロールに報告す
る。CLK1信号は値61をレジスタ404とカウンタ406にクロックする。
もしXが9の場合は、PLA402はH9RDYAO1をアクティブにして、H
D9RDYをC/Dコントロールに送り、H9REGBをアクティブにしてPL
A208からレジスタ203にロードし、またLLDをアクティブにしてステー
トカウンタ406にロードする。PLA400はレジスタ404とカウンタ40
6に値6Fを出力して、次のステートを決定する。
ステート6F:もしHD9ACKlが偽であるならば、PLA400は値6をレ
ジスタ404に出力してステート6Fを反復し、PLA402はH9RDYAO
1をアクティブにして、HD9RDYをC/Dコントロール102に送る。
HD9ACK1が真である時は、PLA402はH9AENDをアクティブにし
てHD’9ENDをC/Dコントロールに送る。PLA402はLLDをアクテ
ィブにし、そしてPLA400はHNS06、HNSO5、HNSO3、HNS
O2及びHNSOIをアクティブにするので、論理はステート6Eに進む。
ステート6Eニステート6Eにおいて、PLA208はリード213に信号HL
ASTBYTCONDを生成し、この信号はレジスタ506に入力されて第14
図のバッファチョッパ回路にリード527を介して供給される信号HLASTC
ONDを発生する。PLA−402はH9AENDをアクティブにし、HD9E
NDがC/Dコントロール102へ送られる。PLA400はHNSO6とHN
SO5をアクティブにしてステート6Eを反復する。このステートはHCOMP
Iが真であるかぎり反復される。
ステート61:C/Dコントロール102がバス211のデータバイトを受け入
れ、リード1007にHDACKIを発生するまでステート61に留まる。この
間にPLA400は値6をレジスタ404に出力し、PLA402はH9RDY
AO1を発生する。これによりCLK、1で値6はレジスタ404に入力され、
信号HD9RDYはC/Dコントロールに送られる。
C/DコントロールがHDACKlの発生により応答するときは、PLA400
はレジスタ404に値6を供給し、PLA402は信号UPを発生する。CLK
lで、値6がレジスタ404に入力され、カウンタ406のカウントがインクリ
メントされるので、次の論理ステートは前記の如(ステート62となる。
チャネルチョッパ伸張論理回路
PLA500及び502は伸張動作の間チャネルチョッパ100の動作を制御す
る。PLA502は次ステート信号N5(03〜00)を生成し、該信号はステ
ートカウンタ504に入力される。もし信号LLDがPLA500によりアクテ
ィブとされるならば、ステート信号はCLKIでカウンタ504にとり込まれる
。また、もしPLA500が信号HUPを真にするなら、カウンタ504はCL
Klによりインクリメントされ得る。このカウンタは最新のステート信号C3(
03〜00)を生成し、該信号はPLA500及び502に入力される。このカ
ウンタの出力も信号線521を介してPLA210に供給される。
PLA502も次ステート信号NSO4を生成し、PLA500は次ステート信
号N5O5及びN5O6を生成する。これらの信号はレジスタ506に入力され
、CLKlでレジスタにとり込まれる。レジスタからの結果の出力信号は最新の
ステート信号C3O6〜C3O4であり、これらの信号はPLA500及び50
2の入力に入力される。カウンタ504及びレジスタ506により生成される最
新のステート信号C3O6〜csooは圧縮動作の間の論理回路の最新のステー
トを決定する。
PLA502は信号HREGI、HREG2及びH98RDYAを生成してレジ
スタ204,205及び206にデータをクロック入力する。これらの信号はラ
ッチレジスタ508を通り、3つのAND510,512及び514をイネーブ
ルする。CLKIでこれらの信号はレジスタ508にラッチされる。同時に、C
LKlはAND510,512及び514に入力される。AND514の出力は
信号)(98RDYであり、この信号はレジスタ206に入力されてPLA21
0からの1バイトデータをレジスタにクロックする。AND512及び510の
出力は各々信号H8REGISTEP及びH8REG2STEPであり、夫々は
レジスタ204及び205に入力されてD90UTバスのデータをレジスタに人
力する・FiFBPDBUS155に伸張データの最後の1バイトが出力された
ときは、PLA500は信号HLASTを生成する。HLASTはCLKIでレ
ジスタ506に入力され、このレジスタはリード523に信号HFIFOLAS
BYTを出力する。第6図において、この信号はドライバ602を通り、リード
615にHFIFLASSYを生成する。HFIFLASSYはチャネルバッフ
ァ110及びバックワード読出回路116に入力され、伸張データの最終バイト
が伝送されたことを示す。
PLA500は信号HD98AACKをアクティブとし、FIFBPDバス15
5に伸張された1バイトデータがあることをチャネルバッファ110又はバック
ワード読出回路116に知らせる。HD98AACKはAND630の1つの入
力に入力される。リード157のHBPBUSTOFIFACKが偽であれば、
インバータ632の出力はAND630の第2の入力をイネーブルする。このA
NDはFF634をCLK2でセットする出力信号を生成する。FF6’32の
出力はドライバ602をしてリード611に信号HRDYを出力せしめる。
1J表千3−500718(12)
この信号はチャネルバッファ110及びバックワード読出回路116に対して、
FI FBPDBUS 155に1バイトデータがあることを示すものとして伝
送される。信号HRDYに応答して、チャネルバッファ100又はバックワード
読出回路116はその1バイトデータを受け入れ、AND630の出力を阻止す
るためにリード157の信号HBPBUSTOFIFACKを立てろ。次のCL
K2のタイミングで、FF634はリセットされて、HRDYを止める。それに
応答してチャネルバッファ110又はバックワード読出回路116はHBPBU
STOFIFACKを偽にする。
HBPBUSTOFIFACKが偽の時は、インバータ632は信号HIPIA
CKを出力し、この信号はリード633を介してレジスタ506のステージ4に
入力される。レジスタはステージ4からの出力信号を生成し、AND516の1
人力をイネーブルする。AND516の第2の入力は信号H3ETRDYAであ
り、この信号はFF617により生成される。このように、チャネルバッファ1
10又はバックワード読出回路116が1バイトデータを受け入れる準備ができ
おらず、かつチャネルチョッパがHRDYを出力するFF634でセットしてい
なければ、AND516は出力信号LRDMACKを出力し、この信号はPLA
500及び502に入力される。他方、FF634がセットされ、それにより1
バイトデータがFIFBPDバスにあることを示していれば、FF634により
生成される信号H3ETRDYは真となり、この信号はPLA500及び502
に入力される。
チャネルチョッパ100がC/Dコントロール102からの他の1バイトデータ
を受け入れる準備ができているときは、PLA 500は信号H98RDYを出
力する。H98RDYはCLKIで506にとり込まれ、そのレジスタはリード
501にHD98ARDYを出力する。第4図において、HD98ARDYはセ
レクタ410を通り(HCOMP2は真) 、AND412の1入力をイネーブ
ルとする。HD9ACK1が偽となると(伸張開始の100ns又はC/Dコン
トロールがD9OUTバスに1バイトデータを出力したとき)、AND412は
HD9DRYを出力し、C/Dコントロールに対してチャネルチョッパが1バイ
トデータを受ける準備ができていることを示す。C/DコントロールはD90U
Tバスに1バイトデータを出力し、リード1007にHD9ACK1を立てるこ
とにより応答する。これによりHD9RDYが止まり、HD9ACK1が止まる
。
チャネルチョッパ伸張論理ステート
ステート00.リード315のHCOMP2は伸張のためにPLA500及び5
02を付勢する信号である。リード315のHCOMP2は伸張動作中に真でな
ければならない。また、制御レジスタ300は、第3図の回路がレジスタ206
をイネーブルするためにリード301にLCOMP2Aを発生し、ドライバ60
2をイネーブルするためにリード313にHCOMPRESSENを発生し、そ
して第12図のストリングテーブル回路をイネーブルるためにLSTENを発生
するようにロードされなければならない。
HCOMP2が正となる前に、PLA500からの唯一の真の出力はカウンタ5
04のローディングを可能にする信号LLDである。PLA500及び502か
らの他の全出力は偽であるので、各CLK1でステートOOがレジスタ506及
びカウンタ504にロードされ、ステートは繰り返される。HCOMP2が真に
なると、制御はC/Dコントロールがリード1007にHD9ACK1を立てる
までステート00にとどまる。このとき、PLA500.はH98RDY%HN
SO5及びLLDをアクティブにし、PLA502はHNSO4を出力する。
H98RDYはHD9RDYを上述の如<C/Dコントロール102に伝送させ
る。LLDはカウンタ504にゼロをロードする。したがってレジスタ506及
びカウンタ504は次の論理ステートとして30を表わす信号を出力する。
C/Dコントロールは送るべきワードがなく、PLA500は信号HLAST、
HNSO5及びLLDを真とし、他方、PLA502はHNSO4、HNSOI
及びHNSOOを真としているので、HD9TERM1は真である。HLAST
はHFIFLASSYをとなり、リード615を介してチャネルバッファ110
及びバックワード読出回路116に送られ、もう転送すべきバイトがないことを
伝える。制御は終了ステート33へ進む。
ステート30.ステート30においては、HD9ACK1が真となり、C/Dコ
ントロール102がD90UTバスに1ワードを出力したことを示すか、又はH
D9TERM1が真となり、C/Dコントロール102がチャネルチョッパ10
0へ最後のワードを送ってしまったことを示すのを待つ。
その待機中は、PLA500は各サイクル毎にH98RDY及びN5O5をアク
ティブにし、PLA502はHNSO4をアクティブにする。このようにHD9
RDYはC/Dコントロールへ送られ、ステート30は繰り返される。
もLHD9AcK1が真となれば、PLA500は信号LLD及びHNSO5を
アクティブにし、PLA502はHNSO4、HREGI及びHNSOOをアク
ティブにする。D90UTバスのデータバイトはレジスタ204にクロックされ
、論理はステート31へ進む。
もしHD9TERM1が真となれば、P LA 500はLLD、HNSO5及
びHLASTを出力し、PLA502はHNSO4、HNSOI及びHNSOO
を出力する。HLASTはHFIFLASSYをチャネルバッファ110及びバ
ックワード読出回路116に送らしめ、論理ステートは終了ステート38RDY
を出力し、その結果HD9RDYはリード413を介してC/Dコントロールに
送られる。PLA500はまたHD98AACKをアクティブとし、信号HRD
Yをチャネルバッファ及びバックワード読出回路に送り、1バイトデータがFI
FBPDBUS 155にあることを示す。PLA502はH98RDYAをア
クティブにし、1バイトデータがPLA210からレジスタ206ヘクロツクさ
れ、バス上で有効になるようにする。PLAはHNSO4及びHUPをアクティ
ブにし、その結果、次のステートはXが2であるところのステートIXでル1o
2がリード1007に信号HD9ACK1を立テテ、第2のワードがD90UT
バス920に出力されたことを示すのを待つか、あるいはリード1000に信号
HD9TERM1を立てて、最後のワードがバスに出力されたことを示すのを待
つ。PLA500及び502の出力信号は、AND516が信号LRDMACK
を出力しているか、FF634が信号H3ETRDYを出力しているかによって
変化する。
もしHSETRDYが真であり、LRDMACKが偽であれば、P LA 50
0はHD98AACK及びH98RDYを出力して、チャネルバッファ110(
又はバックワード読出回路116)に、1バイトデータがFIFBPDバスにあ
ること、及びC/Dコントロールにチャネルチョッパが他のワードを受ける準備
がてきていることを知らせる。PLA502はHNSO4のみを出力し、カウン
タ504のカウントは゛変化しないので、ステートIXは繰り返される。
もしHSETRDYが偽であり、かつLRDMACKが偽であれば、又はHSE
TRDY及びHD9TERMlが偽であり、かつLRDYが真であれば、PLA
502はHD9RDYがC/Dコントロール102へ送られるようにH98RD
Yのみを出力する。PLA502はステートIXが繰り返されるようにHNSO
4のみを出力する。
もしHD9TERM1が真となれば、PLA500はHLAST、LLD及びH
NSO5をアクティブとし、PLA502はHNSO4、HNSOI及びHNS
OOを真とする。HLASTは、チャネルチョッパが最後のバイトを伝送したこ
とを示すものとして、HFIFLASSYをリード615を介してチャネルバッ
ファ110及びバックワード読出回路116に送らしめる。HNSO5、HNS
O4、HNSO1、HNSOO及びLLDは論理ステートを終了ステート33に
進ましめる。
論理ステートがステートIXにあるとき、HD9ACK1が真となると、PLA
500及び502の出力信号は信号H3ETRDY及びRDYACK及びそのス
テートが偶数であるか奇数であるか、すなわちカウンタ504により出力される
信号Hcsooが真であるか、偽であるかに依存する。
もしLRDYACKが真であり、かつHS E T RD Y及びHcsooが
偽であれば、PLA502はHREG2を出力し、D90UTバスからのワード
をレジスタ205へ読み出す。他方、LRDMACKが真であり、HSETRD
Yが偽であり、csooが真であれば、PLA502はHREGIを出力し、D
90UTバスらかのワードをレジスタ204にクロックする。いずれの場合も、
PLA500はHNSO6を出力し、制御はステート4X、ここでXはカウンタ
504に保持されているカウント値、へ遷移する。
もしHSETRDYが真であり、LRDYACK及びHC300が偽であれば、
PLA502はHREG2を出力し、D90UTバスからのワードをレジスタ2
05に読み込む。しかし、HSETRDY及びHC3OOが真であり、かつLR
DMACKが偽であれば、PLA502はHREGIを出力し、D90UTバス
からのワードをレジスタ204にクロックする。いずれの場合も、PLA500
はHD98AACKを出力し、HRDYをリード611を介してチャネルバッフ
ァ及びバックワード読出回路へ送らしめる。また、PLA500はHNSO5を
出力し、論理はステート5Xへ進む。
もしHSETRDY及びLRDYACKが偽であり、HC300が偽であれば、
PLA502はHREG2を出力し、D90UTバスのワードがレジスタ205
にロードされる。また、もしHC3OOが真であれば、PLA502はHREG
Iを出力し、バスのワードがレジスタ204にクロックされる。いずれの場合も
、PLA500はHNSO5を出力し、次のステートは5Xとなる。
ステート2X、ステート2Xにおいて、もしLRDMACKが偽であれば、PL
A502は出力信号を出さない。またHSETRDYも真であれば、PLA50
0はHD98AACK及びHNSO5を真とし、HRDYをチャネルチョッパ及
びバックワード読出回路へ送り、ステート2Xを繰り返す。もしHSETRDY
が偽であれば、PLA500は単にHNSO5をアクティブとし、ステート2X
を繰り返す。
LRDYACKが真であり、HSETRDYが偽であれば、ステート2Xで生成
された信号はX=8か否かに依存する。
Xが8でなければ(すなわち、C3O3が偽)、PLA500はH98RDY、
HD98AACK及びHUPをアクティブとし、PLA502はHNSO4及び
HD98RDYAをアクティブにする。他方、Xが8に等しければ、PLA50
0はHD98AACK%HNSO6及びHUPをアクティブとする。このように
、X=8であれば、HRDYはリード611を介してチャネルバッファ及びバッ
クワード読出回路へ送られ、HD9RDYはリード413を介してC/Dコント
ロールへ送られ。
レジスタ206にはFI FBPDバスの1バイトのデータが読み込まれ、論理
はXが前のものより1大きいところのIXへ進む。Xが8に等しければ、HD9
8AACKはHRDYをチャネルバッファ及びバックワード読出回路へ送らしめ
、プログラムはステート59へ進む。
X=8である場合の異なる動作は、伸張の間に、PLA210が9ビツトバイト
を8ビツトバーrトに切り分けるということに起因する。したがって、8バイト
が09OUTバスから読み出された後、PLA210は9バイトを形成し、かつ
チャネルチョッパがC/Dコントロールから他のワードを受ける準備ができる前
に、チャネルバッファ及びバックワード読出回路への更なる伝送がなければなら
ない。
ステート4X、前述したようにステートlXからステート4Xに進む。Xが8で
なければ、PLAはH98RDYを出力し、チャネルチョッパが他のワードを受
けることができることを示すためにリード413を介してHD9RDYをC/D
コントロールへ送る。また、HD98AACKがPLA50θにより出力され、
HRDY
をリード413を介してチャネルチョッパ及びバックワード読出回路へ送る。P
LA502はH98RDYAを出力し、1バイト・をレジスタ206にロードす
る。また、PLA500及び502はHUP及びHNSO4をアクティブとし、
その結果論理は前回のLXより1大きいXのステートIXへ戻る。
Xが8に等しければ、PLA500はHD98AACK、HNSO6及びHUP
をアクティブとし、PLA502はHNS04及びH98RDYAをアクティブ
とする。これらの信号によりPLA210からの1バイトデータがレジスタ20
6に読み出され、そしてHRDY信号がチャネルバッファ及びバックワード読出
回路へ送られて1バイトデータがFIFBPDバスにあることを伝える。カウン
タ504はインクリメントされ、次の論理ステートは59である。
ステート59.LRDYACKが偽であり、かつHSETRDYが真であれば、
PLA500はHD98AACK及びHNSO6を出力し、PLA502はHN
SO4を出力する。HD98AAC)<はHRDYをチャネルバッファ及びバッ
クワード読出回路へ送り、ステート59は繰り返される。
HD98AACKを除いて、LRDYACK及びHSETRDYが偽であるとき
は、同じ信号がPLA500及び502によって出力される。
HREVFFDO2及びHSETRDYが偽であり、LRDMACKが真であれ
ば、PLA500はHD’9AACK%HNSO6及びLLDをアクティブにし
、PLA502はH98RDYA%HNSO4、HNSO3及びHNSOIをア
クティブにする。H98RDYAによりHRDYがチャネルバッファ及びバック
ワード読出回路へ送られ、1バイトデータがFIFBPDバスで有効であること
を知らせる。LLDは値A(NSO3及びN5OI)をカウンタ504にロード
し、その結果、次のステートは5Aとなる。
HREVFFDO2及びLRDMACKは真であるが、HSETRDYは偽であ
れば、PLA500はHNSO6及びLLDをアクティブとし、PLA502は
H98RDYA%HNS04、HNSO3、HNSOI及びHNSOOをアクテ
ィブとする。これにより、PLA210の出力はレジスタ206にロードされ、
値Bをカウンタ504にロードし、その結果、次のステートば5Bとなる。
ステー)−5A、LRDMACKが偽であり、HSETRDYが真である限り、
PLA500はHD98AACK及びHNSOOをアクティブとし、PLA50
2はHNSO4をアクティブとする。)(D98AACKはFF634のセット
を試み、リード157のHBPBUSTOFIFACKが偽であれば、リード6
11にHRDYが出力される。カウンタ504のカウントは変化せず、ステート
5Aが繰り返される。
LRDMACKが偽であり、HSETRDYが偽になると、PLA500はHN
SO6のみをアクティブとし、PLA502はHNSO4のみをアクティブとし
、その結果、ステート5Aが繰り返される。
LRDMACKが真となり、HSETRDYが偽となれば、PLA500はH9
8RDY、HNSO5及びLLDを出力し、PLA502はHNSO4を出力す
る。これにより、HD9RDYはC/Dコントロール102に送られ、論理はス
テート30へ進む。
ステート5B、ステート5Bにおいて、論理はC/DコントロールがH9DTE
RM1又はHD9ACK1をチャネルチョッパへ送るのを待つ。両信号が偽であ
る限り、PLA500はH98RDYを出力し、その結果HD9RDYがリード
413を介してC/Dコントロールへ送られ、チャネルチョッパが他のワードを
受けることができることを示す。PLA500はHNSO6をアクティブとし、
PLA502はHNSO4をアクティブとし、その結果、ステート5Bが繰り返
される。
HD9TERMlが真となれば、PLA500はHLASTを出力し、HFIF
LASSYがリード615を介してチャネルバッファ及びバックワード読出回路
に送られる。PLA500はHNSO5及びLLDをアクティブとし、PLA5
02はHNSO4、HNSOI及びHNSOOをアクティブとし、その結果、次
のステートは終了ステート33となる。
HD 9 A CK 1 カ真となれば、PLA500はHD98AACK、H
NSO6及びHOPを出力し、PLA502はHNSO4及びHREGIを出力
する。レジスタ204にはD90UTバスからのワードがロードされ、HRDY
はチャネルバッファ及びバックワード読出回路へ送られる。カウンタ504はイ
ンクリメントされ、論理はステー)5Cへ進む。
ステート5C0論理はLRDMACKが真となるまでステート5Cで待機する。
もしH3ETRDYも真となれば、PLA500はHD98AACK及びHNS
O6をアクティブとし、PLA502はHNSO4をアクティブとする。HD9
8AACKはFF634をセットし、もしリード157のHBPBUSTOFI
FACKが偽となればHRDYを出力する。ステート5Cは繰り返される。
H3ETRDYが偽であれば、PLA520はHNSO6をアクティブとし、P
LA502はHNSO4をアクティブとし、ステート5Cは繰り返される。
LRDMACKが真であり、H3ETRDYが偽であれば、PLA500はHN
SO5及びLLDをアクティブとし、PLA502はHNSO4及びHNSOO
をアクティブとする。したがって、論理はステート31へ進む。
HLAST及びHNSO5を出力し、PLA502はHNSO4を出力する。ス
テート33は連続的に繰り返され、各サイクルでHFIFLASSYがチャネル
バッファ110及びバックワード読出回路116へ送られる。
圧縮/伸張アルゴリズム
本発明において、圧縮は2以の文字からなる1つのストリングを1つのストリン
グコードにより置き換えることにより成される。新しいストリングは古いストリ
ングに1つの文字を添えることにより形成される。このように、各正当なストリ
ングは、それがどれほど長(とも、古いストリングに以前に割り付けられたスト
リングコード(プレフィックスコードと称する)及び付加文字(エクステンショ
ンキャラクタと称する)により識別される。そのストリングコードはストリング
テーブル700に保持される。ストリングテーブルの各領域は“空” (使用可
能)か又はストリングコードを保持している。それが存在するならば、プレフィ
ックスコード(P)及びエクステンションキャラクタ(E)により定義されるス
トリングに対応するストリングコードはそのアドレスがP及びEの寄せ集め(h
ash)である領域に保持される。1つ以上のストリングが同じ領域に混在しう
るので、プレフィックスコードPもどのストリングがそこに保持されているかを
識別するために、その領域に保持される。このように、第7図に示すように、ス
トリングテーブル700の各領域は12ビツトのプレフィックスコード、12ビ
ツトのストリングコード及び6ビツトのサブブロックカウントを保持することが
できる。ハツシュ(hash)機能は同じプレフィックスコードPであるが、異
なるエクステンションキャラクタEであるものが同じテーブルアドレスにならな
いように選択される。4つのハツシュが用いられつる。4つのハツシュの全てが
一組のコードの位置決めをすることができなければ、そのストリングコードは放
棄され、左側に3ビツトのゼロを追加されて、そのキャラクタコードがこの圧縮
器の出力となる。
最初は、定義された唯一のストリングコードが各入力文字について1つである。
ストリングコードが12ビツト長で、キャラクタが9ビツトのみであるので、1
つのキャラクタがそのストリングコードに置換されるときにはデータの拡張が生
じる。
キャラクタコード、すなわち、唯一のキャラクタを表わすストリングコードは、
ストリングテーブルには保持されないが、2キヤラクタのストリングを作るため
にプレフィックスコードとして使われる。
伸張はキャラクタのストリングをそれらのストリングコードから戻すというプロ
セスである。圧縮する間、1つのストリングコードは2番目のストリングが現わ
れるまで、生成されないので、伸張の間ストリングテーブルを再構成することは
可能であるが、幾分、異なるやり方となる。圧縮のためのストリングテーブルは
ストリングコードにより与えられるアドレスのところにプレフィックスコード及
びエクステンションキャラクタを含んでいる。キャラクタコードはストリングテ
ーブルをアドレス指定しない。その代わり、左に付加された3つのゼロは取り除
かれ、そのキャラクタはチャネルチョッパへ送られる。圧縮の間は各ストリング
は関連するプレフィックスコードに割り付けられるが、伸張の間は各ストリング
はエクステンションキャラクタに関連する。このように、伸張ストリングテーブ
ルへの入力を生成するために、プレフィックスコードが圧縮されたデータから得
られ、エクステンションキャラクタは次のストリングが復号されたとき、それか
ら得られる。これには、次のストリングが復号されたときにテーブルへの入力を
作るために、前のストリングコードがLIFOメモリに貯えられていることを要
する。ストリングは逆の順序により伸張され、LIFOメモリはストリングを保
持し、チャネルチョッパ100への出力の順序を修正するために用いられる。
C/Dコントロール
第7図、第8図及び第9図は圧縮又は伸張を行う回路102のレジスタレベルの
ブロック図を含む。
第7図に示されるように、ストリングテーブル700はアドレス指定可能な領域
の各々のところで、12ビツトのプレフィックスコード、12ビツトのストリン
グコード及び6ビツトのサブブロックカウントを保持することができるメモリで
ある。
ストリングテーブル700は1群のドライバ702に通って入力されるアドレス
によってアドレス指定されつる。このアドレスはアドレスマルチプレクサ802
からデータを取り込むアドレスレジスタ804から取り出される。マルチプレク
サ802の入力Oはアドレスレジスタ804の出力に接続される。マルチプレク
サ802の入力3はコードカウンタ808の出力に接続され、入力5はMCC0
DEバスを介してストリングテーブル700からのプレフィックスコードな受け
る。マルチプレクサ802の入カフは、伸張の間、D12INバスを介してバッ
ファチョッパ104からの12ビツトのデータバイトを受ける。
マルチプレクサ802の入力1,2及び4は各々、アドレスハツシング回路80
0の3つのハツシュ回路800a、800b及び800cに接続される。D9I
Nバス211を介してチャネルチョッパlOOから受けるデータバイトは810
で反転され、ハツシュ回路800a及び800bに入力される。ハツシュ回路8
01aは反転されたデータバイトとキャラクタレジスタ900の内容との排他的
論理和(XOR)をとる。ハツシュ回路5oobはその反転されたデータバイト
とストリングテーブル700から読まれたストリングコードとの排他的論理和な
とる。ハツシュ回路800cはアドレスレジスタ804の出力とコードレジスタ
902の2倍に1を加算して合算する。
サブブロックカウンタ812は“初期化°゛又はストリングテーブル700の再
設定のために設けられている。このサブブロッキングには圧縮効率を過度に下げ
ることなく、大きいデータブロックをとるために、もつともな大きさのハードウ
ェアのストリングテーブルを用意することを要する。コードカウンタ808は1
つのストリングコードがストリングテーブル700に書き込まれる毎にインクリ
メントされる。コードカウンタが4092(ストリングテーブルの容量は409
6である)のカウンタになると、サブブロックカウンタ812がインクリメント
される。サブブロックカウンタの出力は比較器806の1入力に接続される。ま
た、サブブロックカウンタの出力はMCC0DEバスを介してドライバ814を
通り、ドライバ710を通ってストリングテーブルのデータ入力に入力され、そ
の結果、サブブロックのカウントは各ストリングコードと共にストリングテーブ
ルに書き込まれる。その中にストリングコードが書き込まれうる空の領域をめて
ストリングテーブルを探査するときは、1つの領域から読み出されたサブブロッ
クカウントがサブブロックカウンタ812の値と比較される。その値が等しくな
ければ、その領域は空であると考えられ、書き込まれつる。
ブリフィックスコードはコードレジスタ902からストリングテーブル700へ
入力される。このレジスタはコードレジスタ902、ストリングテーブル700
のストリングコード出力、キャラクタレジスタ900およびアドレスレジスタ8
04に接続された入力を有するマルチプレクサ904からデータが取り込まれる
。コードレジスタ902の出力は比較906に、そして1群のドライバ908、
MCC0DEバスおよびドライバ710を介してストリングテーブルに接続され
る。圧縮の間、C/Dコントロールにより形成された12ビツトストリングコー
ドはコードレジスタ902に入れられ、D12OUTバス933を介してバッフ
ァチョッパ104に入力される。
ストリングコードはコードカウンタ808からも、キャラクタレジスタ900か
らもストリングテーブルへ入力される。キャラクタレジスタ900はストリング
テーブル700のストリングコード出力、アドレスレジスタ804の出力、LI
FOメモリ912の出力、またはD9INバス211を介してチャネルチョッパ
から受けるデータバイトを受けるために接続された4組の入力を有するマルチプ
レクサ910からデータを取り込む。キャラクタレジスタ900およびコードカ
ウンタ808の出力はセレクタ914の入力に接続される。セレクタの出力はM
CC0DEバスを介し、ドライバ710を通ってストリングテーブル700に入
力される。
キャラクタレジスタ900の出力はまた、出力レジスタ916および1群のドラ
イバ918に接続される。伸張の間は、レジスタ916の出力はD90UTバス
920を介してチャネルチョッパ100に転送される9ビツトのデータバイトに
伸張される。ドライバ918はLIFOメモリ912のデータ入力に接続され、
この目的は次に説明する。、LIFOメモリはアップ/ダウンレングスカウンタ
922によりアドレス指定される。
検出回路924はカウンタ922のカウントがゼロであるときを検知するために
設けられる。
ストリングテブル700のストリングコードは1群のドライバ708を通ってM
CC0DEバスに読み出され得、サブブロックカウントおよびプレフィックスコ
ードは1組のドライバ706を通って同じバスに読み出されうる。第8および9
図において、ストリングコードはアドレスハツシング回路800bおよびマルチ
プレクサ802.904および910の1人力に入力される。プレフィックスコ
ードはマルチプレクサ802および比較器906の1人力に入力される。サブブ
ロックカウントはサブブロックカウンタ812の内容との比較のために比較器8
06に入力される。
N0R820はアドレスレジスタ804のステージ9〜11の出力に接続されて
、そのし、ジスタのアドレスが512(200H)以上であるとき、信号線80
1上に信号LAR512を出力する。
NAND822はDI2INバスに接続されて、伸張の間、特殊キャラクタFF
C−FFFを検知する。これらのキャラクタのうちの1つがD12INバスーヒ
に現われると、NANDはリード809上に信号LTHROTを出力する。
NAND960はコードカウンタ808のカウントが4092であるときを検出
するために設けられている。このカウントが検出されると、NANDはリード9
61上に信号L4092を出力する。
N0R820、NAND822およびNAND960からの出力信号は4つのP
LA1000〜1003に入力される。
第8および第9図の圧縮/伸張回路および第7図のストリングテーブルは、PL
Aから直接入力される信号により、又はPLAにより出力される信号に応答して
第11および12図の論理回路から引き出される信号により、第1O図に示され
る4つのPLA100O〜1003によってシーケンスされる。PLAは全て、
同じ入力信号を受け、これらの信号はそれが出力する出力信号により示されるよ
うにPLAの状態を変える。FF110cIよびカウンタ1004の16進カウ
ントが論理ステートを決める。ステートの変化はカウンタ1004がインクリメ
ントされるか、またはデータの取り込みが行われたとき、CLKIのタイミング
で起こる。同時に、レジスタ1006はPLAの出力のいくつかによりデータの
取り込みが行われ、PLへの出力はラッチレジスタ1008にラッチされる。
以下の説明において、マイクロプロセッサはチャネルチョッパlOOのコントロ
ールレジスタ300にデータを与え、り一部305上の信号LSTEWおよびリ
ード313上のHCOMPRESSENは真であるとする。第8図において、H
COMPRESSENは816で反転され、アドレスレジスタ804をイネーブ
ルする。第12図において、LSTENは2組のドライバ1206および120
8をイネーブルする。後述の如く、ドライバ1206は信号HAWR(φ1〜φ
4)を選択的に出力するように制御される。これらの信号が真であるときは、ス
トリングテーブル700はアドレスレジスタ804により指定されるアドレスの
ところで読まれ、偽であるときは、そのアドレスが書き込まれる。ドライバ12
08により出力される信号HENA (φ〜φ4)は偽であり、第7図において
、これらの信号は読出し、または書き込のためにストリングテーブル700をイ
ネーブルする。リード305の信号LSTENは信号LCOMPREMSENと
なり、この信号はり−ド1201を介してドライバ702および710に入力さ
れ、それらを通ってアドレスおよびデータ信号がストリングテーブル700に入
力される。
PLA1003はC/Dコントロールに次のステートを決定するための信号を出
力する。それは次のステート信号HNS(φ3〜φ1)を出力し、これらの信号
はステートカウンタ1004に入力される。これらの信号はPLA1003によ
る信号HPESTRが真でありさえすれば、そのカウンタに入力される。HPE
STRはカウンタ1104に入力される前に1010で反転される。またHPE
STRによりラッチレジスタ1008はリード1029上にH3LPESRを出
力する。
第11図において、この信号はAND1106の1人力をイネーブルする。リー
ド1055のPLAIO03により出力された信号HNSO4はFFl100の
データ入力に入力される。
もしHPESTRが真であり、これにより次のステートを決めれば、CLKlで
HNS (0400)がFFl100およびカウンタエ004に入力される。
またPLA1003は信号HCEPSTRを出力し、この信号が真であるときは
、CLKIによるカウンタ1004のインクリメントをイネーブルする。
カウンタ1004からの出力CS (0〜03)およびFF1100から(7)
C3O4は連続的にPLAlooo−1003に入力され、論理ステートを決め
る。さらに、FFl100のリセット出力は信号LC3O4であり、ストリング
テーブル700へ書き込まれるべきストリングカウントの信号源を選択するため
に、セレクタ914をアドレス指定する。−PLAlooOは信号H,ARMU
XSO2〜HARMUXS00を出力し、これらの信号はアドレスレジスタ80
4に入力されるべき次のアドレスの信号源を選択するために、MUX802のア
ドレス指定入力にリード1035を介して入力される。またPLAは信号HCR
MUXSOIおよびHCRMUXSOOをリード1039および1041上に出
力して、MUX904をアドレス指定し、コードレジスタ902に入力されるべ
きキャラクタの信号源を選択する。信号HCHMUXO1およびHCHMUXS
OOはリード1043および1045上に出力され、MUX910をアドレス指
定し、キャラクタレジスタ900に入力されるべきキャラクタの信号源を選択す
る。
PLAlooOは信号HCHCONTRを出力し、コードレジスタ902および
キャラクタレジスタ900へのキャラクタのクロック入力を可能にする。この信
号はラッチレジスタ10o8を通り、リード1019(7)HSLCHCONT
RfJSHCHCONTRに続<、)(SLCHCONTRはAND1104に
入力され、該ANDにCLK1信号を通過せしめ、リード1105にHCHCL
Kを出力する。第11図において、この信号はMUX904および910の出力
をレジスタ902および900にクロックする。
信号HPECCおよびHCEPCCはPLAlooIにより出力され、コードカ
ウンタ808を制御する。HPECCは818で反転され、CLKIによるカウ
ンタへの値のローディングを可能にする。HCEPCCおよびHPECCの両者
が真であれば、16進値200 (512)がカウンタにロードされる。もしH
PECCが偽でHCEPCCが真であれば、カウンタのカウントはCLKIで1
つインクリメントされる。
信号HSBCIおよびLO5BCはPLAlooIにより出力され、サブブロッ
クカウンタ812を制御する。両信号がアクティブ(真)であれば、CLKIで
ゼロカウントがカウンタからロードされる。もしLO3BCが偽で、H3BCI
が真であれば、カウンタはCLKlでインクリメントされる。
PLAlooIは信号HPC3BWRおよびH3CWRを出力して、ストリング
テーブル700を制御する。HPC3BWRが真であれば、ストリングテーブル
はイネーブルされ、プレフィックスコード(PCODE)およびサブブロックコ
ード(SBCODE)がストリングテーブルに読み込まれる。HPC3BWRが
偽であれば、ストリングテーブルへのPCODEおよび5BCODEを書込みを
イネーブルする。同様にして、H3CWRはストリングテーブル700から、又
はストリングテーブル700へのストリングコード(SCODE)の読み書きを
制御する。HPCSBWRおよびH3CWRはそれらが偽であるときに“アクテ
ィブであるとされる。すなわち、ストリングテーブル700に書き込むためには
それらはアクティブである。
HPCSBWRおよびH3CWRはレジスタ1006に入力され、CLKlでレ
ジスタに入力される。レジスタ1006はHPCWRTおよびHSCWRTを出
力して、−該信号はリード1003および1013を介して供給され、FF12
02およびFF1204をセットまたはリセットする・さらに、HPCWRTは
、偽であるときは、ドライバ814および908をイネーブルし、MCC0DE
バスを介してストリングテーブル700へ5BCODEおよpPcODEを通す
。HSCWRTは、偽の場合は、セレクタ914をイネーブルし、MCC0DE
バスを介してストリングテーブルへ5CODEを入力する。
第12図において、HPCWRTは1212で反転され、リード1217にLP
CWRTを生成する。HSCWRTは1214で反転され、リード1219にL
SCWRTを生成する。第7図において、LSCWRTが真であると、ドライバ
708をイネーブルして、ストリングテーブル700から5CODEを読み出し
、またLPCRTは、真であると、ドライバ706をイネーブルして、ストリン
グテーブルからPCODEおよび5BCODEを読み出す。PCODEおよび5
BCODEは、サブブロックカウンタ812およびコードレジスタ902の出力
と夫々比較されるために、MCC0DEバスを介して、比較器806および比較
器906に伝送される。またPCODEはアドレスMUX 802の入力5に供
給される。5CODEはアドレスハツシイング回路800およびMUX904お
よび910に供給される。
第12図において、HPCWRTが偽であれば、FF1202はCLK2でリセ
ットされる。FFからの出力により、ドライバ1206は信号HAWROIおよ
びHAWRO4を偽とする。第7図において、これらの信号はストリングテーブ
ルへのPCODEおよび5BCODEの書込みをイネーブルする。
HPCWRTが真であればFF1202はCLK2でセットされ、信号HAWR
OIおよびHAWRO4が真となり、ストリングテーブルからのPCODEおよ
び5BCODEの読出しをイネーブルする。
また、第12図において、HSCWRTはFF1204のセット、リセットを制
御する。FFの出力はドライバ1206に入力され、信号HAWRO2およびH
AWRO3の発生を制御する。第7図において、HAWRO2およびHAWRO
3はストリングテーブルの5CODEの読み書きを制御する。HSCWRTがF
F1204をセコンドすれば読み出しが行われ、HSCWRTがFFをリセット
すれば書き込みが行われる。FFI202およびFF1204は各CLK4でク
リア(セット)される。ストリングテーブルの読み出し、書き込みはCLK2お
よびCLK4の間(FF1202およびFF1204がセット/リセットされる
間隔)に行われる。
PLA1002は信号HOLC,H8LC18よびHPLClを出力し、LIF
Oメモリ912をアドレス指定するレングスカウンタ922を制御する。H3L
CI、HPLCIおよびHOLCはラッチレジスタ1008に入力され、リード
1021.1023および1205に信号HSLCLCI、H3LPLCIおよ
びHSLOLCを生成する。これらの信号はCLKlでレジスタ1008にラッ
チされる。第11図において、H5LSLCIはNAND1116を、H3LP
LCIはNANDllloを、HSLOLCはNAND1108を夫々イネーブ
ルする。これらのNANDは全て信号CLK1を受ける。
HSLOLCが真であれば、CLKIによりNAND 1108はリード110
3にLPRESETを出力し、第9図において、この信号はレングスカウンタ9
22内にゼロカウントをロードする。H3LSLCIが真であれば、CLKIに
より、NANDI 116はリード1101にHLIFODECRを出力し、第
9図において、この信号はレングスカウンタ922のカウントをディクリメント
する。H3LPLCIが真であれば、CLKIにより、NANDIIIOはリー
ド1109にHL I FOI NCRを出力し、第9図において、この信号は
カウンタのカウントをインクリメントする。
PLA1002は信号HLWRを出力し、LIFOメモリ912に対する読み書
きを制御する。LLWRがアクティブ(偽)であれば書き込みが行われる。HL
WRが真であればLIFOメモリはMUX910へ読み出される。HLWRはレ
ジスタ1006に入力され、CLKlでレジスタ1006にクロックされる。こ
のときレジスタはリード1005にHL I F Oを出力する。第11図にお
いて、HLIFOが偽であれば、それはCLK3でFF1118をクリアし、H
LIFOが真であれば、それはFFをセットする。FFはリード1111に信号
HLIFOWRを出力する。HLIFOWRが真であればLIFOメモリは読み
出し可であり、HLIFOWRが偽であれば、LIFOメモリは書き込み可であ
る。1サイクル期間中のHLWRの状態が次サイクル期間中のメモリ912に対
する読み書きを制御するようにタイミングがとられる。
PLA1002はチャンネルチョッパ100とC/Dコントロールとの間および
バッファチョッパ104とC/Dコントロールとの間のデータ転送を制御するた
めのハンドシェーク信号を出力する。圧縮の間、PLA1002はC/Dコント
ロールがD9INバス211に出力された1バイトデータを受ける度毎に信号H
D9ACKを出力する。該信号はレジスタ1006に入力され、CLKIでその
レジスタに入れられる。このレジスタは信号HD9ACK1を出力し、この信号
はリード1007を介してチャネンルチョツバに伝送される。
復元の間、HD9ACKが真となったときは、レジスタ1006により出力され
た信号HD9ACK1は偽である。HD9ACK1は974で反転され、AND
970をイネーブルし、CLK4でFF972をセットする出力信号を出力させ
る。
FFの出力はチャンネルショッパ100への伝送のために、レジスタ916への
次の1バイトデータをクロック入力する・HD9ACKが真となった後の最初の
CLKIでレジスタ1006へゲート入力される。HD9ACKは真となり・9
74で反転され、AND1120を阻止する。HD9ACK1もまたリード10
07を介してチャンネルチョッパlOOに伝送され、1バイトのデータかに90
UTバスにあり、チャンネルチョッパがそれを受け取れることを伝える。
PLA1002は、伸張動作の間、信号HD9TERMを出力し、チャンネルチ
ョッパ100に対して最後のワードがチャネンルチョツパ100へ伝送されたこ
とを示す。この信号はCLKlでレジスタ1006へゲートされ、リード100
9を介してチャンネルチョッパへ伝送させるHD9TERM1を生成する。
PLA1002は、圧縮動作の間、信号HDl 2ACKを出力し、バッファチ
ョッパ104に対してC/Dコントロールがバッファチョッパへの転送するため
のストリングコードなもっていることを示す。伸張動作の間は、その信号はC/
Dコントロールがバッファチョッパから他のストリングコードな受ける準備がで
きていることを示す。HDl 2ACKはCLKlでレジスタl 006にゲー
ト入力され、このレジスタはバッファチョッパに知らせるために、リード101
1にHDl 2ACKlを出力する。
PLA1002は、圧縮動作の間、信号HD12TERMを出力し、バッファチ
ョッパに対してC/Dコントロールが最後のストリングコードな送ったことを示
す。HDl 2TERMはCLKIでレジスタ1006にゲート入力され、この
レジスタはバッファチョッパに知らせるためにリード1001にHDI2TER
M1を出力する。
C/D論理部により行われる処理はPLA1000〜1003によりとられる様
々なステートについて以下のように要約される。不必要な繰り返しを避けるため
に、信号の入出力は定義されているが、結果の処理については各信号の機能を追
うことなく要約されている。アクティブとなった各PLAの出力信号によってど
の処理が制御されるかを決めるためには上記の記載が参照され得る。なお、この
ことに関し、HPC3BWRおよびHSCWRは、アクティブのときはストリン
グテーブル700の書込みを制御し、HLWRがアクティブのときは、LIFO
メモリ912の書込みを制御する。これらの信号がアクティブでなければ、スト
リングテーブルおよびLIFOメモリ912において読出し動作が行われる。
C/Dコントロール圧縮論理ステート
ステート00.カウンタ1004およびFFl100がリセットされると、PL
A1000〜1003への入力C3O3〜00は全て偽であり、論理はステート
OOにある。PLAからのアクティブな出力はサブブロックカウンタ812にゼ
ロカウントを格納するLO3BC、コードカウンタ808にゼロカウントを格納
するHPECCl及びHPC3BWR,HSCWRおよびHCEPSTRである
。HP CS BWRおよびHSCWRはストリングテーブル700の読出し制
御のためにCLK 1でレジスタにセットされる。HCEPSTRによりカウン
タ1004はステート01を設定するためにインクリメントされる。
ステート01.初期化ステートである。該ステートは繰り返され、各繰り返しの
際にストリングテーブル700の一領域がクリアされる。PLAのアクティブ出
力は、MUX802を通ってアドレスレジスタ804へ行(コードカウンタ80
8(このときはゼロ)の内容をゲートするHARMUXSO1およびHARMU
XSOOと、コードカウンタ808のインクリメントを可能とするHCEPCC
と、ストリングテーブルへの書込みを制御するHPC3BWRおよびHSCWR
である。HPC3BWRおよびHSCWRがアクティブ(LOW)であれば、サ
ブブロックカウンタ804、コードレジスタ902およびキャラクタレジスタ9
00内容、それらはすべて空であるが、をアドレスOに書き込む動作が行われる
。
論理ステートはコードカウンタ808がカウント4092になるまでステートO
1にとどまる。各サイクルにおいて、コードカウンタのカウントはアドレス指定
された領域をクリアするためにストリングテーブルをアドレス指定するのに用い
られ、そのカウントはイクリメントされる。アドレス4091がクリアされるサ
イクルでは、カウンタ808のカウントは4092となる。これはNAND96
0により検出され、このNAND960はリード961を介してPLA100O
〜1003に信号L4092を出力する。これによりPLAは、FFl100を
クリアし、カウンタ1004をステート09ヘセツトするために、信号HNSO
O%HNSO3およびHPESTRをアクRMUXSOIおよびHARMUXO
Oを出力し、アドレスレジスタ804へ次のアドレス(4092)を書き込み、
領域4092のアドレス指定とクリアを行う。信号HCEPC(::はアクティ
ブとなり、コードカウンタ808を4093のカウントにインクリメントする。
HP CS BWRおよびHSCWRはアクティブとなり、ストリングテーブル
への書き込みを制御する。HCEPSTRはアクティブとされ、その結果カウン
タ1004のカウントはインクリメントされ得、これによりステートOAを決定
する。
ステートOA、ステートOAにおいて、信号HARMUXSO1およびHARM
UXSOOはアクティブとされ、MUX802を介してアドレス4093をアド
レスレジスタ804にゲート入力し、領域4093のアドレス指定とクリアを行
う。HCEPCCはアクティブとなり、コードカウンタ808のカウントを40
94にインクリメントする。HPC3BWRおよびH3CWRは再びアクティブ
とされ、ストリングテーブルへの書き込みを制御する。HCEPSTRはアクテ
ィブとされ、カウンタ1004はインクリメントされ、これによりステートOB
を決定する。
ステートOB、ステートOBにおいて、信号HARMUXS01およびHARM
UXSOOはアクティブとなり、MUX802を介してアドレスレジスタ804
にアドレス4094が入力され、領域4094のアドレス指定とクリアを行う。
HCEPCCはアクティブとなり、コードカウンタ808は4095にインクリ
メントされる。HPC3BWRおよびH5CWRはアクティブとされ、ストリン
グテーブル700への書き込みを制御する。HCEPSTRはアクティブとされ
、カウンタ1004のカウントCへの加算を制御し、これによりステートOCを
決定する。
ステートOC,ステートOCにおいて、HARMUXSOIおよびHARMUX
SOOはアクティブとされ、コードカウンタ808からのアドレスをMUX 8
02を介してアドレスレジスタ804に入力し、領域4095のアドレス指定と
クリアを行う。HCEPCCはアクティブとされ、コードカウンタ808はゼロ
にインクリメントされる。HPC3BWRおよびH3CWRはストリングテーブ
ルへ書き込むためにアクティブとされる。HPESTRおよびHNSOIはアク
ティブとされ、FFl100をクリアせしめ、カウンタ1004に値2をロード
せしめ、これによりステート02を決定する。
ステート02.ステート02は、PLAが開始信号を受けるまでC/Dコントロ
ールがとどまる待機ステートである。この開始信号は、圧縮動作の間、チャンネ
ルチョッパ100がD9INバス211に1バイトデータを出力したときに真と
されるリード413の信号HD9RDYか、または伸張動作の間、バッファチョ
ッパ104がDI 2 INバス1309に1バイトデータを出力したときに真
とされるリード1509の信号HDI2RDYである。
まず、圧縮動作が行われているとする。HD9RDYが偽であるかぎり、PLA
100O〜1003からのアクティブ出力はない。HD9RDYが真となると、
PLAはHDl 2ACKをアクティブとし、その結果、HD12ACK1はバ
ッファチョッパ104へ送られる。バッファチョッパはリード1509の信号H
D12RDYを真とすることにより応答する。HPESTR,HNSO4および
HNSOIがアクティブとされ、ステート12へ進む。
ステート12.このステートは1ブロツクの開始を制御する。HCHMUXSO
OlHCHMUXSOIおよびHCHCONTRはアクティブとされ、MUX9
10を介してD9INバス211のデータキャラクタバイトをキャラクタレジス
タ900にクロックインする。HOLCはレングスカウンタ922をゼロにリセ
ットするためにアクティブとされる。HD9ACKはアクティブとされ、その結
果、HD9ACK1はD9INバスのデータバイトが受けとられたという信号と
してチャネンルチョツパ100へ送られる。HCEPSTRはアクティブとされ
、カウンタ1004が3にインクリメントされ、これによりステート13を決定
する。
ステート13.チャンネルチョッパ100がD9INバスに次のデータバイトを
出力し、信号HD9RDY (D9ENDを偽として)をたてると、PLA10
0O〜1003は信号HCHMUXSOI、HCHMUXSOOおよびF(CR
MUXSOlを出力し、MUX904を介してキャラクタレジスタ900からの
第1のデータバイトをゲート入力し、MUX910を介してD9INバスからの
第2のデータバイトをゲート入力する。HCONTRはアクティブとなり、第1
のデータバイトをコードレジスタ902にクロック入力し、第2のデータバイト
をキャラクタレジスタ904にクロック入力するHCHCLKを出力する。
HPC5,BWRおよびH3CWRはアクティブではなく、かつアドレスレジス
タ804はクリアされているので、ストリングテーブル700から領域Oが読み
出され、この領域からのストリングカウントはハツシュ回路800aに入力され
る。第2のデータバイトもまたハツシュ回路800aに入力される。HARMU
XSOOはアクティブとなり、ストリングテーブルからの読み出しのための次の
アドレスとして供すべく、MUX802を介してハツシュ回路800aの出力を
アドレスレジスタ804にゲート入力する。
H3BCIはアクティブとなり、サブブロックカウンタ812をインクリメント
する。HPECCおよびHCEPCCはアクティブとなり、値512 (16進
で200)をコードカウンタ808にロードする。HD9ACKはアクティブと
なり、HD9ACK1がD9INバスのデータバイトが受けとられたことの通知
としてチャンネルチョッパに送り返される。
HPESTR,HNSO4およびHNSO3はアクティブとなり、次のステート
は18となる。
ステート13において、HD12RDYおよびHD9ENDが真であれば、HC
RMUXSOlおよびHCHCONTRはアクティブとされ、キャラクタレジス
タ900の出力をコードレジスタ、902にゲート入力する。HD12ACKは
アクティブとされ、バッファチョッパ104にストリングコードがD12OUT
バス933にあることを知らせるHD12ACK1を送る。HPESTR,HN
SO4,HNSO2およびHNSOOはアクティブとされ、論理は終了ステート
15へ進む。
〜csooがステート18を決定するかぎり、PLAへの他の入力はPLAから
の出力に影響を与えない。ステート18は第1のハツシュプローブステートであ
る。このステートにおいて、前のステートの間にMUX802を介してゲート入
力されたハツシュアドレスは、ハツシュアドレスからの5BCODE。
PCODEおよび5CODEを読み出すために、ストリングテーブルをアドレス
指定するのに用いられる。比較器800は5BCODEとサブブロックカウンタ
812の出力を比較し、両者が一致すれば信号LSBSBCをPLA100O〜
1003に入力する。比較器906はPCODEとコードレジスタ902の内容
を比較し、両者が一致すれば、信号LPCCRをPLAに人力する。
HPLCIはアクティブとなり、レングスカウンタ922をインクリメントし、
HCEPSTRはアクティブとなり、これによりステート19を決定する。
ステート19.ステート19は第1のハツシュテストステートである。PLAI
ooo−1003からの出力は比較器806および906でのサブブロックカウ
ンタ812およびコードレジスタ902との5BCKODEおよびPCODHの
比較結果に依存する。これらの比較器は信号LSB、SBCおよびLPCCRを
出力する。
まず、一致しくLSBSBCおよびLPCCRが真)、チャネルチョッパ100
からくるキャラクタがない(HD9ENDが真)とする。HCRMUXSOOお
よびHCHCONTRはらの5CODEをコードレジスタ902にゲート入力す
る。HPESTR,HNso4およびH3NO2はアクティブとなり、カウンタ
1004およびFFl100は14にセットされる。論理はブロック終了ステー
ト14に進む。
一致しなければ、(LSBSECが真で、LPGCRが偽であれば)、HARM
UXSO2はアクティブとなり、MUX802を介してアドレスレジスタ804
にハツシュ回路800Cの出力をゲート入力する。HCEPSTRはアクティブ
となり、カウンタ1004をインクリメントする。このようにしてステートIA
を決定する。論理は次の述べる第2のハツシュプローブステートIAに進む。
空の領域が見つかり(LSBSECが偽であり)、それがストリングの終わり(
LLCOが偽)でなければ、テーブルへの入力が行われる。HPC3BWRおよ
びH3CWRはアクティブとなり、ストリングテーブルにコードレジスタ902
、コードカウンタ808およびサブブロックカウンタ812の内容を書き込む。
さらにHD12RDYが真であれば、HD 12ACKおよびHOLCはアクテ
ィブとなり、レングスカウンタ922をクリアし、D12OUTバスがサンプル
されるべきコードレジスタ902からの出力キャラクタを送っていることを知ら
せるために、バッファチョッパにDI 2ACK1信号を送る。
HPESTR,HNSO4、HNSO2およびHNSOIはアクティブとなり、
次の論理はストリング終了ステート16となろる。LLCOが真である以外は人
力条件が同一であれば、HPC3BWRおよびH3CWRがストリングテーブル
へ書き込ましめるためにアクティブとはならない以外、同じ動作が行われる。
一致して(LSBSBCおよびLPCCRが共に真であり)、さらに処理される
べきキャラクタがなければ(HD9RDYが真で、HD9ENDが偽であれば)
、HARMUXSOlはアクティブとなり、MUX 802を介してアドレス
レジスタ804ヘハツシュ回路800bの出力をゲート入力する。HCRMUX
SOO,HCHMUXSOI、HCHMUXSOOおよびCHCONTRは全て
アクティブとなり、MUX910を介してD9INバスのキャラクタをキャラク
タレジスタ900に、そしてMCC0DEバスからの5CODEをコードレジス
タ902にゲート入力する。HD9ACKはアクティブとなしてHD9ACK1
がチャンネルチョッパに送り返される。HPESTR,HNSO4およびHNS
O3はアクティブとなり、次のステートは再びステート18の第1のハツシュブ
ローブートである。第1のハツシュテストステート19の間に一致しなければ、
ステート19からこのステートに遷移する。800Cからのハツシュアドレスは
、ステート18に関連して説明したように、5BCODE、PCODEおよび5
CODEを読み出し、比較信号LSBSBCおよびLPGCRを出力するために
ストリングテーブルをアドレス指定するのに用いられる。レングスカウンタ92
2はインクリメントされない。HCEPSTRはカウンタ1004をインクリメ
ントして、次のステートIBとなるようにアクティブとなる。
ステートIB、これは第2のハツシュテストステートである。同じ信号が発生さ
れて、ステート19について上述したような全く同じ動作が行われる。しかし、
一致がない場合には(LPCCRが偽であれば)カウント1004のインクリメ
ントにより次のステートはICとなる。
ステートIC,これは第3のハツシュプローブステートである。ステートIBに
おいて展開されたハツシュアドレスがストリングテーブルをアドレス指定するの
に用いられることを除いてステート1と全(同じことが実行される。またカウン
タ1004がインクリメントされると、それにより次にステートはIDとなる。
ステートI D、ステートIDは第3のハツシュテストステートである。ステー
トIDにおいて行われる動作はステート19およびIBにおいて行われるものと
同じである。しかし、一致しない場合(LSBSBCが真であり、LPCCRが
偽である)については、カウンタ1004のインクリメントにより、次のステー
トはIEとなる。
ステートIE、ステートlAおよびICと全く同じ動作がステートIEにおいて
行われる。唯一の違いはハツシュアドレスがステートIDにおいて展開されたも
のであるということである。カウンタ1004のインクリメントにより、次のス
テートはIFとなる。
ステートIF、アドレス指定された領域が満杯であり(LSBSBCが真であり
)、一致せず(LPCCRが偽であり)、かつバッファチョッパ104が1ワー
ドを受ける準備ができていれば(HD12RDYが真であれば)、HD12AC
Kはアクティブとされ、Dl 2ACK1が別のワードが、(コードレジスタ9
02の)D120UTバスに準備できていることを知らせろためにバッファチョ
ッパに送られる。HOLCはレングスカウンタ922をクリアするためにアクテ
ィブとなる。HPESTR,HNSO4、HNSO2およびHNSOIはアクテ
ィブとなり、FFl100およびカウンタ1004は16にセットされる。
アドレス指定された領域が空であり(LSBSBCが偽であり)、かつそれが1
つのストリングの終わりでなく (LLCOが偽であり)、かつチャンネルチョ
ッパが別のワードを受ける準備かできていれば(HDI2RDY) 、HPC3
BWRおよびH3CWRはアクティブとされ、ストリングテーブルへの書き込み
が行われる。HPESTR,HNSO4、HNSO2およびHNSOIはアクテ
ィブとなり、FFl100およびカウンタ1004は16にセットされる。
アドレス指定された領域が空であり(LSBSBCが偽であり)、かつバッファ
チョッパが別のワードを受ける準備ができティれば(HD12RDYが真−c−
アれCf)、HD12ACKはアクティブとなり、バッファチョッパ104に1
ワードがD12OUTバス933にあることを知らせ、またHOLCはアクティ
ブとなり、レングスカウンタ922をクリアする。HPESTR,HNSO4、
HN302gよびHNSOIはアクティブとなり、FFl100およびカウンタ
l 004はステート16を表わすためにセラ1〜される。
アドレス指定された領域が空でなく (LSBSBCが真であり)、一致しくL
PCCRが真であり)、チャンネルチョッパ100が送るべき別のワードを有し
くHD9RDYが真)でいるが、終了ステートを示していなければ(LD9EN
D)、HARMUXSOIはアクティブとなり、アドレスハツシュ回路800a
の出力をMUX 802を介してアドレスレジスタ804にゲート入力する。H
CRMUXSOOはMUX904を介して5CODEを通すてためにアクティブ
となり、HCHMUXSOIおよびHCHMUXSOOはMUX910を介して
D9INバスのワードを通すためにアクティブとなる。HCHCONTRはMU
X 904および910の出力をレジスタ902および900にクロック入力す
るためにアクティブとなる。
HD9ACKはアクティブとなり、HD9ACK1がチャンネルチョッパ100
に送り返される。HPESTR,HNSO4およびHNSO3はアクティブとな
り、次のステートは第1のハツシュプローブステート18となる。
アドレス指定された領域が満杯であり(LSBSBCが真であり)、一致しくL
PCCRが真であり)、かつチャンネルチョッパが終了を知らせていれば(HD
9ENDが真)、HCRMUXSOOおよびHCHCONTRはMCC0DEか
らの5CODEをMUX 904を介してコードレジスタ902にゲート入力す
るためにアクティブとなる。HPESTR,HNSO4およびHNSO2は真と
なり、FFl100およびカウンタ1004は次のステートとしてブロック終了
ステート14を指定する。
ステート16.ステート16はストリング終了ステートである。HD9RDYが
真であり、HD9ENDが偽であり、かつL4092が偽であれば、HARMU
XSOOはアドレスハツシュ回路800aの出力をMUX802を介してアドレ
スレジスタ804にゲート入力するためにアクティブとなる。HCHMUXSO
Iアクティブとなり、キャラクタレジスタ900のる。HCHMUXSOl及び
HCHMUXSOOはD91NバスのワードをMUX910を介してキャラクタ
レジスタ900にゲート入力するためにアクティブとなる。HCHCONTRは
MUX904および910の出力をレジスタ902および900に各々クロック
入力するためにアクティブとなる。ICEPCCはストリングコードカウンタ8
12のカウントをインクリメントするためにアクティブとなる。HD9ACKは
アクティブとなり、D9INバスのワードが受けとられたことを知らせるために
、HD9ACK1がチャンネルチョッパに送り返される。HOLCはレングスカ
ウンタ922をクリアするためにアクティブとなる。HPESTR,HNSO4
およびHNSO3はアクティブとなり、論理は第1のハツシュプローブステート
18へ進む。
HD9RDYおよびHD12RDYが真であり、HD9ENDが偽であり、かつ
コードカウンタがFFEというカウントをもついれば(L4092が真であれば
)、HOLCはレングスカウンタ922をクリアするためにアクティブとなる。
HPESTR,H2SO4、HNSOlおよびHNSOOはアクティブとなり、
論理はサブブロック開始ステート13へ進む。
チャンネルチョッパ100がHD9ENDをたて、バッファチョッパ104が信
号HD12RDYをたてると、HCRMUxsoiおよびHCHCONTRはキ
ャラクタ、レジスタ900の出力をMUX 904を介してコードレジスタ90
2に転送するためにアクティブとなる。HDl 2Acf<はアクティブとなり
、バッファチョッパ104に別のワードがD1201JTバス933にあること
を知らせるためにHD12ACK1を立てる。HPESTR,HNSO4、HN
SO2およびHNSOOは次のステートとして終了ステート15を指定するため
にアク104が信号HD12RDYをたてるのを待つ。そしてHDI2ACKが
真となると、)fDl 2ACK1はバッファチョッパに送られ、バッファチョ
ッパはストリングコードレジスタ902にあると共に、DI2OUTバス933
にあるワードをサンプルする。HCEPSTRはインクリメントされ、終了ステ
ート15が次のステートとして指定される。
ステート15.ステート15においては、バッファチョッパ104が信号HD1
2RDYをたてるのを待つ。HD12TERMはアクティブとされ、HD12T
ERM1が動作の終了を知らせるために、バッファチョッパへ送られる。HPE
STRはアクティブとなるが、HNSO4〜HNSOOJiアクティブトナなら
ないので、FFl100およびカウンタ1004は次のステートとしてステート
OOを指定するためにクリアされる。
C/Dコントロール伸張論理ステート
伸張動作に先立つC/Dコントロールの初期化は圧縮動作についてのものと全く
同じである。すなわちステート00、Ol、09、OA、OB、およびOCが実
行され、上述のように待機ステート02へと遷移する。
ステート02.ステート02では、バッファチョッパ104がリード1509に
HD12RDYをたて、かつリード413を介してPLAに入力される信号HD
9RDYが偽となるのを待つ。HD12RDYはバッファチョッパがDI2IN
バス1309に12ビツトワードな出力したことを知らせる。HD9ACKはア
クティブとなり、HD9ACK1がリード1007を介してチャンネルチョッパ
100に送られる。これはHD9RDYをたてるために出される偽の通知である
。チャンネルチョッパはリード413にHD9RDYをたてることにより応答す
る。HPESTRおよびHNSO2は次のステートとしてステート04を指定す
るためにアクティブとなる。
ステート04.ステート04においてHD12RDYが真となると、HARMU
XSO2、HARMUXO1およびHARMUXSOOはアクティブとなり、D
I2INバス1309のワードをMUX 802を介してアドレスレジスタ80
4に通す。HDl 2ACKはアクティブとなり、DI2INバスのワードが受
けられたという通知として、バッファチョッパにHDl 2ACK1を送る。D
12INバスのワードがFFC−FFFの特別なキャラクタの1つであれば、リ
ード809の信号LTHROTは真になり、PLA1003はアクティブな出力
は出さない。このように、有効なデータキャラクタがD12INバスに現われる
まで、ステート04は繰り返される。このとき、LTHROTは偽となり、PL
AIO03はHCEPSTRを出力して、カウンタ1004はステート05を指
定するためにインクリメントされる。
ステート05.ステート05において、HCRMUXSOlおよびHCRMUX
SOOはアクティブとなり、アドレスレジスタ804の出力をMUX904を介
してコードレジスタ902にゲート入力する。またHCHMUXSOOはアクテ
ィブとなり、アドレスレジスタの出力をMUX910を介してキャラクタレジス
タ900にゲート入力する。HCHCONTRはアクティブとなり、MUX90
4および910の出力がコードレジスタ902およびキャラクタレジスタ900
にクロック入力される。HPECCおよびHCEPCCはアクティブとなり、コ
ードカウンタ812を512にセットする。HOLCはレングスカウンタ922
をクリアするためにアクティブとなる。HCEPSTRはアクティブとなり、カ
ウンタ1004は6にインクリメントされる。
的な書き込みのための準備を行う。HARMUXSlおよびARMUXSOOは
コードカウンタ808の出力をMUX802を介してアドレスレジスタ804に
ゲート入力するためにアクティブとなる。HPC3BWRおよびH3CWRはア
クティブとされ、キャラクタレジスタ900およびコードレジスタ902の内容
を指定された領域のストリングコードおよびプレフィックスコード部分に書き込
むための書き込み動作が行われる。
HCEPSTRはカウンタ1004をステート7にインクリメントするためにア
クティブとなる。
ステート07.ステート07は出力キャラクタループである。レングスカウンタ
922のカウント値がゼロでなく (LLCOが偽であり)、かつHD9RDY
が真であり、かつHD9ENDが偽であれば、HCHMUXSOlおよびHCH
CONTRはアクティブとなり、メモリ912から読み出されたキャラクタをM
UX910を介してキャラクタレジスタ900に通す。H3LCIおよびHD9
ACKはアクティブとなり、レングスカウンタ922をデイクレメントし、キャ
ラクタレジスタ900のキャラクタを出力レジスタ916にクロック入力し、H
D9ACK1をリード1007を介してチャンネルチョッパiooへ送り、1ワ
ードがD90UTバス920に出力されたことを示す。
HD12ENDが真となれば、HD 9 T E R′Niはアクティブとされ
、HD9TERM1が伸張の終了を知らせるためにチャンネルチョッパlOOへ
送られる。同時に、HPESTRがアクティブされ、FFl100およびカウン
タ1004をクリアし、これにより次のステートとしてステートOOを指定する
。
LLGO,HD9RDYおよびHD12RDYが全て真であり、HD9END、
HD12ENDおよびLTHROTが偽であれば、HARMUXSO2、HAR
MUXSOlおよびHARMUXSOOはアクティブになり、DI2INバスの
ワードをMUX802を介してアドレスレジスタ804にゲート入力する。HD
l 2ACKはアクティブとされ、他のワードを受ける準備ができていることを
知らせるHD12ACK1をバッファチョッパに送る。HDACK9は真となり
、キャラクタレジスタ900の出力を出力レジスタ916にゲート入力し、チャ
ンネルチョッパ100に別のワードがD90UTバス920にあることを知らせ
る。HPESTR%HNSO3、HNSO2およびHNSOOは真となり、ステ
ートODをFFl100およびカウンタ1004に読み込む。
■、LCO1HD9RDYおよびHD12ENDが真であり、HD9ENDが偽
であれば、HD9ACKはアクティブとなり、lワードがD90UTバスにある
ことを示すHD9ACK1がチャンネルチョッパ100に送られる。HPEST
RよびHNSO3はアクティブとなり、FFl100およびカウンタ1004は
ステート08を表わすようにセットされる。さらに、LTHROTおよびHD1
2RDYが真であり、HD9ENDおよびHD12ENDが偽であれば、HD
1.2 A CKはアクチイブとなり、HDl 2ACK1はD12INバスに
別のワードを出力するためにバッファチョッパ104に送られる。このステート
はバッファチョッパが特別なキャラクタFFC−FFFの1つでないワードをD
I2INバスに出力するか、あるいはバッファチョッパがHD12ENDをたて
るまで変化しない。
ステートOD、ステートODにおいて、アドレスレジスタの値がキャラクタコー
ドではなく、ストリングコードであれば、リード8o1の信号L512は真であ
る。出力HARMUXSo2お、J:ヒHA RMUX S OOはアクティブ
となり、ストリングテーブル700から読み出され、MUX802を介してアド
レスレジスタ804へ通されるPCODEを選択する。HCRMUXSOI、H
CRMUXSOOおよびHCHCONTRはアクティブとなり、MUX904を
介してコードレジスタ902へ転送されるアドレスレジスタの内容をゲート入力
する。
HLWRはアクティブ(LOW)となり、リード1005のHLIFOを偽とな
し、その結果キャラクタレジスタ900のキャラクタがLIFOメモリ912に
書き込まれる。HPLCIはレングスカウンタ922のカウント値をインクリメ
ントするためにアクティブとなる。HCHMUXSOIおよびHCHMuxso
oはアクティブではないが、HCHCONTRはアクティブであるので、MCC
0DEバスからの5CODEはMUX910を通り、コードレジスタ900に入
力される。HPESTRおよびHNSO3〜HNSOOはアクティブとなり、カ
ウンタ1004およびFFl100にステートOFをロードする。
L512が偽であれば、アドレスレジスタの値は左側に3つのゼロが付加された
キャラクタである。HARMUXSOlおよびHARMUXSOOはアクティブ
とされ、コードカウンタ808の出力をMUX80’2を介してアドレスレジス
タ804に通す。HCRMUXSO1およびHCRM[JXSOOはアクティブ
とされ、アドレスレジスタ804の出力をMUX904を介してゲート入力する
。HCHM U X S OOはアドレスレジスタ804の出力をMUX904
、MUX910を介してゲート入力するためにアクティブとなる。HCHCON
TRはMUX904および910の出力をレジスタ902および900にクロッ
ク入力するためにアクティブとなる。HSCWRはストリングコードなキャラク
タレジスタ900からストリングテーブル700に書き込むためにアクティブと
なる。さらにL4092が偽であれば、HCEPCCはアクティブとされ、コー
ドカウンタ808をインクリメントする。他方、L4092が真であれば、HC
EPCCおよびHPECCはアクティブとされ、コードカウンタ808に値51
2をロードする。いづれの場合にもHPESTR,HNSO2およびHNSOI
はアクティブになり、次ステートとしてステート06を指定する。
ステートOF、LAR512が真であれば、HARMUXS02およびHARM
UXSOOはアクティブとなり、MCC0DEバスからのPCODEをMUX8
02を介してアドレスレジスタにゲート入力する。HCHCONTRは5COD
Eをキャラクタレジスタ900にクロック入力するためにアクティブとなる(H
CHMUXSO1およびHCHMUXSOOはイナクティブである)。またHC
HCONTRによりコードレジスタ902の内容は、それはMUX 904を介
してレジスタの入力に再循環されるのであるが(HCRMUXSOIおよびHC
RMUXSOOはイナクティブ)、再びコードレジスタに入力される。HP L
C1およびHLWRはアクティブとなり、レングスカウンタ922をインクリ
メントし、キャラクタレジスタ900の内容をLIFOメモリ912にドライバ
918を介して書き込む。FFl100およびカウンタ1004は変化せず、L
AR512が偽になるまでステートOFが繰り返される。
LAR512が偽であれば、HARMUXSOIおよびHARMUXSOOはア
クティブとなり、コードカウンタ808の出力をMUX 802を介してアドレ
スレジスタ804に通す。
HCRMUXSOOおよびHCHCONTRはアドレスレジスタの内容をMUX
910を介してキャラクタレジスタ900に入力するためにアクティブとなる。
HSCWRはアクティブとなり、キャラクタレジスタの内容がストリングテーブ
ルに書き込まれうる。L4092が偽であれば、HCEPCCはコードカウンタ
808をインクリメントするためにアクティブとなるが、L4092が真であれ
ば、HCEPCCおよびHPECCはコードカウンタな512の値にセットする
ために真となる。
HPESTR%HNSO2およびHNSO’lはアクティブとなり、次のステー
トとしてステート06を指定する。
ステート08
ステート08は終了状態である。HD9TERMはアクティブとされ、HD9T
ERM1がチャネル・≠ヨツバに送出される。リセット命令が論理状態を初期化
状態OOに復帰させるまで、論理はステート08に留る。
バッファチョッパ
第13図はバッファチョッパ104の1つのレジスタレベルでのブロック図であ
や。第13図に示されるように、バッファチョッパは、C/D制御部102から
の12ビツトのワードを受けるために、D12OUTバス933に接続された2
つのレジスタ1300および1302を含んでいる。それらのレジスタの出力は
、入って(る12ビツトのワードを8ビツトバイトにチョップする2つのPLA
1304に接続される。PLAI304からの出力バイトはパリティ発生器13
06に入力され、各バイトおよびそのパリティはレジスタ1308に入力される
。レジスタ1308の出力は、テープバッファコントロール106およびテープ
バッファコントロール108に接続するBPBUFMENバス1305に接続さ
れる。
また、PLA1304は12ビツトのスロットルコードFFFの源でもある。デ
ータがバッファチョッパに入力される割合カテープユニット114のデータ転送
レートを維持するのに不十分であるとき、圧縮を抑制する必要がある。この抑制
は転送動作にも関与し、これによりPLA1304は、テープユニット114の
データ転送レートを維持するに十分な割合で、レジスタ1308にスロットル(
調節)コードを出力する。
また、PLA1304はレジスタ1308に入力される12ビツトのコードFF
Dの源でもある。このコニドは、圧縮されつつあるデータの1ブロツクが8の倍
数であることを示すのに用いられる。圧縮のハードウェアは、9バイトをJ、グ
ループとして取って、そのデータが圧縮される前に、そのデータを8個の9ビツ
トワードにチョップする。チャネルからのデータブロックが9バイトのグループ
のうち8番目のバイトで終わると、1ビツトが残る。この最後のバイトは、最後
の9ビツトのワードを生成するために、全てゼロのフィラーバイトと結合される
。PLA1304は、圧縮データの最後のバイトが送られた後にテープ用の伝送
コードFFDが生成されて、これにより、最後の9ビツトのワード内のフィラー
バイトを示す。伸長の間、コードFFDはC/Dコントロールにより認知され、
それに応じてフィラーバイトは無視される。
また、バッファチョッパは3つレジスタ1312.1314および1318と2
つのPLA1316を含んでいる。伸長動作の間、各バイトのパリティが付加さ
れた8ビツトのバイトデータはバス1305を介して受けられる。そのパリティ
は取り出されて、パリティチェッカ(図示しない)によりチェックされ、棄てら
れる。そのバイトデータは並列にレジスタ1312および1314に入力され、
そのレジスタの出力はPLA1316に入力される。これらのPLAはそのデー
タを12ビツトのワードに作り直し、それらのワードはレジスタ1318からD
I21Nバス1309を介してC/Dコントロール102へ伝送される。レジス
タ1318から、前記ワードが、D12INバス1309を介してC/Dコント
ロール102に対して送られる。
また、PLA1316は次に説明するように信号線1301および1032上に
信号HREVFFDOOおよびHREVFFDOlを出力する。
バッファチョッパ圧縮論理回路
2つのPLA1400および1402は、圧縮動作の間、バッファチョッパの動
作順序を制御するための制御信号を出力する。これらのPLAは、信号線405
上の信号HCOMP1が偽である限り、出力信号は出さない。PLA1402は
論理状態の次の状態を定義する信号NSO3〜N5OOを出力する。これらの信
号はレジスタ1404にCLKlのクロックタイミングによりクロック入力され
る。現在の状態信号HC3(03〜00)は信号線1407を介してPLA13
04に入力される。
バッファチョッパがC/Dコントロール102からの1ワードを受ける準備がで
きているとき、PLA1402は信号線1411上に信号HMRDYを出力する
。第5図において、HMRDYは、セレクタ1504を通り(圧縮の間、HCO
MIは偽である)、レジスタ1506にクロック入力される。そのレジスタの結
果出力はANDL508を通り、信号線1509を介してC/Dコントロール1
02に送り返される信号HD12RDYとなる。
バッファコントロールに対して、バッファチョッパがテープの伝送のために待機
している1バイトのデータをもっていることを伝えるために、信号H8RDYが
PLA1402により生成される。この信号は、信号線1409上に信号H8R
DY′Aを出力するために、レジスタ1404にクロック入力される。第15図
において、この信号はテープバッファコントロールへ伝送されるHBCRDYを
生成するために0R1510を通る。
PLA1402は圧縮動作の終わりのところで信号H8TERMを出力する。こ
の信号はCLKlのクロックタイミングによりレジスタ1404に入力され、こ
の信号線1423を介してテープバッファコントロールへ伝送される信号HD8
TERMを出力する。
PLA1400は、レジスタ1300,1302.1308にデータをクロック
入力するために、信号HAEN、HBEN、HCENを出力する。PLA140
0からのこれらの信号はラッチ1408を介してAND 1410% 1412
および1414へ送られる。CLKlのクロックタイミングによりそれらの信号
はラッチl 408ヘラツチ入力される。同時に、CLKlはそのラッチの出力
をサンプルするために、AND1410.1412および1414に入力される
。AND 1410の出力は信号、II 1410を介してレジスタ1300に
入力される。AND1412の出力は信号線1403によりレジスタ1302の
クロック入力に接続され、また、ANi)1414の出力は信号線1405によ
りレジスタ1308のクロック入力に接続される。
PLA140C1よび1402の様々な状態はレジスタ1404の出力からもた
らされる現在の状態信号HC3(04〜00)により定義される。ある状態のた
めのPLAからの出力信号は、更に、バッファコントロール106からの入力信
号HOCTHROTおよびHOCRDYや、C/Dコントロール102からのH
Dl 2TERM1およびHD12ACKlや、チャネルチョッパからのHLA
STCONDにより決定される。
バッファチョッパ圧縮論理状態
データ圧縮の間、信号線405上の信号HCOMP1は、何らかの出力信号を生
成するべくPLA1400および1402をイネーブルとするように、常に真で
なければならない。したがって、以下の説明においては、いかなる状態について
も特に条件として述べられていなくともHCOMPlは真である。
ステートOO
データ圧縮動作の際、バッファチョッパの論理ステートは、C/Dコントロール
が第1のDI2ACK1を偽で出力するまでは、ステート00に留る。ステート
OOにおいてHD12ACKIが真となったとき、HMRDYはHD12RDY
をC/Dコントロールに戻すためにアクティブとなる。HNSO1は、次のステ
ートとしてOlを特定するために、アクティブとなる。
ステート01
ステー)−01において、PLA1400および1402により生成される信号
は、バッファコントロールおよびC/Dコントロールからのアクティブな入力信
号に依存する。HD12ACKI、HOCTHROTおよびHD12TERM1
が偽である限り、論理ステートはステート01に留る。
HD12ACK1が真となれば、PLA1400からの出力HAENは、D12
OUTバス933上のワードをレジスタ1300にクロック入力するために、ア
クティブとなる。HNSO4およびHNSOOは次のステートを11として定義
するためにアクティブとなる。
HD12TERM1およびHLASTCONDが真となれば、PLA1400お
よび1402は、次のステートをIAとして定義するために、HNSO4、HN
SO3およびHNSO1以外は出力をアクティブとしない。
HD12TERM1が真であり、HLASTCONDが偽であれば、唯一のアク
ティブな出力は、次のステートとして終了ステートOFを定義するためのNSO
3〜N5OOである。
HOCTi(ROTが真であり、HD12ACK1およびHD12TERM1が
偽であれば、アクティブな出力HNSO2およびHNSOOは次のステートとし
てステート05を定義する。
ステート11
HOCRDYが偽である限り、論理ステートはステート11に留る。各サイクル
では、HCEN、HNSO4およびHNSooは、PLA1304の出力をレジ
スタ1308にクロック入力し、次のステートとしてステート11を指定するた
めに、アクティブとなる。H8RDYはPLA1402によりアクティブとされ
、HBCRDYは信号線151を介してバッファコントロールに伝送される。H
OCRDYが真となると、信号HNS01は次のステートとして02を指定する
ためにアクティ論理ステートは、HD12ACKl、HOCTHROTおよびH
D12TERM1が偽である限り、ステート02に留る。
信号HMRDYおよびHNSOIがアクティブとなると、論理ステートはステー
ト02にとどまり、そして信号線1509を介してC/DコントロールへHDl
2RDYを送る。
HDl 2ACK1が真になると、HBENは、D12OUTバス上のワードを
レジスタ1302に取込むために、アクティブとなり、また、HNSO4および
HNSOlが次のステートとしてステート12を指定するためにアクティブとな
る。
HOCTHROTが真となると、HNSO2はアクティブとなり、論理ステート
はステート04へ進む。
HD12TERM1およびHLASTCONDが両者とも真となれば、HNSO
3はアクティブとなり、論理ステートはステップ08へ進む。
HD12TERM1が真となり、HLASTCONDが偽のままであれば、HN
SO4およびHNSO2〜HNSOOは、ステート17を次のステートとするた
めに、アクティブとなる。
ステート12
バッファコントロール106が次のワードを受ける準備ができるまで、論理ステ
ートはステート12に留る。HOCRDYが偽である限り信号HCENはアクテ
ィブとなり、そのため、HREGCはPLA1304の出力をレジスタ1308
にクロック入力する。H8RDYがアクティブとなると、HBCRDYがバッフ
ァコントロール106へ送られる。HNSO4およびHNSOlがアクティブと
なると、ステート12は繰り返される。
HOCRDYが真となれば、HNSOIおよびHNSOOはアクティブとなり、
論理ステートはステー)03へ遷移する。
ステート03はステート12と同様である。HOCRDYが偽である限り、論理
ステートはステート03に留る。各サイクルでは、HCENが生成され、HRE
GCによってレジスタ1308に、各CLK1のクロックタイミングで、PLA
1304からの出力が取込まれる。H8RDYは、HBCRDYがバッファコン
トロール106に送られるように、アクティブとなる。HOCRDYは真となる
と、信号HNS61は真となり、論理ステートはステート01に復帰する。
ステート05
前述したとおり、HOCTHROTが真であるとき、ステート01からステート
05へ遷移する。HD12ACKlおよび、HOCRD Yが偽である限り、論
理ステートはこのステートに留る。ステート05において、PLA1304はF
Fの値を出力する。各サイクルでHCENがアクティブとなると、HREGCは
PLA1304の出力をレジスタ1308ヘクロツタ入力する。HNSO2およ
びHNSOOがアクティブであると、ステートは次のサイクルにおいて繰り返さ
れる。
HOCRDYが真であり、HD12ACK1が偽であれば、HCENは、PLA
1304からの出力をレジスタ1308に取り込むために、アクティブとなる。
H8RDYがアクティブとなると、HBCRDYがバッファコントロール106
へ送られる。HNSO3,HNSOI、HNSOOは、OBを次のステートとす
るために、アクティブとなる。
HDl 2ACK1が真に変り、HOCRDYが偽であれば、HAENおよびH
CENはアクティブとされ、HREGAおよびHREGCはワードをDI2OU
Tバス933からレジスタ1300へクロック入力し、PLA1304の出力を
レジスタ1308に取り込む。H8RDYがアクティブとなると、HBCRDY
はバッファ制御106に送られる。HNSO3およびHNSOOは、次のステー
トを09とするために、アクティブとなる。
HOCRDYおよびHDl 2ACK1の両者が真となると、HAENおよびH
CENは、D、1.2OUTバスの内容をレジスタ1300に取込み、PLA1
304の出力をレジスタ1308に取込むために、アクティブとなる。H8RD
Yがアクティブとなると、HBCRDYはバッファコントロール106へ送られ
る。HNSO3およびHNSOIは、次のステートとしてOAを指定するために
アクティブとなる。
ステート09
論理ステートは、HOCRDYが真となるまで、ステート09で待機する。各サ
イクルで、H8RDYがアクティブとなると、HBCRDYはバッファコントロ
ールへ送られる。HNSO3およびHNSOIは、ステートOAを次のステート
とするために、アクティブとなる。HOCRDYが真となると、H8RDYがア
クティブとなり、HBCRDYがバッファコントロール106へ送られる。
ステートOA
このステートには、前述したとおり、ステート05またはステート09から遷移
する。また、HOCRDYが偽である限り、論理ステートはこのステー) (H
NSO3およびHNSOlはアクティブである)に留る。各サイクルで、H8R
DYがアクティブとされると、HBCRDYがバッファコントロール106へ送
られる。
)fOcRDYが真となると、H8RDYば、HBCRDYをバッファコントロ
ールへ送るために、再びアクティブとされる。HNSO3およびHNSO2はア
クティブとなり、論理ステートはステートOCへ進む。
ステートOC
ステートOCにはステートOAまたはステート04から遷移する。また、HOC
RDYが偽である限り、論理ステートはステートOCに留る(HNSO3および
HNSO2はアクティブ)。各サイクルで、H8RDYによりHBCRDYがバ
ッファコントロールへ送られる。HOCRDYが真となると、HCENはHRE
GCを発生するためにアクティブになり、これにより、PLA1304の出力を
レジスタ1308に取込む。H8RDYは、HBCRDYをバッファコントロー
ルに送るために、アクティブとなる。HNSO4およびHNSOOはアクティブ
となり、論理ステートはステート11へ復帰する。
ステートOB
上述のとおり、ステートOBへはステート05から遷移する。HOCRDYが偽
である限り、論理ステートはOBステートにとどまり、また、H8RDY、HN
SO3、HNSOIおよびHNSOOはアクティブとなっている。HOCRDY
が真となると、H8RDYにより再びHBCRDYがバッファコントロールに送
られ、HNSO3、HNSO2およびHNSOOはアクティブとなり、論理ステ
ートはステートODへ進む。
ステートOD
このステートへは、ステート04またはステートOBから遷移する。HOCRD
Yが偽である限り、各サイクルでHNSO3、HNSO2およびHN’SOIを
アクティブとすることにより、このステートは維持される。PLA1304は各
サイクルでFFの値をレジスタ1308に出力する。各サイクルでPLA130
4は値FFをレジスタ1308に取込む。また、各サイクルでHCENアクティ
ブとされてPLA1304からの出力をレジスタ1308にロードする。また、
H8RDYがアクティブとされ、HBCRDYがバッファコントロールへ送られ
る。
HOCRDYが真となると、HCENはFFの値をレジスタ1308に取り込む
ためにアクティブとなる。また、HMRDYがアクティブとなってC/Dコント
ロールにHD12RDYを送ることにより、バッファチョッパがDI2OUTバ
ス上の別のワードを受ける準備ができていることを示す。HNSOOがアクティ
ブとなって、ステート01に復帰する。
ステート04
D12ACK1およびHOCRDYが偽である限り、論理ステートはステート0
4において待機する。ステート04において、PLA1304はFの値をレジス
タ1308の0〜3のビット位置に出力し、4つのデータビットをその4〜7の
位置に出力する。HCENはレジスタ1308にデータを取込むために各サイク
ルでアクティブとなり、H8RDYはHBCRDYをバッファコントロール10
6に送るためにアクティブとなり、HNSO2はアクティブとなって、ステート
04は繰り返される。
HOCRDYが真となり、HD12ACK1が偽であれば、HCENはレジスタ
1308にPLAの出力を取込むためにアクティブとなる。また、H8RDYは
HBCRDYをバッファコントロールへ送るためにアクティブとなり、HNSO
3、HNSO2およびHNSOOがアクティブとなって論理ステニドはステート
ODへ進む。
HDl 2ACK1が真となり、HOCRDYが偽であれば、HAENおよびH
CENはアクティブとなって、レジスタ1300にD12OUTバスからのデー
タを取込み、レジスタ1308にPLA1304からの出力を取込む。H8RD
YはHBCRDYをバッファコントロール106へ送るためにアクティブとなる
。HNSO3〜HNSOIがアクティブとなって、論理ステートはステートOE
へ進む。
HOCRDYおよびHD12ACK1の両者が真となれば、HAENおよびHC
ENはアクティブとなって、レジスタ1300および1308にデータを取込む
。H8RDYにより、HBCRDYが信号線1515を介してバッファコントロ
ールへ送られる。HNSO3およびHNSO2がアクティブとなって、論理ステ
ートはステートOcへ進む。
ステート0E
HOCRDYが偽である限り、論理ステートはステートOEにおいて待機する。
HNS3〜HNSOIがアクティブであると、このステートが維持されるとおと
もに、H8RDYがHBCRDYをバッファコントロール106へ送るために各
サイクルで出力される。PLA1304は各サイクルでFFの値をレジスタ13
08に出力する。
HOCRDYが真となると、HCENがアクティブとなって、FFの値をレジス
タ1308に取込み、また、H8RDYがアクティブとなってBCRDYをバッ
ファコントロールへ送る。HNSO3およびHNSO2がアクティブとされ、論
理ステートはステートOCへと進む。
ステートIA
HLASTCONDが真であり、HOCRDYが偽である限り、論理ステートは
ステートIAにおいて待機する。PLAI304は各サイクルでFFの値をレジ
スタ1308に出力する。HCENがアクティブとなってレジスタ1308にデ
ータを取込むとともに、H8RDYがアクティブとなってHBCRDYがバッフ
ァコントロールへ送られる。HNSO4、HNS03およびHNSOIは、この
ステートを繰り返すために、アクティブとなる。
HOCRDYが真となると、HNSO4、HNSO3、HNSQL、HNSOO
がアクティブとなり、論理ステートはステートIBへ進む。
ステートIB
HLASTCONDが真であり、HOCRDYが偽である限り、論理ステートI
Bに留る。PLA1304はDの値をレジスタ1308の7〜4のビット位置に
出力する。HCENおよびH8RDYがアクティブとなって、レジスタ1308
にデータを取込み、HBCRDYをバッファコントロール106に送る。これに
より、別のバイトがBPBUFMEMバス上にあることをバッファコントロール
に知らせる。HNSO4、HNSO3、HNSOIおよびHNSOOがアクティ
ブとなり、このステートは繰り返される。
HOCRDYが真となると、H8TERMはアクティブとなり、HD8TERM
が圧縮動作の終了を知らせるために、バッファコントロール106へ送られる。
HNSO3〜HNSOOはアクティブとなって論理ステートはステートOFへ進
む。
ステートOF
ステートOFは終了ステートである。このステートはHCOMPIが真である限
り、連続的に繰り返される。各サイクルの間、H8TERMはHD8TERMを
バッファコントロールへ送らしめるためにアクティブとなり、HNSO3〜HN
SOOがアクティブであって、このステートが繰り返される。
ステート17
HHOCRDYが偽である限り、論理ステートはステート17において待機する
。HCENおよびH8RDYはレジスタ1308にデータを取込み、HBCRD
Yをバッファコントロールへ送るためにアクティブとなる。HNSO4およびH
NSO2〜HNSOOがアクティブであると、このステートが繰り返される。
HOCRDYが再び真になると、H8TERMはアクティブとされ、H8TER
Mがバッファコントロールへ送られる。HNSO3〜HNSOOがアクティブと
なると、終了ステートOステート08はHOCRDYが偽である限り繰り返され
る。
ステート08において、PLA↓304はFの値をレジスタ1308のO〜3の
ビット位置に出力する。HCENおよびH8RDYは、レジスタ1308にデー
タを取込み、且つバッファコントロールに(HBCRDYにより)1バイトがB
PBUFMEMバス上にあることを伝えるために、アクティブとなる。
HNSO3がアクティブとなると、このステートが繰り返される。
HOCRD Yが真になると、HNSO4、HNSO3およびHNSOOがアク
ティブとなると、ステート19へ進む。
ステート19
ステート19はHOCRDYが偽である限り繰り返される。
PLA1304は各サイクルでFDの値をレジスタ1308に出力する。HCE
NおよびH8RDYがアクティブとなると、レジスタ1308にデータを取込み
、且つ、バッファコントロールに1バイトのデータがBPBUFMEMバス上に
あることを知らせる。HNSO4、HNSO3およびHNSOOがアクティブで
あると、このステートが繰り返される。
HOCRDYが真となると、H8TERMはアクティブとなり、HD8TERM
はバッファコントロール106に圧縮動作が完了したことを知らせる。HNS
(03〜OO)はアクティブとなって論理ステートは終了ステートOFへ進む。
バッファチョッパ伸長論理回路
伸長動作の間、2つのPLA1500および1502がバッファチョッパの論理
ステートを決定する。PLA1502は次のステート信号NS (04〜00)
を出力し、これらの信号はCLKIのクロックタイミングによりレジスタ151
2にゲート入力される。このレジスタは現在のステート信号HD812C3(0
4〜00)を出力し7、これらの信号は次のステートを決めるためにPLA15
00および1502へ入力され、また1316は、もしFFの値がレジスタ13
14に含まれ、かつDの値がレジスタ1312の高位のところにあれば、伸長動
作論理ステート04の間に、信号線1301および1303上に信号HREVF
FDOOおよびHREVFFDを出力する。またこれらのPLAは、もしFの値
がレジスタ1312の低位にあり、かつFDの値がレジスタ1314内にあれば
、ステート17の間に、同じ信号を出力する。
また、PLA1502は信号HEN6、HEN5およびHEN4を出力し、これ
らの信号はラッチ1514を介してAND1516.1518および1520へ
送出される。これらの信号はCL K iのクロックタイミングによりラッチ1
514にラッチされる。同時に、CLKIはAND15161,1518および
1520に入力される。AND 1516の出力は信号HLD4であり、この信
号はBPBUFMEMバス上の1バイトのデータをレジスタ1314にクロック
入力する・一方・AND1518の出力は信号HLD5であり、この信号は同じ
バスからの1バイトのデータをレジスタ1312にクロック入力する。AND1
520の出力は信号HLD6であり、この信号はPLA 1316の出力をレジ
スタ1318にクロック入力し、そこからDI2INバスを介してC/Dコント
ロール102に入力される。
PLA1500は、1ワードがレジスタ1318に取り込まれるとき、信号H8
12RDYを出力する。この信号はセレクタ1514 (そのとき、HCOMP
2によりアドレス指定されて)を通り、CLKIのクロックタイミングによりレ
ジスタ1506にクロック入力される。このレジスタの出力はAND1508を
通り、1ワードがD12INバス1309上にあることをC/Dコントロール1
02に知らせる信号として信号HD12RDYが出力される。
信号H812ENDは、C/Dコントロール102に対して伸長動作の終わりを
知らせるために、PLA1500により出力される。この信号はレジスタ150
6にクロック入力され、信号HD812AENDが信号線1511上に出力され
る。この信号線はセレクタ1504に接続され、信号HD12ENDをC/Dコ
ントロール102に送り返す。
信号H812AKは、バッファコントロニル106に対して、バッファチョッパ
が別の1バイトのデータを受ける準備ができていることを知らせるために、PL
A1500により出力される。この信号はCLKlのクロックタイミングにより
レジスタ1506に入力され、このレジスタは出力信号を出力し、この信号は0
R1510を通って信号HBCRDYとなり、この信号は信号線1515を介し
てバッファコントロール106に入力される。
マタ、PLA1500は、HREVFFDO2またはREVF、FDO3が真で
あるいかなるステートの間も、信号線1503上に信号HREVFFDO4を出
力する。この信号はレジスタ1406の1入力に入力される。このレジスタの2
番目の段はPLA1316からの信号HREVFFDOOおよびHREVFFD
O1を受けるAND 1416の出力に接続されている。コルレジスタは信号H
REVFFDO2およびHREVFFDO3を出力し、これらの信号はアドレス
指定入力としてPLA1500および150に入力される。さらに、HREVF
FDO2はチャンネルチョッパ100内の伸長用PLA500および502に入
力される。
制御レジスタ300により出力される信号HBKWDはレジスタ1506に入力
され、このレジスタはPLA1500および1502のアドレス入力の1つに入
力される信号HBCBKWDを出力する。PLAの他のアドレス入力は、バッフ
ァコントロール106により出力されるHOCENDおよびHOCRDYと、C
/Dコントロール102により出力される信号HD12ACK1およびHDl
2TERM1とを含んでいる。
バッファチョッパ伸長論理ステート
信号線315上の信号HCOMP2は、PLA1500および1502をイネー
ブルとするために、伸長動作の間は、ずっと真でなければならない。HCOMP
2が偽である限り、PLAはステートOOに留る。以下の説明において、特に説
明しないが、HCOMP2は真でなければならない。
ステートOO
通常の伸長については、HBCBKWDは偽であり、PLA1500はH812
ADをアクティブとし、その結果、HBCRDYがバッファチョッパがバッファ
108からの1ワードを受ける準備ができていることを示すものとして、バッフ
ァコントロール106に信号線515を介して送られる。PLA1502はHN
SOOをアクティブとし、論理ステートiまステート01へ進む。
逆方向の伸長が行われているとき、HBCBKWDがPLAl 500および1
502に入力される。逆方向の伸長の間、HOCRDYが真となれば、これによ
り、テープバッファコントロールがテープバッファ108からの1ワードをバッ
ファチョッパへ転送する準備ができていることを示し、PLA1500はH81
2AKをアクティブとし、PLA1502はHNSOOをアクティブとする。こ
れにより、HBChDYはバッファコントロール106に送られ、論理ステート
はステート01ヘステート01において、バッファチョッパはバッファからの最
初のバイトを待つ。HOCRDYおよびHOCENDが偽である限り、PLA1
502はH812AKおよびHNSOOを出力し、その結果、HBCRDYはバ
ッファコントロール106に送られ、ステート01が繰り返される。
HO’CENDが真となれば、それは最後のバイトが既に送られたことを示し、
PLA1502はHNSO3、HNSO2およびHNSOIを出力し、論理ステ
ートは最終ステートOEへ飛ぶ。
HOCRDYが真となると、PLA1502はHEN4をアクティブとし、その
結果、信号線1507上のHLD4はBPBUFMEMバス1305上の最初の
1バイトのデータをレジスタ1314にクロック入力する。PLA1500はH
812AKをアクティブとし、その結果、バッファチョッパがBPBUFMEM
バス上に別の1ワードを出力し得ることを示すために、HBCRDYがバッファ
コントロール106に送られる。PLA1502はHNSOIおよびHNSOO
をアクティブとし、その結果、論理ステートはステート03へ進む。
ステート03
ステート03において、論理ステートはテープバッファ108からの2番目のデ
ータバイトを待つ。ステニド03はHOCRDYおよび)(OCENDが偽であ
る限り、繰り返される。H812AKはPL、A1500によりアクティブとさ
れ、HBCRDYがバッファコントロール106へ送られる。PLA1502は
ステート03を繰り返すためにHNSOIおよびHNSooを出力する。
HOCENDが真になれば、境界バイト誤まりである。PLA1502はHNS
O3〜HNSOOを出力し、論理ステートはステートOFへ遷移する。
H6CRDYが真になると、PLA1502はHENSをアクティブとし、その
結果、BPBUFMEMバスからの2番目のデータバイトをレジスタ1312に
クロック入力するために、信号HLD5が信号!11505上に出力される。H
NSO2がアクティブとされ、論理ステートはステート04へ進む。
ステート04
ステート04において、最初のワードがバッファチョッパからC/Dコントロー
ル102へ転送される。PLA1500は)(812RDYおよびH812AK
をアクティブとし、PLA1502はHENS、HNSO2およびHNSOOを
アクティブとする。HENSにより、PLA1316からの最初のワードをレジ
スタ1318にクロック入力するために、HLD6が信号線1503上で真にな
り、その結果、そのワードはDI2INバス1309上に出力される。H812
AKにより、C/Dコントロール102に対して、1ワードがバス上にあること
を知らせるために、信号線1509上でDI;2RDYが真となる。H812R
DYはHBCRDYを信号!11515上で真にならしめることにより、バッフ
ァコントロール106に対し、バッファチョッパが別の1ワードを受ける準備が
できていることを知らせる。HNSO2およびHNSOOにより論理ステートは
ステート05へ進む。
ステート05
このステートにおいては、バッファチョッパは、バッファ108からの3番目の
データバイト、および/または、C/Dコントロール102が1番目のワードを
受けとったという通知(HD12ACK1)を持つ。HDl 2ACK1および
HOCRDYが偽であるかぎり、PLA1500はH812RDYおよびH81
2AKをアクティブとし、その結果、HD12RDYがC/Dコントロール10
2へ送られ、HBCRDYがバッファコントロール106へ送られる。PLA1
502はステート05を繰り返すためにHNSO2およびHNSOOを出力する
。
バッファコントロール106がBPBUFMEMバス上に3番目のデータバイト
を出力し、かつこれが行われたことを示すために信号線1805上にHOCRD
Yが立てられると、PLA1502はHEN4をアクティブとし、その結果、H
LD4はBPBUFMEMバスからの3番目のデータバイトをレジスタ1507
にクロック人力する。PLA1500はH812RDYを出力し、その結果、1
番目のものがD12INバス上に出されたことを示すために、HD 12 RD
’l+−(再びC/Dコントロールへ送られる。PLA1502は論理ステート
をステート08に進めるためにHNSO3をアクティブとする。
HD12ACK1が真となれば、それは1番目のワードがC/Dコントロール1
02により受けとられたことを示し、そこで、PLA1500はH812AKを
出力し、その結果、バッファチョッパがまだ、3番目のバイトを持っていること
を示すために、HBCRDYがバッファコントロール106へ送られる。PLA
1502は論理ステートをステート06へ進めるためにHNSO2およびHNS
OIをアクティブとする。
C/Dコントロール102が1番目のワードを受け、バッファコントロール10
6が同時にBPBUFMEM上に3番目のデータバイトを出力したならば、HD
12ACK1およびHOCRDYは共に真となる。PLA1502はHEN4を
アクティブとし、その結果、HLD4はBPBUFMEMバスからの3番目のバ
イトをレジスタ1314クロツク入力する。また、PLA1502はHNSO4
、HNSO2、HNSOIおよびHNSOOをアクティブとし、論理ステートは
ステート17へ進む。
ステート17において、PLA1502は、レジスタ1318に2番目のワード
を読み込むために、HENSをアクティブとする。PLA1500はH812R
DYおよびH812ACKをアクティブとし、これによりHD12RDYおよび
HBCRDYを真とする。これは、C/Dコントロニル102に対し、2番目の
ワードがDI21Nバス上にあることを知らせ、かつバッファコントロール10
6に対し、3番目のデータバイトがバッファチョッパにより受けとられたことを
知らせる。PLA1502は論理ステートをステート09に進めるためにHNS
O3およびHNSOOをアクティブとする。
ステート09
ステート09において、論理ステートはC/Dコントロール102によって受け
られるべき、DI2INバス上の2番目のワードを待つか、あるいはバッファコ
ントロール106が次のワードの1番目のバイトがBPBLIFMEMバス上に
あることを知らせるのを待つ。その待機している間は、HOCRDYおよびHD
12ACK1は共に偽である。これにより、PLAI500はH812RDYお
よびH812AKをアクティブとし、その結果、HD12RDYがC/Dコント
ロール102へ送られ、HBCRYがバッファコントロール106へ送られる。
PLA1502はステート09を繰り返すためにHNSO3およびHNSOOを
出力する。
C/DコントロールがDI2INバス上の2番目のワードを受ける前に、バッフ
ァコントロールがBPBUFMEMバス1305上に次のワードの2番目のバイ
トを出力したならば、HOCRDYは真となる。PLA1502はHEN4をア
クティブとし、その結果、HLD4はBPBUFMEMバス上の1バイトのデー
タを!/レジスタ314にクロック人力する。PLAl 500はH812RD
YおよびH812A¥、、を出力して、その結果、HD12RDYは、再びC/
Dコントロールに対して2番目のワードがD12INバス上にあることを知らせ
、HBCRDYはバッファコントロールに対してlデータバイトがバッファチョ
ッパにより受けとられたことを知らせる。PLAI502は論理ステートをステ
ートOAに進めるためにHNSO3およびHNSOIをアクティブとする。
バッファコントロールがBPBUFMEMバス上に次の1バイトのデータを出力
すると同時に、C/DコントロールがD12INバス上の2番目のワードを受け
たならば、HOCRDYおよびHDl 2ACK1は共に真になる。これに応じ
て、PLA1502はHEN4をアクティブとし、その結果、HLD4はBPB
UFMEMバスからの1バイトのデータをレジスタ1314にクロック入力する
。PLA1500はH812AKをアクティブとして、そのバイトが受けられた
ことを示すために、HB CRD Yがバッファコントロール106へ送られる
。
PLA1502はHNSOIおよびHNSOOをアクティブでとして、論理ステ
ートはステート03に復帰する。
バッファコントロールが2番目のワードを受け(H812ACKIが真)、それ
が伸長動作の終わりでなければ(HOCENDが偽) 、PLAI 500はH
812AKを出力して、その結果、HBCRDYがバッファコントロール106
へ送られる。PLA1502はHNSOIをアクティブとして、論理ステートは
ステート02へ進む。
H812ACKlおよびHOCENDが共番と真になれば、PLA1500は8
12ENDをアクティブとし、伸長動作の終了を示すために、HD812END
がC/Dコントロールへ送られる。PLA1502はHNSO3、HNSO2お
よびHNSOlを真として、論理ステートはステートOEに進む。
ステート02
ステー)−02において、バッファチョッパは1番目のバイトを待つ。HOCR
DYおよびHOCENDが偽であるかぎり、PLA1500はH812AKを出
力して、その結果、バッファチョッパが別の1バイトのために準備ができている
ことを示すために、HBCRDYがバッファコントロール106へ送される。P
LA1502はステート02を繰り返すためにHNSOlをアクティブとする。
バッファコントロールがBPBUFMEMバス上に1バイトのデータを出力した
ことを示すために、HOCRDYが真になると、PLAはHEN4をアクティブ
として、HLD4はそのバイトデータをレジスタ1314にクロック入力する。
PLA1500はH812AKをアクティブとし、そのバイトが受けとられたこ
とを知らせるために、HBCRDYがバッファコントロールへ送り出される。P
LA1052は、論理ステートを前に説明したステート03に進めるために、H
NSOIおよびHNSOOを真とする。HOCENDが伸長動作の終了を知らせ
るために真になれば、PLA、1500はH812ENDをアクティブとし、そ
の結果、終了信号HD812AENDが信号線1511を介してC/Dコントロ
ールへ送ろれる。PLAI502は論理ステートを終了ステートOEへ進めるた
めに、HNSO3、HNSO2およびHNSO1をアクティブとする。
ステート06
ス、テート06において、論理は、バッファコントロール106がBPBTJF
MEMバス上に3番目のバイトを出力するのを待つ。HOCENDおよびHOC
RDYが偽であるかぎり、PLA1500はH812AKを真とし、その結果、
バッファチョッパが3番目のバイトのための準備ができていることを示すために
、HBCRDYがバッファコントロールへ送られる。PLA1502はステー1
−06を繰り返すためにHNSO2およびHNSOIをアクティブとする。
バッファコントロールはBPBUFMEMバス上に3番目のバイトを出力すると
、それらはHOCRDYをたてる。PLA1502はHEN4をアクティブとし
、HLD4はそのバイトをレジスタ1314にクロック入力する。PLA150
2は論理ステートを前に説明したステート17へ進めるために、HNSO4、H
NSO2、HNSOIおよびHN S OOを真になる。
HOCENDが真になると、PLA1500はH812ENDを真とし、その結
果、伸長動作の終了を示すために、HD812AENDがC/Dコントロールへ
送られる。PLA1502は論理ステートをステートOEへ進めるために、HN
SO3、HNSO2およびHNSOlをアクティブとする。
ステート08
このステートにおいて、論理は、C/DコントロールがDI2INバス上のワー
ドを受け、そのワードが受けとられたことを示すものとしてのH812ACK1
をたてられるのを待つ。
)rlyT−2ACK1が偽のままであるかぎり、PLA1500はH812R
DYをアクティブとし、その結果、HD12RDYはC/Dコントロールに対し
、そのワードがバス上にあることを知らせる。PLA1502はステート08を
繰り返すためにHNSO3をアクティブとする。
C/DコントロールがD12INバス上のワードを受け、D12ACK1をたて
ると、PLA1502は、論理ステートをステート17へ進めるために、HNS
O4、HNSO2、HNSOlおよびHNSOOをアクティブとする。
ステートOA
ステートOAにおいて、バッファチョッパはC/Dコントロールへ2番目のワー
ドを送るのを待つか、あるいはバッファコントロールからの2番目のバイトを受
けとるを待9゜HD12ACKlおよびHOCRDYが偽であれば、PLA15
00はH812RDYおよびH812AKをアクティブとする。これにより、H
D2RDYはC/Dコントロールへ送られる。PLA1052はステートOAを
繰り返すために、HNSO3およびHNSOIをアクティブとする。
バッファコントロールがBPBUFMEMバス上に1バイトのデータを出力し、
HOCRDYをたてるとJPLA1502ハHE N 5をアクティブとして、
HLD5がそのバイトをレジスタ1312へクロック入力する。PLA1500
はH812RDYをアクティブとし、それにより、lワードが未だDI2INバ
ス上にあることを、C/Dコントロールに対して示すために、H812RDYが
真とされる。PLA1502は論理ステートをステートOBへ進めるためにHN
SO3、HNSOIおよびHNSOOをアクティブとする。
HOCENDおよびHD12ACK1が共に真になるならば、PLA1502は
論理ステートを境界バイト誤りステートOFに進めるために、nNSO3〜HN
SOOをアクティブとする。
C/DコントロールがDI2INバス上のワードを受け、かつ、HD12ACK
1をたてたけれども、HOCENDが偽であれば、PLA1502は論理ステー
トをステート03へ進めるために、HNSOIおよびHNSOOをアクティブと
する。
C/DコントロールがDI2INバス上のワードを受け、か特表千3−5007
18 (32)
つバッファコントロールがBPBtJFMEMバス上に1バイトを出力すると、
HDl 2ACK1およびHOCRDYは共に真である。PLA1502はHE
N5をアクティブとし、HLD5はBPBUFMEMバスからのバイトをレジス
タ1312にクロック入力する。HNSO2は論理ステートをステート04へ進
めるためにアクティブとされる。
ステートOB
ステートOBにおいて、バッファチョッパはC/DコントロールがD12INバ
ス上に存在するバイトを受けとるを待つ。
HD12ACK1が偽であるかぎり、PLA1500はH812RDYを出力し
、その結果、そのワードがバス上にあることを示すために、HD2RDYがC/
Dコントロールへ送られる。PLA1052はステートOBを繰り返すために、
HNSO3、HNSOIおよびHNSOOを出力する。
C/DコントロールがDI2INバス上の1バイトを受け、HD12ACK1を
たてると、PLA1502論理ステートをステート04に復帰させるためにHN
SO2を出力する。
ステートOE
ステートOEは終了ステートであり、−目、このステートになると、HCOMP
2が真であるかぎり、このステートは繰り返される。このステートの間、PLA
1500はH812ENDをアクティブとし、終了信号HD812AENDがC
/Dコントロールへ送られる。PLA1502はステートOEを繰り返するため
にHNSO3、HNSO2およびHNSOIをアクティブとする。
ステートOFは境界バイト誤りの終了ステートである。論理ステートがこのステ
ートに移ると、)lcOMP2が真であるかぎり、このステートにとどまる。P
LA1502はこのステートを繰り返すためにHNSO3からHNSOOをアク
ティブとする。
テープバッファコントロール
第16図は、96にのテープバッファi08と共に、バッファへの書き込み、ま
たはバッファからの読出しのためのアドレスを出力する書込みカウンタ1600
および読出しカウンタ1602を図示するものである。書沁みカウンタの17〜
02のビットは一組のドライバ1604に入力され、書込みカウンタの内容はコ
ントローラ118により読み出される。この内容は、次に説明されるように、コ
ントローラがテープ開始時間を計算している間にコントローラにより読み出され
る。書込みカウンタの出力ビット16〜00はMUX1606を介してアドレス
レジスタ1608へ入力される。アドレスレジスタの出力は1組のドライバ16
10を介してバッファ108のアドレス入力へ入力されると共に、その高位の3
ビツトはイネーブルデコーダ1612に入力される。
読出しカウンタ1602の出力はMUX1606を介してバッファのアドレス指
定のためのアドレスレジスタ1608に入力される。信号!I 1723上の信
号LWRABが真であると、書込みカウンタ1600の出力がバッファのアドレ
ス指定を行い、信号LWRABが偽であると、読出しカウンタ1602の出力が
バッファのアドレス指定を行う。
カウンタ1600および1602の出力は比較器1620により比較され、この
比較器は、カウンタ内のカウント値が等しいとき、信号線1601上に信号LM
EQUALを出力する。
さらに、書込みカウンタの出力(11〜OOのビット)は書込みカウンタに入力
され、信号線1811上の信号LDWNCNTが真であるとき、その中に取り込
まれる。
書込みカウンタ1600の16番目と15番目のビットは信号線1630を介し
て、0R1952に接続される出力を有するAND1950に入力される。上記
15および16のビットが共に真であれば、AND1950は0R1952をイ
ネーブルとし、信号線1907上の信号HWRCNTCL、Rは真となる。第1
6図において、この信号は書込みカウンタ1600をクリアする。同様にして、
読出しカウンタ1602の16番目と15番目のビットは信号線1632を介し
て、0R1956に接続される出力を有するAND1954に入力される。0R
1956は読出しカウンタ1602をリセットするために信号線1905上に信
号HRDCNTCLRを出力する。
読出しおよび書込みカウンタのクリアは、制御レジスタ300にHCOMPlま
たはHCOMP’2を真にするさくデータがとり込まれたときに、圧縮または伸
長動作の開始時に、イネーブルされる。第19図において、HCOMPlは19
58で反転され、AND1960の1人力に入力され、HCOMP2は1962
で反転され、その第2の入力に入力される。ANDI960の出力は0R195
6および1952に接続されている。HCOMPlまたはHCOMP2のいずれ
かが真となれば、AND1960(7)出力LL 偽トナ’)、ANI)19.
50および1954の出力は信号HRDCNTCLRgよびHWRCNTCLR
に上記カウンタなリセットせしめる。また、AND1960の出力は圧縮または
伸長の間ドライバ1900を起動し、その結果、バッファコントロールは、ハン
ドシェーキング信号をバッファチョッパ104およびIP1112へ送ることが
できる。
バッファ108が書込みカウンタ1600によりアドレス指定されると、BPB
UFMEMバス上のデータバイトはドライバ1614を通ってバッファのデータ
入力にゲート入力される。読込みカウンタ1062がバッファをアドレス指定す
ると、バッファから読み出されたデータバイトは1組のドライバ1616を通っ
てBPBUFEMEMバスへ送られる。
第19図において、圧縮または伸長動作のいづれかのために、制御レジスタ30
0にデータがとり込まれると、信号線313上の信号HCOMPRESSENは
真になる。HCOMPRESSENは2011’反転され、ドライバ2o14を
イネーブルとする。反転器2012の出力は信号HDRIVENDであり、この
信号は信号492013を介してバッファデータ入力トライバ1614およびバ
ッファアドレスドライバ1610に入力される。圧縮動作の間、レジスタ162
4は、バッファ108からのデータがBPBUFMEMバスを介してCDBPB
Usへ転送されるのを許容するべくイネーブルされ、その結果、それはIPI
112に入力される。レジスタの出力は、圧縮の間、信号線405上の信号LC
OMP1により連続的にイネーブルとされる。伸長動作の間、CDBPBUs上
のデータは、レジスタ1626を介して、BPBUFMEMバス、そしてバッフ
ァ108ヘゲート入力される。
カウンタ1630は、チャネルバッファ101から比較回路へ導入されるデータ
バイトの数を計数するために設けられている。このカウンタは信号LRDYEN
Aによりインクリメントされ、この信号は、チャネルチョッパが1バイトのデー
タを受ける度毎に、チャネルチョッパ100により出力される。次に説明される
とおり、カウンタの内容は、テープユニットのための開始時間の計算の間に、コ
ントローラ118により読み出される。カウンタの出力は1組のドライバ163
2に入力され、その結果、信号LSELRD2がそのドライバをイネーブルとし
たとき、カウンタの内容はBPDBUSを介してコントローラ118へ入力され
る。
第20図は、種々の動作を行うべくコントローラ118により制御される2つの
デコーダ2016および2018を図示している。このデコーダをイネーブルと
するために、コントローラは、信号LLDSおよびLUPCBBDSELを真に
してAND2020をイネーブルとする。そのANDの出力は更に2つのAND
2022および2024の1人力をイネーブルする。コントローラが圧縮または
伸長動作のためのセットアツプをするよう制御レジスタ300にデータをとり込
むことを望めば、コントローラは、信号HPROCRDを偽とし、プロセッサア
ドレスバス上の01および02のビット位置にゼロビットを出力する。HPRO
CRDはAND2022を通って、デコーダ2016をイネーブルとする。02
および01のアドレスビットによって、上記デコーダは信号線2011上に信号
HOC3ELWROを出力する。この信号は、コントローラ118によりBPD
BUS上に出力された制御ワードを制御レジスタ300にゲート入力する。
コントローラは、バイトカウンタ1630または書込みカウンタ1600の内容
をコントローラ118へ読み出すために、信号HPROCRDを真とし、プロセ
ッサアドレスバス上に所要のアドレスビットを出力する。HPROCRDは20
26で反転され、デコーダ2018をイネーブルとするためにAND2024を
通る。アト1/スピツトが01であれば、デコーダ2018は、信号線2015
上に信号LSELRDIを出力して、ドライバ1604に、書込みカウンタ16
00内の値をBPDBUS上に送らしめるようにする。アドレスビットが10で
あれば、デコーダ2018はドライバ1632にカウンタ1630内のバイトカ
ウント値をBPDBUS上に送らしめるように、信号線2017上に信号LSE
LRD2を出力する。
圧縮動作の間、第16図の回路は、2つのPLA1700および1702により
一連のステートを進む。これらのPLAは、信号線405上の信号HCOMPl
が真であるときのみ、アクティブな出力を出力するようイネーブルされる。PL
AI702は次のステート信号N504〜N5OOを出力し、これらの信号はC
LKIのクロックタイミングによりレジスタ1704にクロック入力される。そ
して、レジスタは現在のステート信号C3O4〜csooを出力し、これらの信
号は現在のステートを決めるためにPLAの入力に入力される。現在のステート
の間にPLAから出力される出力信号は、バッファ108が空であるときに真で
ある入力信号LMEMPTYと、バッファチョッパ10’4が最後のデータバイ
トを送った後に真となるHD8TERMと、テープバッファから1バイトのデー
タをはき出すべき状況であるときに真となるH3HIFTOUT1と、1バイト
のデータがテープバッファにとり込まれるような状況であるときに真となるH3
HIFTINI、とにより決定される。
PLA1702は、読出アドレスカウンタ1602をインクリメントするために
、信号H3ETRDYを出力する。この信号はラッチ1708に接続された出力
を有する0R1706に入力される。この信号はラッチ1708を通ってNAN
D1710の1入力に入力される。CLKIのクロックタイミングにより、この
信号はラッチ1708にラッチ入力され、同時に、CLKIはNAND 171
0を通って、読出しアドレスカウンタをインクリメントするための信号線170
7上のLRDADを出力する。
PLA1702は、バッファチョッパ104に対してバッファコントロールが別
の1バイトのデータを受ける準備ができていることを知らせるために、信号HR
DYAをアクティブとする。この信号はレジスタ1704にクロック入力され、
このレジスタは信号線1721上にHMRDYAAを出力する。この信号は0R
1804を通って、バッファチョッパへ送り返されるHOCRDYを発生する。
0R1704の出力は、信号線1813を介して、NAND1708.の1人力
に入力される信号LRDYを出力するために、1806で反転される。
PLA1702は、IP1112に対して、バッファコントロールがバッファ1
08からIPIへ1バイトのデータを更に転送する準備ができていることを知ら
せるために、信号HRDYBを出力する。この信号はレジスタ1704に入力さ
れ、このレジスタは信号線1719上に信号HMRDYBAを出力する。第18
図において、この信号はFF1812をセットするためにAND1810を通る
。このフリップフロップは信号HRDYAを出力し、この信号はドライバ190
0へ入力される。このドライバは信号HOCRDYを出力し、この信号は信号線
1903を介してIPIへ入力される。
PLA1700はバッファ108の充満ステートまたは空ステートを示すフルフ
リツブフロップ1902およびエンプティフリップフロツブ1904を制御する
ために、信号HMWRTを出力する。HMWRTはレジスタ1710に入力され
、CLKlのクロックタイミングによりレジスタヘクロック入力される。このレ
ジスタは信号411717上に信号HMWRTAを出力する。第18図において
、この信号は信号線1845上の信号HCNTRWRとなるために0R1814
を通過する。第19図において、HCNTRWRはAND1906の1入力およ
びNAND1908の1人力に入力される。CLK2のクロックタイミングにお
いて、クロックパルスがFF1902にクロックを与えるためにAND1906
を通る。このFFは、読出しカウンタ1600および書込みカウンタ1602の
内容が等しいか、あるいは等しくないかを示す信号LMEQUALが真であるか
偽であるかに応じて、セットあるいはリセットされる。これらのカウント値が等
しくなければ、HCNTRWRはFF1904をセットするためにNAND19
08を通る。FF1902はバッファ108が充満ステートであるか充満ステー
トでないかを示しており、FF1904はバッファが空ステートでないか、空ス
テートであるかを示している。バッファが空であれば、FF1904はAND1
970をイネーブルとするために信号を出力する。テープが開始されると、信号
H8TARTAPEは真となり、前記ANDは信号線1901上に信号HOCT
HROTを出力する。この信号は第14図のバッファチョッパ回路へ送られ、そ
の結果、バッファチョッパPLA1304は前述したようにスロットルキャラク
タを出力する。
PLA1700はバッファ読出し動作のために、フリップフロップ1902およ
び1904を制御するため、信号HMRDを出力する。この信号はレジスタ17
10に入力され、このレジスタは信号線1715上に信号HMRDAを出力する
。第18図において、この信号は0R1816を通り、CLK2のクロックタイ
ミングでFF1818にクロック入力される。このフリップフロップは信号HC
NTRDを出力し、この信号は信号線1847を介してFF1904のクロック
入力およびNAND1910の1人力に入力される。読出しおよび書込みカウン
タ1600および1602内のカウント値が等しくなければ、HCONTRDは
FF1904をセットせしめ、NAND1910の出力はFF1902のクリア
(セット)を防ぐために、AND 1912の出力を阻止する。
PLA1700は、バッファチョッパ104によりBPB’UFMEMバス上に
出力された1ワードをバッファ108に書き込むために、信号HMWRを出力す
る。この信号は信号線1709上の信号HBWRとなるために0R1712を通
る。0R1712の出力は、信号線1723上の信号LWRABとなるために、
1714で反転される。また、0R1712の出力はFF171(3をセットし
、信号線1725上の信号LOCWRは真になる。最終的に、0R1712の出
力はラッチ1708にラッチされ、AND1718の1人力をイネーブルとし、
このANDはCLKlのクロックタイミングの間に信号LWRACを出力する。
第16図において、LWRACは書込みカウンタ1600をインクリメントする
。第18図において、HWRACはレジスタ1802にクロック入力され、この
レジスタは信号線1801上に信号HDCAWRを出力する。第13図において
、この信号はレジスタ1308の出力をイネーブルとし、これによりバッファチ
ョッパ104はB P B U FMEMバス上に1バイトのデータを出力する
。
信号線1723上の信号LWRABは、MUX1606km入力され、そのMU
Xを介して書込みカウンタ1600の出力を出力可能とし、その結果、その出力
はバッファアドレスレジスタ1608に入力される。
FF1716はCLK2のクロックタイミングで0R1712の出力によりセッ
トされる。それはCLK4のタイミングまでセットされたままである。このFF
の出力は1722で反転され、FFをリセットするたのCLK4を通すためにN
AND1724をイネーブルとする。FF1716がセットされている間、信号
LOCWRがドライバ2000へ入力される。圧縮動作の間、信号線1313上
の信号HCOMPRESSENは真である。この信号は2102で反転され、ド
ライバ2000をイネーブルとする。ドライバの出力はローレベルであり、これ
により0R2008の出力はローレベルとなり1.信号線2015上の信号HP
ROCRWを偽とする。この信号はバツファ108に入力され、それが偽である
とき、書込みのためにバッファをイネーブルとする。0R2008の出力は20
30で反転され、AND2010の出力を阻止する。第16図において・AND
2010の出力はバッファの出力をBPBUFMEMバスに接続するドライバの
出力を阻止する。
インバータ2102の出力における信号HDRIVENDは、前に説明したとお
り、圧縮または伸長動作の皿偽であり、第16図において、この信号はドライバ
1614をイネーブルとし、BPBtJFMEM上のデータバイトはドライバを
通ってバッファ108のデータ入力にゲート入力される。また、HDRIVEN
Dはアドレスレジスタ1608からのアドレスをバッファ108およびデコーダ
1612へ送るためにドライバ1610をイネーブルとする。また、インパーク
2012の出力もドライバ2014をイネーブルとしてローレベル信号をドライ
バのデータ入力に入力する。ドライバのローレベル出力は0R2114を通り、
その結果、信号線2007上の信号HBOARDENは偽となる。第16図にお
いて、この信号はアドレスの高位の3ビツトをデコードしバッファ108をイネ
ーブルとするためにデコード回路1612をイネーブルする。
PLA1700がある論理ステートにおいて信号HMWRを出力しなければ、バ
ッファ108はBPBUFMEMバス上の1バイトのデータを読み出すためにイ
ネーブルされる。FFl716がセットされていなければ、信号LOCWRは偽
である。第20図において、この信号はHPROCRWを信号線2015上で真
とするために、ドライバ2000および0R2008を通る。この信号は真であ
るとき、読み出しのためにバッファ108をイネーブルとする。0R2008の
出力は2030で反転され、LDOBENBを信号線2019上で真にするため
にAND2010を通る。第16図において、この信号はバッファ106から読
み出されるバイトをBPBUFMEMバスへ送るために、ドライバ1616をイ
ネーブルとする。
PLA1700は圧縮動作の最後のバイトのところで信号HLASTBYを出力
する。この信号はレジスタ1710にクロック入力され、このレジスタは信号線
1713上に信号HLASTBYTAを出力する。この信号はドライバ1900
に入力され、このドライバ信号は)JO(4,ASTBYTを出力し、この信号
は最後のバイトが伝送されたことを示す信号として、信号線1933を介してI
P1112に送られる。
PLA1700は、BPBUFMEMバスからの1バイトのデータをCDBPB
USへ転送するために、信号HMREGBを出力する。この信号はCLKIのク
ロックタイミングによりラッチ1708にラッチされ、NAND1720の1人
力をイネーブルとする。CLKlのクロックタイミングでクロックパルスはNA
NDを通り、HENAB2が信号線1701上に出力される。第16図において
、HENAB2はBPBUFMEMバスからのデータをレジスタ1624にクロ
ック入力する。
このレジスタの出力は信号線406上の信号LCOMPIが真であるため、圧縮
動作の間、連続的にイネーブルとされる。
前に述べたとおり、信号H3HIFTINIおよび5HIFTOUT1は、種々
のステートの間に生成される出力を決めるために、PLA1700および170
2に入力される。これらの信号はレジスタ1824からとり出される。信号LS
TARTAPEはこのレジスタ1人力に入力される。この信号は、コントローラ
118が圧縮動作の間にテープユニット114を起の結果出力はNAND182
6の出力を阻止し、NANDの出力はレジスタ1824の別の段に入力される。
NAND1826の出力が阻止されているとき、レジスタ1824にデータがと
り込まれ、このレジスタは出力信号HSHIFTOUT1を出力し、この信号は
信号線1825を介してPLA1700および1702に入力される。NAND
1826の出力は阻止されると、その結果、HSHIFTOUTIがいくつかの
所定の条件の下で出力される。その条件とは、FF1812がセットされている
ときに、lPE112からの確認信号HI PCDTOIPIACKが真である
とき、または、信号線1913上のHNOTEMPTYが偽であるとき、または
、NAND1808がイネーブルとされているときなどである。
NAND1808はHSHIFTINIの発生を制御する。
NAND 1826がイネーブルとされるか、または、HBCRDY若しくはH
NOTFULLが偽であるか、またはRDYAが真であれば、NAND1808
の出力は阻止され、その出力はレジスタ1824をセットする。このレジスタは
信号H3HIFTINIを出力し、この信号はPLA1700および1702に
入力される。
バッファコントロールの圧縮シーケンスステートステート0O
PLA1700および1702は、信号Hcoyrp 1が真となるまで、ステ
ートOOにとどまる。信号HNSO4〜OOは全て偽であり、レジスタ1704
により生成された現在のステート信号C3(04〜00)も、また全て、偽であ
る。HCOMPIが真となると、HNSOOがアクティブとなり、次のステート
は01となる。以下の説明において、特に説明はしないが、PLA1700およ
び1702は常に真でなければならない。
ステート0I
HSHIFTINIおよびHSHIFTOUTIが真であり、HD8TERMが
偽であるかぎり、ロジックはステートO1にとどまる。PLA1702はステー
ト01を繰り返すためにHNSOOをアクティブとする。
また、H3HI FT I N 1およびH3HLFTOUTlが真であり、か
つLMEMPTYが真であれば、ステート01が繰り返される。PLA1702
はステート01を繰り返すためにHNSOOを出力する。
HSHIFTINIが偽になると、そのことは、バッファチョッパ104が1バ
イトのデータをBPBUFMEMバス上に出力したこと、また、そのバイトがバ
ス上にあることを示すためにHBCRDYをたてたことを示している。第18図
において、HBCRDYはレジスタ1824内の1段をリセットするべくNAN
D1808を通り、その結果、H5HIFTINIは偽になる。これに応じて、
PLA7.700はHMWRをアクティブとし、そのバイトはBPBUFMEM
ノ′てスからバツファ工08へ書き込まれ、書込みカウンタはインクリメントさ
れる。PLA702はHRDYAをアクティブとし、そのバイトが受けとられた
ことを知らせるために、HOCRDYがバッファチョッパへ送り返される。PL
A1702はHNSOIをアクティブとし、論理ステートはステー)02へ進む
。
H3HIFTOUT1が真になれば、そのことは、バッファ108からIP11
12へ1バイトを転送する状況にあることを示している。PLA1700はHM
REGBをアクティブとし、その結果、HENAE2がバッファ108から読み
出された1バイトのデータをレジスタ1624へクロック入力するために出力さ
れ、その結果、そのデータバイトがCDBPBIJS126上に出力される。P
LA1702はHRDYBおよびH5ETRDYをアクティブとし、その結果、
読出しカウンタは信号線1707上の信号LRDADによりインクリメントされ
、そして、そのバイトがバス上に出力されていることを示すためにHOCCRD
Yが信号線1903を介してIP1112へ送られる。PLA1702はHNS
OlおよびHNSOOをアクティブとし、論理ステートは03へ進む。
バッファチョッパがHD8TERMを真にすると、それは圧縮動作の終わりを示
している。LMEMPTYが偽であれば、P2A1700はHLASTBYをア
クティブとし、IPIに最後のバイトが送られたことを知らせるために、HOC
L2は、HNSO2をアクティブとし、論理ステートはステート04へ進む。
ステート02
ステート02において、PLA1700はHMWRTをアクティブとし、その結
果、LMEQUALが真か、または偽かに従って、バッファステータスFF19
02および1904を制御するために、HCNTRWRが信号線1845上で真
になる。PLA1702はHNSOOをアクティブとし、論理ステートはステー
ト01へ進む。
ステート03
ステート03において、PLA1700はHMRDをアクティブとし、その結果
、LMEQUALが真か、または偽かに従い、バッファステータスFF1902
および1904を制御するために、HCNTRDが信号線1847上で真になる
。PLA1702はHNSOOをアクティブとし、論理ステートはステート01
へ進む。
ト04にとどまる。PLA1700はHLASTBYをアクティブとし、これに
より、HOCLASTBYTが信号線1933を介してIP1112へ送られ、
PLA1702はステート04を繰り返すためにHNSO2をアクティブとする
。
バッファ制御伸長論理回路
PLA1800と1802は伸長動作中のバッファ制御装置の状態のシーケンス
を決定する。PLA1802は次の状態信号HNSO4−00を発生し、これら
の信号はCLKlでレジスタ1830に入力される。これによって現在の状態信
号C304−00を発生し、これらの信号は論理回路の現在の状態を決めるため
にPLAに入力される。PLA1800と1802への他の入力信号には、FF
IQ4から出力され、バッファ108が空きでない場合に真となるLMEMPT
Yと、NAND2004から出力され、テープバッファ108から1バイトのデ
ータをBPBUFMEMバスに読出すのに適している条件のときの真となるLS
HIFTOUT2、及びNAND2002から出力され、1バイトのデータをB
PBUFMENバスからテープバッファにロードするのに適している条理のとき
に真となるLSHIFTIN2が含まれている。信号HI P I LASBY
TはIP1112によって発生され、最後のバイトがIPIからバッファ制御装
置に転送されてしまった時に、PLA1800及び1802に入力される。信号
HOCB KWDはレジスタ1824から出力される。このレジスタは、制御レ
ジスタ300がロードされて逆方向の伸長動作が指定された後、最初のCLKl
の初めに、この信号を発生する。
PLA1802は信号HMAENDを発生して、伸長動作の最後に到達したとい
うことをバッファチョッパ104に知らせる。この信号はレジスタ1830に入
力され、このレジスタ1830は、0R1822を通ってリード線l白03にH
OCENDを発生させる出力信号を出力する。このリード線1803は、前に説
明したように、バッファチョッパ回路に接続されている。
PLA1820は、バッファ制御装置が他のバイトをバッファ108からバッフ
ァチョッパに転送する容易ができていることをバッファチョッパ回路に知らせる
ために、信号HMARDMAを発生する。この信号はレジスタ1830に入力さ
れ、このレジスタ1830は、リード線1805を通ってバッファチョッパに転
送される信号HOCRDYを発生するために、0R1804を介して出力信号を
発生する。0R1804の出力はまた1806で反転され、信号LRDYAが得
られている。この信号はNAND2004に入力され、その結果、信号LSHI
FTOUT2が偽となる。NAND2004の出力はNAND2002の1つの
入力をイネーブルしており、NAND2002のもう一方の入力が真であれば、
NANDは信号LSHIFTIN2を発生し、この信号はリード線2003を介
してPLA1800と1802に入力される。
PLA1802は、リードカウンタ1602をインクリメントするためHMAR
DYBを発生する。このHMARDYBは0R1706を介してラッチ1708
に入力され、このラッチの出力&巳よって、NAND 1710がクロックパル
スを通過させて、リード線1707にLRDADを発生させ、バッファ読取りカ
ウンタ出力1602のカウントがインクリメントされるPLA1800はリード
線1835に信号HKENLDを発生し、バッファ読取りカウンタ1602をデ
クリメントする。
この信号はラッチ1708に入力され、このラッチの出力によって、NAND1
726がイネーブルされる。CLKIで、NANDはリード線1705にLLO
ADを発生し、バッファ読取りカウンタ1602をデクリメントする。
PLA1800は信号HMAWRTを発生し、バッファフルFF1902とバッ
ファエンプティFF1904を制御する。
この信号はレジスタ182oにクロックで入力され、このレジスタ1820はリ
ード線1845にHCNTRWRを発生するため、0R1814を介して出力信
号を発生する。第19図にJいて、コノ信号はANDI 906とNANDI
908に入力され、前に説明したように、FF1902をクロックすると共にF
F1904をセットする。
PLA1800は、バッファからの読取り中にFF1902と1904とを制御
するため、信号HMARDAを発生する。
この信号はレジスタ182oに入力され、このレジスタ182Oはリード線18
43に信号HMARDを発生する・この信号は0R1816を通過してFF18
18をCLK2でセットする・FFはリード線1847に信号HCNTRDを発
生し、この信号は、前に説明したように、FF1904をクロックすると共にN
AND1910をイネーブルする。
PLA1800は、IP工112から受け取った1バイトのデータをCDBPB
USl 26を介し7.<クリア□。85書き込むため、信号HMASTRDY
を発生t6.HMASTRDYはリード線1841を介してAND1914G、
:入力される。
もしFF1916がリセットされていれば、これによりAND1914がイネー
ブルされ、リード糸束1841のがANDを通過してCLKlでFF1918を
セットする。FF(7)出力にょって、NAND1920の1つの入力がイネー
ブルされる。NANDの第2人力は、FF1916の出力によってイネーブルさ
れる。もしリード線140の信号HIPITOCDRDYが真であれば、IP1
112が1バイトのデータをCDBPBUS126に出力したことを示し、NA
ND1920は出力信号を発生し、この信号は1922で反転され、リード線1
927のHLDREGIを真にする。第16図において、この信号は、CDBP
BUSl 26からのデータをレジスタ1626に格納させる。NAND192
0の出力はFF1924をセットし、FFの出力はドライバ19oOを通過して
リード線142に信号HOCDACKを発生させる。この信号は、CDBPBU
S126上のバイトが受け入れられたことの確認として、IP1112に戻され
る。これに応答して、IP1112はリード線140の信号を立ち下げて、FF
1924をクリアする。
NAND1920の出力はまた、FF1916をセットし、その結果FFからの
出力は、NAND1920とAND1914を閉じるようにしている。次のCL
Klで、FF1918がリセットされ、CLK2でクロックパルスがNAND1
926を通過して、FF1916をクリアする。FF1716がリセットされる
と、リード線1929(7)信号HBUFAVAILBは真になる。第20図に
おいて、この信号によってNAND2002がイネーブルされ、この信号によっ
てNAND2002がイネーブルされ、LSHIFTIN2は真となることがで
きる。
第18図において、信号HMASTRDYはまたレジスタ1820にクロックで
入力され、レジスタ1820はリード線1803に信号HLATENを発生する
。第20図において、この信号によって、NAND2002のオン入力がイネー
ブルされる。
PLA1800は、1バイトのデータをCD5BPBUSからテープバッファの
書き込むため、信号HMAWRを発生する。この信号はリード線1833に出力
され、0R1712を通してHBWRとLWRABを発生すると共に、FF l
716をセットする。L W RA BはMUX1606をアドレスし、バッ
ファ108をアドレスするために書き込みカウンタ1600の出力を選択する。
FF1716によって発生された信号l0CWRはドライバ2000に入力され
、0R2008の出力で信号HPROCRWが偽となる。第16図において、こ
の信号によって、書き込みのためにバッファがイネーブルされる。前に説明した
ように、リード線313のHCOMPRESSENは真であり、したがってリー
ド線2103のHDRIVENDを偽とし、これによって、ドライバ1610が
バッファにアドレスを出力し、ドライバ1614によりこのデニタをBPBUF
MEMバスからバッファに出力することが可能になる。
信号HBWRはレジスタ1820に入力され、リード線1801上に信号HOC
AWRを発生する。この信号は、AND 1310に入力されるが、HCOMP
lが偽であるため、伸長動作の期間中は影響されない。
PLA1800は、書込みカウンタ1600の内容を読出してカウンタ1602
に転送し、書き込みカウンタをクリアするために、信号HMAREGBを発生す
る。この信号は、CLKlによってレジスタ1820に入力され、このレジスタ
は2つのNAND1840と1842イネーブルにする出力信号を発生する。C
LK2で、NAND1840ばリード線1811に信号LDWNCNTを発生し
、第16図において、この信号は、読取りカウンタ1602に書き込みカウンタ
1600からの出力をロードする。CLK3で、NAND1842はリード線1
809に信号LDWNCNT2を発生し、この信号は書き込みカウンタ1600
に全てゼロをロードすることによって、カウンタをクリアする。
PLA1800は、レジスタ1626から1バイトのデータをBPBUFMEM
バスにゲートするため、信号HMAREGAを発生する。この信号はCLKlに
よってレジスタ1820に入力され、このレジスタの出力は、1844で反転さ
れてLENAB 1となる。第16図では、この信号によって、レジスタ162
6の出力がイネーブルされ、BPBUFMEMバスに送られる。
バッファ制御伸長論理ステート
ステートOO
リード線315上の信号HCOMP2が偽である限り、PLA1800と180
2は出力信号を発生せず、論理回路はステートOOのままである。HCOMP2
が真になると、伸長動作が開始され、HCOMP2は伸長動作中、真のままでな
ければならない。HCOMP2が真になると、PLA1800は、前に説明した
ように、HMASTRDYによって、バッファ108に書込むために論理回路を
セットする。PLA1802は、HNSO3をアクチブにして、論理回路をステ
ート08に進める。
ステート08
ステート08は通常或は逆方向の伸長が行われかどうかを決定する。もしリード
線1823上のHOCBKWDが真であって、逆方向の読取りが指示されると、
PLA1800はHMAsTRDYを真にし、一方PLA1802はHNSO4
と)INSOOを真にして、逆方向の伸長を実行するため、ステート11にジャ
ンプする。
もしHOCBKWDが偽であれば、PLA1800はHMASTRDYを真にし
、PLA1802はHNSOを真にして、ステート01に進み、通常の伸長を実
行する。
ステー)−01
1P1112がバッファ108に1バイ゛トのデータを書き込む準備ができてい
るという信号を出すか、バッファチョッパ104がバッファ108から読み込ま
れたもう一方のワードを入力する準備ができているという信号を出すか、または
バッファが空きであって、IPIが最後のパイ、トを転送してしまったという信
号を出す迄、論理はステート01でウェイトする。論理回路はこれらの条件の1
つが発生するのを待っている間、PLA1800はHMASTRDYをアクティ
ブにし、一方、PLA1802はHNSOOをアクティブにして、このステート
を繰返す。
もしIPIが1バイトのデータをCDBPBUSに送り、リード線140のHI
PITOCDRDYを立ち上げると、この信号によってHLDREGIがリー
ド線1927上で真となり、そのデータをレジスタ1626に入力する。第19
図では、IPITOCDRDYによって、リード線1929のHBtJFAVA
ILBが真となり、第20図では、この信号によってNAND2002がLSI
IFTIN2を真にする。LSHIF’rIN2が真になると、PLA1800
はHMA RE GAアクティブにして、LENAB 1によってレジスタ16
26からのデータがバッファにゲートされる。PLA1800はまたHMAWR
をアクティブにして、そのデータをバッファ108にiF込む。PLA1802
はHNSOIをアクティブにして論理回路はステート02に進む。バッファチョ
ッパが1バイトのデータを受け取る準備を完了していると、H′F3CRDYを
立ち上げ、第20図では、これによってNAND2004がLSHIFTO1J
T2を発生する。この信号に応答して、PLA1800がHMASTDYを真に
し、PLA180.2がHMA RDYBSHMARDYA、HNSOOおよび
HNSOIを真にし、バッファ108からBPBUFMEMバスに1バイト読み
出す。そして、リードIll 805(73HOCRDYを立ち上げてバッファ
チョッパに、このバイトがバス上にあることを知らせ、ロジックをステートO’
3に進める。
IPI 112がリード線153上の信号HLASTBYTを立ち上げると、レ
ジスタ1710に入力され、信号HIPILASBYTAがPIA1800と1
802に入力される。もしバッファが空き(リード線1915のLMEMPTY
が偽)であれば、PLA1800はHMARDAをアクティブにし、一方、PL
A1802によってHMAENDとHNSO2がアクティブとなり、HOCEN
Dをリード線1803を介してバッファチョッパに転送し、論理回路をステート
04に進める。区テートO2
バッファチョッパは、ステー ト02と03との間で交互に切替わり、交互にテ
ープバッファからの1バイトのデータをバッファチョッパに読出すか、IP11
12からの1バイトのデータをテープバッファに書き込んでいる。もし条件が交
互に動作を行う準備と整えていなければ、論理回路はアイドルステート01に戻
る。
ステー)−02において、LSIIFTOUT’2が真であれば、PLA180
0と1802はHMASTRDY、HMAWRT、HMARDYB及びHMAR
DYAを出力し、バッファからの1バイトを読み取ると共に、リード線1805
のHOCRDYにより、そのバイトがBPBUFMEMバス上にあることをバッ
ファチョッパに知らせる。PLA1802はHNSOIとHNSOOをアクティ
ブにして、論理回路をステート03に進める。
LSHIFTOUT2が偽であれば、PLA1800はHMA S T R’D
YとHMAREGBを依然として発生するが、PLA1802はHNSOOの
みを発生して、論理回路をステートLSHIFTIN2が真であれば、PLA1
800はHMAREGA%HMARWおよびHMARDAをアクティブにして、
CPDBUSからのデータのバイトをバッファ108に書き込む。PLA180
2はHNSOIをアクティブにしてステート02に進む。
LSHIFTIN2が偽であれば、PLA1800はHMASTRDYとMAR
DAをアクティブにする。これらの信号によって、リード線140のHI PI
TOCDRDYがサンプリングされ、フルおよびエンプティFF1902と19
04のステートが、読出し及び書込みカウンタ1600と1602のカウントが
等しいかどうか、即ちリード線1601のLMEQUALが真であるかどうかに
よって調節される。PL、AはHNSooをアクティブにして、論理回路をステ
ート01に進める。
ステート04
ステート04は、通常の伸長動作の最終のステートである。
一度論理回路がこのステートに入ると、HCOMP2が真である限り、そ、こに
止まる。PLA1802はHNSO2を真にして、このステートを繰返す。そし
てHMAENDを真にし、HCENDがバッファチョッパに送られる。
ステート11
ステート11はステート01から入り、逆方向の読取り動作のためのみのもので
ある。論理回路は、HIPILASBYTとLSHIFTIN2が偽である限り
、ステート11に止まる。PLA1800はHMASTRDYを真にし、一方、
PLA1802はHNSO4とHN’ S OOを真にして。このステートを繰
り返す。
LSIFTIN2が真になると、PLA1800はHMA REGAとHMAW
Rをアクティブにし、IPIからのデータをバッファに書き込む。PLA180
2はHNSO4とHNSOlをアクティブにしてステート12に進む。
論理回路は、ステート11からステート12に移動し、またステート11に戻り
、各ループでIP1112からバッファ108に1バイトのデータ2をロードし
、書き込みカウンタ1600をインクリメントする。この動作は、データの全ブ
ロックがバッファにロードされてしまう迄継続される。IPIが最後のバイトを
転送し終わると、これはリード線i53の信号HLASTBYTを立ち上げる。
こうして、レジスタ1710ばPLA1800とPLA1802にHIPILA
STBYTを入力する。もしLSHIFTIN2が偽であれば、PLA1800
はHMAREGBをアクティブにして、書込みカウンタ1602のカウント値を
読取りカウンタ1602に転送し、書込みカウンタをリセットする。PLA18
02は、HMARDYA、HNSO4、HNSO3及びHNSOOをアクティブ
にして、HOCRDY信号をバッファチョッパに転送して、論理回路をステート
19に進める。
ステート12
ステート12では、PLA1800はHMASTRDYとHMAWRTをアクテ
ィブにし、一方、PLA1802は、HNSO4とHNSOOをアクティブにし
て、ステート11に戻る。
ステート19
ステート19では、PLA1802はHKENLDを発生して、リード線170
5の信号LLOADは、読取りカウンタのカウント値をデクリメントする。PL
A1802はHNSO4、HNSO2及びHNSOIをアクティブにして、論理
回路をステート16に進める。
ステート16
論理回路は、バッファがエンプティ(LMEMPTYが真)でな(、LSHI
FTOUT2が偽である限り、ステート16に留まる。PLA1800は出力を
アクティブにせず、PLA1802はHNSO4、HNSO2及びHNSOIを
アクティブにして、ステート16を繰り返す。
LSHIFTOUT2が真になると(バッファチョッパはHBCRDYをNAN
D2004に転送する)、PLA1800はHMARDAをアクティブにしてバ
ッファステートFF1902と1904を制御する。PLA1802はHMAR
DYAをアクティブにし、バッファから読出されたバイトがBPBUFMEMバ
スで使用可能であるという信号として、HOCRDYをバッファチョッパに転送
する。PLA1802はHNSO4、HNSO2、HNSOI及びHNSOOを
アクティブにして、論理回路をステート16に進める。
論理回路はステート16からステート17に繰り返して移動し、ステート16に
戻る。ステート16と17が実行される毎に、1バイトがテープバッファ108
からチャネルチョッパ104に転送され、読取りカウンタ内のカウント値がデク
リメントされる。最後のバイトが転送されてじまうと、読取りカウンタのカウン
ト値はゼロになっている。こうして、ステート11でリセットされた書込みカウ
ンタ1600のカウントと等しくなり、比較器1620がリード線1601のL
MEQIJALを真にする。最後のバイトが転送されると、この信号によってF
F1904がリセットされ、信号LMEMPTYが偽になる。
LMEMPTYが偽になると、PLA1800は出力をアクティブにせず、PL
A1802はHN S O’2をアクティブにして、論理回路は最後のステート
04に進む。
ステート17
ステート17では、PLA1800はHKENLDをアクティブにして、読取り
カウンタ1602をデクリメントする。PLA1802はHNSO4、HNSO
2及びHNSOIをアクティブにして、論理回路をステート16に進める。
逆方向の読取り回路
逆方向の読取り動作の間、テープ装置104は、記録されたのと反対の方向に情
報を読取っている。各バイトはIPI l 12に転送され、1バイト内のビッ
トが従来の方法で反転される。それからデータバイトは、CDBPBUSI 2
6、テープバッファ制御装置106のレジスタ1626、及びBPBUFMEM
バス1305を介して転送され、テープバッファ108に入力される。データの
全ブロックは、伸長が開始される前にテープバッファに書き込まれる。伸長が開
始されると、データのバイトは、テープバッファから、これがここに書き込まれ
たのと逆の順序で読出され、BPBUFMEMバスを介してバッファチョッパ1
04に転送される。バッファチョッパ104は、このデータを12ビツトのワー
ドに変形し、CD制御装置102に送る。伸長は通常の方法で行われ、その結果
得られた9ビツトのワードは、チャネルチョッパ100に転送され、ここでこれ
らは8ビツトのバイトに変換され、各バイトのパリティビットが作成される。そ
れから、各バイトが逆方向の読取りしIFO116に書き込まれ、データの全ブ
ロックがLIFOに読み込まれた後、これはチャンネルバッファ110を介して
、LIFOからチャンネルデータバス122に逆の順序で読出される。
第21図は、逆方向の読取りLIFO2100を示し、第22図及び23図は、
LIFOを制御し、LIFOに書込みを行っている間にチャネルチョッパとハン
ドシェークを行い、LIFOからこのチャネルへの読取りを行っている間にチャ
ネルバッファ110とハンドシェークを行う論理回路を示す。第21図乃至23
図の回路は、記録装置114が圧縮されたデータを、これが記録されたのと反対
の方向に読出することができる場合にのみ必要であることが理解できるであろう
。
第21図において、LIFO2100には、セレクタ2104に接続された出力
を有するアップ/ダウンアドレスカウンタ2102が設けられている。このセレ
クタは逆方向の読取りの伸長の期間中、リード線2325のHLIFENABに
よって連続的にアドレスされ、その結果、カウンタの出力(ビット0−13)が
1組のドライバ2106に入力される。2つのアドレスビット15と16が、ア
ドレスイネーブルデコーダ2108、チップイネーブルデコーダ2110、及び
書込みイネーブルデコーダ2112に入力される。読取りまたは書込み動作の間
、デコーダ2108はドライバ2106を選択的にイネーブルするための出力信
号を発生し、これらドライバの出力信号けLIFO2100のアドレス入力に入
力される。
読取りまたは書込み動作の間、デコーダ2110は選択的にチップイネーブル信
号を発生して、LIFOのメモリチップをイネーブルする。書込み動作の間、デ
コーダ2112はLWE信号を偽にして、L、IFOに書込みを行う。このLW
E信号は読取りの間は偽である。
データは、チャネルチョッパlOOからLIFO2100に入力され、チャネル
チョッパは、そのデータをFIFBPDBUS155に出力し、このデータは1
組のドライバ2114を介してLIFOに転送される。LIFOのデータは、1
組のドライバ2116を介して、チャネルデータバスに読出される。
コントローラは、BPDBUS130を介して、逆方向の読取り回路に命令を送
ることができる。コントローラは信号LUPBRBDSELとLLDSを真にし
、HPROCRDを偽にしてデコーダ2200をイネーブルし、PROCADB
USのビット位置02と01にアドレスを出力する。アドレスビットが11であ
れば、これらのビットがトグルされるので、逆方向の伸長回路がクリアされる。
デコーダは信号を発生し、これは生する。制御レジスタ300のリセットビット
がトグルされて、リード線311にHCLRが出力されると、これらの回路がク
リアされる。この信号は、0R2224と0R2204を通過して、LBRCL
Rを発生する。
LBRCLRはFF2206とFF2216をセットし、FF2210、FF2
212、FF2214、FF2308、FF2312、FF2314、FF23
16及びシフトレジスタ2208をクリアする。FF2206がセットされると
、その出力信号LLIFWTENABがリード線2203で真になる。第21図
では、この信号によってドライバ2114がイネーブルされ、FI FBPDB
US]、55に出力されたデータがドライバを介してLIFO2100に加えら
れる。FF2216がセットされると、これは信号HCOUNTUPを発生し、
この信号によって、NAND2220がイネーブルされ、またアドレスカウンタ
2102がイネーブルされて、クロックがが入力される毎にカウントアツプされ
る。
FF2216はまた、信号L COU N T U Pを発生し、これは0R2
22を通過して、リード線225上にLEWを発生する。
第21図では、LEWによってデーコーダ2112がイネーブルされ、書込み可
能信号をLIFO2100に入力する。LCOUNUPが真の場合、シフト・レ
ジスタ2208のデータ入力にゼロ信号を与えるため、レジスタからのアクティ
ブ出力は存在しな(なる。
デコーダ2200に戻って、アドレス・ビットをOOにすることによって逆方向
伸長回路が逆方向の伸長を行なうためにイネーブルされ、その結果、デコーダは
リード線2209に信号LCLKCONTを出力する。第23図において、LC
LKCONTがトグルされると、BPDBtJSからのビットOOと01とがレ
ジスタ2300にクロックされる。ビット01はトグルされ、レード線2327
にHCLRADRENを発生する。
第21図において、この信号によってアドレス・カウンタ2102がゼロにリセ
ットされる。ビットOOは、逆方向の伸長が開始される前に、レジスタ2300
のステージ0をセットするために真にされなければならない。レジスタのこのス
テージは逆方向の伸長動作中セットされたままで、信号HLIFENABを真に
している。HLIFENABは、N0R2304の1つの入力をイネーブルする
と共に、N0R2304を通してリード線2351にLEAを発生させている。
第21図においされる。HLIFENABはまた、FF2206とFF2216
に入力されるが、この信号が真である限りこれらのFFをクリアしない。HLI
FENABは2320で反転されて、LLIFENABを発生し、第21図にお
いて、この信号はドライバ2116をイネーブルにして、LIFO2100から
読み出されたデータをドライバを介してチャネル・データ・バスに転送すること
ができる。第23図においてLLIFENABによってドライバ2310がイネ
ーブルされる。
チャネル・チョッパ100によってデータの第1バイトがFI FBPDBUS
155に与えられ、リード線611上の信号HRDYが立上がる点迄、逆方向
の伸長が進んだものと仮定する。第22図において、HRDYがFF2210を
、クロックしてセットする。HRDYはまたNAND2220を通ってリード線
2215にHCDRDYOOを発生すると共にディレィ線2226にパルスを出
力して、20nsのタイミング信号HCDRDY20、HCDRDY40、HC
DRDY60及びHCDRDY80を連続して発生させている。
第23図において、HCDRDYOOはFF2316をクロックしてセットし、
LLI FWTSTRBがリード線2309上で真になる。この信号は0R23
30を通過してLECを真にする。第21図において、LECがデコーダ211
0をイネーブルして、チップ・イネーブル信号をLIFO2100に出力し、F
I FBPDBUSl 55上のデータのバイトがLIFO2100に書き込ま
れる。
信号HCDRDY20が2332で反転されて、NAND2334を閉じる。N
AND2334の出力は0R2336に入力され、LBRCLRは偽であるから
、0R2336からFF2338への出力はハイレベルである。HCDRDY4
0はNAND2334に入力される。HCDRDYが真になると、HCDRDY
20は偽になり、NANDは0R2336を通して出力を発生し、FF2338
をクリアする。
HCDRDY60はNAND2340に入力され、HCDRDY80は2342
で反転され、NAND2340の第2人力に入力される。NAND2340の出
力は、HCDRDY60が真になったときからHCDRDY80が真になるまで
の間、ロウレベルである。NAND2340の出力はN0R2344を通過して
FF2316をリセットし、書き込みストローブ信号LLIFWTSTRBを立
ち上げる。NAND2340の出力はまた、FF2338をクロックしてセット
し、信号HBPBUSTOFIFACKがリード線157を介してチャネル・チ
ョッパ100に戻される。これにより、FIFBPDBUS155のバイトが受
け取られたことが示される。NAND2340の出力は信号LENDWTであり
、リード線2311を通して出力され、0R2118を通してアドレス・カウン
タ2102をクロックして、インクリメントしている。
前述したサイクルは、チャネル・チョッパ100が1バイトのデータをFIFB
PDBUS155に与え、リード線157の信号FRDY立上がるごとに繰り返
される。データのブロック全体がLIFO2100に書き込まれた後、チャネル
・チョッパ100はリード!!615の信号HFIFLASSYを立ち上げて、
最後のバイトが転送されてしまったことを示す。この時、伸長されたデータ・ブ
ロックはLIFO2100に含まれており、通常の順序でこの中に書き込まれる
。HFIFLASSYが真になると、これらの回路はデータをLIFO2100
から、これらがそこに書き込まれたのと逆の順序で読み取るために動作し、これ
によって逆の順序でチャネルに伸長されたデータを供給する。
第22図において、HFIFLASSYはFF2206をクロックおよびリセッ
トして、LLIFWTENABを立ち上げる。これによってドライバ2114の
出力を禁止する。HFIFLASSYはまたFF2216をブロックする。FF
2210は最初のHRDY信号以降セットされたままであるから、その出力によ
ってFF2216はこれがクロックされた時にリセットされる。これによってL
EWが終了し、デコーダ2112は書込み可能信号をLIFO2100に出力し
なくなる。従って、LIFOはチャネルに対してデータを読出す準備を整える。
FF2216がリセットされると、信号HCOUNTUPが偽になり、第21図
において、これによりアドレス・カウンタ2102がイネーブルされ、クロック
される毎にデクリメントされる。また、リード線2207上の信号LCOUNT
UPが偽になる。これによってFF2314がクロックおよびセットされ、ハイ
レベルの信号がシフト・レジスタ2208のデータ入力に供給される。
シフト・レジスタは20MHzのクロック・パルスによってシフトされ、読取り
動作のためのタイミング・パルスを発生する。シフト・レジスタの出力2はNA
ND2220に入力され、出力3は2230で反転されて、NAND2220の
第2入力端子に入力される。出力2がハイレベルであり、出力3がロウレベルで
あると、NANDがイネーブルされて信号を発生し、この信号は0R2218と
0R2118を通ってカウンタ2102をクロックおよびデクリメントする。
シフト・レジスタ2208の出力3が真になると、リード線2225の信号HE
NDLIFRDCEがNAND2302と0R2330を通過してLECとなる
。第21図において、デコーダ2110はLECによってイネーブルされてチッ
プ・イネーブル信号を発生し、その結果、カウンタ2102によって特定された
LIFOアドレスが、ドライバ2116を介してLIFOからチャネル・データ
・バスに読出される。
シフトレジスタ2208の出力4が真になると、リード線2227の信号HDE
CODEDONEがAND2350を通過して、リード線2333にHBRCH
ACKOOを発生する。
この信号は2352で反転され、リード線2331にHCLKLIFEMPTY
を発生する。HDECODEDONEはまた2352で反転され、AND235
4と0R2118を通過して、カウンタ2102のクロック入力なロウレベルに
する。
リード線2333のHBRCHACKOOが真になると、信号はAND2356
を通過してFF2308をクロックし、LIF02100が空きでないと仮定す
ると、リード線2235の信号LLIFMTが偽になる。FF2308はセット
され、リード線2301に信号HLI FTOCHRDYを再び発生する。この
信号はAND2358を通過して、リード線2355にHBRCOMRDYを発
生する。
HLIFOTOCHRDYはFF2212をクロックする。
アドレス・カウンタ2102の値がゼロのとき、このアドレスカウンタはリード
線2101に信号LLIFADDRTCを発生する。このLLIFADDRTC
は2332で反転され、FF2212のデータ入力端子に入力される。LIFO
が空きでないと仮定する、即ち、アドレス・カウンタめ値がゼロでないと仮定す
れば、FF2212はクロックによってその状態が変化せず、リセットされたま
まとなる・
信号HBRCOMRDYはリード線2355を介して伝送され、データがチャネ
ル・データ・バスで使用可能であることを示す。そこで、逆方向の読取り回路は
、チャネル・バッファがデータを受け取り、信号HDINXTBWRDをリード
線149で立上がるのを待つ。読取り回路がチャネル・バッファがデータを受け
入れるのを待っている間、シフト・レジスタ2208は信号HENDLIFRD
CEを連続的に発生して、LIFO内のアドレスされたロケーションを読出して
いる。そのレジスタはまた、連続して信号HDECODEDONEを発生する。
これにより、アドレス・カウンタ2102のクロック入力はLCNTCLK2に
よってロウレベルに保持される。
チャネル・バッファがデータを受入れ、リード線149上の信号を立ち上げると
、この信号は2360で反転され、AND2350の出力をブロックする。信号
HCLKLIFEMPTYはリード線2331上で真になると、FF2214を
クロックする。FF2212はセットされていなかったから、FF2214はリ
セットされたままである。インバータ2360の出力は、リード線2319上の
信号LBRACKである。この信号が真になると、これは0R2364を通過し
てFF2308をクリアし、HBRCOMRDYを立ち下げる。これに応答して
、チャネル・バッファはリード線149の信号HD I NXTBWRDを立ち
下げる。
LBRACKが真である間、FF2312をセットし、AND2354の出力の
信号LCNTCLK2はハイレベルとなってアドレス・カウンタ2102をクロ
ックすると共にデクリメントする。LBRACKが偽になると、FF2312は
次の20MHzのクロック・パルスによ4つて再びリセットされる。
チャネル・バッファがリード線149のHDINXTBWRDを立ち下げるや否
や、AND2350は再びイネーブルされて、HBRCHACKが再びFF23
08をセットし、その結果、HBRCOMRDYはチャネル・バッファに転送さ
れて、より多(のデータがチャネル・データ・バスにあることを示す。
カウンタが空きでない限り、このサイクルが繰り返される。
即ち、LIFOがチャネル・データ・バスに読出され、アドレス・カウンタはL
CONTCLK2によってデクリメントされる。データがバス上に存在している
と、HDRCOMRDYはチャネル・バッファに転送される。チャネル・バッフ
ァがデータを受入れると、HDINXTBWRDが立ち上げられてHBRCOM
RYを立ち下げ、このサイクルが繰りされる。これは、最後のバイトを除く全て
のデータのブロックがLIFO2100からチャネル・バッファに転送されてし
まう迄継続される。この時、アドレス・カウンタ2102の値はゼロとなってい
る。FF2308がセットされると、リード線2301のHLIFTOCHRD
Yは、FF2212をブo’7りすると共にセットする。チャネル・バッファが
データの最後のバイトを受入れて、リード線149上のHDINXTBWRDを
立ち上げた後、HCLKLI FEMPTYはリード線2331で真になる。こ
のことによって、FF2214がクロックされ、FF2212はセットされてい
たので、FF2214がセットされる。リード線2235のり、LIFOMTは
真となり、第23図において、この信号は、もし更に多くのデータを転送しよう
とすると、FF2308がリセットされることを保証する。リード線2235の
信号LLIFOMTは、状態レジスタ(図示せず)をセットすることができるが
、このレジスタは逆方向の読出し動作が完了したと判定するために、コントロー
ラ118によって読出されてもよい。
データ圧縮の開始
第1A図を参照して、チャネル122に接続された装置が、1ブロツクのデータ
をテープ装置114に書込もうとすると、この装置はブロック・サイズを表す値
をチャネルとBPDバス130を介して、コントローラ118に転送する。そし
て、この装置は書込み命令をそのコントローラに出力する。これに応答して、コ
ントローラは信号LUPCDBDSELとLLDSを発生し、これらの信号は第
20図においてAND2020に入力される。このANDの出力によって、AN
D2022の一方の入力がイネーブルされる。コントローラは信号HPROCR
Dを偽にし、その結果、AND2022によってデコーダ2024がイネ−フル
にされる。コントローラはプロセッサ・アドレス・バスのビット01と02にゼ
ロをセットすると、デコーダ2024はリード線2011上に信号LOC5EL
WROを発生する。第3図において、この信号によって制御ワードが、コントロ
ーラ118から制御レジスタ300にクロックされる。BPDBUSを介してコ
ントローラより出力された制御ワードによってレジスタがセットされると、第3
図の回路は信号HCOMPRESSENとHCOMPを発生する。信号H3TE
Nは偽である。これらの信号によって、チャネル・チョッパ100.C/Dコン
トローラ102、バッファ・チョッパ104及びテープ・バッファコントローラ
106がイネーブルされ、前述したようにして、圧縮動作が実行される。
この装置はチャネル・データ・バス122を介し、チャネル・バッファ110を
通してチャネル・チョッパ100ヘデータを送り始める。圧縮回路はデータを圧
縮し、これはテ・−ブ・バッファ108に格納される。一方、コントローラ11
8は、条件が下記の下式(1)によって満足されているかどうかを判定するため
、プログラムを繰返して実行する。
等式(1) QO+ (RT)(TS)−RC=コンプレッサ入力のデータ速度
;RT=出力装置のデータ速度;
TS=出力装置が速度に達するまでに要する時間;IB=データブロックのサイ
ズ;
IO=出力装置を開始する前に圧縮器によって処理される入力バイトの数;
QO=出力装置を開始する前に圧縮器によって発生される出力バイトの数:およ
び
CT=公式を使用して、テープのスタートに続いてなされる最大圧縮をセットす
る設計パラメータ。
上式において、CTはこれが設計者の制卸することのできる唯一の変数であると
いう点で重要である。CTの選択は、圧縮器の性能とテープ書込み性能との間の
二者択一を設計者が設定する手段である。CTよりも高い圧縮は、CTあるいは
それ以下に抑えられる。もしCTが高くセットされ、例えば10にセットされる
と、スタートアップに続いて10対1の圧縮が達成されるが、スタートアップは
書込み毎に遅(なる。このことはテープの性能、特に圧縮率の低いブロックにイ
ンパクトを与える。一方、もしCTが低(セットされ、例えば2にセットされる
と、これによってテープのスタートアップはより速(なるが、テープのスタート
アップに続いて行われる圧縮を2対1に制御する。このため、高い圧縮ポテンシ
ャルを有するブロックを圧縮するのにインパクトを与える。clがスタートに続
く圧縮であり、この圧縮が理屈にかなった統一性を有しているものであれば、等
式(1)においてCT=C1と設定することによって、最大圧縮と全ての動作を
行うのに必要な合計時間を最小にするスタート時間を発生することができる。C
T=C1であれば、圧縮とその実施の両方が最適化されていることを意味する。
C1は前もって分らないから、設計者は、もしCI CTであれば、圧縮がせい
ぜいCTに制限されるが、その実施は最適となり、一方、CI CTであれば圧
縮は最適となるが実施が最適にならないということを知ってCTを設定する。C
Tは一定の値にセットされてもよいし、または他の既知の数量または測定可能な
量としてもよい。例えば、CTはブロック・サイズ(I B)の関数であっても
よく、その結果、ペイオフのより大きなブロックで高い圧縮を達成することがで
きる。CTはまた、以前に動作させたことのある同一または類似の応用で発生し
たスロットルの量を研究して、これにもとずいて設定してもよい。以前に説明し
たスロットル・キャラクタを作成することにより、分析のためにスロットルの量
が容易に入手可能となる。CTは、また書込まれているデータの用途にもとすい
て設定されてもよい。例えば、1度書込まれれば恐ら(決して読出されない(即
ち、ファイルのバックアップ)のような場合には、CTは圧縮以上にその実施を
最適化するように設定しなければならない。一方、1度書込まれると多くの回数
読出されるデータの場合には、CTは圧縮をより高度に最適化するように設定し
なければならない。
等式(1)によって特定された条件が満足されるかどうかを判定するため、コン
トローラ118はサブルーチンを実行し、与えられた時間間隔で、チャネルから
圧縮システムに転送されるデータのバイト数をカウントする。これによって、圧
縮器の入力データの速度RCが得られる。
テープのスタートの前に圧縮器によって処理される入力バイトの数(10)を決
定するため、コントローラは圧縮されたデータをテープ・バッファ108へ書込
むのを制御する書込みカウンタ1600を読出す。コントローラは、信号LUP
CDBDSEL、LLDS及びHPROCRDを真にする。LLDSとL U
P CD B D S E Lは、AND2020をイネーブルにし、その出力
はAND2026の一方の入力をイネーブルにする。HPROCRDは2028
で反転されて、AND2026をイネーブルにする。これにより、そのANDは
出力信号を発生してデコーダ2030をイネーブルにする。コントローラはプロ
セッサ・アドレス・バスのビット1をハイレベルにすると、デコーダ2030は
リード線2015に信号H5ELRD1を発生する。第16図において、ドライ
バ1064はH3ELRD1によってイネーブルにされると、書込みカウンタ1
600の出力がBPDBUS130を通って、コントローラ118に送られる。
コントローラ118は、カウンタ1630の出力を検出することによって値QO
を得る。このカウンタは、チャネル・チョップ100がチャネルからもう一方の
データバイトを受取る毎にインクリメントされる。第20図において、コントロ
ーラは、プロセッサ・アドレス・ビット02が真であり、ビット01が偽である
ことを除いて、書込みカウンタ1600の出力を読取る場合と同じ信号を出力す
る。従って、デコーダはリード線2017に信号LSELRD2を発生し、この
信号によってドライバ1632がイネーブルにされると、カウンタ1630の内
容はBPDBUS130を介してコントローラに転送される。RT、TS及びC
Tの値は既知であるから、等式(1)の右辺は、PROMのルックアップテーブ
ルのよって実現される。データ・ブロックのサイズIBは書込み命令の前にチャ
ネルからコントローラに転送されるから、等式(1)の左辺はよりから工0を引
(ことによって実行することができる。こうして、ルックアップテーブルの値と
IBとIOとの差との間で比較が行われる。
等式(1)の左辺が、この等式の右辺に等しいか、あるいはそれ以下の場合、コ
ントローラは別の命令を制御レジスタ300に送って、信号H3TARTAPE
を真にする。この命令はまた、HCOMPRESSEN及びHCOMPを真にし
、H3TENを偽にする。5TARTAPEを制御レジスタ300に送る直前に
、コントローラ118はIPIに対してスタート・テープ命令を出力すると、テ
ープ装置114内でテープの動作が開始される。等式(1)の右辺は、より早く
処理するためにテーブルのルックアップの手順によって実行されることが望まし
いが、等大全体はまた一定である値、即ち記憶装置に格納されているRT、TS
、RCおよびCTを使用して一連の演算によって解くこともできる。
要約
上述の説明から、本発明は改良したデータ圧縮及び伸長システムを提供すること
が理解できるが、この場合の出力装置のスタートアップ時間は、サイクル時間の
合計とデータ圧縮の程度との間に最良のバランスが得られるように最適化される
。唯1つのストリング・テーブルを必要とする共通の回路によって、圧縮と伸長
の両方の動作が実行される。このシステムは各ストリング・テーブルの位置を、
周期的にアドレッシングして、クリアする必要をなくした新規な手段を含んでい
る。独創的なスロットル制御によって、テープ・アンダーランが差迫っている場
合に、書込み動作中にフィラー・キャラクタを発生する。第1A図を参照して、
バッファ・チョッパ100、圧縮/伸長コントローラ102およびバッファ・チ
ョッパ104は、VLSIC技術によって単一チップ上に実現できる。オプショ
ンとしてテープ・バッファコントローラ106とIP1112はこのチップ上に
実現できるが、IP1112がこのチップに含まれるならば、チップの用途に、
より大きな柔軟性を持たせるため、IPIの周囲にバイパスのオプションを設け
るべきである。
本発明の特定の好適な実施例を詳細に説明したが、説明した実施例では添付の特
許請求の範囲によって定められる本発明の精神と範囲から逸脱することなく種々
の変形と代替が可能であることが理解されるであろう。例えば、チャネル・チョ
ッパ100は8ビツトのバイトを9ビツトのバイトに変更しなくてもよく、この
システムは、チャネル・バッファ110から9ビツトのバイト(8ビツト+パリ
テイ)を受取り、チャネル・チョッパのPLAを変更することによって、9ビツ
トのバイトをチャネル122に出力するようにもできる。
排他的な財産権または特許権を請求している本発明の実施例は、下記の請求の範
囲により規定される。
国際調査報告
+e+u+vtna+^@l11+jull11響−10,PCT/υ5891
02365国際調査報告
US 8902365
SA 29244
0発 明 者 ギプソン ノ10ルド Jレイスチア ドライブ 428
Claims (13)
- 1.入力データキヤラクタを圧縮するデータ圧縮システムにおいて、 複数のアドレス可能な記憶空間を備えるテーブルであつて、夫々はプレフイツク スコード、ストリングコード及びサブブロツクカウントを記憶可能なストリング テーブルと、所定のカウントに達した時に出力信号を生成するストリングコード カウンタと、 ストリングコードが前記ストリングテーブルに書込まれる度に前記コードカウン タをインクリメントする手段と、サブブロツクカウンタと、 前記出力信号に応じて前記サブブロツクカウンタのカウントをインクリメントす る手段と、 入力データキヤラクタに応じて前記ストリングテーブルを順にアドレスし、該ア ドレスからプレフイツクスコード及びサブブロツクカウントを読出すアドレスハ ツシング手段と、前記ストリングテーブルから読出した各サブブロツクカウント と前記サブブロツクカウンタのカウントを比較し、それらが等しい時に比較信号 を出力する比較手段と、そして、前記比較手段に応じ、該比較手段が前記比較信 号を出力しない時のみ、前記サブブロツクカウンタのサブブロツクカウント、前 記コードカウンタのストリングコード及びプレフイツクスコードを前記ストリン グテーブルに書込む手段を備えることを特徴とするデータ圧縮システム。
- 2.前記コードカウンタの所定のカウントに応じて該コードカウンタをリセツト する手段を更に備えることを特徴とする請求項第1項記載のデータ圧縮システム 。
- 3.非圧縮データに応じ、可変レートで圧縮データを生成するデータ圧縮手段と 、 バツフアと、 前記圧縮データの生成レートとは異るレートで圧縮データを記録する記録手段と 、 前記データ圧縮手段で生成された圧縮データの前記バツフアヘの書込み、及び該 バツフアから前記記録手段への圧縮データの読出しを制御する制御手段を備え、 前記制御手段は、 前記バツフアが空の時はスロツトル信号を生成する手段と、 前記スロツトル信号に応じてスロツトルキヤラクタを生成し前記バツフアに書込 む手段を有することを特徴とするデータ圧縮システム。
- 4.前記データ圧縮手段は1回に1ワードの前記圧縮データを生成し、 前記制御手段は前記データを前記バツフアに個々に書込まれるバイトにチヨツピ ングするチヨツパ手段を有し、前記制御手段は前記スロツトル信号に応じ、該制 御手段によつて前記バツフアに書込まれるマルチバイトスロツトルキヤラクタを 発生することを特徴とする請求項第3項記載のデータ圧縮システム。
- 5.前記記録手段に対してスタート信号を発行する手段と、前記スタート信号に 応じて前記手段によるスロツトル信号の生成を付勢し、これによつて前記記録手 段のスタート後にのみ前記スロツトルキヤラクタが前記バツフアに書込まれるよ うにする手段を備えることを特徴とする請求項第3項記載のデータ圧縮システム 。
- 6.前記制御手段は、 第1及び第2のカウンタと、 前記バツフアに1バイトを書込む度に前記第1のカウンタをインクリメントする 手段と、 前記バツフアから1バイトを読出す度に前記第2のカウンタをインクリメントす る手段と、 夫々のカウンタのカウントを比較して一致する時はスロツトル信号を生成する比 較手段を有することを特徴とする請求項第4項記載のデータ圧縮システム。
- 7.入力の非圧縮データを圧縮し、又は圧縮データを伸張するデータ圧縮システ ムにおいて、 ストリングコード、プレフイツクスコード及びサブブロツクカウントを記憶する ストリングテーブルと、キヤラクタレジスタと、 コードレジスタと、 サブブロツクカウンタと、 ストリングコードカウンタと、 レングスカウンタと、 前記サブブロツクカウンタのカウントと前記ストリングテーブルから読出したサ ブブロツクカウントを比較して一致する時は第1の比較信号を出力する第1の比 較手段と、前記ストリングテーブル及び前記コードレジスタに応じ、前記ストリ ングテーブルから読出したプレフイツクスコードが前記コードレジスタのコード と一致する時は第2の比較信号を出力する第2の比較手段と、 各入力データキヤラクタを前記キヤラクタレジスタに入力する第3の手段と、 前記各入力データキヤラクタに応じて前記ストリングテーブルからストリングコ ード、プレフイツクスコード及びサブブロツクカウントを読出す第4の手段と、 前記第1及び第2の比較手段に応じて前記レングスカウンタをインクリメントし 、前記ストリングテーブルから読出したストリングコードを前記キヤラクタレジ スタに入力し、そして前記第3の手段による他の入力データキヤラクタの前記キ ヤラクタレジスタヘの入力を制御する第5の手段と、前記第1の比較手段に応じ 、かつ前記ストリングテーブルから読出したサブブロツクカウントが前記サブブ ロツクカウンタのカウントと一致しない時に付勢されて、前記サブブロツクカウ ンタ、前記コードレジスタ及び前記コードカウンタの内容を、前記ストリングテ ーブルに、夫々サブブロツクカウント、プレフイツクスコード及びストリングコ ードとして記憶する第6の手段を備え、 前記第6の手段は、前記レングスカウンタをリセツトし、前記コードカウンタを インクリメントし、そして前記ストリングテーブルから読出したサブブロツクカ ウントが前記サブブロツクカウンタのカウントと一致しない時は、前記キヤラク タレジスタの内容を前記コードレジスタに転送する手段を有することを特徴とす るデータ圧縮システム。
- 8.圧縮データをバイトにチヨツピングするバツフアチヨツパと、 前記コードレジスタ及び前記バツフアチヨツパに接続し、圧縮データを該バツフ アチヨツパに転送するバスと、そして、 前記第1の比較手段に応じて前記ストリングテーブルから読出したサブブロツク カウントが前記サブブロツクカウンタのカウントと一致しない時は、前記バツフ アチヨツパに信号を送り、圧縮データが前記バス上に存在すること示す手段を更 に備えることを特徴とする請求項第7項記載のデータ圧縮システム。
- 9.ストリングコードによつて表わされる入力の圧縮データを伸張するデータ圧 縮システムにおいて、コードカウンタと、 プレフイツクスコード及びエクステンシヨンキヤラクタを格納するアドレス可能 なストリングテーブルと、前記ストリングテーブルをアドレスするアドレスレジ スタと、 LIFOメモリと、 前記LIFOメモリをアドレスするレングスカウンタと、入力の圧縮データに応 じてストリングコードが所定値より大きい値を有する時は第1の信号を出力する 第1の手段と、キヤラクタレジスタと、 コードレジスタと、そして、 前記レングスカウタのカウントがゼロの時は、前記入力データの各ストリングコ ードを前記アドレスレジスタに入力し、前記ストリングテーブルをアドレスして そこからプレフイツクスコード及びエクステンシヨンキヤラクタを読出す第2の 手段と、そして、 前記第1の信号に応じて前記アドレスレジスタの内容を前記コードレジスタに転 送し、前記ストリングテーブルから読出したプレフイツクスコード及びエクステ ンシヨンキヤラクタを夫々前記アドレスレジスタ及びキヤラクタレジスタに入力 し、前記キヤラクタレジスタからのエクステンシヨンキヤラクタを前記LIFO メモリに転送し、そして前記レングスカウンタをインクリメントする第1の制御 手段を有するシーケンス制御手段を備え、 前記シーケンス制御手段は、前記第1の制御手段に続いて動作し、かつ前記第1 の手段に応じて前記アドレスレジスタの内容を前記キヤラクタレジスタに転送し 、そして前記コードカウンタの内容を前記アドレスレジスタに転送して前記スト リングテーブルをアドレスし、前記キヤラクタレジスタの内容を前記ストリング テーブルにエクステンシヨンキヤラクタとして書込む第2の制御手段を有し、 前記シーケンス制御手段は、前記第2の制御手段に続いて動作し、前記レングス カウンタをデクリメントし、前記LIFOメモリの内容を前記キヤラクタレジス タに転送する第3の制御手段を有することを特徴とするデータ圧縮システム。
- 10.前記キヤラクタレジスタから伸張データを受取るチヤネルチヨツパ手段を 備えることを特徴とする請求項第9項記載のデータ圧縮システム。
- 11.前記第1の制御手段は、前記第1の信号の欠落時に動作し、前記アドレス レジスタの内容を前記キヤラクタレジスタ及び前記コードレジスタに転送し、前 記コードカウンタの内容を前記アドレスレジスタに転送して前記キヤラクタレジ スタの内容を前記ストリングテーブルに書込み、そして前記コードカウンタをイ ンクリメントする手段を有することを特徴とする請求項第9項記載のデータ圧縮 システム。
- 12.前記第2の制御手段は、前記第1の信号に応じて前記キヤラクタレジスタ の内容を前記LIFOメモリに書込み、前記レングスカウンタをインクリメント し、そして前記アドレスレジスタ及びキヤラクタレジスタに対して夫々前記スト リングテーブルからプレフイツクスコード及びエクステンシヨンキヤラクタを読 出す手段を備えることを特徴とする請求項第11項記載のデータ圧縮システム。
- 13.ソースからのデータがデータ圧縮装置で圧縮され、該圧縮装置からバツフ アを通して出力装置に転送されるデータ圧縮システムにおける出力装置のスター トアツプタイムを最適にする方法において、 前記ソースからのデータを前記圧縮装置に与え、該圧縮装置により生成された圧 縮データを前記バツフアに格納し、次式が真か否かを繰り返し決定し、 ▲数式、化学式、表等があります▼ ここで、RC:圧縮装置の入力データレートRT:出力装置のデータレート TS:出力装置が動作速度に達するまでの時間IB:データブロツクサイズ IO:出力装置のスタートアツプ前に圧縮装置が圧縮した入力バイト数 QO:出力装置のスタートアツプ前に圧縮装置が生成した出力バイト数、そして CT:前記式を用い、出力装置のスタート後に達成されるであろう最大圧縮の設 計パラメータ前記式が真と決定された後のみ、前記出力装置をスタートしてバツ フアから出力装置に圧縮データを転送することを特徴とする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202,733 | 1988-06-03 | ||
| US07/202,733 US4899147A (en) | 1988-06-03 | 1988-06-03 | Data compression/decompression apparatus with throttle, start-up and backward read controls |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03500718A true JPH03500718A (ja) | 1991-02-14 |
| JP2851665B2 JP2851665B2 (ja) | 1999-01-27 |
Family
ID=22751039
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1506593A Expired - Lifetime JP2851665B2 (ja) | 1988-06-03 | 1989-06-02 | データ圧縮システム |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4899147A (ja) |
| EP (1) | EP0374238B1 (ja) |
| JP (1) | JP2851665B2 (ja) |
| AT (1) | ATE127640T1 (ja) |
| DE (1) | DE68924138T2 (ja) |
| WO (1) | WO1989012363A2 (ja) |
Families Citing this family (45)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2624299B2 (ja) * | 1988-06-09 | 1997-06-25 | 株式会社日立製作所 | 加速演算回路 |
| US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
| US5532694A (en) * | 1989-01-13 | 1996-07-02 | Stac Electronics, Inc. | Data compression apparatus and method using matching string searching and Huffman encoding |
| US4929946A (en) * | 1989-02-09 | 1990-05-29 | Storage Technology Corporation | Adaptive data compression apparatus including run length encoding for a tape drive system |
| US5237701A (en) * | 1989-03-31 | 1993-08-17 | Ampex Systems Corporation | Data unpacker using a pack ratio control signal for unpacked parallel fixed m-bit width into parallel variable n-bit width word |
| US5097261A (en) * | 1989-11-22 | 1992-03-17 | International Business Machines Corporation | Data compression for recording on a record medium |
| US5226156A (en) * | 1989-11-22 | 1993-07-06 | International Business Machines Corporation | Control and sequencing of data through multiple parallel processing devices |
| US5410671A (en) * | 1990-05-01 | 1995-04-25 | Cyrix Corporation | Data compression/decompression processor |
| US5167034A (en) * | 1990-06-18 | 1992-11-24 | International Business Machines Corporation | Data integrity for compaction devices |
| EP0688104A2 (en) * | 1990-08-13 | 1995-12-20 | Fujitsu Limited | Data compression method and apparatus |
| EP0557452A4 (en) * | 1990-11-13 | 1993-12-22 | Wangtek, Inc. | System and method of controlling data transfer rate in a magnetic tape drive |
| US5844737A (en) * | 1990-11-14 | 1998-12-01 | Canon Kabushiki Kaisha | Reproducing apparatus with different reproduction data for normal and search modes which scans two areas of a split tape recording medium in opposite directions |
| US5131016A (en) * | 1991-01-09 | 1992-07-14 | International Business Machines Corporation | Communications network data compression control system and method |
| CA2065578C (en) * | 1991-04-22 | 1999-02-23 | David W. Carr | Packet-based data compression method |
| US5175543A (en) * | 1991-09-25 | 1992-12-29 | Hewlett-Packard Company | Dictionary reset performance enhancement for data compression applications |
| CA2077271C (en) * | 1991-12-13 | 1998-07-28 | David J. Craft | Method and apparatus for compressing data |
| US5406278A (en) * | 1992-02-28 | 1995-04-11 | Intersecting Concepts, Inc. | Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique |
| US5371499A (en) * | 1992-02-28 | 1994-12-06 | Intersecting Concepts, Inc. | Data compression using hashing |
| US5323155A (en) * | 1992-12-04 | 1994-06-21 | International Business Machines Corporation | Semi-static data compression/expansion method |
| US5563595A (en) * | 1993-12-23 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for compressing data |
| US5889818A (en) * | 1994-06-24 | 1999-03-30 | Norand Corporation | Adaptive display refresh and data compression in a radio frequency environment |
| US5748786A (en) * | 1994-09-21 | 1998-05-05 | Ricoh Company, Ltd. | Apparatus for compression using reversible embedded wavelets |
| JP3302229B2 (ja) | 1994-09-20 | 2002-07-15 | 株式会社リコー | 符号化方法、符号化/復号方法及び復号方法 |
| US6549666B1 (en) * | 1994-09-21 | 2003-04-15 | Ricoh Company, Ltd | Reversible embedded wavelet system implementation |
| US6873734B1 (en) * | 1994-09-21 | 2005-03-29 | Ricoh Company Ltd | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream |
| US6229927B1 (en) | 1994-09-21 | 2001-05-08 | Ricoh Company, Ltd. | Reversible embedded wavelet system implementation |
| US5881176A (en) | 1994-09-21 | 1999-03-09 | Ricoh Corporation | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser |
| US5778255A (en) * | 1995-10-10 | 1998-07-07 | International Business Machines Corporation | Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle |
| US5805086A (en) * | 1995-10-10 | 1998-09-08 | International Business Machines Corporation | Method and system for compressing data that facilitates high-speed data decompression |
| US6396420B1 (en) * | 1999-02-26 | 2002-05-28 | Autodesk, Inc. | Delta compression of floating point coordinate data |
| US6567377B1 (en) * | 1999-03-18 | 2003-05-20 | 3Com Corporation | High performance load balancing of outbound internet protocol traffic over multiple network interface cards |
| IT1308456B1 (it) * | 1999-04-26 | 2001-12-17 | Olivetti Lexikon Spa | Dispositivo per comprimere/decomprimere stringhe di bit |
| US6373409B1 (en) * | 2000-06-19 | 2002-04-16 | International Business Machines Corporation | Method and computer program product for implementing text conversion table compression |
| US6792423B1 (en) * | 2000-11-28 | 2004-09-14 | International Business Machines Corporation | Hybrid longest prefix match and fixed match searches |
| US6898323B2 (en) | 2001-02-15 | 2005-05-24 | Ricoh Company, Ltd. | Memory usage scheme for performing wavelet processing |
| US6950558B2 (en) * | 2001-03-30 | 2005-09-27 | Ricoh Co., Ltd. | Method and apparatus for block sequential processing |
| US6895120B2 (en) * | 2001-03-30 | 2005-05-17 | Ricoh Co., Ltd. | 5,3 wavelet filter having three high pair and low pair filter elements with two pairs of cascaded delays |
| US7062101B2 (en) | 2001-03-30 | 2006-06-13 | Ricoh Co., Ltd. | Method and apparatus for storing bitplanes of coefficients in a reduced size memory |
| US6859563B2 (en) | 2001-03-30 | 2005-02-22 | Ricoh Co., Ltd. | Method and apparatus for decoding information using late contexts |
| US7006697B1 (en) | 2001-03-30 | 2006-02-28 | Ricoh Co., Ltd. | Parallel block MQ arithmetic image compression of wavelet transform coefficients |
| US7581027B2 (en) * | 2001-06-27 | 2009-08-25 | Ricoh Co., Ltd. | JPEG 2000 for efficent imaging in a client/server environment |
| US7280252B1 (en) | 2001-12-19 | 2007-10-09 | Ricoh Co., Ltd. | Error diffusion of multiresolutional representations |
| US7095907B1 (en) | 2002-01-10 | 2006-08-22 | Ricoh Co., Ltd. | Content and display device dependent creation of smaller representation of images |
| US7120305B2 (en) * | 2002-04-16 | 2006-10-10 | Ricoh, Co., Ltd. | Adaptive nonlinear image enlargement using wavelet transform coefficients |
| US20100095376A1 (en) * | 2008-03-07 | 2010-04-15 | Rodriguez Tony F | Software watermarking |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5178945A (ja) * | 1974-12-30 | 1976-07-09 | Nippon Telegraph & Telephone | Batsufuamemorikakikomihoshiki |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3541529A (en) * | 1969-09-22 | 1970-11-17 | Ibm | Replacement system |
| US4464650A (en) * | 1981-08-10 | 1984-08-07 | Sperry Corporation | Apparatus and method for compressing data signals and restoring the compressed data signals |
| JPS59231683A (ja) * | 1983-06-01 | 1984-12-26 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | データ圧縮方法 |
| US4558302A (en) * | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
| US4796003A (en) * | 1984-06-28 | 1989-01-03 | American Telephone And Telegraph Company | Data compaction |
| US4598411A (en) * | 1984-07-17 | 1986-07-01 | Allied Corporation | On-the-fly data compression system |
| US4791403A (en) * | 1985-12-04 | 1988-12-13 | International Business Machines Corporation | Log encoder/decorder system |
| US4730348A (en) * | 1986-09-19 | 1988-03-08 | Adaptive Computer Technologies | Adaptive data compression system |
-
1988
- 1988-06-03 US US07/202,733 patent/US4899147A/en not_active Expired - Lifetime
-
1989
- 1989-06-02 AT AT89906926T patent/ATE127640T1/de not_active IP Right Cessation
- 1989-06-02 EP EP89906926A patent/EP0374238B1/en not_active Expired - Lifetime
- 1989-06-02 DE DE68924138T patent/DE68924138T2/de not_active Expired - Fee Related
- 1989-06-02 JP JP1506593A patent/JP2851665B2/ja not_active Expired - Lifetime
- 1989-06-02 WO PCT/US1989/002365 patent/WO1989012363A2/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5178945A (ja) * | 1974-12-30 | 1976-07-09 | Nippon Telegraph & Telephone | Batsufuamemorikakikomihoshiki |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1989012363A2 (en) | 1989-12-14 |
| US4899147A (en) | 1990-02-06 |
| EP0374238A1 (en) | 1990-06-27 |
| WO1989012363A3 (en) | 1990-04-19 |
| DE68924138D1 (de) | 1995-10-12 |
| EP0374238B1 (en) | 1995-09-06 |
| JP2851665B2 (ja) | 1999-01-27 |
| DE68924138T2 (de) | 1996-02-15 |
| ATE127640T1 (de) | 1995-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH03500718A (ja) | データ圧縮システム | |
| CN103988212B (zh) | 用于在状态机中路由的方法及系统 | |
| US6088740A (en) | Command queuing system for a hardware accelerated command interpreter engine | |
| JP3083708B2 (ja) | Lz1アルゴリズムを実行する装置 | |
| JP5613799B2 (ja) | 直列入力データを取り込む装置および方法 | |
| JP2015531934A (ja) | パターン認識処理における電力管理のための方法およびシステム | |
| JP2001051802A (ja) | ディスク記憶システムの論理セクタと物理セクタを揃える回路 | |
| JPH05224877A (ja) | 辞書ベースのデータ圧縮/圧縮解除システム | |
| KR20120115244A (ko) | 데이터 압축 동안의 대안적 인코딩 솔루션들 평가 | |
| JPS6040572A (ja) | デイジタル・デ−タ符号化兼復号装置 | |
| JPS6037032A (ja) | デイスク・ドライブにおける留保操作を延期するための装置 | |
| JP2862242B2 (ja) | 画像読取装置 | |
| EP0036483B1 (en) | Information transfer between a main storage and a cyclic bulk memory in a data processing system | |
| JP2006155663A (ja) | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム | |
| JPH04304546A (ja) | データのストライピングシステム及び方法 | |
| JPS61275935A (ja) | マ−ジシステム | |
| JPS639074A (ja) | デ−タレコ−ド圧縮方式 | |
| JPS59132479A (ja) | デ−タ処理回路 | |
| JPS58143500A (ja) | インタ−リ−ブ可能な記憶装置 | |
| JPS5953579B2 (ja) | 文字圧縮装置 | |
| JPH0926872A (ja) | パイプラインマージソータ | |
| KR0121145B1 (ko) | 씨디롬 디코더의 디엠에이 제어회로 | |
| JPS63113722A (ja) | デ−タ転送方式 | |
| JPH0736626A (ja) | 記憶制御装置 | |
| JPS62257520A (ja) | バツフア領域管理方式 |