동작

동작과정

1
2
디지털 형태의 정보를 입력 받아 메모리(기억장치)에 저장된 명령어 목록(프로그램)에 따라 처리, 결과를 출력하는 일종의 고속 전자 계산기이다.
입력 장치를 통해 정보를 입력받아 메모리에 저장 -> 메모리에 저장한 정보를 프로그램에 제어에 따라 인출, 산술장치나 논리장치에서 처리 -> 처리한 정보를 출력장치에 표시하거나 디스크(보조기억장치)에 저장
  • 정보: 명령어와 데이터로 구분
  • 명령어: 실행할 산술, 논리 연산 동작을 명시하는 문장
  • 프로그램: 작업 하나를 수행하기 위한 명령어 집합

명령어 구성

1
2
3
연산코드, 오퍼랜드로 구성
0, 1의 이진코드화 되어 있으며 프로세서에 따라 길이가 달라진다.
실행 전 메인 메모리에 저장, 한번에 하나씩 프로세서에 전송되어 해석 및 실행한다.
  • 연산코드: 명령어의 가장 기본 부분, 프로세서가 실행할 연산을 지정
  • 오퍼랜드: 명령어가 처리 할 데이터나 데이터가 저장된 주소에 관한 정보(레지스터, 메모리)를 표시
  • 누산기: 메모리에서 읽은 오퍼랜드를 레지스터에 저장된 데이터와 연산 시 사용하는 프로세서 레지스터 프로그램의 명령어 수행 중에 산술 및 논리 연산의 결과를 일시적으로 저장한다.

실행 과정

  1. 메모리에서 명령어 레지스터로 이동 저장된 다음 명령어를 인출
  2. 인출한 명령어 해석 다음 명령어를 지정하기 위해 프로그램 카운터 변경
  3. 명령어가 메모리에 있는 워드 한 개 사용 하려면, 사용 장소를 결정하여 오퍼랜드를 인출, 필요 시 프로세서 레지스터로 보냄
  4. 명령어 실행
  5. 명령어 실행 과정 저장
  6. 다음 명령어를 실행하기 위해 1번으로 돌아감.

사이클

인출 사이클 -> 간접 사이클 -> 실행 사이클 -> 인터럽트 사이클

  • 인출 사이클: 메인 메모리에서 명령어를 읽어 명령어 레지스터에 저장하기까지의 단계
  • 실행 사이클: 명령어 레지스터의 명령어를 해석하고 필요한 신호를 발생시켜 실제로 명령어를 처리
  • 인터럽트 사이클: 프로세스가 정상적인 순차 제어에서 벗어나면 인터럽트 사이클 발생

인터럽트

1
2
3
컴퓨터에 설정된 장치에서 프로세서로 보내는 하드웨어 신호로, 현재 실행 중인 프로그램의 수행을 미루고 다른 프로그램의 수행을 요구하는 명령
외부 장치의 동작과 자신의 동작을 조정할 수 있는 수단으로 인터럽트를 사용한다.
인터럽트는 크게 인터럽트 요청, 인터럽트 서브 루틴으로 구성한다.
  • 단일 회선: 인터럽트 요청이 가능한 모든 장치를 공통으로 프로세서에 연결
  • 다중 회선: 모든 장치가 서로 다른 고유 회선으로 프로세서와 연결 인터럽트 요청 시 어느 장치에서 요청하였는지 바로 판별 가능
인터럽트 처리과정
1
2
인터럽트 요청 신호 발생 시 실행 중인 프로그램을 메모리에 저장하고 인터러블 서비스 프로그램으로 분기한다.
인터럽트 루틴의 수행 완료 후 인터럽트 발생 시킨 프로그램에 제어를 돌려준다.