728x90
반응형
ALU: 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 제어 신호를 받아드림
제어장치
레지스터: CPU 내부의 작은 임시저장장치
- 프로그램 카운터: 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소)
- 명령어 레지스터: 해석할 명령어 (방금 메모리에서 읽어 들인 명령어)
- 메모리 주소 레지스터: 메모리의 주소 (CPU가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터)
- 메모리 버퍼 레지스터: 메모리와 주고받을 값 (데이터와 명령어)
- 플래그 레지스터: 연산 결과 또는 CPU 상태에 대한 부가적인 정보
- 범용 레지스터: 다양하고 일반적인 상황에서 자유롭게 사용
- 스택 포인터: 스택과 스택 포인터를 이용한 주소 지정 방식
- 베이스 레지스터: 기준 주소 저장
- 주소 지정 방식
- 스택 주소 지정 방식
- 변위 주소 지정 방식: 오퍼랜드 필드의 값과 특정 레지스터의 값을 더해서 유호 주소를 얻음
- 상대 주소 지정 방식: 오퍼랜드 필드의 값과 프로그램 카운터의 값을 더하여 유효 주소 얻음
- 베이스 레지스터 주소 지정 방식: 오퍼랜드 필드의 값과 베이스 레지스터의 값을 더하여 유효 주소를 얻음
명령어 사이클: 프로그램 속 명령어들은 일정한 주기가 반복되며 실행
- 인출: 메모리에서 CPU로 가져온다
- 실행 사이클: CPU에서 실행
- 간접 사이클: 명령어를 가져와도 좀 더 탐색이 필요한 경우 (오퍼랜드에 주소가 있는 경우)
인터럽트(interrupt): CPU가 더 우선해야 할 다른 작업이 생겼을 때
- 동기 인터럽트 (예외): CPU가 예기치 못한 상황을 접했을 때
- 폴트
- 트랩
- 중단
- 소프트웨이 인터럽트
- 비동기 인터럽트 (하드웨어 인터럽트): 주로 입출력장치
- 프린터가 작업 하는 동안 CPU는 다른 작업을 함. 프린터가 작업을 다 하면 인터럽트 함.
- 인터럽트 처리 순서
- 입력장치가 CPU에게 인터럽트 요청 신호를 보냄
- 실행 사이클이 끝난 CPU는 인터럽트 확인
- CPU가 확인하고 인터럽트 플래그를 통해 현재 받아드릴 수 있는지 확인
- 받아들일 수 있으면 CPU는 현재까지 작업을 백업
- CPU는 인터럽트 벡터를 참조하여 인터럽트 서비스 루틴 실행
- 이 서비스 루틴이 끝나면 백업 데이터르 가져와서 이어서 실행
동시다발적인 인터럽트: 우선순위를 반영한 인터럽트
- PIC (Programmable Interrupt Controller
- 여러 장치 컨트롤러에 연결되어
- 장치 컨트롤러의 하드웨어 인터럽트의 우선순위를 판단한 뒤
- CPU에게 지금 처리해야 하는 인터럽트가 무엇인지 판단하는 하드웨어
MDA (Direct Memory Accesss): CPU를 거치지 않고 입출력장치가 메모리에 직접적으로 접근하는 기능
- CPU는 DMA 컨트롤러에 입출력 작업을 명령
- DMA 컨트롤러는 CPU 대신 장치 컨트롤러와 상호작용하며 입출력 작업을 수행
- 입출력 작업이 끝나면 DMA 컨트롤러는 인터럽트를 통해 CPU에 작업이 끝났음을 알림
728x90
반응형
'전공 > 컴퓨터 구조' 카테고리의 다른 글
RAM의 특성과 종류 (0) | 2023.07.29 |
---|---|
CPU) 설계, 병렬 처리, CISC & RISC (0) | 2023.07.29 |
소스코드와 명령어 (0) | 2023.07.28 |
데이터) 0과 1로 숫자 / 문자를 표현하는 방법 (1) | 2023.07.28 |
컴퓨터 구조 큰 그림 (0) | 2023.07.28 |