뚝딱햄 탈출기

[CS] 컴퓨터 구조 : 기계어/어셈블리어/고급언어, 기억장치, CPU, 동작 흐름, 시스템 버스 본문

CS + OS

[CS] 컴퓨터 구조 : 기계어/어셈블리어/고급언어, 기억장치, CPU, 동작 흐름, 시스템 버스

hyrmzz1 2023. 7. 25. 14:31
EliceAcademy - <실전 압축 컴퓨터 개론> 01. 컴퓨터 구조 강의 내용 정리

1. 컴퓨터에 대해 알아야 하는 이유

컴퓨터의 능력은 제한적이기 때문에, 제한된 환경에서 효율적으로 동작하는 프로그램을 만들어야 함.
효과적인 코딩을 하기 위해 컴퓨터의 환경, 즉 컴퓨터 구조를 이해하고 있어야 함.

2. 컴퓨터 동작 방식

컴퓨터 종류

데스크톱 컴퓨터, 스마트폰, 아두이노 등

컴퓨터 동작 방식

2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 1-1. 컴퓨터 동작 방식 참고

키보드나 마우스 같은 입력 장치(→ 하드웨어)로 명령어를 전달( 소프트웨어)하여 데이터가 처리됨.
즉, 컴퓨터는 데이터와 명령어로 동작함.

데이터 종류

숫자, 문자, 이미지, 비디오, 파일 데이터 (ex. 엑셀 파일) 등

3. 명령어

기계어

  • 컴퓨터는 트랜지스터라는 부품으로 이루어져 있고, 트랜지스터는 전류의 흐름에 따라 0과 1로 구분됨.
  • 2023.07.25 - [CS] - [CS] 소프트웨어 2-1. 트랜지스터 참고
  • 따라서 컴퓨터는 이진수(0, 1)만을 이해함.
  • 기계어는 0과 1로 이루어진 이진수로 나타냄.
  • 컴퓨터는 기계어를 통해 데이터와 명령어를 처리함.

어셈블리어

  • 컴퓨터가 사용하는 기계어와 일대일로 대응되는 프로그래밍 언어.
  • 어셈블러는 어셈블리어를 기계어로 번역해줌. 기계어 어셈블리어로 번역해 주는 것은 디어셈블러(역어셈블러)
  • 저급언어. 기계어와 문법 구조가 거의 유사하기 때문.

고급언어

  • C, C++, Java, Python, JavaScript 등 사람이 이해하기 쉽게 작성된 프로그래밍 언어.
  • 컴파일러, 인터프리터 등이 고급언어를 어셈블리어 또는 기계어로 번역해줌.
  • 사람은 기계어를 이용하기 위해 프로그래밍 언어(= 고급 언어)를 사용함.

4. 컴퓨터 구성

컴퓨터 구성 핵심 부품 : CPU, 주기억장치, 보조기억장치, 입출력장치
CPU와 주기억장치가 컴퓨터의 성능에 큰 영향을 미침.
 

2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 2. 마지막 부분 참고
즉, 처리장치인 CPU는 모든 데이터를 연산(복잡한 연산 수행)하고, 다른 장치들을 제어한다.
처리장치가 처리해야 할 데이터는 RAM과 같은 주기억장치에서 가져온다. 주기억장치의 데이터는 하드디스크와 같은 보조기억장치에서 복사해오거나 키보드와 같은 입력장치로부터 받아온 것이다.
처리장치(CPU)에서 처리한 정보는 그래픽카드를 거쳐 모니터와 같은 출력장치에 출력되어 사용자에게 전달된다.

4-1. 기억장치

컴퓨터는 메모리에 저장된 데이터를 주소를 참조해 식별함.

레지스터

  • CPU 안에 있는 기억장치.
  • CPU가 현재 처리하고 있는 데이터와 명령어를 저장.

캐시

  • 주기억장치에서 자주 사용되는 데이터를 임시 저장.
  • CPU가 필요한 데이터에 더 빠르게 접근할 수 있게 해줌.

주기억장치

  • 현재 실행되고 있는 데이터와 명령어를 저장.
  • ROM, RAM으로 분류.
  • ROM(Read-only Memory)
    • 읽기만 가능
    • 비휘발성 메모리. 컴퓨터 구동 위한 기본적인 데이터들이 저장됨.
    • 처리 속도 느림
    • 저렴함.
  • RAM(Random Access Memory)
    • 읽기 쓰기 자유롭게 가능
    • 휘발성 메모리. 임시 저장 메모리, 명령어들이 저장됨.
    • 처리 속도 빠름. 데이터에 빠르게 엑세스 가능. 컴퓨터가 실시간으로 사용하는 정보 저장.
    • 비쌈
    • 일반적으로 메모리를 의미하며, 많은 애플리케이션을 실행할수록 더 많은 메모리가 필요.

보조기억장치

  • 비휘발성 메모리.
  • ex) HDD, SSD, CD-ROM, USB 플래시 드라이브
  • SSD는 하드디스크보다 속도가 빠르고 소음이 적음.
  • 2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 2-2. HDD 참고
  • 주기억장치에 비해 상대적으로 저렴하고 처리 속도가 느림.

속도: (느림) 보조기억장치 - 주기억장치 - 캐시 - 레지스터 (빠름)
용량: (작음) 보조기억장치 < 주기억장치 < 캐시 < 레지스터 (큼)
가격: (저렴) 보조기억장치 < 주기억장치 < 캐시 < 레지스터 (비쌈)

4-3. 입출력장치

입력 장치는 사용자가 원하는 데이터와 명령어를 컴퓨터에 전달함. ex) 조이스틱, 키보드, 마우스 등
출력 장치는 컴퓨터가 사용자에게 결과를 보여줌. ex) 스피커, 프린터

5. CPU (Central Processing Unit, 중앙 처리 장치. Processer)

  • 입력된 명령어를 실행하고, 데이터를 처리함.
  • 클럭과 코어가 CPU의 성능을 결정함.
  • 클럭이 클수록 주파수 빠르고 더 빠른 처리가 가능함.
  • 제어, 연산 기능을 수행하며,
    제어 담당 유닛인 Control Unit과 연산 담당 유닛인 Arithmethic and Logic Unit이 나누어져 있음.

5-1. CPU 구성

ALU (Arithmethic and Logic Unit. 산술 논리 연산 장치)

  • 다양한 산술 연산을 계산하는 디지털 회로.
  • 논리 연산은 boolean 값으로 수행하는 연산. (1: 참, 0: 거짓.)
    and, or, not, xor 등의 연산이 있음.

레지스터

  • 연산 과정을 기억하는 기억장치.
  • CPU가 처리할 데이터를 일시적으로 보관.
  • 용량이 적으나 처리 속도가 빠름.

Control Unit (제어 장치)

  • 처리할 명령어를 해독 및 실행하며 CPU의 전체적 흐름을 제어.

2023.07.24 - [CS] - [CS] 컴퓨터 시스템 구조 2-2. CPU 참고

6. 컴퓨터 동작 흐름

6-1. 시스템버스

컴퓨터 시스템 내에서 신호를 전송하는 경로로, 모든 장치는 시스템 버스를 통해 데이터를 주고 받음.
메인보드(= 마더보드)에 있음.

종류

  • 제어 버스 (제어신호 전송에 사용)
  • 주소 버스 (메모리나 입출력장치의 주소 전송에 사용)
  • 데이터 버스 (데이터 전송에 사용)

6-2. CPU 동작 흐름

전체(컴퓨터) 동작 흐름

입력장치로 데이터와 명령어 입력받음 → CPU에서 레지스터 및 ALU 통해 데이터와 명령어 처리 → 처리 결과 메모리에 저장하거나 출력장치 통해 출력
인풋과 아웃풋의 전체적인 흐름을 CPU의 Control Unit이 제어함.

CPU 동작 흐름

Fetch(;인출. CPU가 명령어를 가져옴. 명령어를 가리키는 주소는 프로그램 카운터에 들어있음.) → Decode(가져온 명령어 해석) → Execute(연산 또는 메모리의 데이터 읽거나 쓰는 작업 수행)

Comments