분류
1. 개요[편집]
인텔이 1982년 발표한 16비트 CPU. 인텔 8086의 후속 모델로 일명 '286 컴퓨터'라고 불리우는 그것이다. 정확하게는 그 사이에 80186이라는 녀석이 있지만 PC에서 거의 채용이 안되어 대중에게는 잊혀졌다.[1] IBM PC AT에 채용된 CPU이기도 하다.
2. 상세[편집]
발표 당시 클럭은 6MHz. 4.77MHz였던 8086보다 고작 1.26배 더 높은 클럭을 가지고 있었으나, 실제 성능은 3배 가량 더 빨랐다. 클럭이 더 높은 10MHz 버전 8086과 비교하더라도 1.5배 가량은 빨랐다는 이야기다. 1984년부터는 8MHz 모델도 출하되었고 점점 속도가 올라가더니 나중에는 AMD 등에서 라이선스 생산하면서 최종적으로는 25MHz 모델까지 나왔다. 인텔은 80286까지는 세컨드 소스 정책을 적용하여 자사의 CPU를 다른 회사가 라이선스 생산하는 것을 허용했으나, 80386부터 현재에 이르기까지는 인텔에서 명령어 세트 아키텍처(Instruction Set Architecture, ISA)만 라이선스해 CPU와 호환성을 가지는 범위 안에서 독자적으로 설계하는 것만 허용했다.[2] 국내에서 PC AT 호환기종이 널리 보급되던 1990년대 초에 주로 들어가던 것도 16~25MHz의 세컨드 소스 80286이었다.
CPU에 세계 최초로 메모리 관리 장치(Memory Management Unit, MMU)를 넣고, 보호 링(Protection ring) 체계를 넣어 운영 체제는 CPU로 응용 프로그램의 시스템 영역 접근과 변조를 보호할 수단을 얻게 되었다. 또한 메모리 접근을 위해 인텔 8086의 복잡한 세그먼트:오프셋 체계를 사용하지 않아도 됐다. 하지만 인텔 8086의 응용 프로그램들이 호환되기 위해 리어셈블리 또는 리컴파일을 해야 했으며, 여전히 복잡한 주소 체계였던 세그먼테이션으로 접근할 수 있었다. 더 큰 문제는 응용 프로그램의 경우 특권 명령어나 직접 하드웨어 접근, BIOS 기능 사용 같은 주로 시스템 영역에서 관리하고 있는 것을 하면 사용하면 안 되는 조건들이 있었는데, 현대에서는 드라이버 소프트웨어 개발자들 외에는 하지 않는 일이지만, 그 당시에는 관행적으로 했기 때문이었다.[3] 이를 감안한 인텔은 기존의 8086과의 호환성을 위해 프로세서 동작 모드를 '실제 모드'(Real Mode)와 '보호 모드'(Protected virtual-address Mode, Protected Mode)로 나누고, 전원을 인가하면 실제 모드로 먼저 동작하게 했다.
실제 모드에서 80286은 빠른 성능의 8086처럼 동작한다. IBM은 기존 응용 프로그램들과의 호환이 필요했고, 21번째 주소선(A20 주소선)의 고위 메모리 영역(HMA, High Memory Area)에 대한 제어가 필요했다. IBM은 논리회로를 짜 넣어 이 영역을 제어했는데, 이를 A20 게이트라 불렀으며, IBM은 IBM PC AT에 처음 탑재했다. 따라서 실제 모드에서는 고위 메모리 영역(HMA)까지 사용할 수 있게 되면서 1MB+65,520바이트까지 사용할 수 있다.
보호 모드에서는 24비트 주소 공간을 사용하여 16MB(224바이트)까지 관리할 수 있었고 세그먼트는 8086과 마찬가지로 64KB이며, 원시적인 수준의 가상 메모리 기능을 지원했다. 이는 멀티태스킹 등을 염두에 두고 만들어진 기능이었다. 하지만 80286이 현역이던 당시에는 보호 모드는 잘 사용되지 않았다. 이유는 위에서 서술된 이유 뿐만 아니라, 보호 모드로 전환했다가 실제 모드로 돌아오려면 리셋해야 했기 때문이었다. 이런 특성을 알고 있었던 빌 게이츠는 뇌가 죽은 칩(Brain-dead Chip)이라고 말한 적이 있었다.[4] 아직 시장에서 무시 못할 규모였던 XT(8086) 호환성과 상술한 80286 보호 모드의 한계 등으로 인해 응용 프로그램에서는 한동안 잘 사용하지 않았다. 후속 모델인 80386이 80286 보호 모드의 문제점을 개선하면서 보편화되기 시작했다.
80386 등장 이후에도 80286은 한동안 선전했는데, 80386, 80486은 물론이고 심지어 초기 펜티엄이 등장할 무렵에도 80286 신품이 PC 시장에 유통되고 있었을 정도였다. 이는 80386이 시장에서 압도적인 점유율을 확보하지 못한 데다가[5] 소프트웨어 업체들이 하위 호환을 위해 8086을 충실하게 지원했기 때문이다. 더군다나 AMD나 Harris 같은 호환칩 메이커가 후기에 만든 16~25MHz급의 고클럭화된 80286은 32비트만 지원이 안될 뿐이지 80386과 비교해도 성능에서 그다지 밀리지 않았었다. 그러나 80286을 지원하지 않는 윈도 95의 폭발적인 보급과 함께 시대의 뒤안으로 은퇴했다.
CPU에 세계 최초로 메모리 관리 장치(Memory Management Unit, MMU)를 넣고, 보호 링(Protection ring) 체계를 넣어 운영 체제는 CPU로 응용 프로그램의 시스템 영역 접근과 변조를 보호할 수단을 얻게 되었다. 또한 메모리 접근을 위해 인텔 8086의 복잡한 세그먼트:오프셋 체계를 사용하지 않아도 됐다. 하지만 인텔 8086의 응용 프로그램들이 호환되기 위해 리어셈블리 또는 리컴파일을 해야 했으며, 여전히 복잡한 주소 체계였던 세그먼테이션으로 접근할 수 있었다. 더 큰 문제는 응용 프로그램의 경우 특권 명령어나 직접 하드웨어 접근, BIOS 기능 사용 같은 주로 시스템 영역에서 관리하고 있는 것을 하면 사용하면 안 되는 조건들이 있었는데, 현대에서는 드라이버 소프트웨어 개발자들 외에는 하지 않는 일이지만, 그 당시에는 관행적으로 했기 때문이었다.[3] 이를 감안한 인텔은 기존의 8086과의 호환성을 위해 프로세서 동작 모드를 '실제 모드'(Real Mode)와 '보호 모드'(Protected virtual-address Mode, Protected Mode)로 나누고, 전원을 인가하면 실제 모드로 먼저 동작하게 했다.
실제 모드에서 80286은 빠른 성능의 8086처럼 동작한다. IBM은 기존 응용 프로그램들과의 호환이 필요했고, 21번째 주소선(A20 주소선)의 고위 메모리 영역(HMA, High Memory Area)에 대한 제어가 필요했다. IBM은 논리회로를 짜 넣어 이 영역을 제어했는데, 이를 A20 게이트라 불렀으며, IBM은 IBM PC AT에 처음 탑재했다. 따라서 실제 모드에서는 고위 메모리 영역(HMA)까지 사용할 수 있게 되면서 1MB+65,520바이트까지 사용할 수 있다.
보호 모드에서는 24비트 주소 공간을 사용하여 16MB(224바이트)까지 관리할 수 있었고 세그먼트는 8086과 마찬가지로 64KB이며, 원시적인 수준의 가상 메모리 기능을 지원했다. 이는 멀티태스킹 등을 염두에 두고 만들어진 기능이었다. 하지만 80286이 현역이던 당시에는 보호 모드는 잘 사용되지 않았다. 이유는 위에서 서술된 이유 뿐만 아니라, 보호 모드로 전환했다가 실제 모드로 돌아오려면 리셋해야 했기 때문이었다. 이런 특성을 알고 있었던 빌 게이츠는 뇌가 죽은 칩(Brain-dead Chip)이라고 말한 적이 있었다.[4] 아직 시장에서 무시 못할 규모였던 XT(8086) 호환성과 상술한 80286 보호 모드의 한계 등으로 인해 응용 프로그램에서는 한동안 잘 사용하지 않았다. 후속 모델인 80386이 80286 보호 모드의 문제점을 개선하면서 보편화되기 시작했다.
80386 등장 이후에도 80286은 한동안 선전했는데, 80386, 80486은 물론이고 심지어 초기 펜티엄이 등장할 무렵에도 80286 신품이 PC 시장에 유통되고 있었을 정도였다. 이는 80386이 시장에서 압도적인 점유율을 확보하지 못한 데다가[5] 소프트웨어 업체들이 하위 호환을 위해 8086을 충실하게 지원했기 때문이다. 더군다나 AMD나 Harris 같은 호환칩 메이커가 후기에 만든 16~25MHz급의 고클럭화된 80286은 32비트만 지원이 안될 뿐이지 80386과 비교해도 성능에서 그다지 밀리지 않았었다. 그러나 80286을 지원하지 않는 윈도 95의 폭발적인 보급과 함께 시대의 뒤안으로 은퇴했다.
3. 호환 CPU[편집]
- 지멘스 SAB80286
- 후지쯔 MBL80286
- AMD Am286
- Harris CS80C286
- IBM CG80286
- Intersil MG80C286
[1] 국내에서 출시된 적이 없어서 그렇지 Tandy 2000 등 일부 채용된 PC가 존재한다. 탠디 코퍼레이션 문서 참고.[2] 80286 시대까지의 세컨드 소스 정책은 인텔과 같은 설계로 동일품을 생산할 수 있게 허용하는 것이었다. 반도체 업계에서는 흔한 영업 방침으로 대표적인 8비트 CPU인 자일로그 Z80만 해도 동일한 성능을 가진 세컨드 소스가 대단히 많다.[3] 그당시만 해도 CPU의 속도가 느렸기 때문에 소프트웨어, 특히 게임 소프트웨어 제작자들은 빠른 연산을 위해 OS 등이 관리하는 중간 단계를 거치지 않고 막바로 하드웨어를 건드릴 수밖에 없었다. 286이 나올 무렵만 해도 굳이 그럴 필요까지는 없었으나 8비트 시절부터 해 오던 관행이 쉽게 사라지지는 않았다. 8비트 PC에서의 게임 소프트웨어는 그렇게 하지 않으면 정상적인 게이밍이 불가능할 정도로 느렸으니.[4] 반쪽 짜리 운영 체제: OS/2의 업적과 비극, Ars Techinica#[5] 비싼 가격과 32비트에 맞는 메인보드 재설계라는 난점이 있었다. 인텔도 이를 잘 알아서 SX와 DX로 나눠서 보급시켰는데 SX는 후술할 고클럭화된 286에 비해 그리 메리트가 있지도 않았다.