Yahoo Web Search

  1. About 809,000 search results
  1. en.wikipedia.org › wiki › DEC_AlphaDEC Alpha - Wikipedia

    Alpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computing (RISC) instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). Alpha was designed to replace 32-bit VAX complex instruction set computer (CISC) as well as be a highly competitive RISC processor for Unix workstations and similar markets.

    • 1992; 29 years ago
    • RISC
    • History
    • Design Principles
    • Registers
    • Data Types
    • Memory
    • Instruction Formats
    • Instruction Set
    • Extensions
    • Implementations
    • Performance

    PRISM

    Alpha was born out of an earlier RISC project named Prism (Parallel Reduced Instruction Set Machine), itself the product of several earlier projects. PRISM was intended to be a flexible design, supporting both Unix-like applications, as well as Digital’s existing VMS programs from the VAX after minor conversion. A new Unix-like operating system known as Micawould run applications natively, supporting VMS under emulation running at the same time. During development, the Palo Alto design team w...

    Alpha

    Another study was started to see if a new RISC architecture could be defined that could directly support the VMS operating system. The new design used most of the basic PRISM concepts, but was re-tuned to allow VMS and VMS programs to run at reasonable speed with no conversion at all. The decision was also made to upgrade the design to a full 64-bit implementation from PRISM’s 32-bit, a conversion all of the major RISC vendors were undertaking. Eventually that new architecture became Alpha. T...

    Improved models

    The first few generations of the Alpha chips were some of the most innovative of their time. 1. The first version, the Alpha 21064 or EV4, was the first CMOS microprocessor whose operating frequency rivalled higher-powered ECLminicomputers and mainframes. 2. The second, 21164 or EV5, was the first microprocessor to place a large secondary cache on-chip. 3. The third, 21264 or EV6, was the first microprocessor to combine both high operating frequency and the more complicated out-of-order execu...

    The Alpha architecture was intended to be a high-performance design. Digital intended the architecture to support a one-thousandfold increase in performance over twenty-five years. To ensure this, any architectural feature that impeded multiple instruction issue, clock rate or multiprocessing was removed. As a result, the Alpha does not have: 1. Branch delay slots 2. Suppressed instructions 3. Byte load or store instructions (later added with the Byte Word Extensions (BWX))

    The architecture defined a set of 32 integer registers and a set of 32 floating-point registers in addition to a program counter, two lock registers and a floating-point control register (FPCR). It also defined registers that were optional, implemented only if the implementation required them. Lastly, registers for PALcodewere defined. The integer registers were denoted by R0 to R31 and floating-point registers were denoted by F0 to F31. The R31 and F31 registers were hardwired to zero and writes to those registers by instructions are ignored. Digital considered using a combined register file, but a split register file was determined to be better as it enabled two-chip implementations to have a register file located on each chip and integer-only implementations to omit the floating-point register file containing the floating point registers. A split register file was also determined to be more suitable for multiple instruction issue due to the reduced number of read and write ports....

    In the Alpha architecture, a byte was defined as an 8-bit datum (octet), a word as a 16-bit datum, a longword as a 32-bit datum, a quadword as a 64-bit datum, and an octaword as a 128-bitdatum. The Alpha architecture originally defined six data types: 1. Quadword (64-bit) integer 2. Longword (32-bit) integer 3. IEEE T-floating-point (double precision, 64-bit) 4. IEEE S-floating-point (single precision, 32-bit) To maintain a level of compatibility with the VAX, the 32-bit architecture that preceded the Alpha, two other floating-point data types were included: 1. VAX G-floating point (double precision, 64-bit) 2. VAX F-floating point (single precision, 32-bit) 3. VAX H-floating point (quad precision, 128-bit) was not supported, but another 128-bit floating point option, X-floating point, was available on Alpha, but not VAX. H and X have been described as similar, but not identical. Software emulation for H-floating is available from DEC, as is a source-code level converter named DECmi...

    The Alpha has a 64-bit linear virtual address space with no memory segmentation. Implementations can implement a smaller virtual address space with a minimum size of 43 bits. Although the unused bits were not implemented in hardware such as TLBs, the architecture required implementations to check whether they are zero to ensure software compatibility with implementations with a larger (or full) virtual address space.

    The Alpha ISA has a fixed instruction length of 32 bits. It has six instruction formats. The integer operate format is used by integer instructions. It contains a 6-bit opcode field, followed by the Ra field, which specifies the register containing the first operand and the Rb field, specifies the register containing the second operand. Next is a 3-bit field which is unused and reserved. A 1-bit field contains a “0”, which distinguished this format from the integer literal format. A 7-bit function field follows, which is used in conjunction with the opcode to specify an operation. The last field is the Rc field, which specifies the register which the result of a computation should be written to. The register fields are all 5 bits long, required to address 32 unique locations, the 32 integer registers. The integer literal format is used by integer instructions which use a literal as one of the operands. The format is the same as the integer operate format except for the replacement o...

    Control instructions

    The controlinstructions consist of conditional and unconditional branches, and jumps. The conditional and unconditional branch instructions use the branch instruction format, while the jump instructions use the memory instruction format. Conditional branches test whether the least significant bit of a register is set or clear, or compare a register as a signed quadword to zero, and branch if the specified condition is true. The conditions available for comparing a register to zero are equalit...

    Integer arithmetic

    The integer arithmetic instructions perform addition, multiplication, and subtraction on longwords and quadwords; and comparison on quadwords. There is no instruction(s) for division as the architects considered the implementation of division in hardware to be adverse to simplicity. In addition to the standard add and subtract instructions, there are scaled versions. These versions shift the second operand to the left by two or three bits before adding or subtracting. The Multiply Longword an...

    Logical and shift

    The logical instructions consist of those for performing bitwise logical operations and conditional moves on the integer registers. The bitwise logical instructions perform AND, NAND, NOR, OR, XNOR, and XOR between two registers or a register and literal. The conditional move instructions test a register as a signed quadword to zero and move if the specified condition is true. The specified conditions are equality, inequality, less than or equal to, less than, greater than or equal to, and gr...

    Byte-Word Extensions

    Later, the Alpha included byte-word extensions, a set of instructions to manipulate 8-bit and 16-bit data types. These instructions were first introduced in the 21164A (EV56) microprocessor and are present in all subsequent implementations. These instructions performed operations that previously required multiple instructions to implement, which improved code density and the performance of certain applications. BWX also made the emulation of x86 machine code and the writing of device driverse...

    Motion Video Instructions

    Motion Video Instructions (MVI) was an instruction set extension to the Alpha ISA that added instructions for single instruction, multiple data (SIMD) operations. Alpha implementations that implement MVI, in chronological order, are the Alpha 21164PC (PCA56 and PCA57), Alpha 21264 (EV6) and Alpha 21364 (EV7). Unlike most other SIMD instruction sets of the same period, such as MIPS‘ MDMX or SPARC‘s Visual Instruction Set, but like PA-RISC‘s Multimedia Acceleration eXtensions(MAX-1, MAX-2), MVI...

    Floating-point Extensions

    Floating-point extensions (FIX) was an extension the Alpha Architecture. It introduced nine instructions for floating-point square-root and for transferring data to and from the integer registers and floating-point registers. The Alpha 21264(EV6) was the first microprocessor to implement these instructions.

    At the time of its announcement, Alpha was heralded as an architecture for the next 25 years. While this was not to be, Alpha has nevertheless had a reasonably long life. The first version, the Alpha 21064 (otherwise known as the EV4) was introduced in November 1992 running at up to 192 MHz; a slight shrink of the die (the EV4S, shrunk from 0.75 µm to 0.675 µm) ran at 200 MHz a few months later. The 64-bit processor was a superpipelined and superscalar design, like other RISC designs, but nevertheless outperformed them all and DEC touted it as the world’s fastest processor. Careful attention to circuit design, a hallmark of the Hudson design team, like a huge centralized clock circuitry, allowed them to run the CPU at higher speeds, even though the microarchitecture was fairly similar to other RISC chips. In comparison, the less expensive Intel Pentiumran at 66 MHz when it was launched the following spring. The Alpha 21164 or EV5 became available in 1995 at processor frequencies of...

    To illustrate the comparative performance of Alpha-based systems, some SPEC performance numbers (SPECint95, SPECfp95) are listed below. Note that the SPEC results claim to report the measured performance of a whole computer system (CPU, bus, memory, compiler optimizer), not just the CPU. Also note that the benchmark and scale changed from 1992 to 1995. However, the figures give a rough impression of the performance of the Alpha architecture (64-bit), compared with the contemporary HP (64-bit) and Intel-based offerings (32-bit). Perhaps the most obvious trend is that while Intel could always get reasonably close to Alpha in integer performance, in floating point performance the difference was considerable. On the other side, HP (PA-RISC) is also reasonably close to Alpha, but these CPUs are running at significantly lower clock rates (MHz). The tables lack two important values: the power consumption and the price of a CPU.

  2. People also ask

    What kind of instruction set does DEC Alpha use?

    Which is the first generation of DEC Alpha chips?

    What was the original name of the Compaq Alpha?

    What kind of motherboard does DEC Alpha use?

  3. en.wikipedia.org › wiki › DEC_AlphaStationAlphaStation - Wikipedia

    DEC Alpha AlphaStation is the name given to a series of computer workstations , produced from 1994 onwards by Digital Equipment Corporation , and later by Compaq and HP . As the name suggests, the AlphaStations were based on the DEC Alpha 64-bit microprocessor .

    • 2007
    • DEC (1994-1998)Compaq (1998-2002)HP (2002-2007)
  4. ja.wikipedia.org › wiki › DEC_AlphaDEC Alpha - Wikipedia

    • 歴史
    • 設計原則
    • レジスタ
    • データ型
    • メモリ
    • 命令フォーマット
    • 命令セット
    • 拡張命令セット
    • バージョン
    • 性能

    Alphaは、それ自体以前の複数のプロジェクトの最終生成物である、PRISM(英語版)という初期のRISCプロジェクトから生まれた。パロアルトの設計チームが MIPS R2000 を使ったUnix専用ワークステーション (DECstation 2100) を提案し、そちらの方が早く市場に出せることから PRISM はキャンセルされた。PRISMと他のRISCプロセッサの違いの中でも、Epicode と呼ばれるユーザープログラム可能なマイクロコードのサポートがPRISMの特徴である。PRISMは Mica と呼ばれる新オペレーティングシステムが動作するよう設計されていた。Micaは「ネイティブ」なプログラムはフルスピードで実行でき、同時にVAX向けの既存のVMSプログラムを若干変換して実行することができる。DEC経営陣は既存の稼ぎ頭を新しいマシンで置き換える必要性を理解せず、結局1988年にプロジェクトは中止された。 しかし、中止の時点でより新しいSPARCやMIPSといった第2世代のRISCチップはすでにVAXシリーズよりずっと良い価格性能比を誇っていた。第3世代のチップは価格だけでなく、全ての面においてVAXを完全に上回るであろうことは明らかだった。そのため、VMSを直接サポートする新しいRISCアーキテクチャが可能かどうかを調べる別の研究が始まった。新しいデザインはほとんどのPRISMの基本コンセプトを踏襲したが、VMSとVMSのプログラムを適度なスピードで全く変換せずに実行できるように、方針が転換された。主なRISCベンダと同様に、PRISMの32ビットから完全な64ビットの実装に設計を変更する決定もなされた。結果として、新しいアーキテクチャがAlphaとなった。Alphaの命令セットのアーキテクトはリチャード・L・サイツとリチャード・T・ウィテクである。PRISMのEpicodeは、AlphaのPALcode(英語版)となった。PALcodeはプラットフォーム固有およびプロセッサ実装固有の機能への抽象化されたインタフェースを提供する。PALcodeは、表面的にはマイクロコードそのものであるが、実体は「割り込み不可能なサブルーチン」であり、特権モードの生成などに使われた。VMSはCPUの動作モードとしてカーネル、エグゼクティブ、スーパバイザ、ユーザーの4...

    Alphaアーキテクチャは性能を最重要として設計されている。DECは25年で1000倍の性能向上を達成することを意図していた。そのため、複数命令の発行、クロック周波数向上、マルチプロセッシングといった方向性を妨げるアーキテクチャ上の特質は徹底的に取り除かれた。結果としてAlphaでは、以下のような特質を持たない。 1. 分岐遅延スロット 2. 命令の抑制 3. バイト単位のロード/ストア命令。ただし後にバイト/ワード拡張 (BWX) として追加した。

    アーキテクチャでは整数用レジスタが32本、浮動小数点用レジスタが32本定義されており、さらにプログラムカウンタ、2本のロックレジスタ、1本の浮動小数点コントロールレジスタ (FPCR) がある。他にも実装上必要な場合にのみ実装されるオプションのレジスタ群が定義されている。また、PALcode(英語版)用のレジスタ群が定義されている。 整数レジスタは R0 から R31 と表記され、浮動小数点レジスタは F0 から F31 と表記される。R31とF31は常にゼロであり、それらに書き込もうとしても無視される。DECは統合レジスタファイルも検討したが、整数レジスタファイルと浮動小数点レジスタファイルを分離した方が実装の自由度が上がり、FPUを別チップにすることも可能になるということで、分離することにした。また、複数命令を同時発行する場合、分離した方がレジスタファイルのリード/ライトのポート数を減らせるという利点もある。レジスタファイル内のレジスタ本数も32本と64本を候補として検討した。DECは32本の方がチップ上の面積が小さくなり、クロック周波数を上げやすいということでそちらを選択した。32本のレジスタがあれば少なくとも8命令同時発行までサポートできるため、このレジスタ本数は性能や将来の発展の観点からも大きな問題とはならないと考えられた。 プログラムカウンタは64ビットでロングワード(32ビットのこと。データ型も参照のこと)境界の仮想バイトアドレスを保持する。従って、下位2ビットは常にゼロであり、逐次的に命令を実行する際は4ずつインクリメントされる。マルチプロセッシングをサポートするため、ロックフラグとロックされた物理アドレスを格納するレジスタを使い、load-locked/store-conditional命令を実装している。浮動小数点コントロールレジスタ (FPCR) は64ビットのレジスタで、IEEE 754準拠の浮動小数点演算機能をハードウェアで実装するのに使われる。

    Alphaでは1バイトが8ビットデータとして定義されており、16ビットデータを1ワード、32ビットデータをロングワード、64ビットデータをクワッドワード、128ビットデータをオクタワードと称する。 Alphaアーキテクチャには当初から以下の6種類のデータ型が定義されていた。 1. クワッドワード(64ビット)整数 2. ロングワード(32ビット)整数 3. IEEE 倍精度浮動小数点数(T-floating-point、64ビット) 4. IEEE 単精度浮動小数点数(S-floating-point、32ビット) VAXとの互換性のため、次の2種類も含まれる。 1. VAX 倍精度浮動小数点数(G-floating point、64ビット) 2. VAX 単精度浮動小数点数(F-floating point、32ビット) 命令セットの将来の拡張で128ビットのデータ型をサポートすることが考慮されていた。

    64ビットの平坦な仮想アドレス空間を持つ。実装においては仮想空間を小さく実装してもよいことになっていて、最小仮想アドレス幅は43ビットとされている。未使用ビットはTLBなどのハードウェアでは実装されないが、ソフトウェアの互換性を保証するため、未使用ビットがゼロであることをハードウェアでチェックすることを要求している。

    Alpha ISAの命令長は32ビット固定である。命令フォーマットは6種類ある。 整数演算命令のフォーマットでは、オペコード6ビットの後に第1オペランドを指定するRaフィールドと第2オペランドを指定するRbフィールドがある。続く3ビットは未使用で予約されている。その次の1ビットは常に "0" で、リテラルを使用する整数演算命令のフォーマットとの区別に使われている。次に7ビットの機能フィールドがあり、オペコードとの組み合わせで具体的に何をするのかを指定する。最後のRcフィールドは演算結果を書き込むレジスタを指定する。レジスタを指定するフィールドはそれぞれ5ビットで、32種類の値が32本の整数レジスタに対応している。 リテラル整数演算フォーマットでは、オペランドの一方にリテラルを使用する。整数演算命令のフォーマットのうち、5ビットのRbフィールドと3ビットの未使用フィールドを合わせた8ビットをリテラルフィールドとして使用し、リテラルは符号拡張ではなくゼロ拡張で64ビットの値に変換して使用する。 浮動小数点演算フォーマットは整数演算フォーマットと似ているが、機能フィールドが11ビットに拡大している。 ロード/ストア用フォーマットでは、16ビットのディスプレースメント・フィールドで命令の後半が占められている。 分岐用フォーマットには21ビットのディスプレースメント・フィールドがある。Raフィールドは条件分岐の際に調べるレジスタを指定する。条件が成立している場合、プログラムカウンタにディスプレースメントを加算して更新する。ディスプレースメントは符号付き整数であり、正の場合は前方への分岐、負の場合は後方への分岐となる。分岐可能な範囲は 1,048,576 である。設計原則に従い、分岐可能範囲を広くとってある。 CALL_PALフォーマットはCALL_PAL命令で使うもので、PALcode(英語版)サブルーチン呼び出しに使われる。オペコード以外は26ビットの機能フィールドとなっており、PALcodeサブルーチンを指定する整数を示す。

    制御命令

    制御命令とは、条件分岐/無条件分岐とジャンプ命令である。条件分岐命令と無条件分岐命令は分岐用フォーマットを使い、ジャンプ命令はロード/ストア用フォーマットを使っている。 条件分岐では、指定されたレジスタの最下位ビットが1か0か(奇数/偶数)の判定、あるいは指定されたレジスタとゼロとの大小比較の判定を行い、指定された条件が成立していれば分岐する。分岐する場合は、21ビットのディスプレースメントを符号拡張し、4倍してロングワード境界にし、プログラムカウンタに加算する。このときのプログラムカウンタは実行中命令の次の命令を指している(更新済み)。 無条件分岐では、条件分岐と同様に計算したアドレスでプログラムカウンタを更新する。また、このとき実行中の無条件分岐命令の次にある命令のアドレスをRaフィールドで指定したレジスタにセーブする。分岐予測ハードウェアに提供するヒントが異なる2種類の無条件分岐命令がある。 ジャンプ命令は4種類ある(正確にはオペコードは1種類で、ディスプレースメント・フィールドに4種類の値を設定する)。Raフィールドが指定するレジスタに次の命令のアドレスをセーブし、Rbフ...

    整数演算

    整数演算命令としては、ロングワードおよびクワッドワードの加算/乗算/減算、クワッドワードの比較がある。除算命令は存在せず、ハードウェアの単純さを優先している。加算/減算命令にはスケール版があり、第2オペランドを2ビットまたは3ビット左にシフトしてから加減算を行う。乗算命令は積の下位64ビット(または32ビット)を指定されたレジスタに書き込む。64ビット乗算で積の上位64ビットを得るための命令 Unsigned Multiply Quadword High (MULH) もあり、任意精度演算の実装や除算アルゴリズムで使用する。積の上位半分を得る命令という考え方は PRISM(英語版)で生まれた。 ロングワード(32ビット)の整数演算命令は、レジスタの上位32ビットを無視して演算を行い、計算結果を符号拡張してレジスタに書き込む。UMULH命令とスケール版加減算命令以外の加算/乗算/減算命令はデフォルトではオーバーフローを検出しない。オーバーフローを検出するバージョンの命令も用意されている。 比較命令はレジスタ同士を比較するか、レジスタとリテラルを比較し、指定された条件が成立する場合は...

    論理演算とシフト

    論理演算命令としては、ビット単位の論理演算と整数レジスタ間の条件付き転送命令がある。ビット単位の論理演算には、AND、NAND、NOR、OR、XNOR、XOR があり、レジスタ間またはレジスタとリテラル間で演算を行う。条件付き転送命令はRaレジスタの内容について条件が成立する場合、Rbレジスタの内容をRcで指定したレジスタに書き込む。条件としては、ゼロとの比較(等しい、大小)と最下位ビットの値(奇数/偶数)がある。シフト命令には、算術右シフトと論理左シフトがある。シフトするビット数はレジスタまたはリテラルで指定できる。論理演算命令とシフト命令は整数演算用フォーマットを使用する。

    バイトワード拡張

    バイト/ワード拡張 (byte-word extensions, BWX) は8ビットおよび16ビットのデータ型を操作する命令セットである。21164A (EV56) マイクロプロセッサで初めて導入され、その後の実装では必ず存在している。BWXがない実装では複数の命令を必要としていた操作を1命令で実現可能となり、コード密度を高め、用途によっては性能も向上している。BWXによってx86の機械語コードのエミュレーションを可能にし、デバイスドライバも書きやすくなった。

    マルチメディア拡張

    Alpha ISA のマルチメディア拡張またはSIMD拡張を Motion Video Instructions (MVI) と呼ぶ。MVIを搭載した実装としては、時系列順に Alpha 21164PC (PCA56, PCA57)、Alpha 21264 (EV6)、Alpha 21364 (EV7) がある。同時期の他のISAのSIMD拡張としてMIPSのMDMXやサン・マイクロシステムズの Visual Instruction Set などとは異なり、MVIは整数データ型を既存の整数レジスタに格納して処理する単純な少数の命令セットである。 MVIの単純さには2つの理由がある。第一に、DECは 21164 で既にDVDのデコード処理をソフトウェアで実行可能だと判断していたため、そのためにSIMD命令を追加する必要はないと考えていたが、MPEG-2のエンコードにはSIMD命令が必要だと判断した。第二に、実装におけるサイクルタイムの高速性を保持しようとした。多数の命令を追加すると命令デコード論理回路が複雑化・巨大化するので、クロック周波数の低下にもつながる。 MVIには13の命令...

    浮動小数点拡張

    浮動小数点拡張 (floating-point extensions, FIX) は Alpha ISA の拡張であり、平方根を計算する命令と整数レジスタと浮動小数点レジスタの間の転送命令を含む。21264 (EV6) で初めて実装した。

    最初の発表時、Alphaは今後25年間続くアーキテクチャになるとされた。これは真実にはならなかったが、Alphaはそれなりに長寿命だったと言える。最初のバージョンであるAlpha 21064 (EV4) は1992年11月に導入され、192MHzで動作し、(0.75μmから0.675μmへ)ダイを若干縮小した EV4S は数カ月後に登場し、200MHzで動作した。64ビットプロセッサであるAlphaは、他のRISC設計と同様にスーパーパイプライン化されスーパースケーラであったが、にもかかわらずそれらの性能を凌駕し、DECは世界最速のプロセッサと喧伝した。Hudson設計チームのお家芸である回路設計へのこだわりにより、他のRISCチップとよく似たマイクロアーキテクチャであったにもかかわらず、Alphaはより高速で動作することができた。比較すると、次の春に発売されたインテルPentiumは66MHzで動作した。 Alpha 21164 (EV5) は333MHzで1995年に市販された。1996年7月には500MHzに引き上げられ、1998年3月には666MHzとなった。また、1998年に450MHzで登場した Alpha 21264 (EV6) は、2001年には1.25GHz版 (21264C/EV68CB) がリリースされた。2003年に登場した Alpha 21364 (EV7) は、EV68コアに1.6GB/sのインターコネクトを4本追加したもので、マルチプロセッシングのためのプロセッサ間通信機能を強化している。クロック周波数は1GHzまたは1.15GHzである。 1996年、Alphaチップの生産はサムスン電子にライセンスされた。コンパックによるDECの買収により、Alphaの資産の大部分はサムスンとコンパックが出資したAPI NetWorks, Inc. (以前はAlpha Processor Inc.) に移管された。 2001年6月25日、コンパックはインテルItaniumに移行するため2004年までにAlphaチップの開発を終了すると発表し、計画されていた EV8(英語版) はキャンセルし、Alphaの知的資産をインテルに売却するとした。コンパックを買収したヒューレット・パッカード (HP) は、Alphaシリーズのサポートは数年間継続し、1....

    Alphaベースのシステムでの性能を比較するため、以下にSPEC性能値 (SPECint95, SPECfp95) の一覧を示す。SPECはコンピュータシステム全体(CPU、バス、メモリ、コンパイラ)の性能を測定するものとされていて、CPUだけの性能を示すものではない。また、1992年から1995年にかけて、このベンチマークには変更が加えられている。それでも、Alphaアーキテクチャ(64ビット)と同時代のHP-PA(64ビット)やインテルベースのシステム(32ビット)との相対的な性能を大まかに比べることができる。最も明らかな傾向は、インテルとAlphaの整数演算性能は肩を並べているが、浮動小数点演算性能は大きな差があるという点である。一方、PA-RISCとAlphaはほぼ似たような性能だが、クロック周波数 (MHz) はHPの方がずっと低い。

    • 64ビット
    • RISC
    • 1992年
    • DEC
    • Történet
    • Tervezési Elvek
    • Regiszterek
    • Adattípusok
    • A Memória
    • Utasításformátumok
    • Utasításkészlet
    • Kiterjesztések
    • Megvalósítások
    • Teljesítmény

    A PRISM

    Az Alpha egy korábbi RISC projektből született, a PRISM nevű fejlesztésből, amely maga is több másik tervezet végeredménye. A PRISM-et egy rugalmas rendszernek tervezték, amely mind a Unix-szerű alkalmazásokat, mind a Digital meglévő VAX környezetből származó VMS programjait is támogatta, egy átalakítás után. A VAX architektúra megfelelő teljesítményű támogatása érdekében a PRISM felhasználó által programozható mikrokódot is tartalmazott, ez volt az Epicode. Az Epicode lehetővé tette a VAX ut...

    Az Alpha

    Egy újabb kutatást indítottak annak kiderítésére, hogy lehetséges-e egy olyan új RISC architektúra definiálása, amely közvetlenül képes támogatni a VMS operációs rendszert. Az új kialakításban felhasználták az alapvető PRISM koncepciókat, de azt újrahangolták, úgy építették fel, hogy lehetővé tegye a VMS és a VMS alá írt programok futását, elfogadható sebességen és mindenféle konverzió nélkül. Ezenkívül eldöntötték, hogy a kialakítás megvalósítása teljes mértékben 64 bites lesz, a PRISM 32 bi...

    Továbbfejlesztett modellek

    Az Alpha csipek első néhány generációja a leginnovatívabb fejlesztések között volt a maga idejében – ebben a processzorsorozatban igen sok újítást vezettek be. Az első változat, az Alpha 21064 avagy EV4, volt az első CMOS mikroprocesszor, amelynek órajele vetekedett a nagyobb teljesítményű ECL mini- és nagygépekével. A második, a 21164 vagy EV5 modell volt az első mikroprocesszor, amelynél megjelent a csipbe integrált nagyméretű másodlagos gyorsítótár. A harmadik, a 21264 vagy EV6, volt az el...

    Az Alpha architektúrát eleve nagy teljesítményű konstrukciónak tervezték. A Digital úgy számított, hogy az architektúra ezerszeres teljesítménynövekedést fog támogatni az elkövetkező huszonöt évben. Ennek biztosítása céljából eltávolítottak mindenolyan architekturális jellemzőt, amely akadályozta volna a többszörös utasításkibocsájtást, lassította volna az órajelet vagy a többprocesszoros végrehajtást. Ennek eredménye, hogy az Alphában nincsenek: 1. késleltetési rések(elágazási késleltetési rések), 2. elnyomott utasítások, 3. bájtos betöltő vagy tároló utasítások (bár ezeket később hozzáadták a Byte Word Extensions(BWX) bővítményben).

    Az architektúra 32 egész (integer) regisztert és 32 lebegőpontos regisztert definiál, a programszámláló, két zárolási segédregiszter és egy lebegőpontos vezérlőregiszter (floating-point control register, FPCR) mellett. A specifikáció megenged opcionális regisztereket is, amelyeket csak akkor alakítanak ki, ha a megvalósításnak szüksége van azokra. Végül definiálja a PALcoderegisztereit. Az egészértékű regiszterek jelölése R0-tól R31-ig tart, a lebegőpontos regisztereket F0 – F31 jelöli. Az R31 és F31 regiszterek értéke a hardveresen megvalósított nulla, az ezekbe való írást a processzor figyelmen kívül hagyja. A Digital mérlegelte az egyesített regiszterfájl használatát, azonban a kettévágott regiszterfájl használatát jobbnak ítélték, mivel az a kétcsipes kialakításokban megengedte, hogy mindkét csipbe külön regiszterfájl kerüljön és lehetővé tette a csak egész típusú aritmetikát használó megvalósításokban a lebegőpontos regisztertár elhagyását. Úgy találták, hogy a kettéosztott reg...

    Az Alpha architektúrában a következő adategységeket definiálták: a bájt 8 bites, a szó 16 bites, a hosszúszó (longword) 32 bites, a négyszó (quadword) 64 bites és a nyolcszó (octaword) 128 bitesadatot jelöl. Az Alpha architektúra eredetileg hat adattípust határozott meg: 1. Négyszó (quadword)64 bites egész (integer) 2. Hosszúszó (longword)32 bites egész (integer) 3. IEEE T-lebegőpontos – duplapontos, 64 bites 4. IEEE S-lebegőpontos – egyszeres pontosságú, 32 bites A 32 bites VAX architektúrával való kompatibilitás fenntartása érdekében két VAX által definiált adattípust is magában foglal: 1. VAX G-lebegőpontos – duplapontos, 64 bites 2. VAX F-lebegőpontos – egyszeres pontosságú, 32 bites Az Alphának volt tartaléka az utasításkészlet jövőbeli, 128 bites adattípusokra való kiterjesztésére is.

    Az Alpha architektúra 64 bites lineáris virtuális címteret használ, memóriaszegmentáció nélkül. A megvalósításokban lehetséges kisebb virtuális címtér megvalósítása is, ám ennek legalább 43 bitesnek kell lennie. Bár a nem használt bitek nincsenek a hardverben, pl. a TLB-ben megvalósítva, az architektúra megköveteli az érintett címbitek nulla értékének ellenőrzését az implementációkban, a szoftverkompatibilitás fenntartása érdekében a nagyobb vagy teljes virtuális címteret megvalósító implementációkkal.

    Az Alpha ISA utasításai mind rögzített hosszúak, 32 bitesek. Hat utasításformátuma van. Az egész művelet (integer operate) formátumot az egész / fixpontos utasítások használják. Ebben egy 6 bites opkódmezőtalálható, amelyet az Ra mező követ: ez az első operandus regiszterét tartalmazza, majd az Rb mező, amely a második operandus regiszterét határozza meg. Ez után egy 3 bites mező áll, amely nem használt és fenntartott. A következő 1 bites mezőben „0” áll, amely ennek a formátumnak az „egész literál” formátumtól való megkülönböztetésére szolgál. Ez után egy 7 bites funkciómező áll, amely az opkóddal együtt a művelet meghatározására szolgál. Az utolsó mező az Rc mező, amely azt a regisztert határozza meg, amelybe a művelet eredménye kerül. A regisztermezők 5 bitesek, amely 32 regiszter megkülönböztetését teszi lehetővé. Az egész literál (integer literal)formátumot szintén az egész utasítások használják, csak az egyik operandus nem regiszter, hanem egy közvetlen érték (literál). A form...

    Vezérlőutasítások

    A programvezérlő utasítások csoportját a feltétel nélküli és feltételes elágazások, valamint az ugróutasítások alkotják. A feltétel nélküli és feltételes elágazási utasítások az elágazási utasítás formátumot, míg az ugróutasítások a memória formátumot használják. A feltételes elágazások azt ellenőrzik, hogy egy regiszter legkisebb helyiértékű bitje be van-e állítva vagy sem, vagy egy regiszter tartalmát előjeles négyszóként nullával hasonlítják össze, és elágaztatják a programot, ha a vizsgál...

    Egész aritmetika

    Az egész aritmetikai utasítások az összeadás, szorzás és kivonás műveleteket végzik hosszúszavakon és négyszavakon (32 és 64 bites értékeken), valamint a négyszavas értékek összehasonlítását. Hiányoznak az osztást megvalósító utasítások, mivel a tervezők úgy vélték, hogy az osztás hardveres megvalósítása ellentétben áll a kialakítás egyszerűségével. A megszokott összeadási és kivonási utasítások mellett az architektúrában ezeknek vannak úgynevezett „skálázott” változatai is Ezek a változatok...

    Logikai és léptető műveletek

    A logikai utasítások közé tartoznak a bitenkénti logikai műveleteket végző utasítások és az egész regiszterek között feltételes mozgatását végző utasítások. A bitenkénti logikai utasításik AND, NAND, NOR, OR, XNOR és XOR műveleteket végeznek két regiszter között, vagy egy regiszter és egy közvetlen érték között. A feltételes mozgató utasítások vizsgálják egy regiszter értékét (előjeles négyszóként összehasonlítják nullával) és mozgatják az adatot, ha a megadott feltétel teljesül. A feltétel l...

    Bájt és szó kiterjesztés

    Az Alpha későbbi verziói már tartalmazták a bájt és szó kiterjesztéseket, ami 8 bites és 16 bites adatokat manipuláló utasításcsoport. Ezeket az utasításokat a 21164A (EV56) processzorban vezették be és jelen vannak az összes rákövetkező modellben. Az utasítások olyan műveleteket végeznek, amelyeket korábban csak több utasítással lehetett megvalósítani; ez növelte a kódsűrűséget és a hatékonyságot bizonyos alkalmazásokban. A BWX segítette az x86-os gépi kód emulálását és megkönnyítette az esz...

    Mozgókép-utasítások

    A Motion Video Instructions (MVI) egy utasításkészlet-kiterjesztés az Alpha ISA-hoz, amely SIMDműveletek végzésére szolgáló utasításokat adott az utasításkészlethez. Az MVI-t megvalósító Alpha processzorok időrendi sorrendben: az Alpha 21164PC (PCA56 és PCA57), az Alpha 21264 (EV6) és az Alpha 21364 (EV7). A korabeli egyéb SIMD utasításkészletektől – ilyenek pl. a MIPS MDMX vagy a Sun Microsystems Visual Instruction Setkiterjesztései – eltérően az MVI egy egyszerű utasításkészlet, néhány utas...

    Lebegőpontos kiterjesztés

    A lebegőpontos kiterjesztés (Floating-point extensions, FIX) kilenc új utasítást vezetett be az Alpha architektúrába.Ezek között adatkonverziós utasítások találhatók az egész és lebegőpontos regiszterek között, valamint a négyzetgyökvonás utasítás mind a négy lebegőpontos adatformátumhoz.A kiterjesztést elsőként az Alpha 21264(EV6) processzorban vezették be.

    Bejelentése idején az Alpha az elkövetkező 25 év architektúrájaként volt beharangozva. Bár nem így történt, az Alpha mégis viszonylag hosszú időt ért meg. Az első verzió, az Alpha 21064 (másik jelölése EV4) 1992 novemberében volt bevezetve, legnagyobb órajele 192 MHz lehetett; ezt követte néhány hónappal később a csökkentett lapkaméretű EV4S, (ebben a csíkszélességet 0,75 µm-ről 0,675 µm-re csökkentettek), melynek órajele már elérte a 200 MHz-et. A 64 bites processzor szuperfutószalagos és szuperskalár kialakítású volt, a többi RISC dizájnhoz hasonlóan, azonban mindegyiket maga mögött hagyta teljesítményben és a DEC rögtön kikiáltotta a világ leggyorsabb processzorának. A Hudson tervezőcsapatot mindig is a gondos, figyelmes áramköri tervezés fémjelezte; ennek egyik jele például a hatalmas központosított órajelvezérlő és -továbbító áramkör, ami lehetővé teszi, hogy a CPU magasabb órajelen fusson, még akkor is, ha a mikroarchitektúra meglehetősen hasonlít a többi RISC csipére. Összeha...

    Az Alpha-alapú rendszerek teljesítményének felbecsléséhez az alábbi táblázatokban néhány, a teljesítményre jellemző SPEC adatot (SPECint95, SPECfp95) soroltunk fel. Megjegyzendő, hogy a SPEC tesztek igyekeznek a teljes számítógépes rendszer teljesítményét figyelembe venni, tehát az eredményben benne van a CPU, rendszersín, memória, és az optimalizáló fordítóprogram egyesített teljesítménye, nem kizárólag a processzoré. Azt is meg kell jegyezni, hogy maga a teszt és a skála is változott 1992-től 1995-ig. A számok mégis alkalmasak a 64 bites Alpha architektúra teljesítményének közelítő szemléltetésére, összehasonlítva azt a korabeli 64 bites HP és 32 bites Intel-alapú kínálattal. Talán a legszembeötlőbb tendencia az, hogy míg az egészértékű / fixpontos számítások terén az Intel meglehetősen közel kerül az Alphához, addig a lebegőpontos számítások terén a lemaradása igen nagy. Másrészt a HP (PA-RISC) teljesítménye szintén közel áll az Alpháéhoz, de ezek a processzorok sokkal kisebb óra...

    • 64 bites
    • RISC
  5. en.wikipedia.org › wiki › AlphaServerAlphaServer - Wikipedia

    As the name suggests, the AlphaServers were based on the DEC Alpha 64-bit microprocessor. Supported operating systems for AlphaServers are Tru64 UNIX (formerly Digital UNIX), OpenVMS , MEDITECH MAGIC [1] and Windows NT (on earlier systems, with AlphaBIOS ARC firmware), while enthusiasts have provided alternative operating systems such as Linux , NetBSD , OpenBSD and FreeBSD .

  1. People also search for