인텔 8008

Intel 8008
인텔 8008
KL Intel C8008-1.jpg
보라색 세라믹, 금색 금속 뚜껑, 금색 핀을 갖춘 인텔 C8008-1 프로세서 바리안트.
일반 정보
개시.1972년 중반
단종1983년[1]
설계자컴퓨터 터미널 코퍼레이션(CTC)
공통 제조원
  • 인텔(R)
성능
최대 CPU 클럭 속도200kHz~800kHz
데이터 폭8비트
주소 폭14비트
아키텍처 및 분류
어플컴퓨터 단말기, 계산기, 병입기, 1970년대 ASEA 산업용[2] 로봇(IRB 6), 단순 컴퓨터 등
테크놀로지 노드10 µm
명령 집합8008
물리 사양
트랜지스터
  • 3,500
패키지
소켓
역사
후계자인텔 8080

인텔 8008 ("80008" 또는 "8y-oh-8")은 인텔이 구현 및 제조하여 1972년 4월에 선보인 컴퓨터 터미널 코퍼레이션(CTC)에 의해 설계된 초기 바이트 지향 마이크로프로세서입니다.외부 14비트 주소 버스를 갖춘 8비트 CPU로 16KB의 메모리를 주소 지정할 수 있습니다.원래 1201로 알려진 이 칩은 Computer Terminal Corporation(CTC)에 의해 Datapoint 2200 프로그램 가능 단말기에 대해 설계 명령 세트를 구현하도록 의뢰되었습니다.칩이 지연되어 CTC의 성능 목표를 달성하지 못했기 때문에 2200은 CTC의 자체 TTL 기반 CPU를 사용하게 되었습니다.세이코가 칩을 계산기에 사용하는 것에 관심을 보인 후, 인텔은 이 칩을 다른 고객에게 판매할 수 있게 되었다.

역사

CTC는 1968년 San Antonio에서 Austin O. "Gus" Roche와 Phil Ray의 지휘 아래 설립되었으며, 둘 다 NASA 엔지니어입니다.특히 Roche는 주로 데스크톱 컴퓨터 제작에 관심이 있었습니다.그러나 시장의 미성숙성을 감안하여 회사의 사업 계획에는 데이터포인트 3300으로 출하된 텔레타입 모델 33 ASR 대체 모델만 언급되었다.이 케이스는 IBM Selectric 타자기와 같은 공간에 들어가도록 의도적으로 설계되었으며 IBM 펀치 [3]카드와 동일한 가로 세로 비율을 가진 모양의 비디오 화면을 사용했습니다.상업적으로는 성공했지만 3300은 좁은 공간에 채워진 회로의 양으로 인해 열 문제가 지속되었습니다.

발열등의 문제에 대처하기 위해서, 내부 회로의 CPU 부분을 1개의 칩에 재실장하는 것을 특징으로 하는 재설계가 개시되었습니다.칩 설계를 할 수 있는 회사를 찾고 있던 Roche는 인텔(메모리 [3]칩을 주로 취급하는 벤더)에 눈을 돌렸습니다.Roche는 Bob Noyce를 만나 이 컨셉에 대해 우려를 표명했습니다.John Frassanito는 "Noyce는 그것이 흥미로운 아이디어라고 말했고 Intel은 그것을 할 수 있다고 말했지만 그것은 어리석은 조치일 것입니다.컴퓨터 칩이 있으면 컴퓨터 한 대당 하나의 칩만 판매할 수 있고 메모리는 컴퓨터 [3]한 대당 수백 개의 칩을 판매할 수 있다고 그는 말했습니다.또, 인텔의 기존 고객 베이스가 독자적인 프로세서 설계에 사용하기 위해서 메모리 칩을 구입한 것도 큰 염려가 되고 있습니다.인텔이 독자적인 프로세서를 도입했을 경우, 경쟁 제품으로서 인식되어 고객이 메모리를 다른 곳에서 찾을 가능성이 있습니다.그럼에도 불구하고 노이스는 1970년 초에 5만 달러의 개발 계약에 동의했다.TI(Texas Instruments)도 두 번째 공급업체로 도입되었습니다.

TI는 인텔의 [citation needed]도면을 바탕으로 1201의 샘플을 만들 수 있었지만, 버그가 있는 것으로 판명되어 거절당했습니다.인텔의 자체 버전은 지연되었습니다.CTC는 싱글칩 CPU를 기다리는 대신 전용 TTL을 사용하여 새로운 버전의 단말기를 재실장하기로 결정했습니다.새로운 시스템은 1970년 봄에 Datapoint 2200으로 출시되었으며, 1970년 [3]5월 25일 제너럴 밀스에 첫 판매되었다.CTC는 2200이 출시된 후 더 이상 필요하지 않게 되었기 때문에 1201의 개발을 일시 중지했습니다.6개월 후 세이코는 1201을 과학 계산기에 사용하는 것에 관심을 나타내며 인텔에 접근했습니다.아마도 비즈니스 계산기에 사용되는 단순한 인텔 4004의 성공을 본 후일 것입니다.4004의 디자이너이자 현재 1201의 프로젝트 리더인 페데리코 파긴의 지도 하에 16핀에서 18핀으로 확장되어 1971년 [3]말에 새로운 1201이 CTC에 납품되었습니다.

이 시점에서 CTC는 다시 한 번 데이터 포인트 2200 II로 이동했습니다.이번에는 데이터 포인트 2200 II로 이동했습니다.1201은 더 이상 새로운 모델에 충분하지 않았다.CTC는 1201과의 관계 종료를 의결하고 50,000달러의 계약금을 지불하지 않고 설계의 지적 재산을 인텔에 넘겼습니다.인텔은 1972년 4월에 8008로 이름을 바꾸고 120달러의 가격으로 카탈로그에 실었다.8008을 단순히 4-8 포트로 표시함으로써 4004 칩의 성공을 이뤘지만 8008은 4004를 기반으로 하지 않았다.[4] 8008은 상업적으로 성공한 디자인이었다.인텔 8080이 그 를 이어 인텔 x86 [3]패밀리가 크게 성공했습니다.

8008년 경에 완전한 시스템을 구축한 최초의 팀 중 하나는 새크라멘토 캘리포니아 주립 대학의 빌 펜츠 팀이었다.Sac State 8008아마도 PROM에서 IBM Basic 어셈블리 언어로 구축된 디스크 운영 체제를 갖춘 최초의 진정한 마이크로컴퓨터였을 것입니다. 이 모든 것이 컬러 디스플레이, 하드 드라이브, 키보드, 모뎀, 오디오/종이 테이프 리더 및 [5]프린터를 구동합니다.이 프로젝트는 1972년 봄에 시작되었고, 1년 후 Tektronix의 주요 도움을 받아 시스템이 완전히 작동하게 되었습니다.빌은 인텔의 MCS-8 키트를 지원하여 인텔 8080 명령어 세트에 중요한 정보를 제공하였습니다.이것에 의해, 업계나 애호가에게 도움이 되었습니다.

영국에서는 1972년 톰 스핑크(Tom Spink)가 이끄는 S. E. Laboratories Engineering(EMI) 팀이 8008의 프리 릴리즈 샘플을 기반으로 마이크로컴퓨터를 만들었습니다.Joe Hardman은 칩을 외부 스택으로 확장했습니다.이를 통해 무엇보다도 정전 시 저장 및 복구가 이루어졌습니다.조는 또한 다이렉트 스크린 프린터를 개발했다.운영체제는 Digital Equipment Corporation [6]PDP-11용으로 L. Crawford와 J. Parnell이 개발한 메타 어셈블리를 사용하여 작성되었습니다.OS가 PROM에 삽입되었다.인터럽트 기반, 큐잉 및 프로그램 및 데이터의 고정 페이지 크기를 기반으로 했습니다.프로젝트를 계속하지 않기로 결정한 경영진을 위해 운영 프로토타입을 준비했습니다.

8008은 최초의 비계산기 PC(Datapoint 2200 자체 제외)의 CPU로, US SCELBI 키트 및 사전 구축된 French Micral N 및 캐나다 MCM/70을 사용했습니다.또한 Hewlett-Packard의 2640 시리즈 컴퓨터 터미널에서 처음 몇 가지 모델을 제어하는 마이크로프로세서였습니다.

인텔은 INTERP/8이라는 이름의 8008 명령어 세트 시뮬레이터를 제공했습니다.그것은 FORTRAN으로 쓰여 있었다.

설계.

i8008 마이크로아키텍처
인텔 8008 레지스터
13 12 11 10 09 08 07 06 05 04 03 02 01 00 (비트 위치)
메인 레지스터
A 어큐뮬레이터
B B 레지스터
C C 레지스터
D D 레지스터
E E 레지스터
H H 레지스터(간접)
L L 레지스터(간접)
프로그램 카운터
PC 프로그램 카운터
푸시다운 어드레스 콜스택
~하듯이 콜 레벨 1
~하듯이 콜 레벨 2
~하듯이 콜 레벨 3
~하듯이 콜 레벨 4
~하듯이 콜 레벨 5
~하듯이 콜 레벨 6
~하듯이 콜 레벨 7
플래그
C P Z S 플래그

8008은 10μm 실리콘 게이트 확장 모드 PMOS 로직으로 구현되었습니다.초기 버전은 최대 0.5MHz의 클럭 주파수로 동작할 수 있습니다.이후 8008-1에서는 최대 0.8MHz로 증가했습니다.명령어는 5~11개의 T-상태이며, 각 T-상태는 2개의 [7]클럭사이클입니다레지스터/레지스터 로드 및 ALU 동작에는 5T(0.5MHz에서 20μs), 레지스터 메모리8T(32μs), 콜 및 점프(촬영 시)에는 11개의 T스테이트(44μs)[8]가 걸립니다.8008은 4비트 인텔 4004인텔 4040[9]비해 명령/초(0.8MHz에서는 36,000~80,000)가 조금 느립니다.그러나 8008은 한 번에 8비트의 데이터를 처리할 수 있어 많은 어플리케이션에서 이들 프로세서에 비해 상당한 속도의 이점을 가지고 있습니다.8008에는 3,500개[10][11][12]트랜지스터가 있습니다.

칩(18핀 DIP에 의해 제한됨)에는 단일 8비트 버스가 있으며 상당한 양의 외부 지원 로직이 필요합니다.예를 들어, "16 K × 8 bits of memory"에 액세스할 수 있는 14비트 주소는 이 논리 중 일부에 의해 외부 메모리 주소 레지스터(MAR)에 래치되어야 합니다.8008은 8개의 입력 포트와 24개의 출력 [7]포트에 액세스할 수 있습니다.

컨트롤러 및 CRT 단말기의 경우 이는 허용 가능한 설계이지만 적어도 차세대 마이크로프로세서에 비해 대부분의 다른 작업에 사용하기에는 다소 번거롭습니다.몇 가지 초기 컴퓨터 디자인이 이를 기반으로 했지만 대부분은 최신 인텔 8080을 대신 사용합니다.[citation needed]

관련 프로세서 설계

후속 40핀 NMOS Intel 8080은 8008 레지스터와 명령 세트를 확장하여 보다 효율적인 외부 버스 인터페이스를 구현합니다(22핀 추가 사용).긴밀한 아키텍처 관계에도 불구하고 8080은 8008과 바이너리 호환성이 없기 때문에 8008 프로그램은 8080에서 실행되지 않습니다.단, 인텔에서는 당시 2개의 어셈블리 구문이 사용되었기 때문에 8080은 8008 어셈블리 언어의 하위 호환 방식으로 [13]사용할 수 있었습니다.

인텔 8085는 8080의 전기적으로 현대화된 버전으로 고갈 모드 트랜지스터를 사용하며 2개의 새로운 [14]명령을 추가했습니다.

인텔(R) 8086(원래 x86 프로세서)은 8080의 엄격한 확장이 아니기 때문에 오리지널 Datapoint 2200 설계와 거의 유사합니다.거의 모든 Datapoint 2200 및 8008 명령어는 8080, 8085 및 Z80 명령어 세트뿐만 아니라 최신 x86 프로세서의 명령어 세트에도 동등합니다(명령어 인코딩은 다릅니다).[15]

특징들

8008 아키텍처에는 다음과 [citation needed]같은 기능이 있습니다.

  • 7개의 8비트 "스크래치패드" 레지스터:메인 어큐뮬레이터(A) 및 기타 6개의 레지스터(B, C, D, E, H, L)
  • 14비트 프로그램카운터(PC).
  • 7레벨 푸시다운주소 콜스택실제로는 8개의 레지스터가 사용되며 최상위 레지스터는 PC입니다.
  • 4개의 조건 코드 상태 플래그(carry (C), 짝수 패리티 (P), 제로 (Z) 및 부호 (S))
  • H 및 L 레지스터(HL)를 14비트 데이터 포인터로 사용한 간접 메모리 액세스(상위 2비트는 무시됩니다).

코드 예시

다음 8008 어셈블리소스 코드는 서브루틴용입니다MEMCPY특정 크기의 데이터 바이트 블록을 한 위치에서 다른 위치로 복사합니다.

001700  000         001701  000         001702  000         001703  000         001704  000         001705  000                                                 002000  066 304     002002  056 003     002004  327         002005  060         002006  317         002007  302         002010  261         002011  053         002012  302         002013  024 001     002015  320         002016  301         002017  034 000     002021  310         002022  066 300     002024  056 003     002026  302         002027  207002030  340         002031  060         002032  301         002033  217         002034  350         002035  364         002036  337         002037  066 302     002041  056 003     002043  302         002044  207         002045  340         002046  060         002047  301         002050  217         002051  350         002035  364        002052  373002053  104 007 004 002056
; MEMCPY -- ; 메모리 블록을 한 위치에서 다른 위치로 복사합니다. ; ; 입력 파라미터 ; SRC: 소스 데이터 블록의 14비트 주소 ; DST: 타깃 데이터 블록의 14비트 주소 ; CNT: 복사할 바이트의 14비트 수               조직1700분기       데이터(001700q) SRC         DFB     0           ;SRC, 로우바이트             DFB     0           ; 하이바이트 DST         DFB     0           ;DST, 로우바이트             DFB     0           ; 하이바이트 CNT         DFB     0           ;CNT, 로우바이트             DFB     0           ; 하이바이트               조직2000년 분기       코드: 002000q 메모리      LLI     CNT+0       ;HL = 주소(CNT)             LHI     CNT+1             LCM                 ;BC = CNT             입력             LBM 고리        LAC                 BC = 0이면             오비             RTZ                 반환 인식하다      LAC                 ;BC = BC - 1             SUI     1             LCA                          SBI     0             LBA GETSRC      LLI     SRC+0       ;HL = 주소(SRC)             LHI     SRC+1             LAC                 ;HL = SRC + BC             ADM                 ;E = C + (HL)             리아                 ;(낮은 합계)             입력                 ;상위 SRC를 포인트 합니다.                          ACM                 ;H = B + (HL) + CY             LHA                 ;(상한합계)             LLE                 ;L = E             LDM                 (HL)에서 D를 로드합니다. GETDST      LLI     DST+0       ;HL = 주소(DST)             LHI     DST+1             LAC                 ;HL = DST + BC             ADM                 위와 같은 ADD 코드             리아             입력                           ACM             LHA             LLE             LMD                 스토어 D to (HL)             JMP     고리        루프를 반복합니다.             끝. 

위의 코드에서는 모든 값이 8진수로 지정됩니다.장소SRC,DST,그리고.CNT는 서브루틴의 16비트 파라미터입니다.MEMCPYCPU에는 주소 지정 가능한 메모리 공간이 14비트밖에 없기 때문에 실제로는 값의 14비트만 사용됩니다.CPU는 한 번에 1바이트 이상을 메모리에 읽거나 쓸 수 없기 때문에 값은 임의의 선택이지만 리틀 엔디안 형식으로 저장됩니다.주어진 메모리 주소에서 직접 레지스터를 로드하는 명령이 없으므로 먼저 HL 레지스터 쌍에 주소를 로드해야 하며, 다음으로 타깃 레지스터를 M 오퍼랜드에서 로드해야 합니다.M 오퍼랜드에서는 HL 레지스터 쌍의 메모리 위치로부터의 간접 부하입니다.BC 레지스터 쌍은 다음과 같이 로드됩니다.CNT파라미터 값이 0이 될 때까지 루프의 끝에서 감소합니다.사용되는 명령의 대부분은 단일 8비트 opcode를 사용한다는 점에 주의해 주십시오.

디자이너

  • CTC(명령어 세트아키텍처):빅터 푸어와 해리 파일.
  • 인텔 (실리콘 실장):
    • Ted Hoff, Stan Mazor 및 Larry Potter(IBM Chief Scientist)는 시프트 레지스터 메모리가 아닌 RAM 레지스터 메모리를 사용하여 CTC 아키텍처의 싱글칩 구현을 제안하고 몇 가지 명령과 인터럽트 기능을 추가했습니다.8008(원래 1201) 칩 설계는 4004 개발 이전에 시작되었습니다.그러나 Hoff와 Mazor는 칩 설계자나 프로세스 개발자가 아니었기 때문에 "실리콘 설계"를 개발할 수 없었고 개발하지 않았다. 게다가 4004를 위해 Federico Faggin이 개발 중인 실리콘 게이트 기반 설계 방법론과 회로도 아직 이용할 [16]수 없었다.
    • 4004의 설계를 마친 페데리코 파긴은 1971년 1월부터 1972년 4월에 성공적으로 완공될 때까지 약 7개월 동안 프로젝트가 중단되었다.
    • 프로젝트 엔지니어인 Hal Feeney는 Paggin의 감독 하에 상세한 논리 설계, 회로 설계 및 물리 레이아웃을 수행했으며, Paggin이 원래 인텔 4004 마이크로프로세서용으로 개발한 것과 동일한 설계 방법론을 사용하여 4004용으로 개발한 기본 회로를 사용했습니다.조합된 "HF" 로고는 D5와 D6 본딩 패드 중간쯤에 칩에 새겨져 있습니다.

두 번째 소스

「 」를 참조해 주세요.

레퍼런스

  1. ^ CPU 이력– CPU 뮤지엄– CPU 라이프 사이클
  2. ^ "Thirty years in robotics - Robotics". March 19, 2014. Archived from the original on March 19, 2014. Retrieved April 11, 2018.
  3. ^ a b c d e f Wood, Lamont (August 8, 2008), "Forgotten PC history: The true origins of the personal computer", Computerworld
  4. ^ Ken Shirriff는 Bryan Canttril, Jess Frazzel과의 인터뷰에서 Oxide Computing Podcast가 발표한 "첫째, 4004와 8008은 완전히 다른 칩입니다.마케팅에서는 4비트 버전과 8비트 버전인 것처럼 들리지만 완전히 다릅니다." https://oxide.computer/metal/on-the-metal-13-ken-centrif/#t=19:52
  5. ^ "Inside the world's long-lost first microcomputer". cnet.com. January 8, 2010. Retrieved April 11, 2018.
  6. ^ 브루넬 대학교, 1974년L. R. 크로포드 박사 학위 논문입니다
  7. ^ a b "MCS-8 Micro Computer Set Users Manual" (PDF). Intel Corporation. 1972. Retrieved December 4, 2010.
  8. ^ "Intel 8008 Opcodes". Retrieved December 4, 2010.
  9. ^ "Intel 8008 (i8008) microprocessor family". CPU World. 2003–2010. Retrieved December 4, 2010.
  10. ^ Intel. "Gordon Moore and Moore's Law". Archived from the original on September 4, 2009. Retrieved June 28, 2009.
  11. ^ 인텔 (2012)"인텔 칩스: 타임라인 포스터"
  12. ^ 인텔 (2008)"마이크로프로세서 빠른 참조 가이드"
  13. ^ 자세한 내용은 Z80 기사를 참조하십시오.
  14. ^ 상세한 것에 대하여는, 인텔 8085 기사를 참조해 주세요.
  15. ^ 상세한 것에 대하여는, 인텔 8086 기사를 참조해 주세요.
  16. ^ Faggin, Federico; Hoff, Marcian E.; Mazor, Stanley; Shima, Masatoshi (December 1996), "The History of the 4004", IEEE Micro, Los Alamitos: IEEE Computer Society, 16 (6): 10–19, doi:10.1109/40.546561, ISSN 0272-1732

외부 링크