Computer/CPU

Intel iAPX 432 [Intel / January 1981]

AICAT 2024. 9. 29. 03:51
반응형

 

 

iAPX 432(인텔 고급 성능 아키텍처)는 1981년에 도입된 단종된 컴퓨터 아키텍처이다. 인텔의 첫 32비트 프로세서 설계로, 아키텍처의 주요 프로세서는 당시의 기술적 한계로 인해 두 개의 개별 집적 회로로 구현되었다. 초기 8086, 80186 및 80286 기반 시스템과 매뉴얼에서도 마케팅 목적으로 iAPX 접두사를 사용했지만, iAPX 432와 8086 프로세서 라인은 완전히 다른 설계로 서로 다른 명령어 집합을 가지고 있다.

프로젝트는 1975년 8800으로 시작되었으며(8008과 8080 이후), 인텔의 1980년대 주요 설계로 예정되었다. 8086은 8080의 후속 제품으로 1976년에 설계되었고, iAPX 432는 인텔의 이전 설계와는 완전히 다른 시장 틈새를 위한 급진적인 변화를 추구했다. iAPX 432 프로젝트는 상업적 실패로 간주되며, 1986년에 단종되었다.

iAPX 432는 "마이크로 메인프레임"으로 불리며, 전적으로 고급 언어로 프로그래밍되도록 설계되었다. 명령어 집합 아키텍처는 완전히 새롭고, 인텔의 이전 8008 및 8080 프로세서와는 상당한 차이가 있다. iAPX 432의 프로그래밍 모델은 스택 머신으로, 가시적인 범용 레지스터가 없다. 객체 지향 프로그래밍, 가비지 수집 및 멀티태스킹을 지원하며, 하드웨어와 마이크로코드를 통해 더 전통적인 메모리 관리도 지원한다. 다양한 데이터 구조에 대한 직접 지원을 통해 현대 운영 체제를 구현하는 데 필요한 프로그램 코드를 크게 줄일 수 있도록 설계되었다. 인텔 iMAX 432는 432용으로 단종된 운영 체제로, 전적으로 아다(Ada)로 작성되었으며, 아다는 애플리케이션 프로그래밍의 주요 언어로 설정되었다. 이러한 측면에서 iAPX 432는 고급 언어 컴퓨터 아키텍처로 볼 수 있다.

이러한 속성과 기능으로 인해 하드웨어 및 마이크로코드 설계가 당시의 대부분 프로세서보다 더 복잡해졌다. 그러나 내부 및 외부 버스는 대부분 16비트 이상이 아니며, 68000이나 32016과 같은 시대의 다른 32비트 마이크로프로세서처럼 32비트 산술 명령어는 16비트 ALU에 의해 구현되었다. iAPX 432는 8080에 비해 주소 공간이 확장되었지만, 데이터의 선형 주소 지정은 여전히 16비트 오프셋만 사용할 수 있었다. 

인텔의 엔지니어들은 당시의 반도체 기술로 설계를 효율적인 초기 구현으로 변환할 수 없었으며, 미숙한 아다 컴파일러의 최적화 부족도 느린 성능에 기여했다. 초기 벤치마크에서 iAPX 432는 같은 클럭 주파수에서 80286 칩의 약 1/4의 속도로 작동했다. 이러한 성능 격차로 인해 인텔은 iAPX 432로 8086(x86)를 대체하려는 계획이 실패하게 되었다. 

iAPX 432는 처음에 10MHz의 클럭 주파수를 목표로 했으나, 실제 판매된 장치는 4MHz, 5MHz, 7MHz 및 8MHz의 최대 클럭 속도로 지정되었고, 8MHz에서의 최대 성능은 초당 200만 개의 명령어에 달했다.

iAPX 432 프로젝트는 1976년 시작되었으며, 8비트 인텔 8080이 완성된 다음 해에 시작되었다. 프로젝트의 초기 이름은 8800이었으며, 8008 및 8080 마이크로프로세서 이후의 다음 단계로 설정되었다. 그러나 이 설계는 단순한 단계가 아니었다. 기존 8비트 프로세서는 알고리즘과 같은 컴파일된 언어에 잘 맞지 않았고, 작은 네이티브 주소 지정 범위(8008의 경우 16KB, 8080의 경우 64KB)가 복잡한 소프트웨어 시스템에 부족했다. 인텔은 이제 몇 개의 LSI 칩으로 기능적으로 동일하거나 더 나은 32비트 미니컴퓨터 및 메인프레임 시스템을 구축하고자 했다.

iAPX 432의 혁신적인 기능 중 일부는 성능에 부정적인 영향을 미쳤다. iAPX 432는 많은 경우, 당시의 전통적인 마이크로프로세서보다 명령어 처리 속도가 현저히 느렸다. 두 개의 GDP 칩 구현은 메인보드의 전기 배선 속도에 제한되었으며, 복잡한 명령어 집합 아키텍처는 큰 연관 캐시를 필요로 했지만 칩에는 그러한 공간이 남아 있지 않았다. 또한, BIU는 결함 허용 시스템을 지원하도록 설계되어 최대 40%의 버스 시간을 대기 상태로 만들었다.

미숙하고 조정되지 않은 아다 컴파일러 또한 주요 문제였다. 이 컴파일러는 모든 경우에 고비용의 객체 지향 명령어를 사용했으며, 빠른 스칼라 명령어를 사용할 수 있는 경우에도 그렇게 했다. 뉴욕 타임즈에 따르면 "i432는 모토로라 68000보다 5배에서 10배 더 느리게 실행되었다"고 보도되었다.

iAPX 432는 IEEE-754 부동 소수점 산술 표준을 구현한 최초의 시스템 중 하나로, 실패의 결과로 마이크로프로세서 설계자들은 칩에서 객체 지원이 복잡한 설계를 초래하며 느리게 작동한다는 결론을 내렸다. 그러나 일부는 객체 지향 지원이 432의 주요 문제는 아니었다고 주장하며, 구현상의 결점(특히 컴파일러의 문제)이 모든 CPU 설계를 느리게 만들었다고 본다. iAPX 432 이후 비슷한 디자인을 시도한 사례는 Rekursiv 프로세서가 유일하며, INMOS Transputer의 프로세스 지원은 유사하게 빠르다고 평가된다.

인텔은 iAPX 432에 상당한 시간과 돈, 인력 자원을 투자했으며, 시장에서의 실패에도 불구하고 완전히 포기하기를 원치 않았다. 새로운 설계자 글렌포드 마이어스가 채용되어 인텔/지멘스 프로젝트를 위한 새로운 아키텍처와 구현을 생산하게 되었고, 이는 i960 시리즈 프로세서로 이어졌다. i960 RISC 하위 집합은 한동안 임베디드 프로세서 시장에서 인기를 끌었으나, 고급 960MC와 태그 메모리 960MX는 군사 애플리케이션만을 위해 마케팅되었다. 뉴욕 타임즈에 따르면 인텔의 HP와의 협업으로 탄생한 멀세드 프로세서(후에 이태니엄으로 알려짐)는 매우 고급 시장에서의 복귀 시도였다.


 

 

 

The iAPX 432 (Intel Advanced Performance Architecture) is a discontinued computer architecture introduced in 1981. It was Intel's first 32-bit processor design. The main processor of the architecture, the General Data Processor, was implemented as a set of two separate integrated circuits due to technical limitations at the time. Although some early 8086, 80186, and 80286-based systems and manuals also used the iAPX prefix for marketing reasons, the iAPX 432 and the 8086 processor lines are completely separate designs with different instruction sets.

 

The project started in 1975 as the 8800 (after the 8008 and 8080) and was intended to be Intel's major design for the 1980s. Unlike the 8086, which was designed a year later as a successor to the 8080, the iAPX 432 was a radical departure from Intel's previous designs for a different market niche. The iAPX 432 project is considered a commercial failure for Intel and was discontinued in 1986.

 

The iAPX 432 was referred to as a "micromainframe," designed to be programmed entirely in high-level languages. Its instruction set architecture was entirely new and a significant departure from Intel's previous 8008 and 8080 processors. The programming model of the iAPX 432 is a stack machine with no visible general-purpose registers. It supports object-oriented programming, garbage collection, and multitasking, as well as more conventional memory management directly in hardware and microcode. Direct support for various data structures was intended to allow modern operating systems to be implemented with much less program code than for ordinary processors. Intel iMAX 432 is a discontinued operating system for the 432, written entirely in Ada, and Ada was also the intended primary language for application programming. In some aspects, it may be seen as a high-level language computer architecture.

 

These properties and features resulted in a hardware and microcode design that was more complex than most processors of the era, especially microprocessors. However, internal and external buses are mostly not wider than 16-bit, and, just like other 32-bit microprocessors of the era, 32-bit arithmetic instructions are implemented by a 16-bit ALU. The iAPX 432's enlarged address space over the 8080 was also limited by the fact that linear addressing of data could still only use 16-bit offsets.

 

Using the semiconductor technology of its day, Intel's engineers weren't able to translate the design into a very efficient first implementation. This, along with the lack of optimization in a premature Ada compiler, contributed to slow but expensive computer systems, performing typical benchmarks at roughly 1/4 the speed of the new 80286 chip at the same clock frequency. This initial performance gap to the lower-profile and lower-priced 8086 line was probably the main reason why Intel's plan to replace the latter (later known as x86) with the iAPX 432 failed. Although engineers saw ways to improve a next generation design, the iAPX 432 capability architecture had started to be regarded more as an implementation overhead rather than as the simplifying support it was intended to be.

 

Originally designed for clock frequencies of up to 10 MHz, actual devices sold were specified for maximum clock speeds of 4 MHz, 5 MHz, 7 MHz, and 8 MHz with a peak performance of 2 million instructions per second at 8 MHz.


 

iAPX 432(インテル高度性能アーキテクチャ)は、1981年に導入された廃止されたコンピュータアーキテクチャです。これはインテルの最初の32ビットプロセッサ設計でした。このアーキテクチャの主要プロセッサである一般データプロセッサは、当時の技術的制限により2つの別々の集積回路として実装されました。初期の8086、80186、80286ベースのシステムやマニュアルでもマーケティング目的でiAPX接頭辞が使用されましたが、iAPX 432と8086プロセッサラインは完全に異なる設計であり、異なる命令セットを持っています。

 

このプロジェクトは1975年に8800(8008と8080の後)として始まり、1980年代のインテルの主要設計とされていました。8080の後継として1年後に設計された8086とは異なり、iAPX 432はインテルの以前の設計からの急激な変化であり、異なる市場ニッチ向けに設計されました。iAPX 432プロジェクトはインテルにとって商業的失敗と見なされ、1986年に廃止されました。

 

iAPX 432は「マイクロメインフレーム」と呼ばれ、高級言語で完全にプログラムされるように設計されました。その命令セットアーキテクチャは完全に新しく、インテルの以前の8008および8080プロセッサから大きく逸脱しています。iAPX 432のプログラミングモデルはスタックマシンで、可視の汎用レジスタはありません。オブジェクト指向プログラミング、ガーベジコレクション、マルチタスクをサポートし、ハードウェアおよびマイクロコードでのより従来のメモリ管理もサポートしています。さまざまなデータ構造への直接サポートにより、一般的なプロセッサよりもはるかに少ないプログラムコードで現代のオペレーティングシステムを実装できることを意図していました。インテルiMAX 432は432用の廃止されたオペレーティングシステムで、完全にアダで書かれており、アダはアプリケーションプログラミングの主要な言語としても意図されていました。いくつかの側面では、高級言語コンピュータアーキテクチャとして見なされることがあります。

 

これらの特性と機能は、当時のほとんどのプロセッサ、特にマイクロプロセッサよりも複雑なハードウェアおよびマイクロコード設計をもたらしました。ただし、内部および外部バスはほとんど16ビットを超えず、同時代の他の32ビットマイクロプロセッサと同様に、32ビット算術命令は16ビットALUによって実装されています。iAPX 432の8080に対する拡大アドレス空間も、データの線形アドレッシングが依然として16ビットオフセットのみを使用できるという制限を受けていました。

 

当時の半導体技術を使用して、インテルのエンジニアはこの設計を非常に効率的な初期実装に変換することができませんでした。これに、未熟なアダコンパイラの最適化不足が加わり、典型的なベンチマークで80286チップの同じクロック周波数で約1/4の速度で動作する遅くて高価なコンピュータシステムが生じました。この初期の性能ギャップは、低プロファイルで低価格の8086ラインに対する主要な理由であり、インテルのiAPX 432で8086(後にx86として知られる)を置き換える計画が失敗した可能性があります。エンジニアは次世代設計の改善方法を見出しましたが、iAPX 432の能力アーキテクチャは、意図した簡素化のサポートよりも実装オーバーヘッドとして見なされ始めました。

 

もともと10MHzまでのクロック周波数を目指して設計されましたが、実際に販売されたデバイスは最大4MHz、5MHz、7MHz、8MHzのクロックスピードを指定され、8MHzでの最大性能は1秒あたり200万命令に達しました。

반응형

'Computer > CPU' 카테고리의 다른 글

Intel i860 [Intel / 1989]  (0) 2024.10.01
Intel i960 [Intel / April 6, 1988]  (0) 2024.09.30
Intel 80286 [Intel / January 1982]  (0) 2024.09.28
Intel 80186 [Intel / January 1982]  (0) 2024.09.27
Intel 8088 [Intel / 1979]  (0) 2024.09.26