컴구&운영체제

컴퓨터 시스템의 동작 과정(명령어의 구조와 실행, 인터럽트)

yejin72 2023. 4. 5. 13:59
728x90

< 컴퓨터 시스템의 동작 과정 >

  1. 입력장치로 받은 명령어 혹은 데이터를 메모리에 저장함
  2. 제어장치에 의해 정보를 인출하여 연산장치에서 처리
  3. 결과를 출력장치에 표시하거나 보조기억장치에 저장함

컴퓨터에 유입되는 정보는 컴파일러 등을 이용하여 이진화된 기계 명령어로 변환된 후 처리된다. 이때, 명령어의 구조는 어떻게 되며 어떠한 수행 과정을 거치는지에 대해 알아야 컴퓨터의 동작 과정을 더욱 자세히 이해할 수 있다.

 

 

 

명령어의 구조

명령어의 기본 구조

  • 연산 부호(오피코드): 데이터 전송, 산술 및 논리 연산, 제어 흐름 변경, 입출력 제어. 연산 부호가 n비트이면 최대 2^n개 연산이 가능
  • 피연산자(오퍼랜드): 연산할 데이터 정보가 저장되기도 하지만 주로 데이터가 저장된 위치가 저장됨, 소스 피연산자목적지 피연산자로 구분됨

 

 

직접 주소와 간접 주소를 사용한 명령어

오퍼랜드에 저장되는 주소는 데이터가 저장된 위치가 저장된 직접 주소와 데이터가 저장된 위치 정보가 저장된 간접 주소의 두 종류로 나누어진다. 모드 비트 I를 추가한 후 모드가 0이면 직접 주소, 1이면 간접 주소로 이해함으로써 원하는 데이터를 찾아 나아갈 수 있다.

 

 

 

명령어의 실행

명령어 실행 과정

명령어는 인출-실행을 반복하는 명령어 실행 사이클을 따라 수행된다. 이때, 간접 주소나 인터럽트를 처리해주어야 하는 상황이 발생하기도 한다.

 

 인출 사이클

  1. PC에 저장된 주소를 프로세서 내부 버스를 이용하여 MAR에 전달한다.
  2. MAR에 저장된 주소에 해당하는 메모리에서 명령어를 인출한 후, 해당 명령어를 MBR에 저장한다.
  3. 다음 명령어의 인출을 위해 PC를 증가시킨다.
  4. MBR에 저장된 내용을 IR에 전달한다.

※ 명령어 인출 시간: 인출 사이클에 소요되는 시간

 

 실행 사이클

인출한 명령어를 해독하고 그 결과에 따라 제어 신호를 발생시켜 명령어를 실행한다.

※ 실행 시간: 실행 사이클에 소요되는 시간 

 

 간접 사이클

  1. IR에 저장된 명령어의 피연산자를 MAR에 전달한다.
  2. MAR에 저장된 주소에 해당하는 메모리에서 데이터를 인출한 후, 해당 데이터를 MBR에 저장한다.
  3. MBR에 저장된 내용을 IR에 전달한다.

 인터럽트 사이클

  1. PC의 내용을 MBR에 저장한다.
  2. 인터럽트 루틴 주소를 PC에 저장한다.
  3. PC에 저장된 인터럽트 루틴 주소를 MAR에 저장한다.
  4. MBR의 주소에 있는 내용을 지시된 메모리 셀로 이동한다.
PC(Program Counter): 프로그램 카운터
MAR(Memory Address Register): 메모리 주소 레지스터
MBR(Memory Buffer Register): 메모리 버퍼 레지스터
IR(Instruction Register): 명령어 레지스터

 

 

 

인터럽트 명령어

인터럽트란, 현재 실행 중인 프로그램을 중단하고 다른 프로그램의 실행을 요구하는 명령어이다.

과거에는 프로세서가 장치의 준비 비트 또는 상태 비트를 수시로 검사하는 폴링(polling)을 진행했는데, 그 과정에서 수행 시간이 크게 낭비되어 현재는 인터럽트 개념만을 사용하고 있다.

제어 버스 중 입출력장치가 프로세서에게 인터럽트 신호를 보낼 때 사용되는 것은 인터럽트 요청 회선으로, 단일 회선다중 회선이 있다. 단일 회선을 사용한다면 인터럽트를 요청한 장치를 판별하는 기능이 필요하다.

 

 

 인터럽트 처리 과정

 

인터럽트 처리 과정

 

  1. 인터럽트 요청 신호 발생
  2. 현재 명령어를 종료하고 상태 코드는 스택 영역에 저장
  3. PC에 인터럽트 처리 프로그램의 시작 위치를 저장
  4. 인터럽트 서비스 루틴 실행
  5. 스택 영역에 있던 내용을 레지스터에 다시 저장
  6. 중단했던 프로그램 복귀

※ 서브루틴 호출과 달리 인터럽트 처리 프로그램은 인터럽트가 실행 중이던 프로그램과 관련이 없을 수도 있다.

 

 

 

 

 

출처) 그림으로 배우는 구조와 원리 운영체제(구현회 지음)

 

728x90