티스토리 뷰

여기서 말하는 비트 크기는 해당 아키텍처를 사용하는 컴퓨터에서의 워드 크기를 의미한다. 워드 크기란 CPU에서 1사이클에 처리할 수 있다. 다시 말해 한 번에 처리할 수 있는 비트의 수를 말한다. 또는 접근할 수 있는 메모리의 범위를 의미하기도 했으나 32비트 아키텍처에 들어오면서 메모리 범위가 워드 폭과 다르게 되면서 폐기되었다. 32비트 초반까지는 해당 비트수가 워드 폭(보통 C언어의 int)과 메모리 어드레스 범위(C언어 포인터 변수), 그리고 명령어의 길이(어셈블리 언어에서 명령한 줄)를 모두 지칭하였다. 32비트 아키텍처 후반부로 가면서 워드 폭만을 의미하는 것으로 축소되었으나 32비트 메모리 주소 범위가 고갈되면서 메모리 관련 의미가 다시 수면 위로 떠올랐다. 명령어의 길이가 아키텍처가 올라가면서 두 배씩 늘어나기 때문에 실행 바이너리의 크기가 세대가 올라갈수록 점점 커지며 CPU가 소비하는 전력 사용량도 덩달아 올라간다. 다만 전력 사용량은 이외에도 변수가 많아서 절대적인 기준은 될 수 있다. 실행 바이너리 크기와 전력 사용량에 민감한 모바일 업계에서 16비트 Thumb명령 셋을 지원하는 ARM 계열 CPU를 선호하는 이유이다.

4비트

최초의 상용 단일칩 CPU, 즉 '마이크로프로세서'로 인정받는 인텔의 4004와 그 후속작 4040이 4비트 CPU이다. 현재도 아주 적은 양의 연산만을 필요로 하는 곳에 가끔 4비트 CPU가 들어가는 경우가 있다. 4004 이전에도 물론 '컴퓨터'는 존재했으니 그만큼 개념적인 의미에서의 '중앙처리장치'는 있어왔지만 연산, 제어, 기억 등의 주요 기능을 담당하는 회로가 단일 칩에 들어가지 않고 별개로 나뉘어 있었다.

8비트

PC시대의 서막을 연 세대. 최초의 개인용 컴퓨터인 MITS 알테어 8800에 채용된 인텔 8080과 그 호환칩이자 8비트 시대를 주름잡은 자일로그 Z80, 모토로라 6800, MOS 테크놀로지 6502등이 유명하며, 마이크로컨트롤러용으로 많이 사용되는 8051, AVR, PIC 등도 여기에 포함된다. 대단히 의외지만 아직도 CPU 시장에서 숫적으로는 주력의 자리를 차지한다. 2012년 기준 출하량 60억 개로 PC용 프로세서의 예상 출하량 2억 개의 30배에 달하는 수량이다. 장난감이나 가전제품, 시계 등에나 각종 센서 장비의 보조 프로세서 등 컴퓨터라는 느낌이 전혀 들지 않는 제품에 주로 들어간다. 매우 저전력으로 동작해서 건전지 한 개 분량의 전력으로 몇 년을 구동도 가능하고 몇 백 원 이하의 가격대도 있을 정도로 저렴한 게 장점이다. 프로세서의 속도도 작은 LED 전광판 구동할 정도는 된다.

16비트

오늘날의 PC산업을 있게 한 IBM PC에 들어가는 인텔 8088과 매킨토시의 CPU이자 오락실 기판을 제패한 68000이 대표적이다. 80286, 80196, C166 등이 있다. 현재는 32비트 아키텍처에 밀려 잘 쓰지 않는다. 32비트도 전력 소비량을 많이 개선했고 가격도 충분히 저렴해졌으며 무엇보다 프로그램 호환성 측면에서 16비트보다 압도적으로 편리하기 때문이다. 성능이 필하면 32비트, 성능이 별로 필요없고 무조건 써야 되면 8비트를 사용하면 되기 때문에 입자가 좁다.

32비트

속칭 386으로 불리우는 80386과 그 후속 모델인 80486, 펜티엄 등이 대표적이다. 32비트 CPU가 시장을 지배한 시간은 상당히 길어서 인텔의 IA-32 아키텍처만 보아도 80386(1986년)부터 펜티엄 4까지 거의 20년 가까운 기나이며, 80386 이전에 등장한 타사의 32비트 아키텍처들과 그 이후에 나온 타사의 32비트 아키텍처들까지 다 포함하면 30년을 훌쩍 넘긴다. 덕분에 PC 시장 발전기의 레전드급 아키텍처의 이름들이 대거 포진한다. 모토로라 68020/68030, MIPS, ARM, PA-RISC, PowerPC 등, 또한 마이크로컨트롤러로 8 비트계에서 성공을 거둔 PIC이나 AVR 등이 PIC32, AVR32등으로 확장된 경우도 있다. 좀 무리해서 갖다 붙이자면 80386계 열도 8051의 확장이라고도 볼 수 있는데 이는 8051이 8080의 분가에 해당하는 위치이기 때문이다. 흔히 최초의 32비트 CPU 하면 80386을 떠올리지만 사실 최초의 32비트 CPU는 1979년에 나온 내셔널 세미컨덕터의 NS32016으로 외부 버스는 16비트 어드레스 버스는 24비트지만 CPU 내부적으로는 32비트를 도입하였으나 8086과 MC68000에 밀려서 그리 흥하지는 못했다. 흔히 16비트 CPU로 여겨지는 모토로라 MC68000도 실은 NS32016처럼 내부적으로는 32비트 구조를 일부 갖추고 있었다.

64비트

아이태니엄(IA-64), x86-64, ppc64, Alpha, MIPS64, ARMv8, Power등이 대표적인 64비트 아키텍처이다. 인텔의 아이태니엄처럼 처음부터 64비트로 설계되는 경우도 있지만 보통은 x86-64나 ppc64처럼 32비트 아키텍처를 64비트로 확장한 설계로 만든 경우가 많다. 이런 경우 32비트 호환 모드에서는 64비트임에도 워드 폭이 32비트이고 대신 1사이클에 2 워드를 처리하는 등의 변칙적인 방법을 쓴다. 32비트 아키텍처에서 만들어진 프로그램들이 호환성을 유지하기 위해서 이렇게 결정된 것으로 64비트 아키텍처 전용 명령을 사용하면 워드 폭 64비트로 작동해서 64비트의 데이터를 직접 다룰 수 있게 됩니다.

128비트

일부 커스텀 RISC-V

2010년부터 미국의 UC 버클리에서 개발중인 새로운 컴퓨터 CPU 구조이다. 리스크 브이가 아니라 "리스크 파이브(risc-five)"라고 발음하며, V는 영문 알파벳 V가 아닌 로마 숫자 5를 가리킨다. 단지 학술용이나 연구용이 아니라 실제 산업계에서 사용화할 것을 목표로 상업적으로 중요한 장점을 많이 포함하고 있다. 한 마디로 현재 스마트폰이나 임베디드 장치의 CPU로 널리 쓰이는 ARM과 직접 경쟁하여 이를 대체할 수 있는 고성능의 자유 CPU 구조를 개발하려는 것이다. 설계된 명령어 집합 구조(ISA: Instruction Set Architecture)는 버클리 오픈 소스 라이선스로 무료로 쓸 수 있게 개방되었다. 즉 원작의 정당한 크레딧을 밝히는 조건으로 라이선스비를 지불하지 않고 누구나 자유롭게 호환성 있거나 파생된 CPU를 설계할 수 있고 이를 사용으로 쓰거나 팔 수도 있고 파생된 설계를 공개할 의무도 없다. 말하자면 BSD Unix의 BSD 라이선스의 CPU 하드웨어 판이다.

댓글