CS/컴퓨터 구조

[컴퓨터 구조](7)[컴퓨터 구조 훑어보기]

황올뱀 2025. 1. 15. 16:11

컴퓨터 구조 훑어보기

정보는 비트와 맥락으로 구성된다.
맥락: 같은 비트 패턴이라도 정수, 부동소수점, 기계어 명령 등 다양하게 해석 가능

프로그램 번역 과정(C언어)

  • 전처리 단계: 헤더파일 포함하기, 매크로 처리 등 (앞에 #붙는거 처리 (#include, #define...)) (hello.c -> hello.i)
  • 컴파일 단계: C컴파일러가 어셈블러로 바꿈 (hello.i -> hello.s)
  • 어셈블리 단계: 어셈블러가 기계어로 번역 (hello.s -> hello.o)
  • 링크 단계: 목적파일들 통합해 실행 파일 만듬 (hello.o -> hello(윈도우라면 exe))

컴퓨터의 하드웨어 조직

  • CPU(프로세서): 해독, 실행, 연산, 저장 등의 작업 수행
    • 프로그램 카운터: 작업이 수행되는 메모리의 주소를 가리킨다. (카운터가 가리킴 -> 그 주소에 있는 명령 읽기, 해석 -> 실행 -> 카운터는 다음 명령 가리킴)
    • 레지스터 파일: 워드 크기의 프로세서 레지스터 집합. (프로세서 레지스터: CPU의 프로세서 안에 자료를 보관하는 매우 빠른 저장소)
    • 수식 논리 처리기(ALU)
    • 캐시 메모리: 프로세서가 단기간에 필요로 할 가능성이 높은 데이터를 미리 임시 저장
  • Bus: 데이터 이동하는 도로. 워드 크기로 데이터 전송
  • 주기억장치: 프로그램을 실행하는 동안 데이터와 프로그램을 저장하는 "임시" 저장장치 (끄면 날아감)
  • 보조기억장치: 주기억장치의 확장으로, 데이터가 영구적으로 저장
    (컴퓨터 사용 중엔 램에서 프로그램 돌리다가 저장하면 보조기억장치로 넘어감)
  • 외부 장치: 입출력장치, USB 등등

하드웨어 메모리 성능 (작고, 빠르고, 비싸다 <-> 크고, 느리고, 싸다)

  • 레지스터 (젤 빠름)
  • 캐시
  • 주기억장치
  • 보조기억장치
  • 기타 저장장치 (웹하드 등)
728x90
반응형