펜티엄 이전의 인텔 CPU | ||||||||||||
아키텍처 분류 | 제품 | |||||||||||
x86 이전 (4비트) | 4004 (1971) | 4040 (1974) | ||||||||||
x86 이전 (8비트) | 8008 (1972) | 8080 (1974) | 8085 (1977) | |||||||||
x86 (16비트) | 8086/8088 (1978/1979) | 80186/80188 (1982) | 80286 (1982) | |||||||||
x86( IA32) (32비트) | 80386 (1985) | 80486 (1989) | ||||||||||
기타 | iAPX432(8800) | i860 | i960 | |||||||||
관련 문서 | 인텔 펜티엄 시리즈 | 인텔 코어 시리즈 | 인텔 코어2 시리즈 | |||||||||
인텔 코어i 시리즈 | 인텔 코어 Ultra 시리즈 |
1. 개요
1985년 10월에 출시된 인텔 80286의 후속 기종. 정식 명칭은 80386이며 해당 아키텍처를 i386이라고 부른다.
2. 특징
인텔의 이전 모델에 비하여 성능이 크게 향상된 CPU로, x86 계열에서 32비트 명령어(IA-32)를 처음 정의한 32비트 CPU이다. 그래서인지 'i386'을 'IA-32'와 동일한 의미로 사용하는 경우도 있다.[1] 오늘날 널리 사용되는 x86-64 아키텍처도 결국 IA-32의 확장이라는 점을 생각하면 오늘날까지 사용되는 PC 아키텍처의 중시조쯤 되는 중요한 CPU이다.실제 모드(Real mode)에 동작하는 MS-DOS 응용 프로그램들을 보호 모드(Protected Mode)에서 구동할 수 있는 '가상 8086 모드'(Virtual 8086 Mode)를 탑재해 보호 모드로 돌아가면 리셋할 때까지 실제 모드로 돌아오지 못하는 80286의 문제점을 개선했다. MS-DOS는 1989년 4.01에 EMM386을 탑재하면서 가상 8086 모드를 지원하기 시작했다. Windows는 Windows 2.0의 VDM(Virtual DOS Machine)부터 현재 Windows 10 32비트의 NTVDM(NT Virtual DOS Machine)까지 가상 8086 모드를 사용하여 여전히 MS-DOS 응용 프로그램 호환을 지원한다. 다만 x86-64의 롱 모드(64비트 모드)에서 가상 8086 모드를 인텔 VT-x 또는 AMD-V로 대체했기 때문에 Windows Vista 64비트부터 NTVDM을 제거했다.
32비트 메모리 주소를 지원해 최대 4GB의 메모리를 지원했다. 시간이 흐르면서 2010년대 즈음에는 메모리 용량 한계에 도달하게 되었지만, 1985년 당시에는 메모리 크기가 커봐야 꼴랑 2MB니 4MB니 하던 시절이라서 4GB라는 메모리는 상상할 수 없는 수준의 크기였다. OS/2와 Windows 3.0이 보호 모드를 지원했다. MS-DOS는 '실제 모드'에서 동작했지만 그에 포함된 HIMEM.SYS의 연속 확장 메모리(Extended Memory) 관리 프로그램과 EMM386.EXE의 DPMI(DOS Protected Mode Interface)가 등장한 MS-DOS 5.0부터 지원하기 시작했고, 그리고 이를 이용한 DOS4GW 같은 DOS 익스텐더로 MS-DOS 응용 프로그램들이 더 많은 메모리를 사용할 수 있는 보호 모드 기능을 적극적으로 활용할 수 있게 됐다.
또한 선형 메모리 모델(Flat Memory Model)을 최초로 도입해 8086 시절의 세그먼트:오프셋이라는 복잡한 메모리 주소 체계를 사용하지 않고 가상 메모리 기능을 이용해 모든 메모리 영역을 가상화된 메모리 주소로 접근할 수 있게 됐다. 그러나 기존 응용 프로그램들의 호환성을 위해 세그먼테이션도 지원했다. 오늘날의 x86-64 프로세서들도 CS, DS, SS, ES의 레지스터를 이용해 세그먼테이션을 지원하지만, 롱 모드에서는 선형 메모리 모델만 사용할 수 있다.
' 디스크 페이징'도 이 때부터 지원하기 시작했다. 디스크 페이징이란 주기억 장치를 효율적으로 사용하기 위해 운영 체제가 보조 기억 장치에 파일을 생성해 보조 기억 장치를 주기억 장치처럼 사용하도록 하는 기법을 말한다. 오늘날의 운영 체제는 전부 지원하고 있는 기능이다. 마이크로소프트는 Windows 3.0부터 지원하기 시작했고, Windows ME까지 WIN386.SWP이라는 파일로 디스크 페이징을 사용했으며, NT 계열은 Windows NT부터 오늘날의 Windows 11까지 PAGEFILE.SYS 파일을 디스크 페이징으로 쓰고 있다. OS/2는 Windows보다 조금 늦었지만 2.0부터 지원하기 시작했으며, SWAPPER.DAT 파일을 생성해 디스크 페이징으로 썼다.
CPU를 33MHz에서 40MHz로 오버클럭해서 사용할 수도 있었는데, 이것이 오버클럭의 초기 사례로 꼽힌다. 연산 능력은 33MHz 모델을 기준으로 11.4 MIPS[2] 정도로 알려져 있다.
80386이 최초로 장착된 PC는 1986년 9월에 발매된 컴팩의 Deskpro 386. 이전까지는 IBM이 IBM PC XT, IBM PC AT를 먼저 내놓았고 다른 회사들이 이를 바탕으로 IBM PC 호환기종을 만들어온 데 비해 80386은 IBM PC 호환기종 제조 회사인 컴팩에서 먼저 발매되었다는 점에서 Deskpro 386은 PC 문화의 기념비로 볼 수 있다. 이는 IBM과 인텔의 견해 차이와 IBM 내부 계획이 원인으로, 인텔은 80386 발매 이후 IBM에게 이를 이용한 컴퓨터를 만들 것을 제안했으나, 인텔이 80386부터 세컨드 소스 정책을 폐기했기 때문에 IBM은 세컨드 소스로 생산할 수 있었던 80286을 더 선호했으며 IBM PS/2와 OS/2 계획 때문에 80386 컴퓨터 모델을 늦게 내놓았다. 이 컴퓨터의 발매는 IBM PC 아키텍처의 주도권이 IBM에서 IBM PC 호환기종 회사(이후 윈텔)로 넘어가게 된 분수령이 되었다.
아직 부동 소수점 연산 장치(FPU)를 CPU에 내장하지 않았기 때문에, 80387 또는 80287 보조 프로세서를 추가 장착하여 이용할 수 있었다. 물론 80287은 80387에 비해 느렸지만 FPU가 없는 것보다는 빨랐다. 80386이 처음 나왔을 때는 80387이 아직 없었기 때문에 80287과도 동작할 수 있도록 한 것이다. 이게 아니면 CAD도 못 돌렸다.
80386은 32비트 CPU에서 후발 주자였음에도 불구하고 전작인 8086과 80286이 구축해 놓은 16비트 x86 생태계와 당대 32비트 CPU 중에서는 뛰어난 성능을 발휘하던 덕택에 대단한 성공을 거두었고 오늘날의 IA-32 아키텍처들과 이후 등장한 IA-32와 호환하는 x86-64 프로세서들의 뼈대가 되었다.
3. 제품
3.1. 데스크톱
출시 시기에 따라 다양한 클럭(12~40MHz)으로 동작하며, 아키텍처에 따라 SX와 DX 모델로 크게 나눌 수 있다. SX 모델은 외부 데이터 버스가 16비트이고 메모리 주소 버스가 24비트이며, DX 모델은 외부 데이터 버스와 메모리 주소 버스가 32비트다. 32비트 메인보드는 비쌌기 때문에, 80386 SX는 기존의 저렴한 80286용 메인보드에 탑재할 수 있게 만들었다.[3] 그래서 SX는 DX보다 성능이 느린 대신에 값이 저렴했다. DX가 먼저 나오고 SX가 1988년에 나왔다. 즉 SX를 DX의 염가판으로 내놓은 셈이다. 80386DX와 80386SX의 관계는 할아버지뻘(?) 되는 인텔 8086과 8088의 관계와 거의 동일하다고 보면 되겠다.- 80386 DX: 12, 16, 20, 25, 33MHz
- 80386 SX: 16, 20, 25MHz
3.1.1. 호환 CPU
AMD와 IBM 등에서 호환칩을 생산하였다. AMD는 5년이나 지난 1990년에야 인텔의 80386 33MHz보다 높은 클럭의 40MHz 모델을 발매했는데 이는 인텔이 80386부터 세컨드 소스 정책을 폐기하면서 1985년에 AMD와의 기술 라이선스 중단을 선언했기 때문이었다. AMD는 라이선스 계약 위반이라며 1987년부터 1995년까지 인텔과 긴 소송전을 거쳐야 했다. 그동안 AMD는 약 5년간의 리버스 엔지니어링으로 1991년 3월 Am386 프로세서 제품군을 내놓았다. 그 당시 인텔은 80486이 나와 있었으나 가격이 부담스러운 유저층에 크게 어필했다.- AMD Am386 DX, SX, DE(임베디드): 25, 33, 40MHz
- Cyrix Cx486 제품군의 일부: 486이라 적혀 있지만, 각각 80386SX, DX에서 486 명령어 세트에 1KB 외부 캐시 메모리를 탑재한 CPU이다.
- Cx486SLC: 20, 25, 33, 40MHz
- Cx486DLC: 25, 33, 40MHz
- Chips Super 386: 25, 33MHz
- IBM: 486SLC는 486이라 적혀 있지만, 80386SX에서 486 명령어 세트에 16KB 내부 캐시 메모리, 클럭 배수기(Clock Multiplier)를 탑재한 CPU이다.
- 386SLC: 16, 20, 25MHz
- 486SLC: 20, 25, 33MHz
- 486SLC2: 50, 66MHz
- 486SLC3: 60, 75, 100MHz
- Blue Lightning: 80386DX에서 486 명령어 세트와 16KB 내부 캐시 메모리, 클럭 배수기를 탑재한 CPU이다.
- 486BLC2: 50MHz
- 486BLC3: 100MHz
- 텍사스 인스트루먼트: 486이라 적혀 있지만 사이릭스의 486SLC, 486DLC 시리즈를 세컨드 소스로 생산한 것이다.
- TX486SLC: 20, 25, 33, 40MHz
- TX486DLC: 25, 33, 40MHz
3.2. 랩톱
i386 SL. 1990년 10월에 발매했다. 전원 관리, 시스템 하드웨어 관리와 OEM이 만든 코드들의 동작 등의 기능을 위해 시스템 관리 모드(System Management Mode)를 추가했다.4. 대한민국의 경우
4.1. 가정
대한민국에서는 가정용 PC로는 1991[4]~1992년에 주로 이용되면서 8088이나 80286보다도 현역으로 활약한 시기가 짧았다. 이유는 80386 PC를 구매하기에는 아직 한국의 소득 수준이 충분하지 못했다. 게다가 당시에 대부분의 응용 프로그램들은 실제 모드 기반이라 보호 모드로 만든 것은 찾기 어려웠으며, 640KB 기존 메모리를 확보하거나 중첩 확장 메모리(Expanded Memory)를 사용하기 위해 CONFIG.SYS에서 EMM386.EXE를 실행한 경우, 실제 모드 응용 프로그램들을 가상 8086 모드로 에뮬레이션해 구동했기 때문에 80286보다 느릴 수 밖에 없었다. 그래서 타사에서 만든 16~25MHz의 80286 CPU에 팀킬을 당하기도 하였다. 하지만 1991년 경에 AMD가 Am386 DX/SX CPU를 내놓으면서 386 CPU 가격이 많이 낮아지게 되고 한글 윈도우 3.0[5]이 출시되면서 이때부터 대한민국에 386 PC가 짧은 기간이나마 보급되었다. 초기에는 저렴한 386SX 위주로 보급되었으나, 1992년 즈음이면 386DX도 보급되기 시작했다. 1989년 인텔에서 80486을 발매하면서 1993년부터 286보다도 먼저 PC 시장에서 자취를 감췄다.1992년 경 용산 전자상가에는 플래그십 PC로 인텔 80486 PC들이 있었으나, 주로 권장되는 것은 80386 호환 PC였고, 80286 호환 PC도 팔리고 있었다. 컬러 모니터와 SVGA, 마우스, 한글 카드까지는 포함했지만 사운드 카드는 옵션이었다. 그런데, 1993년이 되면서 인텔 80486 PC, 컬러 모니터, Windows 가속 VGA, 사운드 블래스터 호환품 구성이 서서히 팔리기 시작했다. 한국에서는 IBM PC 호환 기종에 게임을 즐길 수 있는 그래픽 카드, 사운드 카드와 컬러 모니터를 기본 구성으로 해서 판매하기 시작한 것이 80486 PC가 출시된 이후다. 한국에 CD-ROM 드라이브와 인터페이스 장치가 보급된 것도 80486 PC가 출시된 이후의 이야기이다.
80386 PC는 30핀 SIMM을 쓰다 보니 2MB 이상의 메모리 모듈을 구하기 어려워서 10MB 이상의 메모리로 업그레이드 하기 어려웠지만 80486 PC의 경우 중반기인 486DX2 부터 주로 72핀 FPM SIMM을 사용하면서 메모리 용량을 Windows 95를 사용할 수 있는 수준이었던 16MB 정도로 업그레이드 하기 수월했으며 72핀 SIMM 슬롯이 4개인 경우 32MB 이상으로 업그레이드 하는 경우도 드물게 있었다.
80386 PC에 들어간 ISA 방식 그래픽 카드들의 대부분이 블리터[6] 기능이 없었던 것과 달리 80486 PC부터 도입된 VESA 로컬 버스나 PCI 방식 그래픽 카드들은 기본적으로 있었기 때문에 체감 성능차가 크기도 했다.
결국 80386 PC와 80486 PC는 CPU 그 자체 성능 뿐만 아니라 주변 기기 성능차도 컸기 때문에 Windows 95가 등장하면서 운명이 극명하게 갈리게 되었다. 이런 이유로 Windows 95는 80486 호환 CPU는 사용할 수 있었고 80486 DX2급 이상이면 한글 97이나 오피스 97까지도 어느 정도 사용할 수 있었지만, 인텔 80386 DX CPU로는 설치할 수만 있는 수준이었으며 워드패드나 그림판 조차도 돌리기 버거웠다. 그래서 MS-DOS 시대를 함께 한 8086/8088/80286 PC와, x86 PC에서 본격적인 멀티미디어를 구현했고 Windows 9x와 함께 한 80486 PC에 비해, 80386 PC의 수명은 짧았으며 80486DX2~DX4급이 2003~2004년까지 일부가 학교 컴퓨터실에서 버젓히 현역으로 쓰이거나, 문서 작성용 정도로 현역으로 쓰이던 것과 달리, 80386급은 80386DX 조차도 2000년 이전에 거의 퇴출되면서 1998~1999년 정도만 되어도 현역으로 쓰이는 것을 찾아보기 어려울 정도였다.
한 세대를 가리키는 용어인 386세대가 이 CPU에서 비롯되었다. 이는 486도 마찬가지.
4.2. 기업
대한민국에서 가정용 PC로써의 인텔 80386의 도입이 늦었던 반면, 기업용으로는 의외로 이른 시기인 1987년 부터 쓰였는데, 심지어 금성반도체[7]는 1986년 11월에 IBM 보다도 앞서서 인텔 80386 PC를 개발한 이력도 있다. # 심지어 1987년 즈음이면 삼보컴퓨터, 삼성전자 같은 한국의 어지간한 PC 제조사들이 386 PC를 개발해서 내놓았을 정도.당시 아직 개발도상국에 속했던 대한민국의 경제 수준을 생각하면 기업용으로 80386 PC 도입은 상당히 빠른 편인데, 아마도 1988 서울 올림픽이라는 큰 행사를 앞두고 있었던 것도 어느정도 작용한 것으로 보인다. 그 외에도 1980년대 후반 주택 200만호 건설계획, 1기 신도시 같은 초대형 건설 사업들이 줄을 이었고 갈수록 고도화 되는 건축설계 수준을 요구하던 만큼 대한민국의 건축설계 분야에서도 80386 PC의 도입이 빠르게 이루어졌다.
그리고 대한민국에서 가정용으로 도입된 80386 호환 PC들이 늦은 시기에 보급이 이루어지면서 대부분 SVGA를 달고 나왔던 것과 달리 기업용으로 도입된 인텔 80386 PC들은 VGA나 EGA는 물론이고 초기에는 CGA나 허큘리스를 달고 나온 기종도 있었으며 주로 MS-DOS가 아닌 다중 사용자를 지원하는 UNIX 계열 운영 체제를 사용했다.
5. 여담
- 임베디드 시스템에서는 꾸준히 이용해 2007년까지 생산했고, 현재도 다른 회사에서 호환 CPU를 생산하고 있다. 인텔의 생산 기간만 해도 20년이 넘었는데, 라이선스 생산까지 합치면 30년이 넘는 장수만세 CPU. 대표적인 예로, KTX-1 시스템에는 안정성 확보를 위해 아직도 80386 호환 CPU를 사용한다. 이유는 파이프라인 문서에도 나와 있듯, 간단히 말해 처리 속도보다 '처리 시간 정확성'이 더 중요하기 때문이다.
-
80386은 인텔 최초의 32비트 CPU는 아니다. 이미 1981년에 8086을 대체하기 위한 목적으로 자사 최초의 32비트
RISC CPU인 iAPX 432를 개발했으나, 3개의 칩으로 이루어진 복잡한 구조와 뒤떨어지는 성능으로 인하여 실패한 전력이 있기 때문. 32비트 RISC CPU임에도 불구하고 성능은 동클럭 80286의 4분의 1 수준에 그치는 실패작이었다. 이듬해에 기존의 16비트 x86 아키텍처를 개량한 80286을 내놓고 이것이 대성공하면서 iAPX 432는 완전히 묻혀 버리고 말았다.
-
80386 설계에 팻 겔싱어도 참여했으며, 회로에 자신의 이름의 두문자, PG를 새겨 넣었다.
- 리누스 토발즈가 최초로 개발한 리눅스 커널은 80386 보호 모드에서 작동하도록 설계되어 있었다. 펜티엄, 코어 i까지 가서도 80386를 계속 지원해오다가 2012년 12월에 나온 버전 3.8부터 지원이 중단되었다. 위 사진은 2022년 인텔에선 리누스 토발즈에게 80386으로 만든 평생공로상을 수여하는 사진이다.
- 둠의 최소사양이 80386 DX이다. 그러나 정말로 최소 사양이라, 원활하게 돌리려면 80486은 기본으로 갖추고 있어야 했다. 물론 486이라 해도 SX로는 택도 없고, DX2쯤은 되어야 했다.(실제로 Doom FAQ에서도 바닐라 둠1 기준으로 권장사양이 486DX라고 명시하고 있다.) 둠 2에서는 권장 사양이 더 높아져서, 486DX가 최소 사양에 근접할 정도라는 이야기도 있다.
-
아케이드나 게임기 쪽에서는
인텔 8086 계열 CPU가 당대의 라이벌인
모토로라 68000 계열에 처절하게 밀렸던 관계로 80386이 쓰인 경우는 상당히 드문 편인데,
세이부 개발에서 만든 아케이드 기판 '세이부 SPI 시스템'[8]과
후지쯔의
게임용개인용 컴퓨터 FM TOWNS 정도가 그나마 유명한 편이다. - Windows 95를 지원하는 최소 사양 CPU이다. 그러나 1987년 4월 이전에 생산된 B1 스테핑 80386 CPU는 32비트 연산에서 무작위로 오류가 발생하는 버그로 인해 Windows 95의 설치와 실행이 거부된다. #
[1]
주의할 점은 그런의미로 사용되는것이지 i386은 IA-32의 초기 버전중 하나이다. IA-32는 i386과 i486, i586, i686이 있으며, 과거에는 프로그램을 배포할때 해당 버전에 맞춰 컴파일한 프로그램을 배포했다. 2020년대 기준으로 i386과 i486은 대부분 드롭되고 32비트 프로그램들은 대부분 i686을 기준으로 컴파일되니 사용자들은 거의 신경쓴 필요가 없어졌다.
[2]
참고로 초당 1조번 명령어 처리할 수 있는 것을 1TIPS, 100만번 명령어 처리할 수 있는 것을 1MIPS라고 한다. 현재는
플롭스에 밀려서 잘 쓰이지 않는다.
[3]
기존에 판매된 286 메인보드 소켓에 386 SX CPU를 그대로 장착할 수 있다는 뜻은 아니고 286용으로 설계된 메인보드에 소켓 등 사소한 수정을 거쳐 386 SX용 메인보드를 쉽게 만들 수 있다는 뜻이다. 물론 286/386SX 겸용 보드도 나중에 나오긴 했다. 이후에는 286 CPU 소켓에 꽂을 수 있는 386SX CPU가 서드파티 제품으로 나왔고, 심지어 Cx486SLC나 IBM 486SLC 계열 CPU들 까지도 286 CPU 소켓에 대응하는 서드파티 제품까지 등장하였다.
[4]
1991년 9월에 한글 윈도우 3.0이 발매되면서 삼성전자, 금성사, 삼보컴퓨터 같은 완제품 PC 제조사에서 386급 CPU에 SVGA를 갖추고 한글 MS-DOS 5.0과 한글 윈도우 3.0이 번들된 가정용 PC들을 본격적으로 출시하기 시작했다. 그 이전에는 가정용, 개인용으로는 386PC가 워낙 고가이다 보니 거의 나가지 않았고 대부분 기업용이나 연구소용으로만 나갔었다.
[5]
한글 윈도우 3.0은 80286에도 설치가 가능했으나 386 호환 모드 같은 기능으로 가상 메모리와 멀티테스킹을 제대로 사용하려면 386SX 이상을 요구했었다.
[6]
Blitter. 블리터란 비트맵 이미지 데이터를 메인 메모리 또는 비디오 메모리의 어떤 영역에서 프레임 버퍼 영역으로 복사할 때 CPU의 부담을 덜도록 스스로 처리하면서 빠른 전송을 위한 블록 전송 기능과 데이터 정렬, 투명 픽셀 처리를 위한 비트 연산 기능까지 있는 과거의 그래픽 칩셋에 있었던 논리 회로 블록이다. IBM PC 호환 기종에서는 주로 이를 Windows GUI 연산 처리에 활용했기 때문에 이를 Windows 가속 기능이라 불렀다. 오늘날에는 셰이더 프로세서 성능이 강력해진 덕에 사라졌다.
[7]
현
SK하이닉스
[8]
라이덴 파이터즈 시리즈와 바이퍼 페이즈 1이 출시된 기판.