인텔 8088
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
8088은 인텔이 설계한 16비트 마이크로프로세서로, 8비트 데이터 버스를 사용하여 경제적인 시스템 구축을 목표로 했다. 8086과 구조적으로 유사하지만, 8개의 데이터 라인만 가지고 있으며, 8085와의 호환성을 위해 핀 기능이 일부 변경되었다. IBM PC에 채택되어 개인용 컴퓨터 시장 확산에 기여했으며, x86 아키텍처의 발전에 영향을 미쳤다. 8088의 파생 제품으로는 80188, 80186, 80286, 80386, 80486이 있으며, 주변 장치로는 8282, 8284, 8286/8287, 8288, 8289, 8087 등이 있다.
더 읽어볼만한 페이지
- 16비트 마이크로프로세서 - 인텔 8086
인텔 8086은 1978년 인텔에서 개발한 16비트 마이크로프로세서로, 8비트 프로세서인 인텔 8080을 확장하여 20비트 어드레스 버스를 통해 1MB의 메모리 공간을 지원하며 IBM PC에 채택되어 x86 아키텍처의 상업적 성공을 이끌었다. - 16비트 마이크로프로세서 - 인텔 80286
인텔 80286은 1984년에 출시된 16비트 x86 마이크로프로세서로, 8086과 호환되며 16MB의 물리 메모리와 1GB의 가상 메모리를 지원하고 보호 모드를 통해 멀티태스킹을 가능하게 했다. - 인텔의 마이크로프로세서 - 인텔 80386
인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다. - 인텔의 마이크로프로세서 - 인텔 4004
인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다. - 인텔 x86 마이크로프로세서 - 인텔 80386
인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다. - 인텔 x86 마이크로프로세서 - 인텔 4004
인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
인텔 8088 | |
---|---|
Intel 8088 정보 | |
![]() | |
생산 시작 | 1979년 |
생산 종료 | 1998년 |
트랜지스터 수 | 29,000개 (3 μm) |
가장 느린 속도 | 5 MHz |
가장 빠른 속도 | 16 MHz |
제조 공정 | 3 µm |
패키지 | 40핀 DIP 44핀 PLCC |
아키텍처 | x86-16 |
응용 분야 | 데스크톱, 임베디드 |
이전 프로세서 | Intel 8085 |
다음 프로세서 | 80186 및 80286 (둘 다 1982년 초에 출시됨) |
코프로세서 | Intel 8087 |
제조업체 | Intel AMD NEC Fujitsu Harris (Intersil) OKI Siemens Texas Instruments Mitsubishi |
데이터 폭 | 8비트 |
주소 폭 | 20비트 |
소켓 | DIP40 |
변종 | Intel 8086의 변종 |
지원 상태 | 지원 중단 |
2. 역사 및 특징
인텔 8088은 인텔의 이스라엘 하이파 연구소에서 설계되었다.[9] 이 연구소는 이후에도 인텔의 많은 중요 프로세서 개발을 담당하게 된다. 8088은 기존 8086 프로세서를 기반으로 하지만, 외부 데이터 버스를 16비트에서 8비트로 줄여 설계되었다. 이는 당시 상대적으로 비쌌던 16비트 시스템 대신, 보다 저렴한 8비트 지원 칩과 주변 장치를 사용하여 경제적인 컴퓨터 시스템을 구축하는 것을 목표로 했기 때문이다. 이러한 설계 변경으로 인해 프리페치 큐(prefetch queue)는 8086의 6바이트에서 4바이트로 축소되었고, 프리페치 알고리즘도 8비트 버스 환경에 맞게 일부 수정되었다.
초기 IBM PC는 4.77MHz로 동작하는 8088을 CPU로 채택했다. 이는 IBM이 8085용으로 개발된 기존의 저렴한 8비트 주변 장치들을 활용하여 시스템 개발 비용을 낮추고자 했던 전략적 결정이었다. 당시 IBM 내부에서는 MC68000과 같은 더 강력한 프로세서를 선호하는 의견도 있었으나, 비용 효율성과 인텔과의 버블 메모리 권리 교환 계약 등이 8088 채택에 영향을 미쳤다. 8088의 8비트 외부 버스 구조는 이후 IBM PC 및 PC/XT의 확장 버스(XT 버스, 8비트 ISA 버스) 설계에도 영향을 주었다.
8088은 다양한 버전으로 출시되었다. 인텔의 새로운 HMOS 공정으로 제작되어 최대 8MHz 클럭 속도를 지원하는 8088-2, CHMOS 기술을 사용한 완전 정적 설계의 80C88 (0~8 MHz 동작) 등이 있다. 또한, NEC에서 개발한 NEC V20과 같이 8088과 핀 호환되면서도 동일 클럭에서 더 높은 성능(약 20% 향상)을 제공하는 호환 프로세서도 등장했으며, 일부 후속 모델은 최대 16MHz까지 동작했다.
1984년에는 코모도어 인터내셔널이 라이선스를 통해 8088을 생산하기도 했으며,[10] CMOS 버전은 오키 전기 산업에 아웃소싱되기도 했다.[11] 인텔은 후지쯔를 통해 8088을 2차 소싱하기도 했다.[15] 8088 발표 당시 정가는 124.8달러였으나,[12][13] 1981년 7월에는 플라스틱 패키지 버전이 100개 단위로 개당 14.1달러에 판매되었다.[14]
2. 1. 8086과의 차이점
8088은 구조적으로 8086과 매우 유사하지만, 몇 가지 중요한 차이점이 존재한다. 가장 큰 차이점은 외부 데이터 버스 폭이다. 8086은 16비트 데이터 버스를 가지지만, 8088은 8비트 데이터 버스를 사용한다. 이로 인해 한 번에 전송할 수 있는 데이터 양은 절반으로 줄어들지만, 더 저렴한 8비트 주변 장치 및 메인보드 설계를 가능하게 했다. 내부적으로는 명령어 프리페치 큐(prefetch queue)의 크기가 8086의 6바이트에서 4바이트로 축소되었다.데이터 버스 폭의 차이로 인해 일부 핀의 기능도 변경되었다.
- 8086의 34번 핀은 상위 바이트(high byte) 데이터 전송을 제어하는 /BHE (Bus High Enable, Low Active) 신호였지만, 8비트 버스를 사용하는 8088에는 이 기능이 필요 없어졌다.[16] 대신 8088의 34번 핀은 최대 모드(maximum mode)에서 시스템 상태를 나타내는 /SS0 (Low Active) 신호 출력 핀으로 사용된다.
- 메모리 접근과 입출력(I/O) 접근을 구분하는 신호 핀의 논리가 반전되었다. 8088에서는 IO//M 신호(메모리 접근 시 Low, 입출력 접근 시 High)를 사용하지만, 8086 부품에서는 /IO/M 신호(입출력 접근 시 Low, 메모리 접근 시 High)를 사용한다. 이러한 IO//M 신호 방식의 변경은 8088이 기존의 8085 기반 시스템 및 주변 칩들과 호환성을 유지하며 보다 경제적인 시스템을 구축할 수 있도록 고려된 설계 변경이다.[16]
이러한 차이점 때문에 8088은 외부적으로는 8비트 CPU처럼 동작하며, 하드웨어 설계 관점에서도 8비트 CPU로 취급되는 경우가 많다. 초기 IBM PC 및 PC/XT 모델에 8088이 채택되면서, 이들 기종의 확장 버스(XT 버스, 이후 ISA 버스의 8비트 버전) 역시 8비트 데이터 버스를 갖게 되었다. IBM이 MC68000과 같은 더 강력한 16비트 프로세서 대신 8088을 IBM PC에 채택한 주된 이유 중 하나는, 8085용으로 개발된 기존의 저렴한 8비트 주변 장치들을 그대로 활용하여 시스템 개발 비용을 낮출 수 있었기 때문이다.
2. 2. 성능
클럭 주파수, 메모리 대기 상태 수, 특정 응용 프로그램의 특성에 따라 인텔 8088의 평균 성능은 약 0.33 ~ 1 MIPS였다.[17] 명령어 `mov reg,reg`와 `ALU reg,reg`는 각각 2 사이클과 3 사이클을 사용하며, 이는 MHz당 1/3 ~ 1/2 MIPS 사이의 이론상 최고 성능에 해당한다. 즉, 10 MHz에서는 3~5 MIPS 범위에 해당한다.8086 CPU는 실행 유닛(EU)과 버스 속도가 비교적 균형을 이루었으나, 8088은 데이터 버스를 8비트로 줄이면서 심각한 성능 병목 현상이 발생했다. 이 8비트 버스는 명령어 인출 속도를 8086 대비 절반으로 감소시켰고, 프리페치 입력 큐 크기도 6바이트에서 4바이트로 축소되었다. 이 때문에 빠른 명령어가 연속될 경우 큐가 쉽게 소진되어 명령어 인출을 기다리는 시간이 길어졌다. 8086과 8088 모두 버스 사이클 완료에 4 클럭이 필요했지만, 8088은 바이트당 4 클럭이 소요되어 2바이트를 전송하는 데 8086보다 두 배의 시간이 걸렸다. 결과적으로 8088은 동일 클럭 속도의 8086보다 전반적으로 성능이 낮았으며, EU가 유휴 상태로 대기하는 시간이 많았다.
이러한 버스 병목과 작은 프리페치 큐 때문에 코드 실행 속도는 명령어 순서에 따라 크게 달라졌다. 8088 프로그래밍 시 CPU 효율성을 높이려면, 실행 시간이 긴 명령어(예: 반복 문자열 연산, 3회 이상의 시프트) 사이에 짧은 명령어를 배치하여 프리페치 큐가 다시 채워질 시간을 확보하는 것이 중요했다. 짧은 명령어가 연속되거나 느린 명령어 사이에 충분한 간격 없이 배치되면 버스 병목으로 인해 성능이 저하되었다. 특히 일부 단일 비트 시프트 및 회전 명령어는 실행 시간(2 클럭)보다 인출 시간(8 클럭)이 훨씬 길어 전체 실행 속도를 크게 떨어뜨릴 수 있었다.
8088은 (8086과 마찬가지로) 메모리 접근 속도도 느렸다. 유효 주소 계산에 ALU를 공유했고, EU와 버스 인터페이스 유닛(BIU) 간 통신 오버헤드 및 4 클럭 버스 사이클의 비효율성도 성능 저하 요인이었다. 대부분의 명령어는 메모리 피연산자를 사용할 경우 레지스터 피연산자를 사용할 때보다 최소 4배 느렸다. 따라서 효율적인 프로그래밍을 위해서는 가능한 한 메모리 접근을 줄이고, 데이터를 레지스터로 불러와 작업한 뒤 결과를 다시 메모리에 저장하는 방식이 권장되었다. 8088의 비교적 많은 범용 레지스터는 이러한 방식에 유리했다. 레지스터가 부족할 경우, 스택에 임시 저장(PUSH, POP 명령어 사용)하는 것이 메모리를 직접 사용하는 것보다 빨랐다.
호출(CALL), 점프(JMP), 인터럽트(INT) 명령어는 프리페치 큐를 비우고 내부 레지스터(IP)를 로드해야 하므로 최소 15 클럭 사이클이 소요되어 비용이 높았다. 조건부 점프는 분기하지 않으면 4 클럭이 걸리지만, 분기하면 16 클럭이 필요했다. 따라서 루프 등에서는 조건부 점프가 대부분 분기하지 않도록 코드를 구성하는 것이 유리했다.
전용 곱셈(MUL, IMUL) 및 나눗셈(DIV, IDIV) 명령어는 매우 느려서(약 100~200 클럭 사이클), 작은 상수를 곱하는 경우 등에는 시프트 연산을 활용하거나 짧은 서브루틴을 작성하는 것이 더 빨랐다.
8088의 성능을 개선한 변형으로는 HMOS 공정으로 제조되어 최대 8 MHz로 동작하는 8088-2, CHMOS 기술 기반의 완전 정적 코어 80C88(0~8 MHz 동작) 등이 있었다. NEC에서 개발한 NEC V20은 8088과 핀 호환되면서 동일 클럭에서 약 20% 정도 더 빠른 성능을 제공했다.
3. IBM PC 채택
초창기 IBM PC는 8088을 사용한 가장 영향력 있는 마이크로컴퓨터 중 하나였다. 이 컴퓨터의 클럭 주파수는 4.77MHz (NTSC 컬러버스트 주파수의 4/3)였다. IBM 내부에서는 자체 개발한 IBM 801 프로세서나 당시 새롭게 등장한 모토로라 68000, 또는 MOS 테크놀로지 6502나 Zilog Z80과 같이 기존 개인용 컴퓨터에 사용되던 작고 단순한 마이크로프로세서를 사용하자는 다양한 의견이 있었다. 그러나 IBM은 이미 자사 제품에 인텔 칩을 사용해 온 경험이 있었고, 인텔에 버블 메모리 설계를 사용할 권리를 주는 대가로 8086 제품군을 제조할 권리도 확보한 상태였다.
IBM은 8086 대신 8088을 최종적으로 선택했는데, 여기에는 몇 가지 이유가 있었다. 우선 인텔이 8088에 더 나은 가격을 제시했고 더 많은 수량을 안정적으로 공급할 수 있었다.[18] 또한, 8088의 8비트 데이터 버스는 기존의 8085 설계를 기반으로 컴퓨터를 제작할 수 있게 해주었다. 이는 당시 널리 사용되어 가격이 저렴하고 기술적으로 성숙한 8비트 주변 장치 칩(8085 및 유사 프로세서용 IC 포함)들과 쉽게 인터페이스할 수 있다는 장점이 있었다. 많은 엔지니어들이 이러한 8비트 부품에 익숙했기 때문에 시스템 설계 비용을 더욱 절감할 수 있었다. 8088의 제어 신호 중 하나인 IO/M 신호는 메모리 접근 시 로우 레벨, 입출력(IO) 접근 시 하이 레벨이 되어, 8080/8085와 호환성을 유지했다. 반면, 모토로라 68000은 당시 관련 주변 장치 칩이 부족한 상황이었다.
기술적으로 8088은 i8086의 외부 데이터 버스를 16비트에서 8비트로 줄이고, 명령어 프리페치 큐를 6바이트에서 4바이트로 축소한 모델이다. 최대 1MB의 메모리 주소 지정이 가능했다. 초창기 IBM PC는 4.77MHz로 동작하는 i8088을 채택했으며, 메모리는 최대 256KB까지 확장 가능했다(시스템 보드 64KB, 확장 슬롯 192KB).
8088의 외부 버스가 8비트이기 때문에, 하드웨어 측면에서는 8비트 CPU로 취급되기도 한다. IBM PC 및 PC/XT의 확장 버스인 XT 버스(이후 8비트 ISA 버스)의 데이터 버스가 8비트인 것도 i8088 채택에 기인한다.
한편, i8085 기반 시스템을 i8088로 교체하려면 상당한 설계 변경이 필요했지만, i8088을 탑재한 시스템은 CPU를 V20으로 교체하는 것만으로도 별다른 설계 변경 없이 약 20% 정도의 성능 향상을 얻을 수 있었다.
8088의 후속 제품으로는 80188, 80186, 80286, 80386, 80486 등이 있으며, 현재 널리 사용되는 인텔 코어 프로세서까지 이어지는 소프트웨어-호환 프로세서 계열의 시초가 되었다.
4. 파생 제품 및 영향
인텔은 8088의 성능을 개선한 여러 변형 제품을 출시했다. HMOS 공정으로 제조된 8088-2는 최대 8 MHz의 클럭 주파수로 동작했으며, 이후 등장한 80C88은 CMOS 공정(CHMOS)을 사용한 완전 정적 설계로 0 MHz부터 8 MHz까지의 클럭 속도를 지원했다.
인텔 외 다른 제조업체에서도 8088 호환 프로세서나 개선된 제품을 생산했다. 대표적으로 NEC에서 설계하고 제조한 NEC V20은 8088과 핀 호환이 가능했으며, 동일 클럭 주파수에서 8088보다 약간 더 빠른 성능을 보였다. NEC는 이후 최대 16 MHz까지 작동하는 8088 호환 프로세서를 출시하기도 했다.
여러 기업들이 8088을 라이선스 생산하거나 세컨드 소스로 공급받았다. 1984년 코모도어 인터내셔널은 다이나로직 하이페리온 복제 컴퓨터에 사용하기 위해 8088 라이선스 생산 계약을 맺었다.[10] 오키 전기 산업은 CMOS 버전 8088의 생산을 맡았으며,[11] 후지쯔는 인텔의 두 번째 8088 공급 업체였다.[15] 이미지에서 볼 수 있듯이 AMD 역시 8088 호환 프로세서를 생산한 주요 업체 중 하나였다.
5. 주변 장치
8088은 8비트 데이터 경로와 8비트 지원 및 주변 칩을 사용하여 경제적인 시스템 구축을 목표로 했다. 이는 8088 출시 당시 복잡한 회로 기판 제작이 여전히 번거롭고 비용이 많이 들었기 때문이다. IBM PC가 i8088을 채택한 이유 중 하나는 i8085용으로 개발된 기존 주변 장치 부품을 활용하여 컴퓨터를 보다 쉽게 설계하고 제조할 수 있었기 때문이다. 이는 8088 기반 시스템 설계에서 주변 장치의 중요성을 보여준다.
8088과 함께 사용된 주요 주변 장치 칩은 다음과 같다.
- 인텔 8282: 8비트 래치
- 인텔 8284: 클럭 발생기
- 인텔 8286/인텔 8287: 양방향 8비트 드라이버. 인텔 I8286/I8287(산업용 등급) 버전은 100개 수량 기준으로 개당 16.25USD에 판매되었다.[21]
- 인텔 8288: 버스 컨트롤러
- 인텔 8289: 버스 중재기
- 인텔 8087: 수학 보조 프로세서
참조
[1]
웹사이트
CPU History – The CPU Museum – Life Cycle of the CPU
http://www.cpushack.[...]
[2]
웹사이트
iAPX 86, iAPX 88 user's manual
http://www.bitsavers[...]
2024-10-05
[3]
웹사이트
iAPX 86, 88, 186 Microprocessors Part I, Workshop Notebook
http://www.bitsavers[...]
1984-06
[4]
웹사이트
iAPX 286 Programmers' Reference Manual
http://www.bitsavers[...]
[5]
웹사이트
Microprocessor Quick Reference Guide
https://www.intel.co[...]
Intel
2019-06-01
[6]
웹사이트
Microprocessor Quick Reference Guide
https://www.intel.co[...]
Intel
2019-06-01
[7]
서적
Microprocessor Interfacing and Applications
https://books.google[...]
New Age International
2006
[8]
서적
IBM PC and Clones: Hardware, Troubleshooting and Maintenance
https://books.google[...]
McGraw-Hill
2002
[9]
서적
The Israel Test
Encounter Books
2013-10-10
[10]
간행물
Commodore Adds Hyperion, Chips
https://books.google[...]
1984-04-17
[11]
뉴스
NewsBit: Intel Licenses Oki on CMOS Version of Several Products
Intel Corporation
1984-07
[12]
간행물
Intel Brings Out 8-Bit MPU featuring 16-Bit Architecture
https://books.google[...]
1979-05-14
[13]
뉴스
Microcomputer Components: Intel Introduces the 8089 IOP, an I/O processor for the advanced 8088/8086 CPU family, the first of a series of new subsystem components
Intel Corporation
1979-05
[14]
뉴스
News Bits
Intel Corporation
1981-07
[15]
뉴스
NewsBits: Second Source News
Intel Corporation
1985-01
[16]
서적
Osborne 16 bit Processor Handbook
[17]
웹사이트
Olympus MIC-D: Integrated Circuit Gallery - Intel 8088 Microprocessor
http://www.olympusmi[...]
[18]
간행물
Bill Gates, Microsoft and the IBM Personal Computer
https://books.google[...]
1982-08-23
[19]
문서
Sampling Q4 1985
[20]
뉴스
Advanced Packaging: A Little Goes A Long Way
Intel Corporation
1986-01
[21]
뉴스
8086 Available for industrial environment
Intel Corporation
1980-05
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com