본문 바로가기

학교 공부/컴퓨터공학론

6. CPU와 저장된 (Stored) 프로그램

이 강의 자료는 컴퓨터 구조의 핵심 요소인 CPU와 저장된 프로그램의 개념을 설명합니다. CPU는 연산과 제어를 담당하며, 레지스터와 캐시 메모리를 통해 데이터 처리 속도를 향상시킵니다. 저장된 프로그램 개념은 프로그램 자체를 데이터처럼 메모리에 저장하여 다양한 작업 수행을 가능하게 합니다. 또한, 기계어는 CPU가 직접 이해할 수 있는 명령어의 집합으로, RISC와 CISC아키텍처의 차이점을 통해 명령어 설계 철학을 이해할 수 있습니다. 이 자료를 통해 컴퓨터 작동 원리에 대한 기본적인 이해를 얻을 수 있습니다.

1. 🎯 컴퓨터 구조와 저장된 프로그램의 학습 목표

  • 이 강의는 컴퓨터공학론의 일부로, 자료 처리에 관한 내용을 다룬다.
  • 주요 학습 주제는 CPU**와 저장된 (Stored) 프로그램**이다.
  • 학습 목표는 컴퓨터 구조에 대한 개략적 이해, 저장된 프로그램** 개념의 이해, 그리고 **기계 언어(Machine Language)의 이해이다.
  • 이 강의를 통해 컴퓨터의 핵심 구성 요소와 작동 원리에 대한 기본적인 지식을 습득할 수 있다.

2. 🖥️ CPU와 버스의 구조 및 기능

  • CPU는 수리/논리 유닛제어 유닛, 레지스터, 캐시 메모리로 구성되어 있다.
  • 레지스터는 CPU내부의 자료 저장소로, 일반목적 **레지스터와 *특별목적 *레지스터**로 나뉜다.
  • 버스는 CPU와 주 기억장치를 연결하는 선들의 묶음으로, 두 장치 간의 인터페이스 역할을 한다.
  • CPU와 주 기억장치간의 데이터 전송 과정은 주소 **버스를 통한 주소 전달, *데이터 *버스**를 통한 데이터 전송, CPU 레지스터로의 데이터 이동 순으로 이루어진다.
  • 이러한 구조를 통해 CPU는 주 기억장치와 효율적으로 데이터를 주고받으며 연산을 수행한다.

3. 🖥️ 컴퓨터의 다양한 저장장치와 저장된 프로그램 개념

  • 레지스터캐시 메모리는 CPU와 가까운 고속 저장장치로, 작은 용량이지만 빠른 데이터 접근을 제공한다.
  • 주 기억장치(main memory)와 대용량 기억장치(mass storage)는 더 큰 용량을 제공하지만 상대적으로 속도가 느리다.
  • 저장된 프로그램**(Stored program) 개념**은 프로그램을 특별한 형태의 자료로 취급하여 주 기억장치에 저장할 수 있게 한다.
  • 이 개념으로 인해 하나의 컴퓨터가 다양한 형태의 프로그램을 수행할 수 있게 되었다.
  • 폰 노이만 머신(**Von Neumann Machine**)은 프로그램을 데이터와 동일하게 취급하고 CPU가 프로그램을 읽어와 실행하는 현대 컴퓨터의 기본 구조를 제시했다.

4. 🖥️ 기계어와 CPU 아키텍처의 특징

  • 기계어는 CPU**가 직접 이해할 수 있는 명령어 코드**의 비트 패턴으로, 특정 컴퓨터가 이해하는 모든 명령어의 집합이다.
  • 컴퓨터 성능 측정 단위로 MIPS(초당 100만 명령어)와 FLOPS(초당 부동소수점 연산)가 사용되며, 일반적으로 100 MIPS이상의 성능을 보인다.
  • RISC(Reduced Instruction Set Computing)는 적은 수의 단순하고 효율적인 명령어로 구성되어 있으며, PowerPC와 ARM이 대표적인 예시다.
  • CISC(Complex Instruction Set Computing)는 많은 수의 편리하고 강력한 명령어로 구성되어 있으며, Intel의 Pentium 시리즈가 대표적이다.
  • RISC는 하드웨어로 빠르게 구현되어 1 클록 사이클에 실행되는 반면, CISC는 마이크로프로그래밍을 통해 복잡한 명령어를 지원하며 최대 30~50 클록 사이클이 소요된다.

5. 🖥️ 기계어와 명령어 구조

  • 기계어는 CPU가 직접 이해할 수 있는 명령어의 집합으로, 16개의 범용 레지스터와 256개의 주 메모리 셀, 12개의 기본 명령어로 구성된다.
  • 기계어명령어는 Op-code(수행할 명령어 종류)와 Operand(명령어의 세부 수행 사항)로 구성되며, Operand의 개수는 명령어에 따라 다르다.
  • 명령어는 크게 자료 이전, 수리/논리, 제어 세 가지 영역으로 분류되며, 각각 데이터 복사, 새로운 데이터 생성, 프로그램 수행 감독 역할을 한다.
  • 자료 이전명령어에는 LOAD(메모리에서 CPU로), STORE( CPU에서 메모리로), MOVE(메모리 간 이동) 등이 있으며, 실제로는 복사 개념에 가깝다.
  • 수리/논리 명령어에는 AND/OR/XOR 연산, SHIFT/ROTATE 연산, 그리고 사칙 연산(ADD/SUB/MULT/DIV) 등이 포함되며, 일부는 별도의 서브루틴으로 구현될 수 있다.

6. 🖥️ 기계어 명령어와 컴퓨터 구조의 이해

  • 수리/논리 연산** 기계 명령어**의 예시로 ADD, ADDF, ROT 등이 있으며, 각각 정수 더하기, 실수 더하기, 비트 회전 연산을 수행한다.
  • 저장된 두 수의 더하기와 나누기 연산 과정이 그림으로 제시되어 있어, 기본적인 산술 연산의 작동 방식을 시각적으로 이해할 수 있다.
  • 8비트 **CPU** 컴퓨터의 메모리 구조는 바이트 단위 주소 지정 방식을 사용하며, 주소와 데이터 모두 8비트로 구성된다.
  • 메인 메모리는 0부터 FF(16진법)까지 256개의 1바이트 주소 공간으로 이루어져 있다.
  • 강의 정리 부분에서는 컴퓨터 마더보드, 저장된 프로그램, 기계 언어에 대한 이해를 확인하는 질문들이 제시되어 있다.