MPU
MPU(Micro Processor Unit)는 컴퓨터의 CPU(중앙처리장치)를 LSI화한 것으로 레지스터, 연산회로, 제어회로를 내포 명령을 해독하여 연산, 제어 동작을 실행하는 연산 장치이다.
마이크로프로세서는 일반적으로 MPU로 불려지며 한 개의 LSI로 집적돼 있지만 몇 개의 LSI에 분할되는 경우도 있으며 8비트 MPU 또는 32비트 MPU 하는 식으로 비트 수와 함께 부르는 것이 보통이다. 컴퓨터의 기본 구성 장치가 연산 처리장치와 주기억장치, 그리고 입·출력장치로 돼 있는 데 MPU는 그 중의 연산처리장치로 그 연산처리장치 외에 메모리나 입·출력 인터페이스 회로 등을 한 개의 LSI에 집적한 싱글칩(1칩) 마이크로 컴퓨터가 있어 종종 양자가 혼동되어 인식되고 있는데 분명히 구분돼야 한다. MPU에는 종래 소프트웨어로 실행하고 있던 기능과 명령을 하드웨어로 실행하기 위한 복잡한 명령 세트를 갖는 CISC(Complex Instruction Set Computer), 가급적 간단한 명령 세트만을 사용해 하드웨어를 단순화한 RISC(Reduced Instruction Set Computer), 4비트 또는 2비트의 MPU를 몇 개씩 접속해 비트 수를 사용자의 희망에 맞춘 비트스라이스 MPU 등이 있다.
마이크로 프로세서를 처음 개발한 것은 미국의 인텔사로 4비트의 MPU인 4004를 1971년에 개발, 그 후 급속한 기술개발로 8비트, 16비트, 32비트로 진전하여 현재는 32비트 MPU가 중심이 되고 있는데 1992년에 들어선 미국의 인텔사, 일본의 아스키사 등이 64비트 MPU를 발표했다.
개요[편집]
①개인용 컴퓨터(PC)에서 중앙 처리 장치(CPU)와 거의 같은 의미로 사용된다. PC의 CPU는 마이크로프로세서 1개에 약간의 주변 대규모 집적 회로(LSI)를 부가한 회로로서 그 역할을 수행하고 있다. 따라서 PC 분야에서 CPU라고 하면 인텔 i 486, 펜티엄, 모터롤라사의 MC 68030 등 마이크로프로세서를 가리키는 경우가 많다.
②모터롤라사가 자사에서 만든 16비트 마이크로프로세서인 MC 68000을 16비트 MPU, 32비트 마이크로프로세서인 MC 68030을 32비트 MPU 등으로 호칭하듯이 마이크로프로세서와 같은 의미로 사용된다.
프로세서[편집]
어떤 것을 처리하는 기능을 가진 하드웨어, 소프트웨어를 뜻한다. 하드웨어의 프로세서는 기억, 연산, 제어의 3대 기능을 처리하는 장치(칩셋)을 나타낸다.
- CPU(Central Processing Unit)
흔히 많이 알고있는 데스크톱에 들어가는 가장 중요한 부품인 CPU이다. CPU는 중앙 처리 장치라는 뜻처럼 연산 및 처리 뿐만 아니라 주변 하드웨어(램, 하드디스크 등)를 제어한다. 범용적이고 큰 일을 처리하며 고속프로세서이다. 클럭 속도가 가장 높다. CPU 제조사로는 인텔과 AMD가 있다.
- MPU(Micro Processor Unit)
초소형 연산처리 장치이며, 주변 RAM, ROM, I/O 등의 장치가 필요하다. 가벼운 운영체제를 설치할 수도 있고, 네트워크 통신(인터넷) 등을 할 수 있는 모델이 많이 출시되고 있다. 라즈베리파이가 이에 속한다.
- MCU(Micro Controller Unit)
집적 회로 안에 프로세서와 메모리, 입출력 버스 등의 최소한의 컴퓨팅 요소를 내장한 초소형 컨트롤러이다. MPU에 I/O와 메모리를 결합한 on chip 형태로 한 칩에 모든 기능을 넣은 대신 성능을 낮췄다고 생각하면 된다. 가격이 저렴하고 저성능에 저전력에 구동되어 간단한 반복 제어나 실시간 연산의 안정성이 중요한 부분에 많이 사용된다. 일반적인 운영체제를 설치하지 않고, 펌웨어로만 프로그래밍을 한다.(RTOS는 제외) MSP430, ATmega128(AVR), 아두이노 등이 이에 속한다.
(따로 제어하는 주변장치가 없으므로 직접 연결한 부품의 안정성과 실시간 제어를 확신할 수 있다.)
- 프로세서(CPU, MPU, MCU)의 구분이 애매해지고 있다
사실 현재는 프로세서의 용어의 경계가 애매모호해지고 있다. 원칩 솔루션을 지칭하는 용어로 인텔은 CPU, 모토롤라는 MPU라고 불리었다. 하지만 CPU가 on chip에서 off chip로 전환된 이후부터 컴퓨터에 사용되는 프로세서라는 인식이 강하게 각인되었으며, 그 외 임베디드 시스템에서의 프로세서는 MPU라는 인식이 되었다. 그리고 이 책에서 다루는 MSP430 프로세서는 엄밀히 따지면 MCU에 속한다. 하지만 모든 프로세서의 성능 발전으로 경계가 명확히 구분되지 않는다.
일반적으로 CPU와 MPU는 거의 같은 의미로 사용되며 CPU는 컴퓨터에서 사용되는 용어고 MPU는 임베디드에서 사용된다.
기타[편집]
MPU는 메모리보호장치(Memory protection unit)의 약어이다.
메모리보호장치(MPU)는 메모리 보호 기능을 제공하는 컴퓨터 하드웨어 장치로, 보통 중앙 처리 장치(CPU)의 일부로 구현된다. MPU는 메모리 관리 장치(MMU)의 축소판으로, 메모리 보호 기능만을 지원한다. 이는 가상 메모리 관리와 같은 고급 메모리 관리 기능이 필요하지 않은 저전력 프로세서에 주로 사용된다.
MPU는 권한이 있는 소프트웨어가 메모리 영역을 정의하고, 각 영역에 대한 접근 권한 및 메모리 속성을 설정할 수 있도록 한다. 지원되는 메모리 영역의 수는 프로세서에 따라 달라지며, ARMv8-M 프로세서의 경우 최대 16개의 영역을 지원한다. 메모리 속성은 각 영역의 순서 지정, 병합 동작, 캐싱 및 버퍼링 속성을 정의한다. 캐시 속성은 내부 캐시에서 사용 가능할 경우 적용되며, 외부 시스템 캐시로 내보내는 것도 가능하다.
MPU는 프로세서의 명령어 가져오기 및 데이터 액세스 등의 트랜잭션을 모니터링하며, 액세스 위반이 발생하면 오류 예외를 발생시킨다. 메모리 보호의 주요 목적은 프로세스가 허용되지 않은 메모리에 접근하는 것을 방지하는 것으로, 이를 통해 버그나 악성 소프트웨어로부터 다른 프로세스나 운영 체제를 보호할 수 있다.
참고자료[편집]
- "MPU", 《위키백과》
- "MPU", 《매일경제》
- "Memory protection unit", Wikipedia
- 〈01-2 CPU / MPU / MCU - MSP430 마이크로프로세서〉, 《위키독스》
- 편하게 보는 전자공학 블로그, 〈MCU, MPU, CPU :: 편하게 보는 전자공학 블로그〉, 《티스토리》, 2019-10-20
같이 보기[편집]