본문 바로가기
코딩

컴퓨터 공학 기초 1

by Frontend 2022. 8. 1.

오늘은 명언 하나를 시작으로 블로깅을 해보고자 한다.

 

위대한 것으로 향하기 위해 좋은 것을 포기하는 걸 두려워하지 마라
- 존 록펠러 -

 


1-1. 컴퓨터의 구조

컴퓨터는 하드웨어와 소프트웨어가 결합된 형태로서, 기본적으로 다음과 같은 장치들로 구성되어 있다 :

  • 입력 장치(Input)
- 다양한 물리적인 장치가 존재한다.
- 예시 : 키보드, 마우스, 스캐너, 타블렛 등
  • 출력 장치(Ouput)
- 처리된 데이터를 사람이 이해할 수 있는 형태로 출력하는 물리적인 장치
- 예시 : 모니터, 프린터 등
  • 중앙처리장치(CPU)
크게 다음으로 구성되어 있다 :
- 산술/논리 연산 장치(ALU) : 말 그대로 덧셈을 수행하는 연산 장치.
- 제어 장치 : 명령과 제어 신호를 생성하여 장치들의 동작을 제어.
- 레지스터 : CPU의 내부 메모리. 데이터를 일시적으로 저장.
  • 저장 장치
크게 다음으로 분류된다 :
- 주 기억 장치 :
     . 일차 기억 장치.
     . 레지스터의 용량이 작으므로 정보를 저장해놨다가 필요할 때 읽어들이는 역할.
     . RAM과 ROM으로 구성
   
- 보조 기억 장치 :
     . 주 기억 장치를 보조하는 역할.
     . 속도는 느리지만 대용량의 기억이 가능.
     . 현재 사용하지 않는 프로그램이 저장.
     . 자기 디스크(플로피 디스크, 하드 디스크), 광 디스크(CD, DVD), 플래쉬 메모리(USB, SSD) 등이 이에 해당.

 

 

1-2. 중앙처리장치(CPU)

CPU의 구조

  • 산술/논리 연산 장치(Arithmetic Logic Unit, ALU)
    • 산술 및 논리 연산을 담당하는 장치
    • 레지스터에 저장된 데이터를 이용하여 연산을 수행.
  • 레지스터
    • CPU 내부의 기억장치
    • 종류 : 
      • IR (Instruction Register) : 현재 수행 중에 잇는 명령어 부호를 저장하고 있는 레지스터.
      • PC (Program Counter) : 명령이 저장된 메모리의 주소를 가리키는 레지스터.
      • AC (Accumulator) : 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터.
  • 제어장치(Control Unit, CU)
    • CPU 및 주변기기를 제어하는 장치
    • 다음으로 구성되어 있다 : 
      • 프로그램 계수기(program counter) : 프로그램 수행 순서를 제어.
      • 명령 레지스터(instruction register) : 명령어의 내용을 임시 기억.
      • 명령 해독기(instruction decoder) : 명령을 해독하여 해당 장치에 제어신호를 전송.
    • 구현 방식 : 
      • 고정 배선 제어(Hardwired)
      • Micro Program

CPU의 기능

명령어를 기반으로 명령어를 수행하고 처리한다.

  • 명령어
    • 시스템이 특정 동작을 수행시키는 작은 단위
    • 동작코드와 오퍼랜드(실행에 필요한 자료나 실제 자료의 위치) 코드로 구성
  • 명령어 수행
    • 명령어 처리 과정 :
 FI (읽기) -> DI (해석) -> EI (실행) -> WB (기록)
  • 명령어 처리
    • 명령어 처리 방식 :
      • RISC : 컴퓨터 내부적으로 사용하는 명령어 세트를 단순화시켜 처리하는 형태. 단순한 명령을 조합해서 하나의 기능을 수행.
      • CISC : 하나의 기능에 해당하는 하나의 명령이 존재.

 

 

1-3. 메모리 (저장 장치, 기억 장치)

  • 저장 장치.
  • '휘발성'을 기준으로, 주 기억 장치(메모리)와 보조 기억 장치로 분류 가능 :
    • 주 기억 장치 : 시스템이 꺼지면 기억하고 있는 값이 사라짐.
    • 보조 기억 장치 : 시스템이 꺼져도 기억하고 있는 값이 휘발되지 않음.

출처 : 코드스테이츠

  • 레지스터에서 처리하지 못한 것들은 밑으로 내려보내서 하위 메모리들이 처리한다.

성능

  • 속도, 즉 'CPU와 데이터를 주고 받는 시간'이 빠를수록 성능이 좋다고 말한다. 이를 액세스라 부르며 단위는 ns(nano-second).
  • 리프레시 시간 : 메모리가 재충전하는 시간으로서, 메모리에서 한번 읽고 나서 다시 읽게 되기까지의 사이 시간을 일컫는다.
  • 메모리 액세스 시간 : 명령을 받고 데이터를 읽기 시작하기까지의 시간. 즉, CPU에 주소에 해당하는 값을 가져오는데 걸리는 시간.
  • 사이클 시간 = 리프레시 시간 + 메모리 액세스 시간

종류

  • 주 기억 장치(RAM, ROM)
- RAM(Random Access Memory)
전원이 꺼지면 값이 휘발된다.
램의 크기는 프로그램의 수행 속도에 영향을 준다.
CPU에서 직접 접근이 가능한 유일한 저장 장치이다.

- ROM(Read Only Memory)
읽을 수만 있는 장치
전원이 꺼져도 값이 보존된다.
  • 보조 기억 장치(자기 디스크, 광디스크, 플래시 메모리)
- 자기 디스크
플로피 디스크(FDD), 하드 디스크(HDD) 등이 이에 해당.
디스크 드라이브는 자기 디스크로부터 데이터를 읽는 주변 장치를 의미.

- 광 디스크(Optical Disc)
빛의 반사를 이용하여 자료를 읽어내는 저장 매체.
1세대 : CD
2세대 : DVD
3세대 : 블루레이 디스크

- 플래시 메모리
USB, SSD가 이에 해당
비휘발성 메모리

캐시 메모리

  • CPU 내 또는 외부에 존재하는 메모리.
  • 주 기억 장치와 CPU 사이에 존재하며 데이터 속도 향상을 위한 중간 버터 역할을 한다.
  • (빠른 CPU의 처리 속도와 상대적으로 느린 주 기억 장치의 속도차를 극복하는 완충 역할)
  • 캐시 메모리는 물리적 장치.

'코딩' 카테고리의 다른 글

컴퓨터 공학 기초 3  (0) 2022.08.01
컴퓨터 공학 기초 2  (0) 2022.08.01
[React] 코드 분할(Code spliting)  (0) 2022.07.31
[React] Custom Hooks  (0) 2022.07.31
React Hooks  (0) 2022.07.28