[CS] 컴퓨터 구조 - CPU, Memory

FE 개발자 신상오·2022년 7월 31일
0

CS

목록 보기
1/5
post-thumbnail

📚 컴퓨터 구조

하드웨어와 소프트웨어가 합쳐진 형태

  • 하드웨어
    전자 회로 및 기계 장치로 되어 있어 입출력장치, 중앙처리장치(CPU), 기억장치 등으로 구성
  • 소프트웨어
    하드웨어 위에서 하드웨어를 제어하며 작업을 수행하는 프로그램

📗 컴퓨터의 기본 구성 요소

1. 입력 장치
컴퓨터가 처리할 수 있는 형태로 데이터와 명령을 받아들이는 물리적 장치
키보드, 마우스 등 컴퓨터와 연결해 무언가를 입력할 수 있는 장치를 말한다

2. 출력 장치
처리된 데이터를 사람이 이해할 수 있는 형태로 출력하는 물리적 장치
모니터, 프린터 등이 있음

3. 중앙처리장치 CPU(central processing unit)

4. 저장 장치 Memory

CPU와 Memory는 밑에서 자세하게 다룰 예정

📗 CPU

각종 연산을 수행하고 기억장치에 기억되어있는 명령어들을 수행하는 컴퓨터 시스템을 이루는 핵심 부품

CPU 구조

산술논리 장치 ALU(Arithmetic Logic Unit)

가산기, 보수기, 누산기, 기억 레지스터, 데이터 레지스터 등으로 구성
캐시나 메모리로부터 읽어 온 데이터는 레지스터에 저장되며
숫자의 산술연산과 배타적 논리합, 논리곱 같은 논리연산을 계산을 담당하는 장치
(배타적 논리합 : true 연산, 배타적 논리곱 : and 연산)

레지스터 (register)

CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치
산술 연산 논리장치에 의해 사용되는 범용 레지스터 (General-Purpose Register)와 PC 등 툭수 목적에 사용되는 전용 레지스터(Dedicated-Purpose Register)로 구분

  • 레지스터의 종류
    • IR(Instruction Register) 현재 수행 중에 있는 명령어 부호 저장하는 레지스터
    • PC (Program Counter) : 명령이 저장된 메모리의 주소를 가리키는 레지스터
    • AC (Accumulater) : 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터

제어장치 CU(control unit)

입출력 장치 간 통신 및 조율을 제어, 명령어들을 읽고 해석하며 데이터 처리를 위한 장치 즉, CPU가 자신 및 주변기기들을 컨트롤하는 장치로

  • 프로그램 계수기 : 프로그램의 수행 순서를 제어
  • 명령 레지스터 : 현재 수행중인 명령어의 내용을 임시로 기억
  • 명령 해독기 : 명령 레지스터에 수록된 명령을 해독해 수행될 장치에 제어 신호 전송
제어장치 구현 방식

CPU의 기능

CPU의 기능은 명령어와 데이터에 관련
명령어 인출 및 해독은 모든 명령어들에 대하여 공통적으로 수행하며
기억장치로부터 명령어를 읽어옴
데이터 인출 및 처리, 쓰기와 같은 것들은 명령어에 따라 필요할 때만 수행

명령어

시스템이 특정 동작을 수행시키는 작은 단위

  • 동작 코드 : 각 명령어의 실행 동작을 구분하여 표현
  • 오퍼랜드 : 명령어의 실행에 필요한 자료나 실제 자료의 저장 위치를 의미

명령어 수행 과정

  1. 읽기 FI (Fetch Interuction) : 메모리에서 명령 가져옴
  2. 해석 DI (Decode Instruction) : 명령 해석
  3. 실행 EI (Execute Instruction) : 명령 수행
  4. 기록 WB (Write Back) : 수행 결과 기록

명령어 처리 방식

  • CISC (Complex Instruction Set Computer)
    하나의 기능에 해당하는 하나의 명령이 있는 개념의 처리 방식
    • 여러 사이클로 명령어 처리
    • 많은 명령어가 메모리를 참조함
    • 파이프라이닝 사용 어려움
    • 복잡한 마이크로 프로그램 구조
  • RISC (Reduced Instruction Set Computer)
    컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜 처리하는 형태의 처리 방식
    • 하나의 사이클로 명령어 처리
    • 메모리 Load / Store 명령만 처리
    • 파이프라이닝, 슈퍼스칼라 사용 가능
    • 복잡한 컴파일러 구조

📗 Memory

전류를 흐르게하거나 흐르지 않게하는 반도체의 특성을 이용해 임시적 내용들을 기억하는 장치

메모리 분류별 특성

보조 기억장치와 메모리의 차이는 휘발성, 저장/읽기 속도에 있다
메모리는 시스템이 활성화 된 상태에서 값을 기억하고 있지만 시스템이 꺼지면 지워짐
반면에 보조 기억장치는 시스템 꺼져도 기억하고 있는 값이 휘발되지 않음

메모리 성능

액세스 : CPU와 데이터를 주고받는 시간 (단위 ns : 10억분의 1초)

  • 리프레시 시간
    메모리는 일정 시간마다 재충전 시간 필요, 메모리에서 한번 읽고 다시 읽을 수 있는 사이 시간을 말함
  • 메모리 액세스 시간
    CPU에서 명령어 처리하면서 명령어 주소를 보내는데 CPU에 그 주소에 해당하는 값을 가져오는데 걸리는 시간
  • 사이클 시간
    리프레시 시간 + 메모리 액세스 시간

메모리 종류

RAM, ROM / 자가디스크, 광디스크, 플래시 메모리

1. 주기억장치

RAM(Random Access Memory)

  • 전원이 끊어지면 내용이 휘발되기 때문에 보조 저장 장치 반드시 필요 CPU에서 직접 접근 가능한 유일한 저장 장치
  • SRAM : 리프레쉬 불필요, 전력 소모 적음 ➡️ 고가
  • DRAM : 리프레쉬 필요 ➡️ 저가
    ROM (Read Only Memory)
  • 읽을 수만 있는 장치로 구성, 전원이 끊겨도 내용 보존

2. 보조기억장치

자가 디스크

  • 원판 표면의 철 입자 방향으로 0,1 표현
  • 플로피 디스크와 하드 디스크 존재

광 디스크

  • 빛의 반사를 이용하여 자료 읽어내는 저장 매체
  • 1새대 CD, 2세대 DVD, 3세대 블루레이 디스크, 차세대 테라디스크와 HVD

플래시 메모리

  • 전자적으로 데이터 쓰고 지우는 비휘발성 메모리
  • USB, SSD 있음

캐시 메모리

CPU간 데이터 속도 향상을 위한 중간 버퍼 역할
즉, 빠른 CPU 처리속도와 상대적으로 느린 메인 메모리에서의 속도차이 완충해주는 역할

캐시 메모리 성능 결정 요소

캐시 메모리는 메인 메모리의 일정 블록 사이즈 데이터를 담아 두었다가
CPU에 워드 사이즈만큼의 데이터를 전송
블록 사이즈, 워드 사이즈가 크다면 그만큼 Cache의 HitRatio 비율이 높아진다

Hit Ratio : CPU가 필요한 데이터가 Cache에 있을 확률

profile
주간 회고용 블로그입니다 (개발일지와 정보글은 티스토리에 작성합니다.)

0개의 댓글