메모리 구조
- 어드레스와 명령/데이터
버스
- 어원은 합승 버스(Omnibus)
- 데이터의 통로를 의미함. <- 신호 선을 다발로 묶은 것
- 어드레스 버스 : 주소 전달하는 버스
- 데이터 버스 : 데이터 전달
- 외부 버스 : CPU와 외부 장치를 연결
- 내부 버스 : CPU 내부의 데이터를 전달하는 버스
버스와 비트 수
- 버스는 신호 선을 다발로 묶은 것으로 신호 선의 수 = 비트 수
- 64bit CPU는 64 비트의 처리폭을 가진 CPU
어드레스 버스 폭
- 어드레스 공간의 크기
- 32비트 라면 4.3G의 어드레스가 있음.
명령
- 오퍼랜드와 명령 코드로 구성
- 오퍼랜드 : 연산의 대상
- 명령 : 덧셈, 저장 등
레지스터
- CPU 내부의 기억장치
- 어커뮬레이터(누산기) : 계산 결과를 누적
- 범용 레지스터 : 계산 이외 사용
- 명령 레지스터 : 명령(프로그램)을 저장
- 프로그램 카운터 : 다음 실행할 명령의 어드레스를 저장
클록
- 일정 주기로 H와 L을 반복하는 신호.
- ALU에서 데이터를 래치하거나 프로그램 카운터를 진행시키는데 클록이 필요.
- 타 기기와 통신시 클록이 일치하지 않으면 타이밍이 맞지 않음.
클록 제너레이터
- 클록을 만드는 회로(발진기)
- CPU 내부에 내장되어 있으며 외부 클록 신호를 사용할 수도 있음.
타이머 인터럽트
- CPU 내부 감산 카운터를 이용해 카운터가 0이 됬을때 인터럽트를 발생 시키는 기능
- 마스터 클록의 주기 x 0배(프리스케일러) x 세는 횟수(감산 카운터)의 시간마다 인터럽트 신호가 발생
명령
- 연산 관련 명령 : 산술 연산 명령, 논리 연산 명령, 시프트 연산 명령
- 연산 이외 명령 : 데이터 전송 명령, 입출력 명령, 분기 명령, 조건 판단
스테이터스 레지스터
- CPU 연산 결과에 따라 순서나 입출력을 제어함. 이때 판단의 기준이 플래그(1비트)
- 플래그 자체는 1비트이며 8비트나 16비트로 만든 것이 스테이터스 레지스터
플래그
- 제로 플래그 : 어커뮬레이터 연산 결과가 0일때
- 사인 플래그 : 연산 결과가 음수 일때
- 캐리 플래그 : 자리 올림이 발생할때
- GT 플래그 : (greater than) 보다 클때
- LT 플래그 : (less than) 보다 작을때
- 인터럽트 마스크 : 인터럽트를 받을것인지 설정
- 인터럽트 플래그 : 인터럽트가 발생한 것을 나타냄