대학교

마이크로프로세서 - (3) 레지스터

매 석 2023. 9. 21. 23:32
반응형

레지스터

- CPU 내부 레지스터

마이크로프로세서에서 사용되는 레지스터

프로그래머가 신경 쓰지 않아도 된다.

- CPU 외부의 레지스터

외부 장치와 데이터 교환 과정에서 필요한 레지스터

입출력 레지스터 : 소프트웨어와 하드웨어 사이에서 중개자 역할을 수행

레지스터는 8비트의 메모리 이며 실제 사용되는 것은 137개이다.

하나의 데이터 핀은 여러 가지 기능으로 사용된다.

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

 

메모리

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

플래시 메모리는 프로그램 저장을 위한 하드디스트 기능을 수행한다.

SRAM은 연산용, 컴퓨터의 메인 메모리 기능을 한다.

EEPROM은 데이터를 영구보관할 때 사용한다.

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

256개의 레지스터 역시 SRAM과 동일한 메모리 주소 공간을 사용한다.

레지스터와 SRAM을 데이터 메모리로 함께 지칭한다.

EEPROM은 독립된 메모리 주소 공간을 가진다.

데이터 메모리의 일종이지만 따로 분류하지 않는 경우가 많다.

번지로만 접근이 가능한 유일한 메모리이다.

범용/전용 레지스터

상태 레지스터는 CPU의 연산 결과를 반영하는 전용 레지스터이다.

1바이트 크기의 레지스터이다.

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

범용 레지스터는 32개로 구성되어있다.

16비트 값 저장을 위해 2개의 8비트 범용 레지스터를 조합해서 사용한다.

메모리 주소는 16비트이다.

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

스택 포인터 : 함수 호출, 인터럽트 발생 등의 상황에서 프로그램의 현재 상황을 저장하는

메모리 영역으로 SRAM의 마지막에 위치한다.

 

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

PUSH로 스택에 데이터를 저장 명령하고, POP으로 스택에 저장된 데이터 제거한다.

 

시스템 클록

클록 : 디지털 시스템에서 동작의 기준이 되는 신호 (16MHz)

시스템 클록 : CPU의 연산 기준

기타 클록 : 시스템 클록 이외의 클록 (ADC, 워치도그, RTC)

- 클록 소스

크리스털 : 무극성의 소자로 수정이 전기 신호에 따라 진동하는 성질 사용, 외부 회로 필요

레조네이터 : 세라믹으로 만들어진 클록 생성 소자, 압전 효과 이용, 안정도 떨어짐

오실레이터 : 외부 회로 없이 자체적으로 클록 생성, 전원 연결을 위한 핀 필요

-명령어 읽기와 명령어 실행

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

RISC 구조이므로, 1클록에 1개 명령어 실행 가능

출처:ATmega128로 배우는 마이크로컨트롤러 프로그래밍

읽기 -> ALU 내의 연산 -> 결과 쓰기