본문 바로가기
운영체제

[OS]운영체제 - 컴퓨터 시스템의 동작

by Seong-Jun 2021. 12. 28.
728x90
반응형
SMALL
  1. 입력장치로 정보를 입력받아 메모리에 저장합니다.
  2. 메모리에 저장한 정보를 프로그램 제어에 따라 인출하여 연산장치에서 처리합니다.
  3. 처리한 정보를 출력장치에 표시하거나 보조기억장치에 저장합니다.

명령어의 구조

|---------명령부---------|------------------------------------------------주소부------------------------------------------------|

연산부호 피연산자1 피연산자2 . . . 피연산자n
  • 연산 부호(OPcode) : 프로세서가 실행할 동작인 연산을 지정합니다. 연산 부호가 n비트이면 최대 2^n개 연산이 가능합니다.
  • 피연산자(Operand) : 연산할 데이터 정보를 저장합니다.
  • 피연산자에 데이터가 있는 레지스터나 메모리 주소를 지정하면 직접 주소(direct address)라 하고, 데이터가 있는 레지스터나 메모리 주소 정보를 지정하면 간접 주소(indirect address)라고 합니다.

명령어의 실행

① 명령어 인출
② 명령어 해석, 프로그램 카운터 변경
③ 피연산자 인출
④ 명령어 실행
⑤결과 저장
⑥ 다음 명령어 이동

① 명령어 인출 : 명령어 레지스터에 저장된 다음 명령어를 인출합니다.

② 명령어 해석, 프로그램 카운터 변경 : 인출한 명령어를 해석하고 다음 명령어를 지정하려고 프로그램 카운터를 변경합니다.

③ 피연산자 인출 : 명령어가 메모리에 있는 워드를 한 개 사용하려면 사용 장소를 결정하여 피연산자를 인출하고, 필요하면 프로세서 레지스터로 보냅니다.

 

인출 사이클

인출 사이클(fetch cycle)은 명령어 실행 사이클의 첫 번째 단계입니다.

시간 레지스터 동작 설명
PC -> MAR PC에 저장된 주소를 프로세서 내부 버스를 이용하여 MAR에 전달.
Memory(MAR) -> MBR MAR에 저장된 주소에 해당하는 메모리 위치에서 명령어를 인출한 후 이 명령어를 MBR에 저장. 이때 제어장치는 메모리에 저장된 내용을 읽도록 제어 신호를 발생.
PC+1 -> PC 다음 명령어를 인출하려고 PC를 증가.
MBR -> IR MBR에 저장된 내용을 IR에 전달.
  • PC : 프로그램 카운터
  • MAR : 메모리 주소 레지스터
  • MBR : 메모리 버퍼 레지스터
  • IR : 명령어 레지스터

 

실행 사이클

실행 사이클(execution cycle)에서는 인출한 명령어를 해독하고 그 결과에 따라 제어 신호를 발생시켜 명령어를 실행합니다.

 

간접 사이클

직접 주소 지정 방법을 사용하는 실행 사이클은 명령어를 즉시 수행하지만, 간접 주소 지정 방법을 사용하는 실행 사이클은 명령어를 수행하기 전에 실제 데이터가 저장된 주기억장치의 주소인 유효 주소를 한 번 더 읽어 옵니다.

시간 레지스터 동작 설명
IR(addr) -> MAR PC에 저장된 주소를 프로세서 내부 버스를 이용하여 MAR에 전달.
Memory(MAR) -> MBR MAR에 저장된 주소에 해당하는 메모리 위치에서 명령어를 인출한 후 이 데이터를 MBR에 저장. 이때 제어장치는 메모리에 저장된 내용을 읽도록 제어 신호를 발생.
다음 명령어를 인출하려고 PC를 증가.
MBR -> IR MBR에 저장된 내용을 IR에 전달.

 

인터럽트 사이클

인터럽트는 프로세서가 프로그램을 수행하는 동안 컴퓨터 시스템의 내부나 외부에서 발생하는 예기치 못한 사건을 의미합니다. 프로그램 카운터에는 인터럽트 처리 루틴의 시작 주소를 저장해 두었다가 인터럽트 처리를 완료하면 중단된 프로그램으로 복귀하여 계속 수행합니다.

시간 레지스터 동작 설명
PC -> MBR PC의 내용을 MBR에 저장.
IntRoutine_Address -> PC 인터럽트 루틴 주소를 PC에 저장.
Save_Address -> MAR PC에 저장된 인터럽트 루틴 주소를 MAR에 저장.
MBR -> Memory(MAR) MBR의 주소에 있는 내용을 지시된 메모리 셀로 이동.

 

인터럽트 명령어

인터럽트는 현재 실행 중인 프로그램을 중단하고 다른 프로그램의 실행을 요구하는 명령어입니다. 시스템의 처리 효율을 향상시키며, 프로그램이 실행 순서를 바꿔 가면서 처리하여 다중 프로그래밍에 사용합니다. 인터럽트는 컴퓨터에 설치된 입출력 장치나 프로그램 등에서 프로세서로 보내는 하드웨어 신호입니다. 인터럽트는 프로세서와 운영체제가 처리합니다.

 

 

728x90
반응형
LIST

댓글