Post

2026-04-17 TIL (39일차)

2026-04-17 TIL (39일차)

CS




컴퓨터가 이해하는 정보

명령어는 수행할 동작(명령어)수행할 대상(데이터)으로 구성됩니다. (예: “더하라. 1과 2를”, “출력해라. ‘Hello World’를” 등)

• 데이터

  • 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
  • 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보 자체를 데이터라고 통칭
  • 0과 1만으로 다양한 숫자(정수, 실수)와 문자 데이터를 표현
  • 수행할 데이터(대상)로써 명시되며, 명령어에 종속적인 정보(명령의 대상이자 재료)입니다.

• 명령어

  • 데이터를 활용하는 정보이며 실질적으로 컴퓨터를 움직이게 합니다.
  • CPU는 이 명령어를 이해하고 실행하는 부품입니다.
  • 명령어 사이클 - CPU가 이러한 명령어를 처리하는 순서




• CPU

정보를 읽어 들이고, 해석하고, 실행하는 핵심 부품입니다.

* CPU 구성

  • 산술논리연산장치(ALU, Arithmetic and Logic Unit)
    • 사칙 연산, 논리 연산과 같은 연산을 수행할 회로로 구성되어 있는 일종의 계산기
    • CPU가 처리할 명령어를 실질적으로 연산하는 요소
  • 제어장치(CU, Control Unit)
    • 명령어를 해석해 제어 신호라는 전기 신호를 내보내는 장치
    • 제어신호: 컴퓨터 각각 부품들을 동작 시킬 수 있게 하는 일종의 특별한 전기 신호 (예: 메모리 읽기/쓰기, 입출력 장치 읽기/쓰기, 인터럽트 요청 신호 등).
  • 레지스터(register) 중요
    • CPU 내부의 작은 임시 저장장치 - 데이터와 명령어를 처리하는 과정의 중간값,임시저장값을 저장
    • CPU 내에는 여러 개의 레지스터가 존재하며, 각기 다른 이름과 역할을 수행
    • CPU는 정보 처리 과정에서 거의 반드시 레지스터를 거치므로, 레지스터에 담기는 값을 관찰하면 로우 레벨(Low-Level)에서 CPU 동작을 파악할 수 있습니다.

CPU 빠른 명령어 처리를 위한 기술

멀티코어 CPU, 멀티스레드/멀티프로세서, 명령어 병렬 처리, 파이프라이닝, 슈퍼스칼라, 클럭 신호 등이 연관되어 있습니다.

• 메모리와 캐시 메모리

  • 메인 메모리(main memory)
    • 일반적으로 ‘(메인)메모리’라는 용어는 RAM을 지칭하는 경우가 많음
    • 실행 중인 프로그램을 구성하는 데이터와 명령어를 저장하는 부품 (어떤 프로그램이 실행되려면 반드시 메모리에 있어야 함)
    • 주소(address) - CPU가 원하는 정보로 접근하기 위해서는 주소가 필요 (💡 개발자 Note: C/C++의 포인터 개념과 유사하게 메모리 주소를 통해 접근함, 이유는 빠르게 접근하기 위해서)
    • 휘발성(volatile) - 전원이 공급되지 않을 때 저장하고 있는 정보가 지워지는 특성 (RAM에서 중요한 특성)
      • 메모리(RAM)는 휘발성 저장장치로, 메모리에 저장된 정보는 컴퓨터의 전원이 꺼지면 모두 삭제 (작업 중 저장을 안 하고 전원이 꺼지면 날아가는 원리)
  • 캐시 메모리(cache memory)
    • CPU가 조금이라도 더 빨리 메모리에 저장된 값에 접근하기 위해 사용하는 저장장치 (CPU 내부나 CPU-메모리 사이에 존재).
    • CPU가 자주 사용할 법한 데이터를 미리 저장해 두어, 메모리까지 가는 시간을 단축합니다.

• 보조기억장치

  • 전원이 꺼져도 저장된 정보가 사라지지 않는 비휘발성(non-volatile) 저장장치
  • 보조기억장체에 적재된 보관할 정보를 빠르게 RAM에 적재해주는 것 (저장된 내용을 안정적으로 보관하는거에 있다.)
  • CD-ROM이나 DVD, 하드 디스크 드라이브, 플래시 메모리(SSD, USB 메모리), 플로피 디스크 등
  • 보조기억장치는 보관할 프로그램을 저장
  • RAID - 보조기억장치의 정보를 안정적이고 안전하게 관리/구성하는 기술.

• 입출력장치

  • 입출력장치(input/output device)
    • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
    • 입력장치 - 마우스, 키보드, 마이크 등
    • 출력장치 - 스피커, 모니터, 프린터 등
    • 보조기억장치는 메모리를 보조하는 임무를 수행하는 특별한 입출력장치 (보조기억장치 역시 데이터를 보관하며 메모리를 보조하는 특별한 입출력장치의 일종으로 봅니다.)
    • 주변장치(peripheral device) - 보조기억장치와 입출력장치를 통칭
    • GPU도 입출력장치의 일종으로 볼 수 있습니다.




• 메인 보드와 버스

핵심 부품들(CPU, 메모리, 보조기억장치 등)을 하나로 연결해 주는 요소입니다.

  • 메인 보드 (또는 마더 보드)
    • 컴퓨터의 핵심 부품을 비롯한 여러 부품들을 연결할 수 있는 슬롯과 연결 단자로 구성된 기판 (핵심 부품을 비롯한 여러 부품을 꽂아 연결할 수 있는 슬롯과 단자로 구성된 거대한 판자입니다.)
  • 버스 (Bus)
    • 버스(bus) - 각 컴퓨터 부품들이 정보를 주고받는 통로
      • 시스템 버스(system bus) - 핵심 부품들을 연결하는 가장 중요한 통로로, 사람에 비유하면 척추와 같은 역할을 합니다.




• 저장장치의 계층 구조

저장장치들은 CPU와의 거리, 용량, 성능을 기준으로 피라미드 형태의 계층 구조를 가집니다.

[계층 순서 (CPU와 가까운 순)]

레지스터캐시 메모리메인 메모리(RAM)보조기억장치

  1. CPU와 가까운 저장장치는 빠르고, 멀리 있는 저장장치는 느림
  2. 속도가 빠른 저장장치는 용량이 작고, 가격이 비쌈

피라미드의 위로 올라갈수록 (레지스터 방향):

  • 속도: 빠름
  • 용량: 작음
  • 가격: 비쌈

피라미드의 아래로 내려갈수록 (보조기억장치 방향):

  • 속도: 느림
  • 용량: 큼
  • 가격: 저렴함




Unreal

오브젝트 배치 및 테스트

타이머 시스템 활용

랜덤 퍼즐 생성

챕터 3,4 듣기

This post is licensed under CC BY 4.0 by the author.