Computer/CPU

INTEL 8008 [INTEL / 1972]

AI_CAT 2024. 9. 19. 02:19
728x90
반응형

인텔 8008("팔천팔" 또는 "팔십팔")은 16KB의 메모리를 주소 지정할 수 있는 초기 8비트 마이크로프로세서로, 1972년 4월에 도입되었다. 8008 아키텍처는 컴퓨터 터미널 코퍼레이션(CTC)에 의해 설계되었으며, 인텔에 의해 구현되고 제조되었다. 8008은 원래 CTC의 Datapoint 2200 프로그래머블 터미널에 사용하기 위해 설계되었으나, 세이코가 계산기에 사용하기 위해 관심을 표명한 후, CTC와 인텔 간의 합의에 따라 인텔이 다른 고객에게 칩을 판매할 수 있게 되었다.

Datapoint 3300의 과도한 열 방출 문제를 해결하기 위해, 컴퓨터 터미널 코퍼레이션(CTC)은 단일 칩으로 내부 회로를 재구현한 CPU를 포함한 3300의 후속 모델의 아키텍처를 설계하였다. 칩 설계를 생산할 수 있는 회사를 찾던 CTC의 공동 창립자 오스틴 O. "거스" 로슈는 당시 주로 메모리 칩을 판매하던 인텔에 도움을 요청하였다. 로슈는 밥 노이스와 만났고, 노이스는 이 개념에 대해 우려를 표명하였다. 존 프라사니토는 다음과 같이 회상하였다:
"노이스는 그것이 흥미로운 아이디어라고 말했지만, 인텔이 그것을 할 수는 있지만 어리석은 일이 될 것이라고 말했다. 컴퓨터 칩이 있으면 컴퓨터당 하나의 칩만 팔 수 있지만, 메모리 칩은 컴퓨터당 수백 개를 팔 수 있기 때문이다."

또 다른 주요 우려는 인텔의 기존 고객들이 자체 프로세서 설계에 사용하기 위해 메모리 칩을 구매하고 있었기 때문에, 인텔이 자체 프로세서를 도입하면 경쟁자로 인식될 수 있으며, 고객들이 메모리를 다른 곳에서 찾을 수 있다는 점이었다. 그럼에도 불구하고, 노이스는 1970년 초에 50,000달러의 개발 계약에 동의하였다. 텍사스 인스트루먼츠(TI)도 두 번째 공급업체로 참여하였다.

TI는 인텔 도면을 기반으로 1201 샘플을 만들 수 있었지만, 이들은 결함이 있어 거부되었다. 인텔의 자체 버전은 지연되었다. CTC는 단일 칩 CPU를 기다리는 대신 TTL을 사용하여 새로운 버전의 터미널을 재구현하기로 결정하였다. 새로운 시스템은 1970년 봄에 Datapoint 2200으로 출시되었으며, 첫 판매는 1970년 5월 25일에 General Mills에 이루어졌다. CTC는 2200이 출시된 후 1201의 개발을 중단하였으며, 더 이상 필요하지 않았다. 6개월 후, 세이코는 인텔에 접근하여 1201을 과학 계산기에 사용하고자 하는 관심을 표명하였다. 이는 아마도 Busicom의 비즈니스 계산기에 사용된 더 간단한 인텔 4004의 성공을 본 후일 것이다. 소규모 재설계가 이어졌고, 4004의 설계자인 페데리코 파진이 주도하여 16핀에서 18핀으로 확장된 새로운 1201이 1971년 말에 CTC에 전달되었다.

그 시점에서 CTC는 다시 한 번 Datapoint 2200 II로 이동하였으며, 이는 더 빠른 모델이었다. 1201은 새로운 모델에 충분히 강력하지 않았다. CTC는 1201과의 관계를 종료하기로 결정하였고, 50,000달러 계약 대신 설계의 지적 재산권을 인텔에 남겼다. 인텔은 이를 8008로 이름을 바꾸고 1972년 4월에 120달러에 카탈로그에 올렸다. 이 이름 변경은 4004 칩의 성공을 타고 8008을 단순히 4에서 8로 확장된 것으로 제시하려는 시도였지만, 8008은 4004를 기반으로 하지 않았다. 8008은 상업적으로 성공적인 설계가 되었으며, 이는 인텔 8080과 그 후의 인텔 x86 계열로 이어졌다.

캘리포니아 주립대학교 새크라멘토의 빌 펜츠 팀은 8008을 중심으로 완전한 시스템을 구축한 최초의 팀 중 하나였다. Sac State 8008은 IBM Basic 어셈블리 언어로 PROM에 구축된 디스크 운영 체제를 갖춘 최초의 진정한 마이크로컴퓨터일 가능성이 있다. 이 프로젝트는 1972년 봄에 시작되었으며, Tektronix의 주요 도움으로 시스템은 1년 후 완전히 기능하였다. 빌은 인텔의 MCS-8 키트에 도움을 주었고, 인텔 8080 명령어 세트에 중요한 입력을 제공하여 산업 및 취미 사용자에게 유용하게 만들었다.

영국에서는 1972년 S. E. Laboratories Engineering(EMI)의 톰 스핑크가 이끄는 팀이 8008의 사전 출시 샘플을 기반으로 마이크로컴퓨터를 구축하였다. 조 하드맨은 칩을 외부 스택으로 확장하였다. 이는 전원 장애 저장 및 복구를 가능하게 하였다. 조는 또한 직접 화면 프린터를 개발하였다. 운영 체제는 L. 크로포드와 J. 파넬이 Digital Equipment Corporation PDP-11을 위해 개발한 메타 어셈블러를 사용하여 작성되었다. 운영 체제는 PROM에 구워졌다. 이는 인터럽트 기반, 큐잉된, 고정 페이지 크기를 기반으로 한 프로그램 및 데이터 운영 체제였다. 관리용으로 준비된 운영 프로토타입이 준비되었으나, 프로젝트는 계속되지 않았다. 8008은 최초의 상업용 비계산기 개인용 컴퓨터(자체 Datapoint 2200 제외)의 CPU였다: 미국의 SCELBI 키트와 프랑스의 Micral N, 캐나다의 MCM/70. 또한 휴렛팩커드의 2640 계열 컴퓨터 터미널의 초기 모델 몇 가지의 제어 마이크로프로세서였다. 1973년, 인텔은 8008을 위한 명령어 세트 시뮬레이터인 INTERP/8을 제공하였다. 이는 인텔의 컨설턴트로 일하던 게리 킬달이 FORTRAN IV로 작성하였다.


8008은 10μm 실리콘 게이트 강화 모드 PMOS 논리로 구현되었다. 초기 버전은 최대 0.5MHz의 클럭 주파수에서 작동할 수 있었다. 이는 나중에 8008-1에서 최대 0.8MHz로 증가되었다. 명령어는 5에서 11 T-상태를 필요로 하며, 각 T-상태는 2 클럭 주기를 필요로 한다. 레지스터-레지스터 로드 및 ALU 연산은 5T(0.5MHz에서 20μs), 레지스터-메모리는 8T(32μs), 호출 및 점프(실행 시)는 11 T-상태(44μs)를 필요로 한다. 8008은 초당 명령어 수(0.8MHz에서 36,000에서 80,000)가 4비트 인텔 4004 및 인텔 4040보다 약간 느리지만, 8008은 8비트 데이터를 한 번에 처리하고 훨씬 더 많은 RAM에 접근할 수 있어 대부분의 응용 프로그램에서 이들 프로세서보다 상당한 속도 이점을 가진다. 8008은 3,500개의 트랜지스터를 가지고 있다.

칩은 18핀 DIP로 제한되어 있으며, 8비트 버스를 사용하여 8 데이터 비트, 14 주소 비트 및 두 개의 상태 비트를 전송한다. 작은 패키지는 메모리와 인터페이스하기 위해 약 30개의 TTL 지원 칩을 필요로 한다. 예를 들어, 14비트 주소는 외부 메모리 주소 레지스터(MAR)에 래치되어야 한다. 8008은 8개의 입력 포트와 24개의 출력 포트에 접근할 수 있다. 컨트롤러 및 CRT 터미널 사용을 위해서는 이 설계가 수용 가능하지만, 대부분의 다른 작업에 사용하기에는 다소 번거롭다. 몇 가지 초기 컴퓨터 설계는 이를 기반으로 하였지만, 대부분은 나중에 크게 개선된 인텔 8080을 사용할 것이다.

후속 40핀 NMOS 인텔 8080은 8008 레지스터와 명령어 세트를 확장하고 22개의 추가 핀을 사용하여 더 효율적인 외부 버스 인터페이스를 구현하였다. 비록 아키텍처적으로 밀접한 관계가 있지만, 8080은 8008과 이진 호환되지 않도록 설계되었기 때문에 8008 프로그램은 8080에서 실행되지 않는다. 그러나 인텔이 당시 사용한 두 가지 다른 어셈블리 구문을 사용하여 8080은 8008 어셈블리 언어와 역호환 방식으로 사용할 수 있다. 인텔 8085는 8080의 전기적으로 현대화된 버전으로, 감산 모드 트랜지스터를 사용하고 두 개의 새로운 명령어를 추가하였다.

인텔 8086, 원래의 x86 프로세서는 8080의 비엄격한 확장으로, 원래의 Datapoint 2200 설계를 느슨하게 닮았다. 거의 모든 Datapoint 2200 및 8008 명령어는 8080, 8085 및 Z80의 명령어 세트뿐만 아니라 현대 x86 프로세서의 명령어 세트에서도 동등한 명령어를 가지고 있다(비록 명령어 인코딩은 다르지만).

8008 아키텍처는 다음과 같은 특징을 포함한다:
일곱 개의 8비트 "스크래치패드" 레지스터: 주요 누산기(A)와 여섯 개의 다른 레지스터(B, C, D, E, H, L).
14비트 프로그램 카운터(PC).
일곱 단계 푸시다운 주소 호출 스택. 실제로 여덟 개의 레지스터가 사용되며, 최상위 레지스터는 PC이다.
네 가지 조건 코드 상태 플래그: 캐리(C), 짝수 패리티(P), 제로(Z), 부호(S).
H 및 L 레지스터(HL)를 사용한 간접 메모리 접근(상위 두 비트는 무시됨).
명령어 세트
명령어는 모두 1에서 3바이트 길이로, 초기 오퍼코드 바이트와 최대 두 개의 피연산자 바이트로 구성된다. 피연산자는 즉시 피연산자 또는 프로그램 주소일 수 있다. 명령어는 8비트만 작동하며, 16비트 연산은 없다. 데이터 메모리를 주소 지정하는 메커니즘은 HL 레지스터의 연결을 통해 간접 주소 지정만 지원한다. 8008은 14비트 프로그램 주소를 지원한다. 다중 레벨 서브루틴 호출 및 반환을 위한 자동 CAL 및 RET 명령어가 있으며, 이는 점프와 마찬가지로 조건부로 실행될 수 있다. 서브루틴을 위한 여덟 개의 1바이트 호출 명령어(RST)는 고정 주소 00h, 08h, 10h, ..., 38h에 존재한다. 이는 인터럽트 서비스 루틴을 호출하기 위해 외부 하드웨어에 의해 제공되도록 설계되었지만, 빠른 호출로 사용할 수 있다. 두 레지스터 간 또는 레지스터와 메모리 간의 직접 복사가 가능하다. 여덟 개의 수학/논리 함수는 누산기(A)와 다른 레지스터, 메모리 또는 즉시 값 사이에서 지원된다. 결과는 항상 A에 저장된다. 대부분의 레지스터에 대해 증가 및 감소가 지원되지만, A는 지원되지 않는다. 그러나 A는 네 가지 다른 회전 명령어를 지원한다. 모든 명령어는 3에서 11 상태에서 실행된다. 각 상태는 두 개의 클럭을 필요로 한다.


 

 

 

 

The Intel 8008 ("eight thousand eight" or "eighty-eight") is an early 8-bit microprocessor capable of addressing 16KB of memory, introduced in April 1972. The 8008 architecture was designed by Computer Terminal Corporation (CTC) and implemented and manufactured by Intel. Originally designed for use in CTC's Datapoint 2200 programmable terminal, Intel was allowed to sell the chip to other customers after Seiko expressed interest in using it for calculators. To address the excessive heat dissipation issue of the Datapoint 3300, CTC designed the architecture for a successor model, including a CPU re-implemented as a single chip. CTC co-founder Austin O. "Gus" Roche sought help from Intel, which primarily sold memory chips at the time. Roche met with Bob Noyce, who expressed concerns about the concept. John Frassanito recalled:
"Noyce said it was an interesting idea, but Intel could do it, but it would be foolish. With a computer chip, you can only sell one chip per computer, but with memory chips, you can sell hundreds per computer."

Another major concern was that Intel's existing customers were buying memory chips for their own processor designs, and introducing an Intel processor could make Intel a competitor, causing customers to seek memory elsewhere. Despite this, Noyce agreed to a $50,000 development contract in early 1970. Texas Instruments (TI) also participated as a second supplier.

TI was able to produce 1201 samples based on Intel's drawings, but they were defective and rejected. Intel's own version was delayed. CTC decided to re-implement the new terminal version using TTL instead of waiting for the single-chip CPU. The new system was released as the Datapoint 2200 in spring 1970, with the first sale to General Mills on May 25, 1970. After the 2200's release, CTC halted 1201 development, deeming it unnecessary. Six months later, Seiko approached Intel, expressing interest in using the 1201 for scientific calculators, likely inspired by the success of the simpler Intel 4004 in Busicom's business calculators. A minor redesign followed, led by Federico Faggin, expanding the new 1201 from 16 to 18 pins, delivered to CTC in late 1971. By then, CTC had moved on to the faster Datapoint 2200 II, and the 1201 was not powerful enough for the new model. CTC decided to terminate the 1201 relationship, leaving the design's intellectual property with Intel in lieu of the $50,000 contract. Intel renamed it the 8008 and listed it in their catalog for $120 in April 1972. The renaming aimed to present the 8008 as a simple extension from 4 to 8, riding on the success of the 4004, though the 8008 was not based on the 4004. The 8008 became a commercially successful design, leading to the Intel 8080 and subsequently the Intel x86 family.

Bill Pentz's team at California State University, Sacramento, was among the first to build a complete system around the 8008. The Sac State 8008 might be the first true microcomputer with a disk operating system built in IBM Basic Assembly Language on PROM. The project started in spring 1972, and with significant help from Tektronix, the system was fully functional a year later. Bill contributed to Intel's MCS-8 kit and provided crucial input to the Intel 8080 instruction set, making it useful for industrial and hobby users. In the UK, a team led by Tom Spink at S. E. Laboratories Engineering (EMI) built a microcomputer based on pre-release samples of the 8008 in 1972. Joe Hardman extended the chip with an external stack, enabling power failure storage and recovery. Joe also developed a direct screen printer. The operating system, written using a meta-assembler developed by L. Crawford and J. Parnell for the Digital Equipment Corporation PDP-11, was burned into PROM. It was an interrupt-based, queued, fixed-page-size program and data operating system. A management-ready operating prototype was prepared, but the project did not continue. The 8008 was the CPU of the first commercial non-calculator personal computers (excluding the Datapoint 2200 itself): the SCELBI kit in the US, the Micral N in France, and the MCM/70 in Canada. It was also the control microprocessor in early models of Hewlett-Packard's 2640 series computer terminals. In 1973, Intel provided an instruction set simulator for the 8008 called INTERP/8, written in FORTRAN IV by Gary Kildall, who was consulting for Intel at the time.

The 8008 was implemented in 10μm silicon gate enhancement mode PMOS logic. Early versions could operate at a maximum clock frequency of 0.5MHz, later increased to 0.8MHz in the 8008-1. Instructions required 5 to 11 T-states, with each T-state needing 2 clock cycles. Register-to-register loads and ALU operations required 5T (20μs at 0.5MHz), register-to-memory required 8T (32μs), and calls and jumps (on execution) required 11 T-states (44μs). The 8008 had 3,500 transistors. The chip was limited to an 18-pin DIP, using an 8-bit bus to transfer 8 data bits, 14 address bits, and two status bits. The small package required about 30 TTL support chips to interface with memory. For example, the 14-bit address had to be latched into an external memory address register (MAR). The 8008 could access 8 input ports and 24 output ports. While this design was acceptable for controller and CRT terminal use, it was somewhat cumbersome for most other tasks. Some early computer designs were based on it, but most would later use the significantly improved Intel 8080.

The subsequent 40-pin NMOS Intel 8080 extended the 8008's registers and instruction set, using 22 additional pins to implement a more efficient external bus interface. Although architecturally closely related, the 8080 was designed to be binary incompatible with the 8008, so 8008 programs would not run on the 8080. However, using two different assembly syntaxes Intel used at the time, the 8080 could be used in a backward-compatible manner with the 8008 assembly language. The Intel 8085 was an electrically modernized version of the 8080, using depletion mode transistors and adding two new instructions. The Intel 8086, the original x86 processor, was a loose extension of the 8080, loosely resembling the original Datapoint 2200 design. Almost all Datapoint 2200 and 8008 instructions have equivalent instructions in the 8080, 8085, and Z80 instruction sets, as well as in the modern x86 processor instruction sets (though the instruction encoding is different).

The 8008 architecture includes the following features:
- Seven 8-bit "scratchpad" registers: the main accumulator (A) and six other registers (B, C, D, E, H, L).
- 14-bit program counter (PC).
- Seven-level pushdown address call stack. In practice, eight registers are used, with the topmost register being the PC.
- Four condition code status flags: Carry (C), Parity (P), Zero (Z), Sign (S).
- Indirect memory access using the H and L registers (HL), with the top two bits ignored.
- Instruction set


Instructions are 1 to 3 bytes long, consisting of an initial opcode byte and up to two operand bytes. Operands can be immediate operands or program addresses. Instructions operate on 8-bit data only, with no 16-bit operations. The mechanism for addressing data memory supports only indirect addressing through the HL register pair. The 8008 supports 14-bit program addresses. There are automatic CAL and RET instructions for multi-level subroutine calls and returns, which can be executed conditionally like jumps. Eight 1-byte call instructions (RST) exist at fixed addresses 00h, 08h, 10h, ..., 38h, designed to be provided by external hardware for interrupt service routines but can be used for fast calls. Direct copying between registers or between a register and memory is possible. Eight arithmetic/logic functions are supported between the accumulator (A) and another register, memory, or immediate value, with the result always stored in A. Increment and decrement are supported for most registers, but not for A. However, A supports four different rotate instructions. All instructions execute in 3 to 11 states, with each state requiring two clocks.


 

インテル8008(「エイトサウザンドエイト」または「エイティエイト」)は、16KBのメモリをアドレス指定できる初期の8ビットマイクロプロセッサで、1972年4月に導入されました。8008アーキテクチャはコンピュータターミナルコーポレーション(CTC)によって設計され、インテルによって実装および製造されました。元々はCTCのDatapoint 2200プログラマブルターミナルでの使用を目的として設計されましたが、セイコーが計算機に使用することに興味を示した後、インテルは他の顧客にもチップを販売できるようになりました。

Datapoint 3300の過剰な熱放出問題を解決するために、CTCは後継モデルのアーキテクチャを設計し、内部回路を単一チップとして再実装したCPUを含めました。CTCの共同創設者オースティン・O・「ガス」・ロシュは、チップ設計を生産できる会社を探していた際に、当時主にメモリチップを販売していたインテルに助けを求めました。ロシュはボブ・ノイスと会い、ノイスはこの概念に懸念を示しました。ジョン・フラサニトは次のように回想しています:
「ノイスはそれが興味深いアイデアだと言ったが、インテルがそれを実行できるが愚かなことになるだろうと言った。コンピュータチップがあれば、コンピュータごとに1つのチップしか売れないが、メモリチップはコンピュータごとに数百個売れるからだ。」

もう一つの大きな懸念は、インテルの既存の顧客が自社のプロセッサ設計に使用するためにメモリチップを購入していたため、インテルが自社のプロセッサを導入すると競争相手と見なされ、顧客が他の場所でメモリを探す可能性があるという点でした。それにもかかわらず、ノイスは1970年初頭に5万ドルの開発契約に同意しました。テキサス・インスツルメンツ(TI)も第二の供給業者として参加しました。

TIはインテルの図面に基づいて1201サンプルを作成することができましたが、これらは欠陥があり拒否されました。インテルのバージョンは遅延しました。CTCは単一チップCPUを待つ代わりにTTLを使用して新しいバージョンのターミナルを再実装することを決定しました。新しいシステムは1970年春にDatapoint 2200として発売され、最初の販売は1970年5月25日にGeneral Millsに行われました。CTCは2200が発売された後、1201の開発を中止し、もはや必要ありませんでした。6か月後、セイコーはインテルに接近し、1201を科学計算機に使用することに興味を示しました。これはおそらく、Busicomのビジネス計算機に使用されたより簡単なインテル4004の成功を見た後のことです。小規模な再設計が行われ、4004の設計者であるフェデリコ・ファジンが主導し、16ピンから18ピンに拡張された新しい1201が1971年末にCTCに提供されました。

その時点で、CTCは再びDatapoint 2200 IIに移行しており、これはより高速なモデルでした。1201は新しいモデルには十分な強力さを持っていませんでした。CTCは1201との関係を終了することを決定し、5万ドルの契約の代わりに設計の知的財産権をインテルに残しました。インテルはこれを8008と改名し、1972年4月に120ドルでカタログに掲載しました。この名前の変更は、4004チップの成功に乗じて8008を単に4から8に拡張したものとして提示しようとする試みでしたが、8008は4004に基づいていませんでした。8008は商業的に成功した設計となり、インテル8080およびその後のインテルx86ファミリーへとつながりました。

カリフォルニア州立大学サクラメント校のビル・ペンツのチームは、8008を中心に完全なシステムを構築した最初のチームの一つでした。Sac State 8008は、IBM Basicアセンブリ言語でPROMに構築されたディスクオペレーティングシステムを備えた最初の真のマイクロコンピュータである可能性があります。このプロジェクトは1972年春に開始され、Tektronixの大きな助けを借りてシステムは1年後に完全に機能しました。ビルはインテルのMCS-8キットに貢献し、インテル8080命令セットに重要な入力を提供し、産業および趣味のユーザーにとって有用なものにしました。

イギリスでは、1972年にS. E. Laboratories Engineering(EMI)のトム・スピンクが率いるチームが8008の事前リリースサンプルに基づいてマイクロコンピュータを構築しました。ジョー・ハードマンはチップを外部スタックで拡張し、電源障害の保存および復旧を可能にしました。ジョーはまた、直接画面プリンターを開発しました。オペレーティングシステムは、Digital Equipment Corporation PDP-11のためにL.クロフォードとJ.パーネルが開発したメタアセンブラーを使用して作成され、PROMに焼き付けられました。これは、割り込みベース、キューイングされた、固定ページサイズに基づくプログラムおよびデータオペレーティングシステムでした。管理用に準備されたオペレーティングプロトタイプが準備されましたが、プロジェクトは継続されませんでした。8008は、最初の商業用非計算機パーソナルコンピュータ(Datapoint 2200自体を除く)のCPUでした:米国のSCELBIキット、フランスのMicral N、カナダのMCM/70。また、ヒューレット・パッカードの2640シリーズコンピュータターミナルの初期モデルのいくつかの制御マイクロプロセッサでもありました。1973年、インテルは8008のための命令セットシミュレータであるINTERP/8を提供しました。これは、インテルのコンサルタントとして働いていたゲイリー・キルダールがFORTRAN IVで作成しました。

8008は10μmシリコンゲートエンハンスメントモードPMOSロジックで実装されました。初期バージョンは最大0.5MHzのクロック周波数で動作でき、後に8008-1で最大0.8MHzに増加しました。命令は5から11のTステートを必要とし、各Tステートは2クロックサイクルを必要とします。レジスタ間のロードおよびALU操作は5T(0.5MHzで20μs)、レジスタ-メモリは8T(32μs)、呼び出しおよびジャンプ(実行時)は11Tステート(44μs)を必要とします。8008は3,500個のトランジスタを持っています。

チップは18ピンDIPに制限されており、8ビットバスを使用して8データビット、14アドレスビット、および2つのステータスビットを転送します。小さなパッケージはメモリとインターフェースするために約30個のTTLサポートチップを必要とします。たとえば、14ビットアドレスは外部メモリアドレスレジスタ(MAR)にラッチする必要があります。8008は8つの入力ポートと24の出力ポートにアクセスできます。この設計はコントローラおよびCRTターミナルの使用には受け入れられますが、ほとんどの他の作業に使用するにはやや面倒です。いくつかの初期のコンピュータ設計はこれに基づいていましたが、ほとんどは後に大幅に改善されたインテル8080を使用することになります。

後続の40ピンNMOSインテル8080は、8008のレジスタと命令セットを拡張し、22個の追加ピンを使用してより効率的な外部バスインターフェースを実装しました。アーキテクチャ的には密接な関係がありますが、8080は8008とバイナリ互換性がないように設計されているため、8008プログラムは8080で実行されません。しかし、インテルが当時使用していた2つの異なるアセンブリ構文を使用して、8080は8008アセンブリ言語と後方互換的に使用できます。インテル8085は、減算モードトランジスタを使用し、2つの新しい命令を追加した8080の電気的に現代化されたバージョンです。

インテル8086、元のx86プロセッサは、8080の緩やかな拡張であり、元のDatapoint 2200設計に緩やかに似ています。ほとんどすべてのDatapoint 2200および8008命令は、8080、8085、およびZ80の命令セットだけでなく、現代のx86プロセッサの命令セットにも同等の命令を持っています(命令エンコーディングは異なりますが)。

8008アーキテクチャには次の特徴が含まれます:
- 7つの8ビット「スクラッチパッド」レジスタ:メインアキュムレータ(A)と6つの他のレジスタ(B、C、D、E、H、L)。
- 14ビットプログラムカウンタ(PC)。
- 7段のプッシュダウンアドレスコールスタック。実際には8つのレジスタが使用され、最上位のレジスタはPCです。
- 4つの条件コードステータスフラグ:キャリー(C)、パリティ(P)、ゼロ(Z)、サイン(S)。
- HおよびLレジスタ(HL)を使用した間接メモリアクセス(上位2ビットは無視されます)。
- 命令セット
命令はすべて1から3バイトの長さで、初期のオペコードバイトと最大2つのオペランドバイトで構成されます。オペランドは即値オペランドまたはプログラムアドレスである可能性があります。命令は8ビットデータのみを操作し、16ビット操作はありません。データメモリをアドレス指定するメカニズムは、HLレジスタペアを介した間接アドレス指定のみをサポートします。8008は14ビットプログラムアドレスをサポートします。マルチレベルのサブルーチンコールおよびリターンのための自動CALおよびRET命令があり、ジャンプと同様に条件付きで実行できます。8つの1バイトコール命令(RST)は、固定アドレス00h、08h、10h、...、38hに存在し、外部ハードウェアによって提供されるように設計されていますが、高速コールとして使用できます。レジスタ間またはレジスタとメモリ間の直接コピーが可能です。8つの算術/論理関数は、アキュムレータ(A)と他のレジスタ、メモリ、または即値の間でサポートされ、結果は常にAに格納されます。ほとんどのレジスタに対してインクリメントおよびデクリメントがサポートされていますが、Aはサポートされていません。しかし、Aは4つの異なる回転命令をサポートしています。すべての命令は3から11の状態で実行されます。各状態は2つのクロックを必要とします。

728x90
반응형

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

INTEL 8080 [INTEL / 1974]  (0) 2024.09.20
INTEL 4040 [INTEL / 1974]  (0) 2024.09.18
INTEL 4004 [INTEL / November 15, 1971]  (0) 2024.09.17
IBM 701 [IBM / 1952]  (0) 2024.09.08