초보자페이지
초보자 페이지 PC 이름을 결정하는 [마이크로프로세서] – XT. AT(286). 386SX/DX. 486SX/DX
마이크로프로세서는 어느곳에서 무슨일을 하는가
개인용 컴퓨터를 이해하기 위해 IBM PC의 역사를 알아보면 매우 흥미있는 내용이 많다. 그것은 IBM PC의 역사가 곧 마이크로프로세서의 역사라고 할 수 있으며 IBM PC가 모든 개인용 컴퓨터의 역사를 대표한다고 볼 수 있다. 사람으로 말하면 두뇌에 해당하는 마이크로프로세서는 칩 끝에 얇고 작은 다리를 가지고 있는 트랜지스터와 레지스터로 이루어져 있는 엄지손가락 만한 집적회로로서 컴퓨터 내부를 보면 쉽게 확인할 수 있다. 이는 컴퓨터의 메인보드(마더보드)라고 부르는 기판의 중앙에 꽂혀있다. 마이크로프로세서가 하는 일은 컴퓨터에 입출력되는 모든 명령어를 처리하는 것은 물론, 필요한 모든 데이터를 조작 처리하는 역할을 담당하고 있어 마이크로프로세서가 곧 컴퓨터라고 말할 수 있다. 마이크로프로세서에게 주어지는 명령어들은 기계어나 어셈블리어라고 부르는 언어로 이루어져 있다. 컴퓨터의 능력은 그 컴퓨터에서 사용한 마이크로프로세서의 기계어 명령어들이 무엇을 할 수 있고, 얼마나 빨리 일할 수 있는가로 판단할 수 있다. 그리고 이들 명령어들을 처리하는 과정에서 한번에 몇 비트의 정보를 처리할 수 있느냐에 따라 우리가 말하는 8비트 컴퓨터, 16비트, 32비트, 64비트 컴퓨터가 결정되는 것이다. 현재 IBM PC의 개인용 컴퓨터에서 사용하고 있는 대부분의 마이크로프로세서는 인텔의 86계열의 마이크로프로세서에 기초를 두고 있다. 지금까지 소개된 86계열의 마이크로프로세서를 보면, 8088, 8086, 80286, 80386(DX), 80386SX, 80386SL, 80486(DX), 80486SX, 80486DX2 등이 있다. 이처럼 많은 종류의 마이크로프로세서를 구별할 수 있는 방법은 마이크로프로세서의 속도이다. 마이크로프로세서의 속도에 중요한 영향을 미치고 있는 두가지 요소는 클럭 속도clock speed와 데이터 버스data bus의 크기이다.
클럭
클럭 속도란 하나의 컴퓨터에서 작동하는 모든 회로나 장치들이 동작의 보조를 맞추기 위해 사용되는 정기적인 신호로서, 이를 클럭 펄스라고도 한다. 그 시간 간격은 각 부분 회로 소자의 동작이 따라 올 수 있는 범위에서 가능한 짧게 선택된다. 다시말해 클럭이란 우리가 사용하고 있는 시계와 같이 마이크로프로세서가 사용하는 시계로서 컴퓨터를 구성하고 있는 모든 장치들이 일정한 간격으로 명령을 수행할 수 있도록 도와 주는 것이다. 이것은 분ㅁ(分)이나 초(秒)로 측정되는 것보다는 MHz(초당 수백만의 사이클)로 측정한다. 8086 마이크로프로세서가 소개되던 초창기의 클럭속도는 5-10MHz 였는데, 1980년도 중반에 25-30MHz의 마이크로프로세서가 소개되었고, 현재에는 50MHz의 속도를 가능하게 하는 마이크로프로세서가 등장하고 있는데 1초당 5,000만번의 펄스가 발생했다고 볼 수 있는 놀랄만한 속도이다.
컴퓨터 신호인 디지털 신호와 일반 오디오 신호인 아날로그
버스
버스란 컴퓨터 시스템에 있는 여러 개의 장치(즉, 마이크로프로세서, 메모리, 디스크 장치 등)들 사이에 데이터를 제공해 주기위한 데이터 전송로를 말한다. 이들 두 요소는 컴퓨터의 속도MHz와 컴퓨터의 비트수(8비트, 16비트, 32비트 등)를 결정짓는 중요한 요소이다.현재 IBM 및 IBM호환 컴퓨터에 사용되는 마이크로프로세서의 거의 전부를 제공하고 있는 회사는 미국에 있는 인텔이다. 따라서 컴퓨터의 이름 또한 인텔 칩 이름을 따서 286, 386, 486 컴퓨터로 불리우고 있다. 아래 <표>는 지금까지 발표된 인텔의 마이크로프로세서를 보여준다.
【표】 인텔 마이크로프로세서의 성능 비교
IBM PC/XT
현재 PCPersonal Computer라고 부르고 있는 컴퓨터는 16비트 이상의 컴퓨터를 말한다. 개인용 컴퓨터(PC)가 소개되기 이전인 70년대 말까지 개인용 컴퓨터의 대명사처럼 불려지던 애플 컴퓨터는 8비트 컴퓨터로 IBM의 PC가 소개됨과 동시에 컴퓨터 사용자들의 옛 추억속으로 사라졌다. IBM PC/XT(XT는 eXTended의 약자)는 8088과 8086마이크로프로세서 중의 하나를 사용하고 있는 컴퓨터를 말한다. 1978년 6월 8일에 소개된 8086 마이크로프로세서는 16비트의 버스를 가지고 있는 프로세서로 29,000개의 트랜지스터와 5-10MHz의 속도, 그리고 메인 메모리를 1MB까지 사용할 수 있는 최초의 16비트 마이크로프로세서이다. 8086이 발표된 1년 후 1979년, 또다른 16비트 마이크로프로세서인 8088이 발표되었다. 8088과 8086이 다같이 16비트 마이크로프로세서지만, 이들 두 개의 프로세서는 매우 다르다. 이들의 차이는 외부 버스의 차이이다. 앞에서도 설명한 것처럼 컴퓨터 시스템에서는 버스가 데이터를 이동시킨다. 이 버스는 내부 버스와 외부 버스로 나누어 진다. 내부 버스는 마이크로프로세서 안에서 이루어지는 데이터 이동에 사용되는 버스를 말하고, 외부 버스는 마이크로프로세서와 프린터, 드라이브 등과 같은 시스템을 구성하고 있는 주변장치들과의 데이터 이동에 사용되는 버스를 말한다. 8086은 외부 버스와 내부 버스 모두가 16비트인 반면, 8088은 내부 버스는 16비트이고 외부 버스는 8비트로 이루어 졌다. 8088이 나오게 된 근본적인 이유는 당시의 컴퓨터 환경과 밀접한 관계가 있다. 즉, 70년대는 8비트 애플의 시대였다. 8086이 개발된 78년 또한 애플 컴퓨터의 전성기였기 때문에 거의 모든 주변장치들이 8비트 버스를 사용했다. 그렇기 때문에 16비트 외부 버스를 가지고 있는 8086 마이크로프로세서로는 이들을 사용할 수 없어, 외부 버스가 8비트인 8088 마이크로프로세서를 개발한 것이다. 8088 마이크로프로세서는 16비트의 내부 버스를 가지고 있기 때문에 8086의 기능을 가짐과 동시에 8비트의 외부 버스를 가지고 있으므로 구형의 8비트 장치들을 사용할 수 있게 된 것이다. 이는 컴퓨터 사용자들에 대한 서비스라는 측면도 있지만, 인텔의 철저한 시장 관리라는 측면이 더욱 강하다고 볼 수 있다. 그러나 16비트 버스를 가진 장치들의 개발로 이러한 상황은 오래동안 지속되지 못하고 곧바로 8086이 IBM PC/XT의 표준으로 자리잡게 된다. 90년도까지만 하더라도 8086 마이크로프로세서를 가지고 있는 IBM PC/XT가 개인용 컴퓨터의 표준으로 사용되었지만, 현재는 이들 컴퓨터를 구경하기 조차 어려울 정도로 고성능의 값싼 컴퓨터들이 소개되고 있다.
IBM PC/AT(80286)
IBM PC/AT(AT는 Advanced Technology의 약자이다) 컴퓨터는 1984년에 소개되었다. 일명 ‘286’ 컴퓨터라고 부르는 이 컴퓨터는 134,000개의 트랜지스터, 16비트 버스, 그리고 8~12MHz의 클럭 속도를 가지고 있는 80286 마이크로프로세서를 사용한다. 80286 마이크로프로세서를 사용하는 286 컴퓨터는 크게 3가지 면에서 이전의 8086이나 8088에 비해 우수하다고 볼 수 있다. 첫째, 8086이나 8088에 비해 더 많은 양의 메모리를 관리할 수 있다는 것이다. 8086이나 8088 마이크로프로세서는 1MB까지 메모리 관리가 가능한 반면, 80286 마이크로프로세서는 16MB까지 메모리 관리가 가능하다는 것이다. 둘째, 80286 마이크로프로세서는 가상 메모리virtual memory라고 부르는 매우 중요한 기능을 가지고 있다. 가상 메모리 기능이란 마이크로프로세서가 외부 메모리(디스크 메모리)를 사용함으로써 컴퓨터가 실질적으로 가지고 있는 메모리양보다 훨씬 많은 양의 메모리를 사용할 수 있다. 즉, 80286의 실제 메모리는 16MB인데, 가상 메모리 기능을 사용해 외부 메모리를 메모리로 사용할 경우 1GB(Giga Byte의 약자로 약 10억 바이트를 말한다)의 메모리를 구성할 수 있다. 셋째, 80286 마이크로프로세서는 멀티태스킹Multitasking이 가능하다는 것이다. 멀티태스킹이란 컴퓨터가 동시에 두가지 일을 수행할 수 있는 능력을 말한다. 예를들면, 여러개의 윈도우를 띄워놓고 각 윈도우마다 각기 다른 작업을 수행시킬 수 있는 것처럼 동시에 여러 일을 수행하는 것이다. 이것은 마이크로프로세서가 매우 짧은 시간에 각각의 일을 조금씩 수행하는 것이지만, 인간이 느끼기에는 각각의 일이 동시에 수행되는 것처럼 느끼는 것이다. 그러나 286이 발표되고도 오래동안 멀티태스킹 기능은 완벽하게 활용되지 못했다. 그 이유는 멀티태스킹을 지원하는 운영체제가 없었기 때문이다. 지금까지 286 컴퓨터에서 싱글태스킹만이 가능한 DOS를 사용했기 때문에 하드웨어적으로 멀티태스킹이 가능한 286에서 멀티태스킹을 사용할 수 없었다. 하지만, 유닉스나 OS/2라는 운영체제가 개발되면서 멀티태스킹 기능을 사용할 수 있었고, 현재는 DOS상에서도 멀티태스킹이 가능한 애플리케이션(윈도우 3.0)들이 개발되고 있다. 이러한 모든 기능을 종합해 볼 때 286 컴퓨터는 IBM PC/XT 컴퓨터에 비해 3-6배까지 성능면에서 우수하다고 볼 수 있다.
386 컴퓨터
386 컴퓨터에 사용되는 80386 마이크로프로세서는 1985년 10월17일 인텔에 의해 개발, 발표되었다. 이 마이크로프로세서는 275,000개의 트랜지스터를 가지고 있으며, 32비트의 데이터 버스를 사용함으로써 32비트 개인용 컴퓨터 시대를 열었다고 볼 수 있다. 이 마이크로프로세서는 16-33MHz의 속도를 가지고 있으며, 4GB의 메모리를 관리할 수 있다. 386의 뛰어난 기능중의 하나는 ‘가상 모드virtual mode‘이다. 만약, ‘virtual mode’상태에서 386 마이크로프로세서가 실행되었다면, 386 마이크로프로세서는 여러 개의 8086 마이크로프로세서가 여러 개의 프로그램을 동시에 실행되는 것과 같은 효과를 낼 수 있다. 이러한 기능은 특히 멀티테스킹과 같은 기능을 할 때 아주 적절하게 사용할 수 있는 기능이다. 이러한 기능을 사용하기 위해서는 ‘윈도우 3.0’과 같은 멀티테스킹을 지원하는 애플리케이션이 필요하다. 386 마이크로프로세서는 두 종류로 나누어진다. 보통 386이라고 말하는 것은 386DX를 말하는 것이고, 또다른 하나의 386은 386SX를 말한다. 이처럼 386을 두 종류로 구분하는 것은 8086과 8088의 경우와 비슷하다. 16비트 내부 버스와 16비트의 외부 버스를 가지고 있는 8086이 개발되어 기존의 8비트 버스로 사용되던 주변장치를 사용하는 문제점을 해결하기 위해 16비트 내부 버스와 8비트 외부 버스를 가지고 있는 8088이 소개된 것처럼, 32비트로 개인용 컴퓨터가 버전업되면서 16비트 버스로 사용되던 주변장치의 사용을 위해 16비트 386이 필요하게 된 것이다. 이를 만족시키기 위해 개발된 것이 80386SX이다. 80386SX는 1988년 6월에 발표되었다. 이 마이크로프로세서는 32비트의 내부 버스에 16비트의 외부 버스를 가지고 있다. 이 마이크로프로세서는 80386DX에 비해 훨씬 작고 가격도 저렴하다. 그리고 클럭 속도도 80386DX보다 느린 16~20MHz를 가지고 있다. 위에서 본 것 처럼 DX와 SX는 특별한 의미를 가지고 있는 단어가 아니고 단지 두 종류의 마이크로프로세서를 구분하기 위해 붙인 이름이다. 80386SX는 8088과 비슷한 형태를 취하고 있고, 80386(DX)는 8086과 같은 형태를 취하고 있다. 즉, 80386SX는 8086의 내부 버스만이 16비트에서 32비트로 확장eXtended되었기 때문에 ‘Single’로 기억하고, 80386(DX)는 내부 버스 및 외부 버스도 16비트에서 32비트로 확장eXtended되었기 때문에 ‘Double’로 기억하면 기억하기가 쉽다. 80386 마이크로프로세서의 또다른 유형의 하나는 80386SL이다. 이 마이크로프로세서는 특히 랩톱과 같은 소형 컴퓨터 및 적은 전력으로 사용이 가능한 컴퓨터에 적합하도록 만들어 졌다.
486 컴퓨터
현재 인텔에 의해 개발된 마이크로프로세서의 최종 버전이 80486DX이다. 인텔사가 80586 마이크로프로세서인 ‘펜티엄(P5)’을 개발했다는 소식이 있지만, 아직까지 본격적인 판매는 이루어지지 않았고, 80586을 장착한 컴퓨터가 등장하지 않았으므로 80486DX가 개인용 컴퓨터 최고의 마이크로프로세서 자리를 지키고 있다(80586 펜티엄 마이크로프로세서는 93년 상반기 발표예정임). 80486DX 마이크로프로세서는 1989년 4월 10일 발표되었다. 이 마이크로프로세서는 32비트 데이터 버스에 1,200,000개의 트랜지스터로 이루어져 있고, 25~50MHz의 속도를 가지고 있다. 이 마이크로프로세서를 8088 마이크로프로세서와 비교한다면 50배 정도의 성능향상이 이루어진 셈이다. 80486DX 마이크로프로세서 특징중의 하나는 80486 마이크로프로세서 자체에 캐시 메모리(8KB)를 가지고 있다는 것이다. 캐시 메모리란 마이크로프로세서의 빠른 처리속도와 주기억 장치의 느린 응답 속도 사이의 효율적인 동작을 위해서 두 장치 사이에 실질적으로 설치되는 빠른 속도와 적은 용량의 기억 장치로서, 자주 사용되는 데이터를 저장하고 있다. 이는 마이크로프로세서가 메인 메모리를 접할 수 있는 횟수를 줄여줌으로써 마이크로프로세서의 속도를 높일 수 있는 기능을 한다. 80486DX의 또다른 특징은 칩자체에 보조 프로세서인 80387을 포함하고 있다는 것이다. 이 기능의 유무로 인해 80486DX와 뒤에 설명할 80486SX가 구별되는 것이다. 그리고 80486DX는 기존의 마이크로프로세서들이 CISC 기술을 사용한 반면, 80486DX는 RISC 기술을 이용한 것 등이 이 마이크로프로세서의 특징이다. 앞에서 언급한 것처럼 8086과 8088, 80386DX와 80386SX의 차이는 버스의 차이였다. 하지만, 80486DX와 80486SX의 차이는 데이터 버스의 차이가 아니고 보조 프로세서인 80387을 내장하고 있느냐, 그렇지 못하느냐에 따라 분리된다. 다시말해 80486DX는 80387 보조 프로세서를 내장하고 있고, 80486SX는 80387 보조 프로세서를 내장하고 있지 못하다. 80486SX는 1991년 4월 22일에 발표되었다. 1,185,000개의 트랜지스터를 가지고 있고, 16~25MHz의 클럭 속도, 그리고 4GB까지 메모리를 관리할 수 있다. 이러한 기능을 가지고 있는 486SX는 코프로세서를 내장하고 있지 못하기 때문에 486DX에 비해 저렴한 가격에 구입할 수 있다. 80486SX를 사용하고 있는 사용자들이 염두에 두어야할 한가지 사항은 80487SX 코프로세서를 장착할 경우이다. 만약, 코프로세서가 필요하여 80486SX의 보조 프로세서인 80487SX을 메인 보드의 마이크로프로세서 칩 옆에 있는 보조 프로세서 슬롯에 장착할 경우, 80486SX 칩은 아무런 일을 하지못하게 된다. 즉, 80487SX 코프로세서가 80686DX의 기능을 가지고 있다는 것이다. 이는 80486SX 사용자들이 버전업 시킬 경우 이중적인 투자를 해야만 하는 것으로, 매우 좋지못한 인텔의 판매 전략이라고 볼 수 있다. 80486DX의 계열로서 최근에 인텔에 의해 선보이고 있는 마이크로프로세서로 486DX2라는 것이 있다. 80486DX2의 클럭 속도는 50MHz로서 80486DX와의 가장 큰 차이는 클럭 속도를 두배로 증가시킬 수 있는 특별한 방법으로 디자인 되었다는 것이다. 80486DX의 클럭 속도는 외부와 내부가 모두 일정하다. 그러나 80486DX2의 ‘speed-doubling’ 기술은 외부의 속도를 내부에서 두배로 증가시켜 준다. 즉, 25MHz의 80486DX2의 경우 외부에서는 25MHz로 작동되지만, 내부에서는 그의 두배인 50MHz의 클럭 속도로 작동된다.
* 비트(bit: binary digite의 약자): 컴퓨터는 기본적으로 2진법으로 이루어진 명령어를 처리하는 기계이다. 이는 ON과 OFF, 또는 0과 1로만 표현이 가능하다. 이와 같이 모든 PC는 2진법으로된 명령어만 처리가 가능하므로 모든 명령어는 0과 1의 조합으로 이루어져 있다. 이처럼 모든 명령어의 기본을 이루는 0이나 1을 비트라고 말한다. 이는 정보의 최소 단위이다. 또한 8개의 비트가 모여 하나의 바이트를 이루고 바이트가 모여 워드를 이룬다.
* 기계어: 일반적으로 컴퓨터는 그 컴퓨터 고유의 명령 형식을 가지고 있으며, 그 명령에 따라 컴퓨터가 동작하도록 설게되어 있다. 이와 같은 컴퓨터 고유의 명령 형식을 기계어라고 하는데 0과 1의 숫자만으로 구성되어 있어서 사람에게는 쓰기 힘들고 이해하기가 어려운 언어이다. 그러나 어떤 프로그램 언어로 작성된 프로그램이라 할지라도 반드시 기계어로 변환하지 않으면 컴퓨터는 그 프로그램을 실행하지 못한다. 즉, 기계어는 컴퓨터가 이해하는 유일한 언어라고 할 수 있으며, 또 그것은 컴퓨터 기종에 따라서 각기 다르다.
* 어셈블리: 컴퓨터 프로그램 언어의 일종으로 사람들이 항상 사용하고 있는 문자를 써서 상징적으로 기계어를 표현할 수 있도록 정해놓은 기호 언어이다. 어셈블리 언어의 명령은 기본적으로 기계어와 일대일로 대응하고 복수의 명령을 하나의 명령으로 집약해서 표현할 수 있는 매크로 명령이나 상수의 정의, 기억 영역의 확보, 프로그램 시작과 종류를 표현할 수 있는 어셈블리 지시문 등으로 구성된다.
* 레지스터: 산술적.논리적 연산이나 정보해석, 정보전송 등을 할 수 있는 일정 길이의 2진 정보 저장소로서 주기억 장치에 비해 접근 시간이 빠르다. 즉, CPU가 어떠한 명령어를 수행할 경우 명령어 처리에 필요한 정보를 잠시동안 저장해 둘 수 있는 기억장치이다. 레지스터는 적은 양의 정보를 고속으로 접근할 수 있다.
* MHz: Mega Hertz의 약자로서 보통 ‘메가 헤르쯔’라고 발음한다. Mega는 100만을 나ㅏ타내고, Hertz는 1초당 진동 횟수를 나타내는 주파수의 단위로 보통 ‘Hz’로 줄여서 표현한다. 그러므로 MHz는 초당 100만번의 진동 횟수를 말한다.
* MB: Mega Byte의 약자로서, 메가 바이트로 발음한다. Mega는 100만을 나타내고, Byte는 8비트가 보여 1바이트를 이루는 정보의 단위이다. 그러므로 MB는 100만 바이트를 나타낸다. 이는 컴퓨터의 저장장치의 단위로 많이 사용된다.
* 유닉스: 미국의 벨 연구소에서 프로그래밍 연구와 개발을 촉진시킬 환경 조성을 목적으로 개발한 컴퓨터 운영체제의 하나로 다수의 사용자를 위한 운영체제로 유명하다.
* OS/2: IBM에 의해 개발된 운영체제로서 IBM의 고유 모델인 PS/2 시리즈에 사용된다. 이 운영체제는 80286이나 80386 마이크로프로세서로 구성된 컴퓨터에서 멀티태스킹 및 가상 메모리를 지원할 수 있는 운영체제이다.
* 마더보드: 이는 컴퓨터내에서 다른 장치들과의 데이터 교환이나 여러 칩들과의 연결을 위해 판의 표면에 홈을 만들어 놓았다. 또한 이 보드는 모든 기능보드를 입력할 수 있도록 암FRAME 커넥터가 붙어 있는 기판으로서 시스템 버스에 연결되어 있다.
* 보조 프로세서: 컴퓨터 시스템에서 중앙 처리 장치와 동일한 취급을 받는 처리기로서 중앙처리장치를 자유롭게 하기 위해 일반적으로 시간이 많이 걸리는 연산에만 사용되는 보조 처리기이다. 이것을 사용하면 보다 빠른 실행이 가능하다. 보조 프로세서는 각각의 마이크로프로세서 이름의 끝자를 ‘7’로 표시한다. 예를들어 80386의 보조 프로세서는 80387로 표시한다. 그리고 같은 등급의 마이크로프로세서에는 같은 등급의 보조 프로세서를 사용해야 한다. 즉, 80386DX에는 80387DX만이 사용 가능하다
그 시절 컴퓨터 구분은 이랬다.
XT = 기본적인 16비트 컴퓨터 (모뎀 장착 시 PC통신도 가능)
AT = 게임이 더 잘 되는 컴퓨터 (윈도우 3.1도 돌아가긴 했지만 돌리는 사람 거의 없음)
386 = 게임하기 매우 좋은 컴퓨터 (윈도우 3.1로 게임도 돌릴 수 있음)
486 = 윈도우 3.1도 원활하게 돌아갔으며, 디아블로도 돌아가던 컴퓨터. 경우에 따라 스타크래프트를 돌리기도 함. 참고로 정수연산 외 부동소수점 연산도 CPU 자체에서 가능(표에 “보조 프로세서 내장” 이라고 적힘. 지금은 그것이 “보조”가 아닌 “기본”이지만)