minhui study

week 1 - 중앙처리장치(CPU) 구조 및 명령어 동작 과정 본문

컴퓨터 구조/Swing study

week 1 - 중앙처리장치(CPU) 구조 및 명령어 동작 과정

minhui 2020. 4. 8. 02:09

컴퓨터 시스템의 구성요소

 

교재, 24쪽 (그림 1-1)

[ 소프트웨어 ]

 

- 시스템 소프트웨어(System software)

   : 컴퓨터 시스템을 효율적으로 운영하고 제어하는 컴퓨터 프로그램

   : 운영체제, 컴파일러, 입출력 제어 프로그램

 

- 응용 소프트웨어(Application software)

   : 시스템 소프트웨어를 기반으로 수행되는 응용 프로그램

 

 

[ 하드웨어 ]

 

출처 : 정보보안개론 (시스템 구조)

 

중앙처리장치 ( CPU : Central Processing Unit ) 

 

    → 중앙처리장치는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치         로 제어 장치, 산술 논리 연산 장치(ALU, Arithmetic Logic Unit), 레지스터(Control Device) 그리고 이들을 연결하여         데이터를 전달하는 버스로 구성되어 있다.

출처 : https://coding-factory.tistory.com/351

 ① 제어 장치(명령어를 해독하고 제어 신호를 해당장치에 전달)

 

     - 명령어 형식

       -> 연산 코드 : 수행되어야 할 연산이 지정되어 있는 필드

       -> 기억장치 주소 : 해당 연산을 수행할 때 데이터가 저장되어 있는 주소

 

교재, 292쪽, 그림 6-37

→ 기억장치 버퍼 레지스터 : 주기억장치에서 읽어온 데이터, 가장 최근에 읽은 데이터를 임시적으로 저장

 

→ 명령어 레지스터 : 가장 최근 RAM에서 인출한 명령어 저장( 기억장치 버퍼 레지스터의 명령어를 저장함 )

 

→ 명령어 해독기 : 명령어 레지스터에 저장된 명령어의 연산 코드를 전달받은 후 명령어의 연산 코드를 해독하여 수행                           할 연산을 결정해서 연산장치에 전달

 

→ 기억장치 주소 레지스터 : 명령어 레지스터에 저장된 명령어의 주소 번지를 저장

 

→ 프로그램 카운터 : 다음에 실행할 명령어의 주소 번지를 저장

 

                                                          《 제어 장치의 기본 동작 과정》 

 

교재, 291쪽, 그림 6-35

 

 ② 산술 논리 연산 장치(ALU, Arithmetic)

 

     - 연산장치는 제어장치의 명령에 따라 실제로 연산을 수행하는 장치이다.

     - 연산장치가 수행하는 연산에는 산술연산, 논리연산, 관계연산, 이동 등이 있으며 연산장치는 가산기, 누산기, 보수         기, 데이터 레지스터, 오버플로 검출기, 시프트 레지스터 등으로 구성되어 있다.

교재, 265쪽, 그림 6-4

      → 산술 및 부울 논리 연산기 ( Arithmetic and Boolean Logic )

          : 실질적인 산술 연산(+ - / x ), 논리 연산을 수행( AND, OR, NOT, XOR )하는 회로

 

      상태 플러그 ( Status Flags ) : 연산 중인 ALU 내의 데이터 상태를 음수, 0, 오버플로우로 표시 

 

      이동기 (Shifter) : 2진수의 각 자리를 왼쪽 또는 오른쪽으로 이동해주는 회로

 

      보수기 ( Complementer ) : ALU 내의 데이터에 대하여 보수 연산 수행, 뺄셈을 사용할 때 사용하는 보수를

                                              만들어주는 논리 회로

 

    

 ③ 레지스터

 

      -> 컴퓨터 CPU 내에서 처리할 명령이나 ALU 처리 결과 데이터 등을 일시적으로 보관하는 임시 기억장소 

      -> 컴퓨터의 기억장치들 중에서 속도가 가장 빠르다.

    

   - 일반 목적용 레지스터 : 프로그래머가 여러 용도로 사용, 연산을 위한 모든 피연산자를 저장

 

   - 데이터 레지스터 : 연산에 사용할 데이터 저장에 사용

 

   - 주소 레지스터 : 특정 주소 지정방식을 위해 사용, 유효주소를 저장하기 위한 레지스터

 

   - 입출력 주소 레지스터 : 입출력 장치의 주소 저장

 

   - 입출력 버퍼 레지스터 : 입출려 모듈과 CPU사이에 교환되는 데이터 일시 저장

 

   - 스택 포인터 : 스택의 최상위 주소를 저장하는 레지스터

 

 

 ④ 내부 버스(CPU 및 메모리 내에 구성된 Bus)

    

     - 버스는 CPU, 메모리 등과 상호 필요한 정보를 교환하기 위해 연결된 공동의 전송선이다.

     - CPU 내의 산술 논리 연산장치와 제어장치 간의 이동, 그리고 제어장치와 레지스터 간의 데이터 이동을 위한 통호

     - 전송하는 정보에 따른 분류

 

        → 제어 버스(Control Bus) : CPU의 현재 상태나 상태 변경을 메모리에 알리는 제어장치에서 발생되는 제어신호                                               를 전송하는데 사용하는 양방향 전송선

 

        → 데이터 버스(Data Bus) : CPU와 메모리 사이에서 실질적인 데이터를 전송하는 양방향 전송선

 

        → 번지 버스(Address Bus) : CPU가 메모리의 번지를 지정할 때 사용하는 단방향 전송선

 

기억장치

  

  → 주기억장치(Main memory)

     : 프로그램과 프로그램을 수행하는 데 필요한 데이터를 저장한다.

     : CPU에 접근 속도가 빠름

     : RAM (Random Access Memory)

         -> Ram에는 현재 사용중인 프로그램이나 데이터가 저장되어 있다.

 

  → 캐시메모리

     : 주기억 장치와 CPU 사이에 위치하며, 자주 사용하는 프로그램과 데이터를 기억한다.

     : 처리속도가 거의 CPU의 속도와 비슷할 정도의 속도를 가지고 있다.

     : 캐시 메모리를 사용하면 주 기억장치를 접근하는 횟수가 줄어들어 컴퓨터의 처리속도가 향상된다.

 

  → 보조기억장치

      : 영구적으로 데이터 저장

      : 주기억장치를 통해 CPU와 정보교환 ( CPU와 직접 자료 교환 불가능 )

      : 주기억장치에 비해 저장용량이 크고, 가격이 싸지만 속도가 느림

      : 플로피디스크, 하드 디스크, 광 디스크, 플래시 메모리, CD-ROM, DVD

 

 

입출력장치(Input/Output Device)

 

  → 입력 장치 : 마우스, 키보드 등

  → 출력 장치 : 모니터, 프린터기 등

 

▶ CPU 명령어 수행과정

 

  ① 인출 Fetch

      : 필요한 명령어를 주기억장치에서 불러옴

  해독 Decode

      : 호출된 명령어를 해석함

  ③ 실행 Execute

      : 해석된 명령어를 산술/논리 연산장치를 통해 실행

  ④ 저장 Store

      : 수행결과를 주기억장치에 저장

 

 

 

 

출처 : http://blog.naver.com/PostView.nhn?blogId=james_parku&logNo=110148872933&parentCategoryNo=&categoryNo=70&viewDate=&isShowPopularPosts=false&from=postView



< 출처 >

강의노트, 디지털논리와 컴퓨터 설계, Harris et al. (조영완 외 번역), 사이텍미디어, 2007, 컴퓨터 구조와 원리 (비주얼 컴퓨터 아키텍처), 신종홍 저, 한빛미디어, 2011

 

 


문제 및 답안

 

CPU 명령어 동작 원리 문제.pdf
0.19MB
CPU 명령어 동작 과정 답.pdf
0.10MB

Comments