티스토리 뷰
ATmega128의 특징
ATmega128은 ATmel사가 개발한 64핀 TQFP형의 저전력 8비트 CMOS 마이크로컨트롤러로, 다음과 같은 특징을 가집니다. 이것은 비단 ATmega128만의 특징이라기 보다는 모든 AVR 계열 마이크로컨트롤러가 가진 특징이라고 할 수 있습니다. 자세한 설명을 드리자면, 유사 RISC 아키텍처(RISC like Architecture)로 되어 있습니다. RISC는 Reduced Instruction Set Code의 약자로서, 복합 명령어를 쓰지 않고 극히 간단한 명령어만을 사용함으로써 명 령어의 수를 필요한 최소한으로 줄이고, 주소지정방식 또한 필요한 최소한에 국한하는 컴퓨터 구조인데, 이것은 CISC와 대치됩니다. CISC(Complex Instruction Set Code)는 복합 명령어를 포함해서 명령어의 수와 주소지정 방식의 수를 많이 두는 컴퓨터 구조입니다. Z80을 비롯하여 8051, 6801 등 거의 전부의 마이크로컨트롤러는 CISC 구조이나, 마이크로칩사의 PIC 계열과 Atmel사의 AVR 계열은 유사 RISC 구조로 되어 있습니다. 그러나 Atmel사의 AVR이 RISC 구조로 되어 있다고 하기에는 명령어의 수 및 주소지정 방식의 수가 너무 많습니다. 명령어의 수가 133개나 되고 주소지정방식의 수도 12개나 됩니다. 그러나, ATmel사의 제품은 다만 다음과 같은 점을 중시하여 유사 RISC 구조라고 하는듯 합니다. 첫번 째는 발진주파수가 곧 내부클록입니다. 대부분의 마이크로컨트롤러는 1/4에서 1/12까지 발진 주파수를 분주해서 내부클록을 만들지만, AVR은 발진주파수와 내부클록이 같으므로 그 만큼 빠릅니다. 예컨대 같은 12MHz 발진클록을 사용하더라도 내부클록이 i8051은 1MHz, PIC는 3MHz 밖에 되지 않지만, AVR은 12MHz나 됩니다. 그런데 ATmegal28은 16MHz까지 쓸 수 있습니다. 기본명령의 실행시간은 1클록입니다. 다만 로드/스토어 명령 및 분기명령의 실행시간은 2~4클록시간이어서 평균 CPI(Clock Per Instruction)는 1.3입니다. 32개의 범용 레지스터가 ALU에 직접 연결되어 있어서 모든 연산 및 전송이 레지스터에서 레지스터로(register to regoster)의 방식으로 이루어집니다. 예컨대 PIC계열에서는 W레지스터를 거쳐서 연산이 이루어지고, i8051에서는 A레지스터를 거쳐서 연산이 이루어지지만, AVR에 있어서는 두 레지스터 간에 직접 연산이 이루어집니다. 또 전송도 PIC계열에서는 W레지스터를 거쳐서 다른 레지스터에 옮겨가지만, AVR에 있어서는 직접 옮겨갑니다. 2단 명령 파이프라인 구성으로 되어 있습니다. 일반적으로 파이프라인 구성은 CISC 방식 에서도 가능하나, RISC 방식에서 더욱 효율적이고 쉽게 이루어집니다. ATmega128은 파이프라인 구성이므로 제1명령어의 실행이 이루어지는 동안에 제2명령어의 호출(fetch)이 시작되도록 되어 있습니다. 명령어의 길이가 16비트 1워드로 고정적이어서 해독(decode)하기가 쉽습니다. 결과적으로 실행속도가 빨라서 ATmega128의 실행속도는 DSP 수준입니다. 전술한 바와 같이, 로드/스토어 명령과 분기명령을 제외하고 하나의 명령을 수행하는데 요하는 시간은 16 MHz에서 1/16 4초입니다. 이 속도는 종래 CISC 구조 마이크로컨트롤러의 10여배에 달합니다.
'정보통신 및 로봇제어시스템' 카테고리의 다른 글
ATmega128의 내부 구성 (0) | 2021.06.21 |
---|---|
하바드 구조에 대해서 (0) | 2021.06.16 |
AVR 마이크로컨트롤러의 계열 (0) | 2021.06.14 |
마이크로컨트롤러의 특징 (0) | 2021.06.13 |
마이크로컨트롤러의 역사 (0) | 2021.06.12 |