컴퓨터 구조

GomHyeok·2024년 10월 18일

📚 컴퓨터 구성

📙 하드웨어

  • 주요 장치 : CPU, RAM, HDD, 마우스 프린터 등
  • 시스템은 버스로 연결되어있으며, 버스는 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 한다.

CPU

  • 주기억장치에서 프로그램 명렁어와 데이터를 읽어 처리하고 명령어 순서를 제어
  • 산술논리연산장치(ALU) : 비교와 연산을 담당
  • 제어장치 : 명령어의 해석과 실행 담당
  • 레지스터 : 속도가 빠른 데이터 기억 장소
  • 기억장치 : 프로그램, 데이터, 연산의 중간 결과 저장 장치 => RAM, ROM도 포함.
  • 입출력장치 : 입력 장치는 컴퓨터 내부로 자료를 입력하는 장치 + 출력장치는 컴퓨터 외부로 표현

시스템 버스

: 하드웨어 구성 요소를 물리적으로 연결하는 선

  • 데어터 버스

    • 중앙처리 장치와 기타 장치 사이에서 데이터를 전달하는 통로
    • 기억, 입출력 장치로 부터 중앙처리로 데이터, 명령어를 보내거나 반대로 보내는 '양방향 버스'
  • 주소 버스

    • 기억장치 주소를 전달하는 통로
    • 중앙처리장치가 주기억장치나 입출력장치로 전달하는 '단방향 버스'
  • 제어 버스

    • 중앙처리 장치가 다른 장치에 제어 신호를 전달하는 통로
    • 읽기 동작과 쓰기 동작을 모두 수행함으로 '양방향 버스'

📙 중앙처리장치 작동 원리

연산 장치

  • 산술연산과 논리연산 수행
  • 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보냄

제어 장치

  • 명령어를 순서대로 실행할 수 있도록 제어하는 장치
  • 주기억장치에서 명령어 꺼내 해독하고, 결과에 따라 명령어 실행에 필요한 제어 신호를 보냄
  • 다른 장치가 보낸 신호를 받아 다음 수행할 동작 결정

레지스터

  • 고석 기억장치로 명령어 주소, 코드, 데이터, 연산 결과 등을 임시로 저장
  • 범용 레지스터 : 연산에 필요한 데이터나 연산 결과를 임시로 저장
  • 특수목적 레지스터 : 특별한 용도로 사용
    • MAR : 메모리 주소 레지스터 -> 주기억장치의 데이터 주소 저장
    • PC : 다음 수행할 명령어 주소 저장
    • IR : 현재 실행 중인 명령어 저장
    • MBR : 메모리 버퍼 레지스터 -> 주기억장치에서 읽어온 데이터 또는 저장할 데이터 임시 저장
      - AC : 연산 결과 임시 저장

CPU 동작과정

  1. 입력받은 데이터 또는 보조기억장치에 저장된 프로그램을 읽어온다.
  2. CPU는 프로그램을 실행하기 위해 저장된 명령어와 데이터를 읽어 처리하고 다시 주기억장치에 저장
  3. 주기억장치는 처리 결과를 보조기억장치에 저장하거나 출력장치로 보냄
  4. 제어장치는 각 장치를 제어

📙 캐시 메모리

  • 장치의 속도 차이에 따른 병목현상을 줄이기 위한 메모리
  • CPU가 데이터를 읽을 때 자주 사용하는 데이터를 캐시 메모리에 저장
  • 속도는 빠르지만 용량이 적고 비싸다 -> 보통 2~3개 사용
    • L1 : CPU 내부, L2 : CPU RAM 사이에 존재, L3 : 메인 보드에 존재 (디스크캐시 -> RAM과 하드 사이에 존재)

동작 원리

  • 시간 지역성 : 반복문이 예시 -> 한번 참초된 데이터는 잠시 후 또 참조될 가능성이 높다
  • 공간 지역성 : 배열이 예시 -> 참조된 데이터 근처에 있는 데이터가 또 사용될 가능성이 높다
  • Cache Miss :
    • Cold Miss -> 해당 메모리 주소를 처음 호출되어 나는 미스
    • Conflict Miss -> 서로 다른 데이터가 같은 캐시 메모리에 할당되어 발생하는 미스
    • Capacity Miss -> 캐시 메모리의 공간이 부족해서 나는 미스

구조 및 작동 방식

  • Direct Mapped Cache
    • 가장 기본적 구조 -> DRAM의 여러 주소가 캐시 메모리의 한 주소에 대응되는 다대일 방식
    • conflict miss가 발생한다는 단점을 가지고 있음.
  • Fully Associative Cache
    - 비어있는 캐시 메모리가 있다면 마음대로 주소 저장
    • 저장은 간단하지만 찾는 것이 어려움
    • 어디 있는지 알 수 없어 모든 캐시에서 검색해야 한다
  • Set Associative Cache
    - Direct + Fully 방식

📙 고정 소수점 & 부동 소수점

  • 고정 소수점 : 소수점이 찍힐 위치를 미리 정해둠
  • 부동 소수점 : 지수의 값에 따라 소수점이 움직이는 방식을 활용
profile
github : https://github.com/GomHyeok/

0개의 댓글