공부/면접을 위한 CS 전공지식 노트

[CS 스터디/컴퓨터시스템구조] 명령어 코드(Instruction Codes)

규투리 2023. 1. 17. 15:59
반응형

기본 컴퓨터(Basic Computer)란?

DEC. Corp사의 중형 컴퓨터 PDP-11을 지칭한다. 기본 컴퓨터라함은 컴퓨터 구조 설계의 가장 기본적인 부분을 일컬으며, 현대의 CPU들에도 동일하게 적용되는 설계 구조이다.

 

컴퓨터 == CPU

 

컴퓨터가 곧 CPU이다.

그렇다면 내 PC 안에 들어 있는 메인보드, 그래픽카드, ssd, rem 등은 무엇인가? 이런것들은 전부 다 주변장치 라고 지칭한다.

즉, 컴퓨터는 CPU 와 주변장치들로 구성되어 있는 것이다.

 

1. 컴퓨터의 동작

주로 데이터는 레지스터 내에 저장된다. 이런 데이터를 마이크로 연산 시퀀스에 의해 정의된 내용들이 바로 컴퓨터의 동작이다.

범용 컴퓨터 시스템에서는 다양한 마이크로 연산 시퀀스를 정의하고 있다. 컴퓨터는 바로 이런 마이크로 연산 시퀀스에 의해서 동작을 한다는 것이다.

 

2. 컴퓨터 명령어

컴퓨터 명령어는 컴퓨터의 동작을 하기 위한 마이크로 연산 시퀀스들을 통칭한다.

보통은 이진 코드로 구성되어 있고, 데이터와 함께 메모리에 저장된다.

 

3. 프로그램

컴퓨터 명령어가 마이크로 연산의 집합이면, 프로그램은 이런 컴퓨터 명령어들의 집합이다.

즉, 사용자가 원하는 연산과 피연산자가 처리되는 순서를 기술한 컴퓨터 명령어의 집합이다.

명령어 처리 과정을 제어한다.

 

4. 내장 프로그램

내장 프로그램은 제어 신호에 의하여 명령어의 이진 코드를 해석하여 실행한다.

명령어를 저장하여 실행하는 컴퓨터 구동 방식을 말한다.

 

5.  명령어 코드

명령어 코드는 컴퓨터에게 어떤 특별한 동작을 수행할 것을 알리는 비트들의 집합이다. 예를들어 더하기, 뺄셈 등과 같은 동작들을 0과 1로 이뤄진 비트들의 집합으로 컴퓨터에 명령을 내리게 된다. 이를 명령어 코드라고 얘기한다.

명령어 코드는 연산 코드들로 구성되어 있다.

 

컴퓨터(CPU)에서 프로그램이 돌아가기 위해선 3가지가 필요하다.

  1. 명령어, Instruction
  2. 데이터, Binary Operand
  3. 메모리, Memory
  4. Processor Register(AC)

 

1. 저장(내장) 프로그램 구조

  • 명령어의 집합으로 구성
  • 각 명령어는 명령어 포맷에 따라서 정의
    • 명령어는 16비트로 구성
    • I로 구성된 Opcode 와 Address로 구성
  • 프로그램 실행부분에 따라서 메모리의 다른 부분(segment)에 저장
  • 명령어 실행 결과는 AC에 저장 

명령어와 데이터가 메인 메모리에 저장된다. 이때 명령어는 명령어대로 데이터는 데이터대로 따로 들어간다. 이러한 덩어리를 우리는 Segment라고 한다.

이것 이외에도 우리가 임시로 쓰는 데이터들을 적용하기 위해서 별도의 메모리 공간을 할당해주는데, 이것을 Stack Segment라 하며, 또 다른 말로는 Heap이라고 한다. 

 

한마디로 하나의 프로그램이 메인 메모리에 들어가서 실행될 때에는 최소한 세 개의 Segment로 구성된 메모리 공간을 차지한다.

  1. 명령어 - Code Segment
  2. 데이터 - Data Segment
  3. 임시 - Stack Segment (Heap)

Segment는 컴퓨터에서 프로그램이 돌아가는데 메모리를 할당하는 가장 기본적인 단위이다.

 

2. 간접주소(Indirect Address) 시스템

앞서 명령어는 I로 구성된 Opcode와 Address로 구성되어 있다고 했다. 이때 I가 나타내는 것이 간접주소 시스템이다.

I 비트에 따라 간접과 직접 주소로 구분된다.

  • 0 으로 시작할 경우, 직접 주소
  • 1 로 시작할 경우, 간접 주소

좌측 - 직접 주소, 우측 - 간접 주소

 

반응형