JP2009538488A - Computer circular register array - Google Patents

Computer circular register array Download PDF

Info

Publication number
JP2009538488A
JP2009538488A JP2009513215A JP2009513215A JP2009538488A JP 2009538488 A JP2009538488 A JP 2009538488A JP 2009513215 A JP2009513215 A JP 2009513215A JP 2009513215 A JP2009513215 A JP 2009513215A JP 2009538488 A JP2009538488 A JP 2009538488A
Authority
JP
Japan
Prior art keywords
register
processor
registers
stack
array
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.)
Pending
Application number
JP2009513215A
Other languages
Japanese (ja)
Other versions
JP2009538488A5 (en
Inventor
エイチ.ムーア チャールズ
アーサー フォックス ジェフリー
ダブリュ.リブレ ジョン
Original Assignee
ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US11/441,818 external-priority patent/US7934075B2/en
Priority claimed from US11/441,784 external-priority patent/US7752422B2/en
Priority claimed from US11/441,812 external-priority patent/US7913069B2/en
Priority claimed from US11/503,372 external-priority patent/US7617383B2/en
Application filed by ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー filed Critical ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー
Publication of JP2009538488A publication Critical patent/JP2009538488A/en
Publication of JP2009538488A5 publication Critical patent/JP2009538488A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead

Abstract

スタックプロセッサは、Tレジスタ及びSレジスタを備えるデータスタックと、円環パターン状で反復して機能する8つの固定配線されたボトム側レジスタとを含む。該スタックプロセッサは、また、Rレジスタを含むリターンスタックと、円環パターン状で反復して機能する8つの固定配線されたボトム側レジスタとを含む。ここで説明される円環状レジスタ配列はオーバーフロー及びアンダーフローのスタック状態を回避する。  The stack processor includes a data stack including a T register and an S register, and eight fixedly wired bottom registers that function repeatedly in an annular pattern. The stack processor also includes a return stack including an R register and eight fixedly wired bottom registers that function repeatedly in an annular pattern. The circular register arrangement described herein avoids overflow and underflow stacking conditions.

Description

本発明は、コンピュータ及びコンピュータプロセッサに関し、特に、スタックコンピュータのプロセッサ内のスタックのさらなる効率利用のための方法及び手段に関する。   The present invention relates to computers and computer processors, and in particular, to methods and means for further efficient utilization of stacks in a processor of a stack computer.

スタックマシンは、複合命令セットコンピュータ(CISC)よりも低いプロセッサ複雑性を与えると共に、縮小命令セットコンピュータ(RISC)又はCISCマシンの何れよりも低い全体システム複雑性を与える。従って、良好な性能のために複雑化されたコンパイラ又はキャシュ制御ハードウェアを要求することがない。また、競争力ある未加工の性能を達成すると共に、ほとんどのプログラミング環境において所与の価格で優れた性能を達成する。それらの最初に成功した応用分野は、リアルタイム埋込型制御環境においてであり、広範な利点によって他のシステムデザインアプローチを凌駕している。以前ではスタックはメモリ内にほとんど保持されていたが、新しいスタックマシンでは、スタック毎に別々のメモリチップ又はオンチップメモリのエリアにも保持されている。これらのスタックマシンは、きわめて高速のサブルーチンコール能力及び割り込みハンドリング及びタスク切替における優れた性能を提供する。   A stack machine provides lower processor complexity than a complex instruction set computer (CISC) and lower overall system complexity than either a reduced instruction set computer (RISC) or a CISC machine. Thus, there is no need for a complicated compiler or cache control hardware for good performance. It also achieves competitive raw performance, and excellent performance at a given price in most programming environments. Their first successful field of application is in real-time embedded control environments, surpassing other system design approaches with a wide range of advantages. In the past, stacks were mostly held in memory, but in new stack machines, each stack is held in a separate memory chip or on-chip memory area. These stack machines offer extremely fast subroutine call capabilities and excellent performance in interrupt handling and task switching.

しかし、オーバーフロー及びアンダーフローのスタックのハードウェア検出は何ら存在しなかった。スタックのオーバーフローは利用可能なレジスタに充分な数が無くスタック上へのプッシュ(push)が継続された場合に発生し、ボトム側レジスタ群が上書きされてしまうことになる。スタックのアンダーフローは全てのレジスタが空にされた場合に発生し、スタックの継続したポップ(pop)は、意図に沿わない又は不正確な結果をもたらす。他のスタックプロセッサでは、スタックポインタ及びメモリ管理を使用することよって、スタックポインタがスタックに割り当てられたメモリ範囲から逸脱したときに、エラー状態のフラグが立てられるようになっている。ザール(Zahir)氏及び他による特許文献1はレジスタスタックエンジンを開示し、これはメモリにレジスタスタックの充分なレジスタを提供し、スタックオーバーフロー事象においてより利用可能なレジスタを提供する。また、レジスタスタックエンジンは、スタックアンダーフローの場合に、そのエンジンが適当な数のレジスタを回復できる迄マイクロプロセッサを遅延させる。   However, there was no hardware detection of overflow and underflow stacks. A stack overflow occurs when there are not enough available registers and push on the stack continues, overwriting the bottom registers. Stack underflow occurs when all registers are emptied, and continued pops of the stack will lead to unintended or inaccurate results. Other stack processors use a stack pointer and memory management to flag an error condition when the stack pointer deviates from the memory range assigned to the stack. U.S. Pat. No. 6,057,097 to Zahir et al. Discloses a register stack engine that provides sufficient registers for the register stack in memory and provides more available registers in a stack overflow event. The register stack engine also delays the microprocessor in the event of a stack underflow until the engine can recover the appropriate number of registers.

ストーリ(Story)氏による特許文献2は、動作結果と閾値とを比較する方法を開示している。しかし、このアプローチは、閾値に丸められた場合の結果(これはオーバーフロー例外を生じる)と、閾値に丁度等しい場合の結果とを区別しない。ストーリ氏によって開示される他の方法は、ハードウェアフラグを読み書きすることでオーバーフロー又はアンダーフローの状態を識別する。   Patent document 2 by Mr. Story discloses a method of comparing an operation result with a threshold value. However, this approach does not distinguish between the result when rounded to a threshold (which results in an overflow exception) and the result when exactly equal to the threshold. Another method disclosed by Mr. Stori identifies an overflow or underflow condition by reading and writing a hardware flag.

米国特許第6,367,005号明細書US Pat. No. 6,367,005 米国特許第6,219,685号明細書US Pat. No. 6,219,685

しかしながら、命令は順番に実行されなければならず、そしてレジスタのリード/ライトに引き続く命令はリード/ライト動作が完了される迄、次に進むことができなくなり、遅延動作を生ぜしめる。   However, the instructions must be executed in sequence, and the instruction following the register read / write cannot proceed to the next until the read / write operation is completed, causing a delay operation.

メモリ内のスタックでは、オーバーフロー又はアンダーフローがスタック項目を上書きするか、又はスタック部分であるとは意図されないスタック項目を使用してしまうこともあり得る。スタック内のオーバーフロー及びアンダーフローを低減又は除去する改良された方法への要請がある。   In a stack in memory, an overflow or underflow can overwrite a stack item or use a stack item that is not intended to be part of a stack. There is a need for an improved method of reducing or eliminating overflow and underflow in the stack.

本発明の目的は、デュアルスタックプロセッサのデータスタック及びリターンスタックがスタックポインタを用いてメモリ内でアクセスされる配列ではなく、代わりに別々の専用シフトレジスタによって固定配線アクセスされる装置及び方法を提供することである。   SUMMARY OF THE INVENTION It is an object of the present invention to provide an apparatus and method in which the data stack and return stack of a dual stack processor are not wired in an array that is accessed in memory using a stack pointer, but instead are fixed wire accessed by separate dedicated shift registers. That is.

本発明の他の目的は、データ又はリターンスタックのオーバーフロー及びアンダーフローを低減する若しくは除去することである。   Another object of the present invention is to reduce or eliminate overflow or underflow of the data or return stack.

本発明の他の目的は、双方向スタックレジスタの単一ビット(1ビット)スタックレジスタ間の電気的接続長を最小化することであり、これにより要求されるドライバサイズを最小化にすると共にバッファすることを最小化することである。   Another object of the present invention is to minimize the electrical connection length between single bit (1 bit) stack registers of a bidirectional stack register, thereby minimizing the required driver size and buffering. Minimizing what to do.

これら及び他の目的は本明細書に記載されている発明によって達成され、本発明においては、従来のスタックは、円環(循環的な)パターン状で反復して機能するレジスタ配列に代替される。この反復される円環パターンは、接続される双方向シフトレジスタの利用によって達成され、双方向シフトレジスタは1つおきパターン状に電気的に相互接続される複数の1ビットシフトレジスタを含む。この構成は、スタック外からリードされるのを防ぐと共に、意図されない空レジスタ値をリードするのを防止する。   These and other objects are achieved by the invention described herein, in which the conventional stack is replaced by a register array that functions repeatedly in a circular (circular) pattern. . This repeated circular pattern is achieved by the use of connected bidirectional shift registers, which include a plurality of 1-bit shift registers that are electrically interconnected in every other pattern. This configuration prevents reading from outside the stack and prevents reading an unintended empty register value.

上記したデュアルスタックプロセッサは、独立機能するプロセッサとして機能し得るし、又は幾つか他の同じ又は異なるプロセッサと共に相互接続化コンピュータ配列にて用いられ得る。   The dual stack processors described above can function as stand-alone processors or can be used in an interconnected computer arrangement with several other same or different processors.

本発明が図を参照して説明されるが、図において同じ符号は同じ要素を表すか又は類似した要素を表す。本発明が本発明の目的を達成する態様に関して説明される一方、本願にて請求される発明の思想及び範囲から逸脱することなく、本明細書における教示によって本発明が多様な形態にて実現され得ることは当業者によって認められる。   The present invention will be described with reference to the figures, wherein like reference numerals represent like or similar elements in the figures. While the invention will be described in connection with embodiments that achieve the objectives of the invention, the invention may be embodied in various forms without departing from the spirit and scope of the invention as claimed herein without departing from the spirit and scope of the invention as claimed herein. It will be appreciated by those skilled in the art.

本明細書において説明及び/又は図面に示されている本発明の実施例及び変形例は、例示のものであって本発明の範囲を制限するものでない。特に述べない限り、本発明の個々の態様及び要素は、本発明が多くの変形例に適応可能であると意図されることから、請求される発明の思想及び範囲内にある限り、省略されるか又は様々に改変され得る。   The embodiments and variations of the present invention described in this specification and / or shown in the drawings are illustrative and do not limit the scope of the present invention. Unless otherwise stated, individual aspects and elements of the invention are omitted as long as they are within the spirit and scope of the claimed invention, since the invention is intended to be amenable to many variations. Or various modifications.

図1は、本発明において用いられているデュアルスタックコンピュータ12の概略レイアウトを示しているブロック図である。コンピュータ12は、通常、自身のRAM24及びROM26を有する自己内蔵型のコンピュータである。   FIG. 1 is a block diagram showing a schematic layout of a dual stack computer 12 used in the present invention. The computer 12 is typically a self-contained computer having its own RAM 24 and ROM 26.

コンピュータ12の他の基本的なコンポーネントはリターンスタック28であり、これは、Rレジスタ29、命令エリア30、演算ロジックユニット(ALU又はプロセッサ)32と、データスタック34と、命令をデコードするためのデコードロジック部36とを含む。コンピュータ12は、データスタック34及び別のリターンスタック28を有するデュアルスタックコンピュータである。通常、当業者は本実施例のコンピュータ12の如きスタックベースのコンピュータの動作に精通している。   Another basic component of the computer 12 is a return stack 28, which includes an R register 29, an instruction area 30, an arithmetic logic unit (ALU or processor) 32, a data stack 34, and a decode for decoding instructions. And a logic unit 36. The computer 12 is a dual stack computer having a data stack 34 and another return stack 28. In general, those skilled in the art are familiar with the operation of a stack-based computer, such as the computer 12 of this embodiment.

ここで記載される実施例において、命令エリア30は、この例ではAレジスタ40a、Bレジスタ40b及びPレジスタ40cを含む幾つかのレジスタ40を含む。この実施例では、Aレジスタ40aはフル18ビットレジスタであり、一方、Bレジスタ40b及びPレジスタ40cは9ビットレジスタである。   In the embodiment described herein, the instruction area 30 includes a number of registers 40, including an A register 40a, a B register 40b, and a P register 40c in this example. In this embodiment, the A register 40a is a full 18-bit register, while the B register 40b and the P register 40c are 9-bit registers.

本発明はスタックコンピュータのプロセッサを開示し、そこではデータ及びリターンスタックは、周期的な反復すなわち円環パターン状にて機能するレジスタ配列を含む。データスタック及びリターンスタックは、従来技術の多くのコンピュータにおいてスタックポインタによってアクセスされるメモリ配列ではない。   The present invention discloses a stack computer processor, in which the data and return stacks include a register array that functions in a cyclic iteration or circular pattern. The data stack and return stack are not memory arrays accessed by the stack pointer in many prior art computers.

図2は、本発明による18ビットデータスタックの実施例を開示している。データスタック内のトップ側の2つのレジスタは、18ビットTレジスタ及び18ビットSレジスタである。データスタックの残りは、8つの付加的18ビットハードウェアレジスタを含み、この例ではS2〜S9と参照符号が付されている。円環状のレジスタS2〜S9は、T及びSレジスタが無い状態で動作することができる。しかし、レジスタS2〜S9と組み合わさった少なくともSレジスタの存在は、より速いアクセス回路とタイミング上の最適条件を提供し、従って円環状のレジスタ配列のより高動作速度を提供する。加えて、Sレジスタは、アドレス可能なレジスタS2〜S9とプロセッサシステムの残りの部分との間でバッファとして作用する。これは、レジスタS2〜S9とプロセッサシステムの残りの部分との間でタイミングの独立性を提供する。   FIG. 2 discloses an embodiment of an 18-bit data stack according to the present invention. The top two registers in the data stack are an 18-bit T register and an 18-bit S register. The rest of the data stack contains 8 additional 18-bit hardware registers, in this example labeled S2-S9. The circular registers S2 to S9 can operate without the T and S registers. However, the presence of at least the S register in combination with the registers S2-S9 provides faster access circuitry and optimal timing conditions, thus providing a higher operating speed of the annular register arrangement. In addition, the S register acts as a buffer between the addressable registers S2-S9 and the rest of the processor system. This provides timing independence between registers S2-S9 and the rest of the processor system.

この実施例は、また、複数の1ビットシフトレジスタを含む双方向シフトレジスタを含む。1ビットシフトレジスタの数はSレジスタの下に配置されたボトム側スタックレジスタS2〜S9の数に等しい。各1ビットシフトレジスタは、図2に示された対応するスタックレジスタS2〜S9に接続されている。1ビットシフトレジスタが1つおきパターン状に電気的に相互接続され、これによってスタックレジスタS2〜S9は、図2に示された如きS2→S4→S6→S8→S9→S7→S5→S3→S2によって与えられるシーケンシャルな円環状の相互接続パターンにて機能する。ボトム側スタックレジスタのこのシーケンシャルな選択が円環パターン状で反復して動作する。1ビットシフトレジスタの相互接続用配線は、隣接した3つ以上のシフトレジスタを越えて広がるとことはなく、ボトム側シフトレジスタをトップ側シフトレジスタに接続するのに長い配線の必要性を避けている。これらのより短い配線は、より小さいドライバを要求しバッファリングも最小化される。与えられる実施例は、円環状のレジスタ配列のための8つの付加的スタックレジスタを使用する。しかし、4の倍数単位で使用されるボトム側レジスタの他の組合せも用いられ得る。   This embodiment also includes a bidirectional shift register that includes a plurality of 1-bit shift registers. The number of 1-bit shift registers is equal to the number of bottom side stack registers S2 to S9 arranged below the S register. Each 1-bit shift register is connected to the corresponding stack register S2-S9 shown in FIG. Every other 1-bit shift register is electrically interconnected in a pattern, so that the stack registers S2 to S9 are connected as shown in FIG. 2 to S2, S4, S6, S8, S9, S7, S5, S3, It works with the sequential annular interconnect pattern given by S2. This sequential selection of the bottom stack register works repeatedly in an annular pattern. Interconnection wiring for a 1-bit shift register does not extend beyond three or more adjacent shift registers, avoiding the need for long wiring to connect the bottom shift register to the top shift register Yes. These shorter wires require smaller drivers and buffering is also minimized. The given example uses 8 additional stack registers for a circular register array. However, other combinations of bottom registers used in multiples of 4 can be used.

図2は、また、Tレジスタ及びSレジスタと同様に、レジスタS2〜S9を相互接続するリードバス及びライトバスを開示している。双方向シフトレジスタの各1ビットシフトレジスタは、S2〜S9配列内で対応するボトム側スタックレジスタに接続され、そこでは、シフトレジスタの1ビットのみが1つの時点でオンとなる一方、他の全てのビットはゼロとリードされる。電源投入時、シフトレジスタは初期化され、正確に1つのビットが1にセットされ且つ他のビットがゼロにセットされなければならない。所与の実施例において、シフトレジスタのトップ側ビットは、リードについてはレジスタS2を指示し、ライトについては相互接続された隣接したレジスタS4を図2における破線で示されるように指示する。1ビットシフトレジスタの残りのビットはレジスタS2〜S4のうちの対応するものに同様に接続されるが、不必要に図面を不明瞭にしないために他の配線は示されていない。   FIG. 2 also discloses a read bus and a write bus that interconnect the registers S2 to S9, as well as the T and S registers. Each one-bit shift register of the bi-directional shift register is connected to the corresponding bottom stack register in the S2-S9 array, where only one bit of the shift register is on at one time, while all other This bit is read as zero. At power up, the shift register is initialized and exactly one bit must be set to 1 and the other bit must be set to zero. In the given embodiment, the top bit of the shift register points to register S2 for reads and to the adjacent adjacent register S4 for writes as shown by the dashed line in FIG. The remaining bits of the 1-bit shift register are similarly connected to corresponding ones of registers S2-S4, but other wiring is not shown to avoid unnecessarily obscuring the drawing.

セル深度10のプッシュ下降スタックがレジスタT、S及びS2〜S9によって形成される。8つのボトム側レジスタが円環状のバッファを成すことから、そのハードウェアはオーバーフローするか又はアンダーフローするよりは、むしろ折り返し(wrap)するものである。10項目以上をプットし、次いでそれらを全て戻すことを期待してはいけないが、そのスタックのボトム側から得られた最後の8つの項目のコピーを永遠に取り続けることができる。エラーではないという意味でアンダーフローは何ら存在しない。プログラムがスタックから値をとり続ける場合にはボトム側の8つに何度もリードが行われることから、8つ(又は4又は2又は1)のワードのパターンを複製するのが最も速い方法である。   A push down stack with a cell depth of 10 is formed by resistors T, S and S2-S9. Since the eight bottom registers form a circular buffer, the hardware wraps rather than overflows or underflows. Don't expect to put more than 10 items and then return them all, but you can keep taking a copy of the last 8 items from the bottom of the stack forever. There is no underflow in the sense that it is not an error. If the program continues to take values from the stack, the bottom 8 will be read many times, so replicating the pattern of 8 (or 4 or 2 or 1) words is the fastest way. is there.

同様に、スタックポインタはスタックが他に進むことを可能としているという意味で、何らスタックオーバーフローは存在しない。スタックは有限であって10項目以上がそこにプットされる場合、最後の10だけが残り、最初の10の後に記憶されたものはレジスタS2〜S9のうちの1つを上書きしている。スタックをプリセット位置に「初期化する」する必要はなく、ただスタックのどこからでもスタックの使用を開始することでスタックが空であると宣言すればよい。   Similarly, there is no stack overflow in the sense that the stack pointer allows the stack to go elsewhere. If the stack is finite and more than 10 items are put there, only the last 10 remains, and what is stored after the first 10 overwrites one of the registers S2-S9. There is no need to "initialize" the stack to a preset location, just declare the stack empty by starting to use it from anywhere in the stack.

図3は、データ又はリターンスタック内の各レジスタの拡大図である。各18ビットレジスタは0〜17と番号が付与された18個のラッチを含む。1組で18個の入力パスゲート(0〜17と番号付け)があって、それら各々は18個のラッチのうちの対応する1つをライトバスに選択的に接続する。1組で18個の出力パスゲート(0〜17と番号付け)があって、それら各々は18個のラッチのうちの対応する1つをリードバスに選択的に接続する。入力パスゲートは,入力制御ライン(図2のライトライン)に接続された反転アンプを介して入力制御ライン上でアサートされるライト制御信号によって制御され、出力パスゲートは、出力制御線(図2のリードライン)に接続された反転アンプを介して出力制御ライン上でアサートされるリード制御信号によって制御される。   FIG. 3 is an enlarged view of each register in the data or return stack. Each 18-bit register includes 18 latches numbered 0-17. There is a set of 18 input pass gates (numbered 0-17), each selectively connecting a corresponding one of the 18 latches to the write bus. There is a set of 18 output pass gates (numbered 0-17), each selectively connecting a corresponding one of the 18 latches to the read bus. The input pass gate is controlled by a write control signal asserted on the input control line via an inverting amplifier connected to the input control line (write line in FIG. 2), and the output pass gate is controlled by the output control line (read in FIG. 2). Controlled by a read control signal asserted on the output control line via an inverting amplifier connected to the line).

図4は、本発明の18ビットのリターンスタックを開示している。リターンスタックのトップ側レジスタは、18ビットのRレジスタであり、8つの付加的18ビットハードウェアレジスタがRレジスタの下に配置され、ここではR1〜R8と番号付けされている。ボトム側の8つのレジスタR1〜R8は、上記されたデータスタックと同様に、反復する円環状配列として1つおきパターン状に機能する。   FIG. 4 discloses the 18-bit return stack of the present invention. The top register of the return stack is an 18-bit R register, and eight additional 18-bit hardware registers are located below the R register, here numbered R1-R8. The eight registers R1 to R8 on the bottom side function in a pattern of every other pattern as a repeating annular array, similar to the data stack described above.

円環状のレジスタ配列R1〜R8はRレジスタが無い状態で動作することができる。しかし、レジスタR1〜R8と組み合わさったRレジスタの存在はより高速なアクセス回路とタイミング上の最適条件を提供し、よって円環状レジスタ配列のより高速動作を提供する。加えて、Rレジスタは、アドレス可能レジスタR1〜R8とプロセッサシステムの残りの部分との間のバッファとして働き、アドレス可能レジスタR1〜R8とプロセッサシステムの残りの部分との間のタイミング上の独立性を提供する。   The annular register arrays R1 to R8 can operate without an R register. However, the presence of the R register in combination with the registers R1-R8 provides faster access circuitry and optimal timing conditions, thus providing faster operation of the annular register arrangement. In addition, the R register acts as a buffer between addressable registers R1-R8 and the rest of the processor system, and timing independence between addressable registers R1-R8 and the rest of the processor system. I will provide a.

この実施例は、また、複数の1ビットシフトレジスタを含む双方向シフトレジスタを含む。1ビットシフトレジスタの数は、Rレジスタの下に配置される付加的なボトム側レジスタR1〜R8の数に等しい。各1ビットシフトレジスタは、図4で示されるボトム側スタックレジスタR1〜R8のうちの対応するレジスタに接続されている。双方向シフトレジスタの1ビットシフトレジスタは、1つおきパターン状に電気的に相互接続されていることで、スタックのレジスタR1〜R8は、図4に示される如きR1→R3→R5→R7→R8→R6→R4→R2→R1によって与えられるシーケンシャルな円環状の相互接続パターンにて機能する。このシーケンシャルなレジスタ選択は円環パターン状で反復して動作する。シフトレジスタの相互接続配線は、隣接した3つ以上の1ビットシフトレジスタを越えて広がるとことはなく、ボトム側1ビットシフトレジスタをトップ側1ビットシフトレジスタに接続するのに長い配線の必要性を避けている。これらのより短い配線は、より小さいドライバを要求し、バッファリングも最小化される。所与の実施例において、8つの付加的なリターンレジスタが開示されたが、4の倍数個の他のボトム側レジスタの組合せが円環状のレジスタ配列において使用され得る。リードバス及びライトバスはレジスタR1〜R8を相互接続する。シフトレジスタの各1ビットレジスタは、R1〜R8配列内で対応するスタックレジスタに接続されている。シフトレジスタのうちの1ビットだけが1時点でオン(1としてリード)する一方、全ての他の全てのビットはゼロとして読まれる。電源投入時、シフトレジスタは正確に1ビットが1を含み、他の全てのビットがゼロを含むように初期化されなければならない。所与の実施例において、シフトレジスタのトップ側ビットがレジスタR1を指示し、すなわちR1をリードすることを指示し且つ相互接続された隣接レジスタR3にライトすることを指示している。   This embodiment also includes a bidirectional shift register that includes a plurality of 1-bit shift registers. The number of 1-bit shift registers is equal to the number of additional bottom registers R1-R8 located below the R register. Each 1-bit shift register is connected to a corresponding one of the bottom-side stack registers R1 to R8 shown in FIG. The 1-bit shift registers of the bidirectional shift register are electrically interconnected in a pattern of every other, so that the registers R1 to R8 of the stack are R1 → R3 → R5 → R7 → as shown in FIG. It works with a sequential annular interconnection pattern given by R8 → R6 → R4 → R2 → R1. This sequential register selection operates repeatedly in an annular pattern. Shift register interconnect wiring does not extend beyond three or more adjacent 1-bit shift registers, and the need for long wiring to connect the bottom 1-bit shift register to the top 1-bit shift register Avoid. These shorter wires require smaller drivers and buffering is also minimized. In the given embodiment, eight additional return registers have been disclosed, but multiple combinations of other bottom multiples of four can be used in an annular register arrangement. The read bus and the write bus interconnect the registers R1 to R8. Each 1-bit register of the shift register is connected to a corresponding stack register in the R1-R8 array. Only one bit of the shift register is on (read as 1) at a time, while all other bits are read as zero. At power up, the shift register must be initialized so that exactly one bit contains a 1 and all other bits contain a zero. In the given embodiment, the top bit of the shift register points to register R1, i.e., reads R1 and writes to the interconnected adjacent register R3.

本発明において、スタックオーバーフロー又はアンダーフロー状態に対するハードウェア検知は存在しない。通常、従来技術のプロセッサはスタックポインタ及びメモリ管理等を使用し、これによってスタックポインタがスタックに割り当てられたメモリ領域外に行ったときに、エラー状態にフラグを立てる。スタックがメモリ内に置かれて管理される場合では、オーバーフロー又はアンダーフローはスタック項目を上書きするか、又は意図される以外を使用する。しかし、本発明のボトム側レジスタは、円環状配列にて機能するので、スタックはスタックエリアからオーバーフロー又はアンダーフローすることはあり得ない。代わりに、円環状配列は単にレジスタ配列まわりに折り返すだけである。スタックが有限の深度を有するので、スタックのトップ側へのプッシュはボトム側で上書がなされることを意味する。所与の実施例において、データスタックに対する10項目以上のプッシュ動作、又はリターンスタックに対する9項目以上のプッシュ動作は、かかる動作が当該スタックのボトム側で項目が上書きされる結果をもたらすという知見を持ってなければならない。   In the present invention, there is no hardware detection for stack overflow or underflow conditions. Typically, prior art processors use a stack pointer and memory management, etc., to flag an error condition when the stack pointer goes outside the memory area assigned to the stack. In the case where the stack is managed in memory, an overflow or underflow will overwrite the stack item or use something other than intended. However, since the bottom register of the present invention functions in an annular arrangement, the stack cannot overflow or underflow from the stack area. Instead, the toric array simply wraps around the register array. Since the stack has a finite depth, pushing to the top side of the stack means that it is overwritten on the bottom side. In a given embodiment, a push operation of 10 items or more on the data stack or a push operation of 9 items or more on the return stack has the knowledge that such an operation results in an item being overwritten on the bottom side of the stack. Must be.

スタック上の項目数を追跡し続けることはソフトウェアの責任であり、各スタックが保持することのできる以上の項目をプッシュしようとしてはならない。ハードウェアは、スタックのボトム側の項目上書きを検出しないし、エラーとしてフラグを立てることもしない。スタックのボトム側での円環状配列の利点をソフトウェアが幾つかの手法で得ることができる点が留意されるべきである。1つの実施例として、ソフトウェアはスタックが何時でも「空である」であると単に仮定することができる。古い項目がボトム側に向けてプッシュダウンされ、スタックが満ちるにつれてボトム側で消失されることから、古い項目をスタックからクリアする必要がなく、それ故プログラムは初期化をすることなくスタックが空であると仮定することができる。   It is the software's responsibility to keep track of the number of items on the stack and do not try to push more items than each stack can hold. The hardware does not detect item overwrites at the bottom of the stack, nor does it flag as an error. It should be noted that the software can obtain the benefits of an annular arrangement at the bottom of the stack in several ways. As one example, the software can simply assume that the stack is “empty” at any time. Since old items are pushed down towards the bottom and disappear at the bottom as the stack fills, there is no need to clear old items from the stack, so the program is empty without initialization. It can be assumed that there is.

用いられ得る他の利点は、再利用のためには項目をリロードしなければならないという制約が無く、レジスタ項目を再利用することである。これらのスタック内のボトム側8つの項目は、スタック折り返しの利点を得るループ状にてリード又はライトされ得る。2つのデータスタックリードの後、レジスタT及びSは、下の8つのスタックレジスタの円環状配列からの2項目のコピーを有する。さらに8つ以上のリードの後、レジスタT及びSは、スタック折り返しを用いて下から再びリードされた同一値でリロードされる。これら8つの項目がシーケンス上でスタック外に何回リードされ得るかについて何ら制限はなく、この場合、項目を複製しなければならない制約、又はそれらをスタックにライトし直さなければならない制約がない。データ又はリターンスタック上の8つ、4つ又は2つのセルにて反復され得る1組のパラメータにわたるサイクルのアルゴリズムは、ボトム側レジスタがまさに折り返し、そしてスタックエラーが意図されない場合に、それらを反復してスタックからリードすることができる。   Another advantage that can be used is that register items are reused without the restriction that the item must be reloaded for reuse. The bottom eight items in these stacks can be read or written in a loop that takes advantage of stack wrapping. After two data stack reads, registers T and S have two entries from the toric array of the bottom eight stack registers. After 8 more reads, registers T and S are reloaded with the same value read again from below using stack wrap. There is no limit as to how many times these eight items can be read out of the stack on the sequence, in which case there are no constraints that must be duplicated or that they must be rewritten to the stack. A cycle algorithm over a set of parameters that can be repeated on 8, 4 or 2 cells on the data or return stack will iterate over if the bottom register is just wrapping and a stack error is not intended. Can be read from the stack.

本発明が、デュアルスタック18−ビットプロセッサのデータスタック及びリターンスタックのための実施例において記載されていたが、他のビットサイズプロセッサが本発明によって用いられてもよい。   Although the present invention has been described in the embodiment for the data stack and return stack of a dual stack 18-bit processor, other bit size processors may be used by the present invention.

上記した円環状のレジスタ配列は、単一のデュアルスタックプロセッサに関して記載された。しかし、上記した円環状のレジスタ配列を含むスタックプロセッサにおける複数回の繰り返しは、図5に示されるコンピュータ配列10の如き自己内蔵型コンピュータの配列において用いられ得る。コンピュータ配列10は、複数(例示では24個)のコンピュータ12(配列の例では、しばしば「コア」又は「ノード」とも称される)を有する。示される実施例において、コンピュータ12の全ては単一のダイ14に配置される。本発明の1つの実施例によれば、コンピュータ12の各々は通常独立して機能するコンピュータである。コンピュータ12は、複数の相互接続データバス16によって相互接続される。他の相互接続手段がその目的のために使用されてもよいことは本発明の範囲内であるが、この実施例においてデータバス16は双方向、非同期及び高速パラレルデータバスである。   The annular register arrangement described above has been described for a single dual stack processor. However, multiple iterations in a stack processor including an annular register arrangement as described above can be used in a self-contained computer arrangement such as the computer arrangement 10 shown in FIG. The computer array 10 includes a plurality (24 in the example) of computers 12 (also often referred to as “cores” or “nodes” in the example of the array). In the embodiment shown, all of the computers 12 are located on a single die 14. According to one embodiment of the present invention, each of the computers 12 is typically a computer that functions independently. Computers 12 are interconnected by a plurality of interconnect data buses 16. It is within the scope of the present invention that other interconnection means may be used for that purpose, but in this embodiment data bus 16 is a bi-directional, asynchronous and high speed parallel data bus.

コンピュータ12eは、配列10のコンピュータ12のうちの周辺上ではない1台の例である。すなわち、コンピュータ12eは直角に隣接した4台のコンピュータ12a、12b、12c及び12dを備えている。コンピュータ12a〜12eのこのグループ化が、配列10の複数のコンピュータ12間の通信のより詳細な議論に関連して例として用いられる。図5から分かるように、コンピュータ12eの如き内部のコンピュータは、バス16を介して直接通信をなし得る4台の他のコンピュータ12を備える。引き続く議論において、議論される原理はコンピュータ12の全てに適用されるが、これは、配列10の周辺上のコンピュータ12は他の3台のみと直接通信下にあり、又は角のコンピュータ12はコンピュータ12の他の2台のみと直接通信下にあることで除外される。   Computer 12e is an example of one that is not on the periphery of computers 12 in array 10. That is, the computer 12e includes four computers 12a, 12b, 12c and 12d which are adjacent at right angles. This grouping of computers 12a-12e is used as an example in connection with a more detailed discussion of communication between multiple computers 12 in array 10. As can be seen from FIG. 5, an internal computer such as computer 12 e comprises four other computers 12 that can communicate directly via bus 16. In the discussion that follows, the principles discussed apply to all of the computers 12, which is that the computer 12 on the periphery of the array 10 is in direct communication with only the other three or the corner computer 12 is a computer. Excluded by being in direct communication with only the other two 12 units.

図6は、図5の1部分をより詳細化し、コンピュータ12の幾つかのみを示し、特に、コンピュータ12a〜12eが含まれている。図6の図も、データバス16の各々が、リードライン18と、ライトライン20と、複数(この例では18個)のデータライン22とを備えることを明らかにしている。データライン22は、1つの18ビットの命令ワードの全てのビットを通常パラレルにて同時に転送する能力を有する。   FIG. 6 further refines a portion of FIG. 5 and shows only some of the computers 12, and in particular includes computers 12a-12e. The diagram of FIG. 6 also reveals that each of the data buses 16 includes a read line 18, a write line 20, and a plurality (18 in this example) of data lines 22. The data line 22 has the ability to transfer all bits of one 18-bit instruction word simultaneously, usually in parallel.

本発明の方法によれば、コンピュータ12eの如きコンピュータ12は、そのリードラインの1つ、2つ又は3つ又は4つの全てをハイにセットできることによって、隣接するコンピュータ12からデータを受け取る準備がなされる。同様に、コンピュータ12はそのライトライン20のうちの1つ、2つ、3つ又は4つの全てをハイにセットすることもできる。   In accordance with the method of the present invention, a computer 12, such as computer 12e, is ready to receive data from an adjacent computer 12 by setting one, two, three, or all four of its lead lines high. The Similarly, the computer 12 can set one, two, three or all four of its light lines 20 high.

隣接コンピュータ12a、12b、12c又は12dの1台がそれ自体とコンピュータ12eとの間のライトライン20をハイにセットしたとき、もしコンピュータ12eが既に対応するリードライン18をハイにセットしていた場合には、ワードが当該コンピュータ12a、12b、12c又は12dからコンピュータ12eまで専用のデータライン22上で転送される。次いで、送信側のコンピュータ12はライトライン20を開放し、受信側のコンピュータ(この例では12e)は、ライトライン20及びリードライン18をロウにプル操作(pull)する。後の動作は、送信側のコンピュータ12にデータが受信されたことを確認通知する。   When one of adjacent computers 12a, 12b, 12c or 12d sets the write line 20 between itself and the computer 12e high, if the computer 12e already sets the corresponding read line 18 high The word is transferred on the dedicated data line 22 from the computer 12a, 12b, 12c or 12d to the computer 12e. Next, the transmitting computer 12 opens the write line 20, and the receiving computer (12e in this example) pulls the write line 20 and the read line 18 low. In the subsequent operation, the transmission side computer 12 is notified that the data has been received.

図1に示されるように、本発明のこの実施例において、コンピュータ12は上記の如く隣接コンピュータ12と通信する4つの通信ポート38を有する。通信ポート38は、オフステータスと、(コンピュータ12への駆動信号のための)受信ステータスと、(コンピュータ12外への駆動信号のための)送信ステータスとを有する3ステータスドライバである。コンピュータ12eの例の如く特定のコンピュータ12が配列(図5)内部に無い場合、通信ポート38のうちの1つ以上は少なくとも上記目的のためには当該特定のコンピュータにおいて使用されない。しかし、ダイのエッジに当接する通信ポート38は、コンピュータ12の内蔵用又は専用の外付用に設計された付加的な回路を有することができ、通信ポート38をして外部FOポート39(図5)として動作せしめる。かかる外部I/Oポート39の例は、制限するものではないが、USB(汎用シリアルバス)ポート、RS232シリアルバスポート、パラレル通信ポート、アナログからデジタルへ及び/又はデジタルからアナログへの変換ポート、及び多くの他の可能なバリエーションを含む。図5において、「エッジ」コンピュータ12fとは、外部装置82を備える外部I/Oポート39を通して通信する専用インタフェース回路80を備えて表わされる。   As shown in FIG. 1, in this embodiment of the invention, computer 12 has four communication ports 38 that communicate with adjacent computers 12 as described above. The communication port 38 is a three status driver having an off status, a reception status (for a drive signal to the computer 12), and a transmission status (for a drive signal to the outside of the computer 12). If a particular computer 12 is not within the array (FIG. 5), such as the computer 12e example, one or more of the communication ports 38 are not used in that particular computer for at least the above purposes. However, the communication port 38 that abuts the edge of the die can have additional circuitry designed for internal or dedicated external use of the computer 12 and can be used as an external FO port 39 (see FIG. Operate as 5). Examples of such external I / O ports 39 include, but are not limited to, USB (General Purpose Serial Bus) ports, RS232 serial bus ports, parallel communication ports, analog to digital and / or digital to analog conversion ports, And many other possible variations. In FIG. 5, an “edge” computer 12 f is represented with a dedicated interface circuit 80 that communicates through an external I / O port 39 that includes an external device 82.

多様な変形が本発明に対してその価値及び範囲を変えることのなくなされてもよい。例えば、本発明がここで特定のコンピュータ12を用いるものとして説明されているが、本発明の態様多く又は全てが他のコンピュータ設計又は他のコンピュータ配列等に容易に適応され得る。   Various modifications may be made to the invention without changing its value and scope. For example, although the present invention has been described herein as using a particular computer 12, many or all aspects of the present invention can be readily adapted to other computer designs, other computer arrangements, and the like.

本発明の態様が、ここでは主に単一ダイ14上の配列10内の複数コンピュータ12間の通信に関連して開示されたが、同一の原則及び方法が用いられ、又は使用毎に変形されて、コンピュータ12とその専用メモリとの間の通信又は配列10内のコンピュータ12と外部装置との間の通信の如き他の装置間通信を達成することができる。   Although aspects of the present invention have been disclosed herein primarily in the context of communication between multiple computers 12 in an array 10 on a single die 14, the same principles and methods may be used or modified from use to use. Thus, other device-to-device communication such as communication between the computer 12 and its dedicated memory or between the computer 12 in the array 10 and an external device can be achieved.

同様に、本発明は、ここではデュアルスタックプロセッサについて開示されたが、本発明はまた単一のスタックプロセッサ又は2つ以上のスタックを含むプロセッサについて実施され得る。   Similarly, although the invention has been disclosed herein for a dual stack processor, the invention can also be implemented for a single stack processor or a processor including two or more stacks.

上記の全ては本発明の利用可能な例の幾つかでしかない。当業者は容易にその多数の他の変形態様を知り得るものであり、かかる変形は本発明の思想及び範囲から逸脱することなくなされてもよい。従って、ここでの開示は制限するものとしては意図されず、添付の請求の範囲は本発明の全ての範囲を包囲するように解釈されるべきものである。   All of the above are only some of the available examples of the present invention. Those skilled in the art will readily recognize many other variations thereof, and such variations may be made without departing from the spirit and scope of the present invention. Accordingly, the disclosure herein is not intended to be limiting and the appended claims should be construed to encompass the full scope of the invention.

スタックコンピュータの概略レイアウトを示すブロック図である。It is a block diagram which shows the schematic layout of a stack computer. 本発明の1つの実施例によるデータスタックを示す図である。FIG. 4 illustrates a data stack according to one embodiment of the present invention. スタックの単一レジスタのより詳細を示す図である。FIG. 4 is a diagram showing more details of a single register in the stack. 本発明の1つの実施例によるリターンスタックを示す図である。FIG. 6 illustrates a return stack according to one embodiment of the present invention. 図1のコンピュータの多数相互作用を含むコンピュータ配列を示す図である。FIG. 2 illustrates a computer arrangement that includes multiple interactions of the computer of FIG. 図5のコンピュータの部分を示すと共に、図5の相互接続用データバスのより詳細を示す図である。FIG. 6 shows the computer portion of FIG. 5 and more details of the interconnect data bus of FIG.

Claims (42)

スタックコンピュータであって、
データ及びコードを記憶するメモリと、
前記データ及び前記コードを処理するプロセッサと、
前記プロセッサによってスタックとして使用可能な複数の固定配線のレジスタと
を備えることを特徴とするコンピュータ。
A stack computer,
A memory for storing data and codes;
A processor for processing the data and the code;
And a plurality of fixed-wiring registers that can be used as a stack by the processor.
前記複数のレジスタは、所定の反復シーケンスに従って正順又は逆順でアクセスされることを特徴とする、請求項1に記載のコンピュータ。   The computer of claim 1, wherein the plurality of registers are accessed in normal or reverse order according to a predetermined repetitive sequence. 前記複数のレジスタが前記正順にてアクセスされる場合には、前記レジスタのうちの最終のレジスタが前記シーケンスにおいてアクセスされた後に、前記レジスタのうちの最初のレジスタが前記シーケンスにおいてアクセスされ、
前記複数のレジスタが前記逆順にてアクセスされる場合には、前記レジスタのうちの最初のレジスタがアクセスされた後に、前記レジスタのうちの最終のレジスタがアクセスされることを特徴とする、請求項2に記載のコンピュータ。
If the plurality of registers are accessed in the normal order, after the last register of the registers is accessed in the sequence, the first register of the registers is accessed in the sequence;
The last register of the registers is accessed after the first register of the registers is accessed when the plurality of registers are accessed in the reverse order. The computer according to 2.
複数の単一ビットレジスタを含む双方向シフトレジスタをさらに含み、各単一ビットレジスタの出力は、前記レジスタのうちの関連する1つに至る少なくとも部分的な制御アクセスに接続され、これによって前記双方向シフトレジスタは、前記単一ビットレジスタに沿ってビットをシフトするスタックポインタとして機能することを特徴とする、請求項1に記載のコンピュータ。   A bi-directional shift register including a plurality of single bit registers, wherein the output of each single bit register is connected to at least partial control access to an associated one of the registers, thereby The computer of claim 1, wherein a direction shift register functions as a stack pointer that shifts bits along the single bit register. 前記複数の単一ビットレジスタの最終のものが前記複数の単一ビットレジスタの最初のものに接続されていることによって、前記複数の単一ビットレジスタは、それら自体に沿ってシフトされるビットに対して円環経路を提供することを特徴とする、請求項1に記載のコンピュータ。   The last of the plurality of single bit registers is connected to the first of the plurality of single bit registers, so that the plurality of single bit registers are bits shifted along themselves. The computer of claim 1, wherein the computer provides an annular path. スタックコンピュータのプロセッサであって、
少なくとも1つのデータレジスタを有するデータスタックと、
少なくとも1つのリターンレジスタを有するリターンスタックと、
を備え、前記データスタック及び前記リターンスタックは18ビット命令ワードを収容し得ることを特徴とするプロセッサ。
A stack computer processor,
A data stack having at least one data register;
A return stack having at least one return register;
And the data stack and the return stack can accommodate an 18-bit instruction word.
前記少なくとも1つのデータレジスタは、トップ側スタック(T)レジスタを有することを特徴とする、請求項6に記載のプロセッサ。   The processor of claim 6, wherein the at least one data register comprises a top stack (T) register. 前記少なくとも1つのデータレジスタは、スタック(S)レジスタに第2のポジションを有することを特徴とする、請求項7に記載のプロセッサ。   The processor of claim 7, wherein the at least one data register has a second position in a stack (S) register. 前記少なくとも1つのリターンレジスタは、トップ側レジスタ(R)を有することを特徴とする、請求項6に記載のプロセッサ。   The processor according to claim 6, characterized in that the at least one return register comprises a top register (R). 前記データスタックは、ハードウェアレジスタ配列をさらに有することを特徴とする、請求項6に記載のプロセッサ。   The processor of claim 6, wherein the data stack further comprises a hardware register array. 前記リターンスタックは、ハードウェアレジスタ配列をさらに有することを特徴とする、請求項6に記載のプロセッサ。   The processor of claim 6, wherein the return stack further comprises a hardware register array. 前記配列は円環パターン状に機能することを特徴とする、請求項10に記載のプロセッサ。   The processor according to claim 10, wherein the array functions in an annular pattern. 前記配列は円環パターン状に機能することを特徴とする、請求項11に記載のプロセッサ。   The processor according to claim 11, wherein the array functions in an annular pattern. コンピュータプロセッサを動作させる方法であって、
複数の命令ワードを前記プロセッサ内の対応する複数命令セルに入力する入力ステップと、
前記複数の命令ワードを処理する処理ステップとを含み、
前記入力ステップ及び処理ステップの結果として、命令のオーバーフロー又はアンダーフローがないことを特徴とする方法。
A method of operating a computer processor, comprising:
An input step of inputting a plurality of instruction words into a corresponding plurality of instruction cells in the processor;
Processing steps for processing the plurality of instruction words,
A method wherein there is no instruction overflow or underflow as a result of the input step and the processing step.
前記入力ステップは、全ての使用可能な命令セルを充たすことを特徴とする、請求項14に記載の方法。   15. The method of claim 14, wherein the input step fills all available instruction cells. 前記入力ステップは、全ての使用可能な命令セルが充たされた後に、付加的命令をさらに入力することを特徴とする、請求項15に記載の方法。   The method of claim 15, wherein the inputting step further inputs additional instructions after all available instruction cells have been filled. 前記入力ステップ及び前記処理ステップは、ソフトウェア実現されたポインタを用いることなく、起きることを特徴とする、請求項16に記載の方法。   The method of claim 16, wherein the input step and the processing step occur without using a software implemented pointer. 前記処理ステップは、前記複数の命令ワードをリロードすることなく、前記複数の命令ワードを反復して再使用することを特徴とする、請求項14に記載の方法。   15. The method of claim 14, wherein the processing step repetitively reuses the plurality of instruction words without reloading the plurality of instruction words. コンピュータプロセッサであって、
レジスタ配列と、
シフトレジスタと、
を備え、前記シフトレジスタは、電気配線によって相互接続されている複数の1ビットシフトレジスタを有し、前記複数の1ビットシフトレジスタの数は、前記レジスタ配列におけるレジスタの数に等しいことを特徴とするプロセッサ。
A computer processor,
A register array;
A shift register;
The shift register has a plurality of 1-bit shift registers interconnected by electrical wiring, and the number of the plurality of 1-bit shift registers is equal to the number of registers in the register array. Processor.
前記レジスタ配列の上に配置された少なくとも1つのレジスタをさらに備えることを特徴とする、請求項19に記載のプロセッサ。   The processor of claim 19, further comprising at least one register disposed on the register array. 前記レジスタ配列は、該配列を相互接続するリードバス及びライトバスを有することを特徴とする、請求項19に記載のプロセッサ。   The processor of claim 19, wherein the register array includes a read bus and a write bus interconnecting the array. 前記レジスタ配列は、円環パターン状に機能することを特徴とする、請求項19に記載のプロセッサ。   The processor according to claim 19, wherein the register array functions in an annular pattern. 前記レジスタ配列はスタック化されていることを特徴とする、請求項20に記載のプロセッサ。   21. The processor of claim 20, wherein the register array is stacked. 前記1ビットシフトレジスタは、前記電気配線によって1つおきパターン状に相互接続されていることを特徴とする、請求項23に記載のプロセッサ。   24. The processor according to claim 23, wherein the one-bit shift registers are interconnected in a pattern every other line by the electric wiring. 前記プロセッサはデータスタックであることを特徴とする、請求項19に記載のプロセッサ。   The processor of claim 19, wherein the processor is a data stack. 前記レジスタ配列は、8つのデータレジスタを有することを特徴とする、請求項25に記載のプロセッサ。   The processor of claim 25, wherein the register array comprises eight data registers. 前記レジスタ配列は、4の倍数個のデータレジスタを有することを特徴とする、請求項25に記載のプロセッサ。   26. The processor of claim 25, wherein the register array includes multiples of 4 data registers. 前記プロセッサはリターンスタックであることを特徴とする、請求項14に記載のプロセッサ。   The processor of claim 14, wherein the processor is a return stack. 前記レジスタ配列は8つのリターンレジスタを有することを特徴とする、請求項28に記載のプロセッサ。   The processor of claim 28, wherein the register array has eight return registers. 前記レジスタ配列は、4の倍数個のリターンレジスタを有することを特徴とする、請求項28に記載のプロセッサ。   30. The processor of claim 28, wherein the register array comprises a multiple of four return registers. コンピュータプロセッサであって、
レジスタ配列と、
前記レジスタ配列に固定配線された双方向シフトレジスタと、
を含み、
電気配線によって相互接続された複数の1ビットシフトレジスタをさらに含み、前記複数の1ビットシフトレジスタの数は、前記レジスタ配列におけるレジスタの数に等しいことを特徴とするプロセッサ。
A computer processor,
A register array;
A bidirectional shift register fixedly wired to the register arrangement;
Including
The processor further comprising a plurality of 1-bit shift registers interconnected by electrical wiring, wherein the number of the 1-bit shift registers is equal to the number of registers in the register array.
前記レジスタ配列の上に配置された少なくとも1つのレジスタをさらに備えることを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, further comprising at least one register disposed on the register array. 前記シフトレジスタは、前記レジスタ配列に対してハードウェアポインタとして機能することを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein the shift register functions as a hardware pointer for the register array. リードバス及びライトバスをさらに含むことを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, further comprising a read bus and a write bus. 前記複数の1ビットシフトレジスタの各々は、前記レジスタ配列のうちの専用のレジスタに対応することを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein each of the plurality of 1-bit shift registers corresponds to a dedicated register in the register array. 前記複数の1ビットシフトレジスタのうちの1つのシフトレジスタのみが1度に活性化されることを特徴とする、請求項35に記載のプロセッサ。   36. The processor of claim 35, wherein only one shift register of the plurality of 1-bit shift registers is activated at a time. 前記レジスタ配列は、該配列を相互接続するリードバス及びライトバスを有することを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein the register array includes a read bus and a write bus interconnecting the array. 前記複数の1ビットシフトレジスタは、電気配線で相互接続されることによってドライバのサイズ及びバッファリングが最小化されていることを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein the plurality of 1-bit shift registers are interconnected with electrical wiring to minimize driver size and buffering. 前記電気配線の全てが近接する3つの1ビットシフトレジスタ間に伸張していることを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein all of the electrical wiring extends between three adjacent 1-bit shift registers. 前記レジスタ配列は8つのレジスタを有することを特徴とする、請求項39に記載のプロセッサ。   40. The processor of claim 39, wherein the register array comprises eight registers. 前記プロセッサはデータスタックを有することを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein the processor has a data stack. 前記プロセッサはリターンスタックを有することを特徴とする、請求項31に記載のプロセッサ。   32. The processor of claim 31, wherein the processor has a return stack.
JP2009513215A 2006-05-26 2007-05-25 Computer circular register array Pending JP2009538488A (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US11/441,818 US7934075B2 (en) 2006-02-16 2006-05-26 Method and apparatus for monitoring inputs to an asyncrhonous, homogenous, reconfigurable computer array
US11/441,784 US7752422B2 (en) 2006-02-16 2006-05-26 Execution of instructions directly from input source
US11/441,812 US7913069B2 (en) 2006-02-16 2006-05-26 Processor and method for executing a program loop within an instruction word
US81808406P 2006-06-30 2006-06-30
US11/503,372 US7617383B2 (en) 2006-02-16 2006-08-11 Circular register arrays of a computer
PCT/US2007/012539 WO2007139964A2 (en) 2006-05-26 2007-05-25 Circular register arrays of a computer

Publications (2)

Publication Number Publication Date
JP2009538488A true JP2009538488A (en) 2009-11-05
JP2009538488A5 JP2009538488A5 (en) 2010-07-15

Family

ID=38779252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009513215A Pending JP2009538488A (en) 2006-05-26 2007-05-25 Computer circular register array

Country Status (3)

Country Link
JP (1) JP2009538488A (en)
KR (1) KR20090019806A (en)
WO (1) WO2007139964A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101831420B1 (en) 2015-07-09 2018-02-23 국민대학교산학협력단 combination generating system for emotional-lighting color connected with playing sound source, method for the same, and computer-readable recording medium for the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60217438A (en) * 1984-03-02 1985-10-31 テキサス インスツルメンツ インコ−ポレイテツド Data processing apparatus and method
JPS63161584A (en) * 1986-12-24 1988-07-05 Mitsubishi Electric Corp Semiconductor integrated circuit device
JPS63168748A (en) * 1987-01-07 1988-07-12 Matsushita Electric Ind Co Ltd Address control circuit
US4821299A (en) * 1986-02-18 1989-04-11 Matsushita Electronics Corporation Semiconductor integrated circuit device including shift register having substantially equalized wiring between stages thereof
JPH01269293A (en) * 1987-04-10 1989-10-26 Tandem Comput Inc Stack with single encoded stack point
JP2003006040A (en) * 2001-05-04 2003-01-10 Systemonic Ag Method and arrangement in one stack having one memory segmented into data groups having a plurality of elements

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449709B1 (en) * 1998-06-02 2002-09-10 Adaptec, Inc. Fast stack save and restore system and method
US6725361B1 (en) * 2000-06-16 2004-04-20 Transmeta Corporation Method and apparatus for emulating a floating point stack in a translation process

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60217438A (en) * 1984-03-02 1985-10-31 テキサス インスツルメンツ インコ−ポレイテツド Data processing apparatus and method
US4821299A (en) * 1986-02-18 1989-04-11 Matsushita Electronics Corporation Semiconductor integrated circuit device including shift register having substantially equalized wiring between stages thereof
JPS63161584A (en) * 1986-12-24 1988-07-05 Mitsubishi Electric Corp Semiconductor integrated circuit device
JPS63168748A (en) * 1987-01-07 1988-07-12 Matsushita Electric Ind Co Ltd Address control circuit
JPH01269293A (en) * 1987-04-10 1989-10-26 Tandem Comput Inc Stack with single encoded stack point
JP2003006040A (en) * 2001-05-04 2003-01-10 Systemonic Ag Method and arrangement in one stack having one memory segmented into data groups having a plurality of elements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012033791; 中村浄重 外3名: 'VLIWハードウェアスタックプロセッサ' 情報処理学会研究報告. 計算機アーキテクチャ研究会報告 第95巻,第80号, 19950823, p.9-16, 一般社団法人情報処理学会 *

Also Published As

Publication number Publication date
WO2007139964A3 (en) 2009-01-15
WO2007139964A2 (en) 2007-12-06
KR20090019806A (en) 2009-02-25

Similar Documents

Publication Publication Date Title
US7617383B2 (en) Circular register arrays of a computer
CN110990060B (en) Embedded processor, instruction set and data processing method of storage and computation integrated chip
US20060143428A1 (en) Semiconductor signal processing device
CN111063379B (en) Memory device and method of operating the same for reading a paged media stream
CN110825464A (en) Method and apparatus for providing data received by a state machine engine
WO1992002018A1 (en) Routing independent circuit components
WO1994022090A1 (en) Intelligent memory architecture
US20100023730A1 (en) Circular Register Arrays of a Computer
JPS6044699B2 (en) Special address generator
TWI534615B (en) Serial peripheral interface (spi) controller, serial peripheral interface flash memory and access method and access control method thereof
US20170371811A1 (en) Systems and devices for accessing a state machine
WO2003044652A2 (en) High-speed first-in-first-out buffer
JPH0155499B2 (en)
KR20110128787A (en) Microcontroller with linear memory in a banked memory
US20190354380A1 (en) Systems and devices for accessing a state machine
US5317750A (en) Microcontroller peripheral expansion bus for access to internal special function registers
JP2009538488A (en) Computer circular register array
US6230238B1 (en) Method and apparatus for accessing misaligned data from memory in an efficient manner
EP3859535B1 (en) Streaming access memory device, system and method
US5515506A (en) Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle
US5001629A (en) Central processing unit with improved stack register operation
EP0020972B1 (en) Program controlled microprocessing apparatus
KR100517765B1 (en) Cache memory and control method thereof
JPH0721103A (en) Data transfer device
EP1821198A1 (en) Circular register arrays of a computer

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121122