Page 57 - 컴퓨터구조(프로그래밍 관점에서 바라보는)도서 미리보기
P. 57

269CHAPTER 7? 기계어 프로그래밍을 통한 컴퓨터 구조 이해

기계어 프로그래밍을 이해하기 위해서는, CPU 내부의 기억 장소인 레지스                   컴퓨터의 구조를 익히기 위
터(registers)의 개수와 모양, 메인 메모리의 용량, 입출력 방법, 그리고 제            한 목적은 여러 가지가 있을
공되는 기계어(instructions)를 살펴봐야 한다.                            수 있다.
                                                           yy컴퓨터의 설계, 제작 기
7.1.2? 레지스터
                                                             술을 익히기 위해서: 컴
아래의 그림처럼 Pep/8 가상 머신은 6개의 레지스터를 사용한다. 아래 그                   퓨터 내부의 다양한 부
림의 작은 네모는 각각 1비트를 의미한다. 즉, Pep/8 가상 머신의 대부분                  품들의 설계 방식, 동작
의 레지스터(status bits와 Instruction register를 제외하고)는 16비트(2 바    방식을 이해해야한다. 아
이트)이다.                                                       주 깊은 전기, 전자 회로
                                                             등에 대한 사전 지식이
         Status bits(NZVC)                                   필요하다.
             Accumulator(A)                                yy보다 효율적인 소프트웨
                                                             어 프로그래밍을 위해 하
         Index register(X)                                   드웨어 구조를 익히기 위
      Program counter(PC)                                    해서: 고급 언어를 이용해
                                                             서 프로그래밍을 하더라
         Stack pointer(SP)                                   도 하드웨어의 구조를 이
                                                             해하고 있다면 보다 효율
                                                             적인 프로그래밍이 가능
                                                             하다(본 교재의 목표다).

                                                           레지스터는 CPU 내부에
                                                           위치한 작은 용량의 메모
                                                           리이다. 보통 메인 메모리
                                                           에서 가져온 데이터나 인
                                                           스트럭션을 잠시 저장하기
                                                           위해서 사용된다.

Instruction register(IR)

                                      Pep/8 가상 머신의 레지스터

각 레지스터의 용도에 대해서 알아보자.

yyStatus Bits(상태 레지스터): 기계어 실행 결과로 발생하는 CPU 내부의 상태
  를 기억한다. NZVC 4비트로 구성된다. 예를 들어, 연산 결과 값이 음수이
  면 N(negative)이, 결과값이 ‘0’이면 Z(zero)가, 연산 결과로 오버 플로우가
  발생하면 V(overflow)가, 연산 결과로 캐리가 발생하면 C(carrry) 비트가 1
  로 세팅되고, 그렇지 않은 경우는 0이 된다.
   52   53   54   55   56   57   58   59   60   61   62