프리스케일 RS08
Freescale RS08RS08은 NXP Semiconductors의 8비트 마이크로컨트롤러 패밀리입니다.RS08 아키텍처는 2006년에 Freescale에 의해 처음 출시되었으며 6800 마이크로프로세서 패밀리의 일원인 Freescale MC68HCS08 중앙처리장치(CPU)의 자원 절감 버전입니다.임베디드 시스템의 여러 마이크로 컨트롤러 장치에 구현되어 있습니다.
형제 제품인 HC08과 Freescale S08에 비해 디자인이 매우 단순하다.부품 번호의 'R'은 'Reduced'를 나타냅니다.Freescale 자체는 코어를 '초저가'라고 표현합니다.일반적인 구현에는 온보드 주변기기와 메모리 리소스가 적고 패키지 크기가 작으며(가장 작은 것은 QFN6 패키지, 3mm x 3mm x 1mm), 가격은 1달러 미만입니다.심플한 설계의 목적은 효율 향상, 소형 메모리 부품의 비용 효율 향상, 다이 사이즈 소형화를 들 수 있습니다.
RS08은 공유 프로그램과 데이터 버스를 갖춘 von Neumann 아키텍처를 채택하고 있으며 데이터 메모리 내에서 명령을 실행할 수 있습니다.이 장치는 S08 코어와 바이너리 호환성이 없지만 명령 opcode 및 어드레싱 모드는 S08의 서브셋입니다.이를 통해 설계자와 엔지니어는 S08 코어에서 RS08 코어로 쉽게 전환할 수 있습니다.
짧은 어드레싱 모드와 작은 어드레싱 모드를 사용하면 가장 일반적으로 사용되는 변수와 레지스터에 보다 효율적으로 액세스하고 조작할 수 있습니다.이러한 명령어에는 싱글바이트 명령어 opcode가 있어 자주 사용하는 데 필요한 프로그램 메모리의 양을 줄입니다.
다이 사이즈는 S08 코어보다 30% 작습니다.RS08 코어는 S08과 동일한 버스 구조를 사용하여 메모리 및 주변 모듈을 재사용할 수 있습니다.대상 시스템에 설치할 때 프로세서를 대화식으로 제어할 수 있는 단일 와이어 디버깅 인터페이스인 Background Debug Mode 인터페이스를 제공합니다.
장치들
디바이스(2010년 7월 현재):
- MC9RS08KA1: 플래시 프로그램메모리 1kB
- MC9RS08KA2: 2kB의 플래시 프로그램메모리
- MC9RS08LE4: 4kB의 플래시 프로그램메모리(SCI).
- MC9RS08LA8: 8kB의 플래시 프로그램 메모리, SCI, SPI.
- MC9RS08KB12: 플래시 프로그램메모리 12kB, I2C, SCI
아키텍처의 특징
- RS08 코어는 스택을 관리하지 않습니다.서브루틴 콜 중에는 섀도 프로그램카운터 링크 레지스터에 리턴 주소가 저장됩니다.서브루틴이 다른 서브루틴을 호출하면 로컬 변수에 반환 주소를 유지하고 필요에 따라 서브루틴을 호출하여 저장된 주소를 반환 직전에 복원할 수 있습니다.
- 코어의 상태 레지스터에는 반송 및 제로 플래그 비트가 있습니다.보통 다른 코어에 있는 오버플로와 네거티브는 존재하지 않습니다.
인터럽트 처리
인터럽트는 다른 거의 모든 프리스케일 프로세서와 마찬가지로 인터럽트 벡터를 통해 디스패치되지 않습니다.RS08 인터럽트는 프로세서를 WAIT 또는 STOP 상태(실행이 일시적으로 중지됨)에서 깨울 수 있지만, 그렇지 않으면 프로그램 흐름은 변경되지 않습니다.본질적으로 RS08은 모든 스레드의 프로그래밍을 실행합니다.그 효과는 운영체제에서의 공동 멀티태스킹과 거의 비슷합니다.
외부 이벤트 처리는 동기화되지만 컨텍스트스위칭에 의한 오버헤드는 불필요하며 저전력 동작도 가능합니다.인터럽트 조정은 소프트웨어에서만 제어됩니다.
참고 문헌
- 프리스케일 세미컨덕터.RS08 코어 레퍼런스 매뉴얼(RS08RM). 개정 1.0, 2006년 4월.
- 프리스케일 세미컨덕터.MC9RS08KA2 데이터 시트(MC9RS08KA2)개정 1.0, 2006년 4월