본문 바로가기

개념/기초지식

비전공자도 공부하는 컴퓨터 공학 기초

📌 컴퓨터 = 하드웨어 + 소프트웨어

 

컴퓨터는 하드웨어와 소프트 웨어가 합쳐진 것이다.

하드웨어란 전자 회로 및 기계 장치로 되어 있어 입출력 장치, 중앙처리 장치(CPU), 기억장치 등으로 구성된다.

소프트웨어는 하드웨워 위에서 하드웨어를 제어하며 작업을 수행하는 프로그램이다.

 

이미지 출처: https://www.youtube.com/watch?v=zlT-Lg_QFTA

 


 

📌 기본구성 요소

 

출력장치(I/O)
처리된 데이터를 사람이 이해할 수 있는 형태로 출력하는 물리적인 장치

예시) 모니터, 프린터, 스피커

중앙처리장치(CPU)
CPU = 산술/논리 연산 장치(ALU) + 제어 장치 + 레지스터

제어장치:  각종 장치의 컨트롤 센터. 프로그램에 따라 명령과 제어 신호를 생성하여 장치들의 동작을 제어한다.
레지스터: CPU의 메모리, CPU에서 사용하는 데이터를 일시적으로 저장하는 장소

저장장치
저장장치 = 주 기억 장치 + 보조 기억 장치

주 기억 장치: 프로그램을 수행하기에는 중앙처리장치의 레지스터 용량이 작기 때문에, 주 기억장치에 정보를 저장해 두었다가 필요할 때 읽어들임. 종류론 RAM과 ROM이 존재한다.

보조 기억 장치: 주 기억 장치를 보조하는 역할. 주 기억 장치에 비해 기억된 내용을 읽는 속도는 느리지만, 대용량의 기억이 가능하다. 현재 사용하지 않는 프로그램은 보조 기억장치에 저장된다. 예) 자기디스크 (플로피 디스크), 광디스크(CD, DVD), 플래쉬 메모리 (USB,SSD)

 


 

🧠 컴퓨터의 뇌 CPU

 

중앙처리 장치 CPU(central processinn unit)는 컴퓨터의 중앙에서 연산을 수행하고, 기억장치에 저장되어 있는 명령어들을 수행하는 핵심 부품이다.

 

 CPU의 구조 

이전에 말했듯이,  < CPU = 산술/논리 연산 장치(ALU) + 제어 장치 + 레지스터 > 의 구조로 이루어진다.

 

간단히 말하자면,

산술 논리 장치는 계산을 수행하는 것이고,  제어장치는 시그널을 통해 데이터 흐름을 통제하는 것이며, 레지스터는 CPU 내부의 메모리이다.

 

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

산술적인 연산과 논리적인 연산을 담당하는 장치이다.
덧셈, 곱셈 등과 같은 산술 연산을 수행한다.
부동 소숫 연산장치(FPU)와 정수연산장치, 논리연산(AND, OR)장치 등이 있다.

레지스터
(Register)

중앙처리 장치 내부의 기억장치이다.
종류로는 IR, PC, AC가 있다.

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

제어장치
(Control Unit, CU)

CPU가 자신 및 주변기기를 컨트롤 하도록 해주는 장치이다.

프로그램 계수기, 명령 레지스터, 명령 해독기로 이루어져있다.
-프로그램 계수기(program counter): 프로그램 수행 순서를 제어한다.
-명령 레지스터(instruction register) 현재 수행중인 명령어의 내용을 임시 기억한다.
-명령 해독기(instruction decoder): 명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어신호를 보낸다. 

제어장치의 구현 방식은 고선 배선 제어(Hardwired) 방식과 Micro Program 방식이 있다. 

 

 

 CPU의 기능 

CPU의 기능은 명령어와 데이터에 관련이 있다. 

CPU는 컨트롤 센터기 때문에, 명령을 내리는 것이 주업무다.

그래서 명령어 및 명령어 수행과정과 처리 방식이 CPU에서 중요한 부분을 차지 하고 있다.

 

 

CPU가 다루는 명령어란?

명령어는 시스템이 특정 동작을 수행시키는 작은 단위이며, 코드로 구성되어 있다.

각 명령어의 실행 동작을 구분하여 표현하는 동작 코드(Op-code)와

명령어의 실행에 필요한 자료나 실제 자료의 저장 위치를 의미하는 오퍼랜드(Operand)로 구성된다.

 

 

CPU가 명령을 처리하는 과정

FI   ➡   DI   ➡   EI   ➡   WB
  • 읽기(Fetch Instruction, FI): 메모리에서 명령을 가져오기
  • 해석(Decode Instruction, DI): 명령을 해석하기
  • 실행(Execute Instruction, EI): 명령을 수행하기
  • 기록(Write Back, WB): 수행한 결과를 기록하기

 

CPU가 명령어를 처리하는 방식

이미지 출처: https://circuitdigest.com/article/difference-between-risc-and-cisc-architecture

CISC
(Complex Instruction Set Computer)
RISC
(Reduced Instruction Set Computer)
하나의 기능에 해당하는 하나의 명령이 있음. 컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜서 처리하는 형태의 구조, 단순한 명령을 조합해서 하나의 기능을 수행.
여러 사이클로 명령어 처리 하나의 사이클로 명령어처리
많은 명령어가 메모리를 참조 메모리 Load / Store 명령만 처리
파이프라이닝의 사용이 어려움

파이프라이닝이란? 
한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다
파이프라이닝,슈퍼스칼라의 사용이 가능 

슈퍼스칼라란?
CPU 내에 파이프라인을 여러 개 두어 명령어를 동시에 실행하는 기술이다.
복잡한 마이크로 프로그램 구조를 갖고 있음 복잡한 컴파일러 구조를 갖고 있음

 


 

💿 Memory

컴퓨터에서 말하는 메모리는 기억소자, 즉 반도체를 의미한다.

 

 

메모리 분류별 특성

 

보조 기억장치(CD/DVD, USB 등)와 메모리의 차이는 '휘발성' 이다.

메모리는 시스템이 활성화된 상태에서만 그 값을 기억하고 있고, 시스템이 꺼지면 지워진다.

반면 보조 기억장치는 시스템이 꺼져도 기억하고 있는 값이 휘발되지 않는다.

이 밖에도 저장/읽기 속도에서 메모리와 보조 기억장치는 차이가 난다.

 

아래 그림은 메모리의 종류별로 저장용량(volume), 비트당 성능 내구성 비용(Performance Endurance Cost per bit), 대기시간(Latency,Persistence)를 피라미드 구조로 나타낸 것이다.

 

 

memory hierarchy pyramid

 

아래로 갈 수록 저장 용량은 커지지만, 속도는 떨어진다.(대기시간이 증가) 위로 갈수록 가격은 비싸지는 모습을 확인할 수 있다.

 

 

 

메모리 성능

 

메모리의 속도는 메모리가 CPU와 데이터를 주고받는 시간을 말한다. 

메모리가 CPU와 데이터를 주고받는 것을 엑세스라고 하는데, 이 엑세스의 속도를 측량할 때는 ns(nano-second), 즉 10억분의 1초로 측량한다. 당연히 메모리의 속도가 빠를수록 메모리의 성능이 좋다고 볼 수 있다.

 

 

메모리 성능을 파악하는 속도 기준들

리프레시 시간  
메모리는 일정 시간마다 재충전을 하지 않으면 정보가 사라지는 특성을 갖고 있음,
이 일정시간을 리프레시 시간이라고 함.
메모리에서 한번 읽고 나서 다시 읽을 수 있는 사이 시간을 말함.

메모리 엑세스 시간
데이터를 읽어오라는 명령을 받고 데이터를 읽기 시작하기까지의 시간.
CPU에서 명령어를 처리할 때 명령어가 갖는 주소를 보내고, 그 다음 그 주소에 해당하는 값을 가져오게 되는데, 그때 걸리는 시간을 의미

사이클 시간
사이클 시간 = 리프레시시간 + 메모리 엑세스 시간

메모리 작업이 완료와 동시에 대시 신호를 내놓은 후 다음 신호를 받을 준비가 되었다는 신호를 주기까지의 시간을 의미함. 

 

 

메모리의 종류

 

주기억장치 RAM
(Random Access Memory)

-컴퓨터의 전원이 끊어지면 내용이 휘발됨. (보조 저장 장치필요)

-RAM의 크기가 프로그램 수행 속도에 영향을 줌

-CPU에 직접 접근 가능한 유일한 저장 장치

-종류로는 SRAM과 DRAM이 있음.
SRAM은 리프레시가 필요없고, 전력소모가 적으나 비쌈.
DRAM은 리프레시가 필요하고, SRAM보다 저가이며 많이 사용됨

ROM
(Read Only Memory)

-대부분 읽을 수만 있는 장치로 구성되어 있음. 전원이 끊겨도 내용이 보존됨
보조기억장치 자기 디스크
-원판 표면의 철입자 방향(N/S극)으로 0과 1을 표현.

-플로피 드스크(FDD)와 하드 디스크(HDD)가 있음

광 디스크
-빛의 반사를 이용하여 자료를 읽은 저장 매체

-CD > DVD > 블루레이 디스크로 발전해옴

-차세대 디스크론 테라 디스크나 HVD등이 존재

플레시 메모리
-전자적으로 데이터를 지우고 쓸 수 있는 비휘발성 메모리

-충격에 강하여 휴대용 기기에 널리 쓰임

-USB와 SSD가 있음 (저전력, 저소음, 저중량)