- Arithmetic Logic Unit
- 산술 연산, 배타적 논리합,곱 등의 논리 연산을 계산하는 디지털 회로
- Control Unit
- 프로세스 조작을 지시
- 입출력 장치 간 통신 제어
- 데이터 처리를 위한 순서 결정
- 임시 기억 장치
- CPU와 직접 연결되어 있음 -> 연산 속도가 매우 빠르다.
- CPU는 레지스터를 거쳐 데이터를 전달한다.
- 제어장치가 메모리와 레지스터에 계산할 값 로드
- 제어장치가 ALU에 레지스터의 값 계산하도록 명령
- 제어장치가 계산된 값을 다시 레지스터에서 메모리로 저장
- 어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것을 말한다.
- 인터럽트가 발생되면,
인터럽트 핸들러 메서드
가 모여있는 인터럽트 벡터로 가서 인터럽트 핸들러 메서드가 실행된다. - 인터럽트 실행에는 우선순위가 존재한다.
- 인터럽트의 종류
- 하드웨어 인터럽트: IO 디바이스에서 발생 -> OS에 시스템콜을 요청해서 디바이스의 로컬 버퍼에 접근하여 로직 실행
- 소프트웨어 인터럽트(trap): 프로세스 오류 등으로 프로세스가 시스템콜을 호출할 떄 발생
- IO 디바이스가 메모리에 직접 접근할 수 있도록 하는 하드웨어 장치
- CPU의 부하를 줄여준다.
- 하나의 작업을 CPU와 DMA 컨트롤러가 동시에 하는 것을 방지해준다.
- 데이터나 상태, 명령어 등을 기록하는 장치
- RAM(Random Access Memory)를 일컬어 메모리라고도 한다.
- CPU는 계산을 담당하고, 메모리는 기억을 담당한다.
- 특정 시간 제한 내에 작업이 끝나도록 시간 제한을 거는 역할
- 시간이 많이 소요되는 프로그램이 작동할 때 제한을 걸기위해 존재한다.
- 컴퓨터와 연결되어 있는 IO 디바이스들의 작은 CPU를 말한다.
로컬 버퍼
- 디바이스 컨트롤러 옆의 작은 메모리
- 각 디바이스에서 데이터를 임시로 저장