본문 바로가기
Study/컴퓨터구조

[1주차] 컴퓨터의 기본 구조와 CPU

by 투말치 2020. 4. 10.

목차

    반응형

     

    1. 컴퓨터의 기본 구조

     

    출처 : 컴퓨터 구조와 원리 (비주얼 컴퓨터 아키텍처), 신종홍 저, 한빛미디어, 2011

     컴퓨터 시스템은 하드웨어와 소프트웨어로 구성되어 있다. 하드웨어에는 중앙처리장치(CPU), 기억장치, 입출력장치가 있다. 소프트웨어에는 시스템 소프트웨어와 응용 소프트웨어가 있다. 시스템 소프트웨어의 예로는 OS(Windows 10, Linux 등)가 있고, 응용 소프트웨어는 웹브라우저, 워드 프로세서 등이 있다.

    위 그림은 컴퓨터 하드웨어 구조를 나타낸 그림이다.

    중앙처리장치 (Central Processing Unit)

    -프로그램을 실행하고 데이터를 처리하는 기능을 수행함

    -연산장치와 제어장치로 구성됨

    기억장치

    (1) 주기억장치
    -CPU가 직접 접근 가능
    -현재 수행되는 프로그램과 데이터를 저장함

    -영구저장능력이 없어서 일시적 저장장치로 사용함
    -종류 : RAM(Random Access Memory) , ROM(Read Only Memory)

    RAM : 자유롭게 읽고 쓸 수 있음, 전원이 꺼지면 저장된 내용이 사라지는 휘발성 메모리
    ROM : 읽을 수만 있는 기억장치, 전원이 꺼져도 저장된 내용이 사라지지 않음


    (2) 보조기억장치
    -비휘발성 메모리

    -용량이 크지만 읽기/쓰기 속도가 주기억장치보다 느리다. 
    -종류 : 하드 디스크, CD, DVD

    2. CPU

    CPU의 구조

    -ALU(Arithmetic and Logical Unit, 산술논리연산장치)

    -레지스터 : 속도가 가장 빠른 기억장치, 데이터 혹은 주소를 저장함

    -제어 장치 : 명령어를 해석하고 실행하기 위한 제어 신호를 전달함

     

    ALU

    -산술연산과 논리연산을 수행함

    -가산기, 누산기, 보수기, 데이터 레지스터, 상태 레지스터, 인덱스 레지스터

     

    레지스터

    -속도가 가장 빠른 기억장치

    -데이터 혹은 주소를 저장함

     

    제어 장치

    -명령어를 해석하고 실행하기 위한 제어 신호를 전달함

    -기억장치 주소 레지스터, 기억장치 버퍼 레지스터, 프로그램 카운터, 명령어 레지스터, 명령어 해독기, 부호기

     

    버스

    -데이터 교환을 위한 통로 

    -종류 : 메모리의 주소를 지정할때 주소를 보내는 주소버스, 데이터를 주고받기 위한 데이터버스, 제어신호를 전달하는 제어버스(제어버스에는 명령어만 다닐 수 있음)

    CPU 명령어 수행과정

    명령어 형식 = 연산코드 + 기억장치 주소(연산에 사용될 데이터가 저장된 주소)

     

    출처 : 컴퓨터 구조와 원리 (비주얼 컴퓨터 아키텍처), 신종홍 저, 한빛미디어, 2011

    1. 명령어 인출  : 명령어를 주기억장치에서 가져와서 CPU에 저장

     

    2. 명령어 해독 : 호출된 명령어 해석

     

    3. 명령어 실행 : 해석한 결과에 따라 연산장치를 통해 실행

     

    4. 저장 : 연산된 결과를 기억장치에 저장

     

     

     

     

     

     

     

    CPU의 레지스터들

    기억 장치 버퍼 레지스터

    -기억 장치에서 읽어온 명령어, 기억장치에 쓸 데이터를 임시로 저장

    명령어 레지스터

    -기억 장치 버퍼 레지스터에 있는 명령어를 저장함

    기억장치 주소 레지스터

    -명령어 레지스터의 명령어가 저장되어 있는 주소를 저장함

    명령어 해독기

    -명령을 해독해서 누산기로 해독 내용을 전송

    프로그램 카운터

    -다음에 실행할 명령어의 주소를 저장함

    누산기 

    -연산결과를 일시적으로 보관하는 레지스터

     

     

     

    예시) add r1, r2라는 명령어가 들어왔을 경우 흐름

     

    1. 주기억장치에 저장되어 있는 명령어를 읽어서 기억장치 버퍼 레지스터에 저장

    2. 기억장치 버퍼 레지스터에서 명령어를 읽어 명령어 레지스터에 저장

    3. 연산코드인 add는 명령어 해독기에 들어가고 r1, r2는 기억장치 주소 레지스터에 들어감 이때, 프로그램 카운터는 다음 실행할 명령어의 주소를 가리킴

    4. 기억장치 주소 레지스터에 저장된 주소로 가서 데이터를 가져와 누산기에 넣음(r1, r2에서 데이터를 가져오라고 제어흐름을 보내는것 / 제어버스는 명령어만 다닐 수 있음)

    5. 누산기에 들어온 해독된 명령어와 데이터를 이용해 연산을 수행

     

    1,2는 명령어 인출과정 / 3,4는 명령어 해독과정 / 5는 명령어 실행과정이다.

     

     

    더보기

    문제

    1.     CPU의 명령어 수행과정을 순서대로 나열하세요.

          ㄱ.   명령어 실행

          ㄴ.   저장

          ㄷ.   명령어 해독

          ㄹ. 명령어 인출

     

    2. 다음 중 명령어 형식으로 옳은 것은?  

    제어 코드 + 연산장치 주소

    연산 코드 + 기억장치 주소

    논리 코드 + 제어장치 주소

    해독 코드 + 기억장치 주소

     

    3. 명령어가 기억장치 버퍼 레지스터에 저장된 다음에는 어떤 레지스터에 명령어가 저장되는가?

     

    4. 명령어에서 명령어 해독기로 보내지는 것은 무엇인가?   

     

    5. 레지스터는 데이터 이동을 위한 통로다. (○ / Ⅹ)

     

     

     

     

     

     

     

     

    더보기

    1. , , ,

    -CPU는 명령어를 주기억장치에서 불러오고(명령어 인출) 명령어를 해석(명령어 해독)한 뒤에 명령어를 실행하고 수행결과를 주기억장치에 저장하는 과정을 통해 명령어를 수행한다.

     

    2.  ② 연산 코드 + 기억장치 주소

    - 명령어는 연산코드와 기억장치 주소로 구성되어 있다.

     

    3. 명령어 레지스터

    - 기억장치 버퍼 레지스터에 저장된 명령어는 명령어 레지스터가 저장한다.

     

    4. 연산코드
    -
    명령어에서 연산코드가 명령어 해독기로 보내져 해석된다.

     

    5. X
    -
    레지스터는 데이터 혹은 주소를 저장하는 기억장치다.

    반응형