CPU
CPU란?
- central processing unit : 중앙 처리 장치
- 컴퓨터 시스템을 통제하고 프로그램 연산 실행, 처리
- 가장 핵심적인 컴퓨터 제어장치 혹은 그 기능을 내장한 칩
- 메모리에 저장된 명령어를 읽고, 해석하고 실행하는 칩
CPU의 구성

Registers
register
ALU
ALU (Arithmetic Logic Unit)
- 컴퓨터 내부에서 진행되는 계산을 수행하는 산술 논리 연산 장치
- 산술연산, 논리연산 등 여러 연산을 수행함

Control Unit
control unit
명령어를 순서대로 호출 및 해독한 후 제어 신호를 발생시켜 컴퓨터의 각 장치를 동작하도록 하는 장치
- 제어신호 : 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호
- 제어장치가 하는일
- 입력된 데이터를 기억장치에 저장
- 기억장치에 있는 데이터를 연산 장치로 이동
- 연산 왼료기 다시 기억장치로 이동
- 기억장치에 저장된 데이터를 출력장치로 이동시켜서 출력
클럭(clock) 신호
클럭이란
컴퓨터의 부품을 움직일 수 있게 하는 시간 단위
- 클럭 신호를 받아들여 컴퓨터의 모든 부품을 일치된 시간에 움직일 수 있도록 함
- 일정한 주기로 신호를 발생시켜 컴퓨터 시스템을 동기화 시킴
- 클럭의 주기에 따라 한클럭마다 일어나는 동작이 존재함.
- 클럭 신호를 제어장치가 받아들이는 정보 중 하나는 해석할 명령어.
- 클럭 주기에 따라 명령어의 실행이 여러 클럭에 걸쳐 진행 될 수 있음.
- 이렇게 함으로 여러 단계로 이루어진 명령어를 효율적으로 처리 가능
- 클럭 신호가 빠르게 반복되면 cpu는 그만큼 빠른 박자에 맞춰 움직임 (속도는 hz 단위로 측정됨)

MMU(Memory management unit)
MMU
논리주소와 물리주소간의 변환을 담당
- 논리주소 : 실행중인 프로그램 각각에게 부여된 0번지 부터 시작되는 주소 (우리가 리눅스 상에서 보는 주소)
- 물리주소 : 정보가 실제로 ram에 저장된 하드웨어상의 주소

멀티코어
- cpu를 여러개 사용하는 것
- 코어가 몇개냐에 따라 명칭이 달라짐

메모리
메모리 속도

RAM
RAM
프로그램이 실행되는 동안 필요한 정보를 저장하는 휘발성 컴퓨터 메모리
- 읽고 쓰기가 가능하며 응용프로그램, 운영체제 kernel등을 불러와 cpu가 작업할 수 있도록 하는 기억장치
- 휘발성 저장장치로 전원을 끄면 RAM의 저장된 명령어와 데이터는 날라감
- 반대로 보조기억장치(SSD, HDD)는 비휘발성으로 저장버튼을 누른다는 건 ram -> SSD로 보낸다는 것을 말함
RAM의 종류
1) DRAM (Dynamic RAM)
- 저장된 데이터가 동적으로 사라지는 RAM . 즉 시간이 지나면 사라짐
- 데이터 소멸을 막기 위해 일정 주기로 데이터를 재활성화 해야함.
- 메모리로 사용
2) SRAM (Static Ram)
- 전원만 꺼지지 않으면 데이터가 사라지지 않음
- 일반적으로 DRAM보다 높은 성능을가짐
- 대 용량으로 만들어질 필요는 없지만 속도가 빨라야하는 저장장치인 캐시 메모리에 사용됨
- 집적도가 낮아서 대용량으로 설계하기 힘듦
3) SDRAM(Synchronous Dynamic RAM)
- 클럭신호에 동기화된 발전된 형태의 DRAM
- 클럭 타이밍에 맞춰 cpu와 정보를 주고받을 수 있음
4) DDR-SDRAM (Double Data Rate SDRAM)
- SDRAM의 대역폭을 넓혀 속도를 빠르게 만든 것
- 대역폭 : 데이터를 주고받는 길의 너비를 ㅡ이미함
- 전송 속도가 두배 가량 빠름
- DDR에 숫자가 붙을수록 대역폭이 두배씩 증가
RAM 구조

- Kernel Space
- Kernel이 올라가 있는 공간
- 여기에 접근하지 말기
- 프로세스들이 메모리 주소를 할당받아서 공간을 차지함 ( kernel이 지정)
프로세스 구성
Cache 메모리
캐시메모리
빠른 응답 시간을 위해 자주 엑세스 하는 정보를 저장하는데 사용되는 데이터 저장소 유형
- L1, L2, L3 종류가 있으며 이들은 없을수도 cpu안에, 밖에 있을 수도 있음
- 이는 물리적 메모리 장치이다.
- cpu와 메인 메모리 사이의 존재함

보조기억 장치
- 보조기억 장치에는 하드디스크와 플레시 메모리로 나뉨
- 하드디스크 : 핀이 돌아가면서 Data 에 접근하는 방식
- 플레시 메모리
- SSD, USB 등
- 빛의 속도로 주소에 접근하며 전기적인 방식을 활용
- 하드 디스크보다 빠름
RAID
- Redundant Array of Independent Disks
RAID
여러개의 보조기억 장치를 하나의 장치처럼 사용하는 기술
1) RAID 0
- 스트라이프 : 줄무늬처럼 분산되어 저장된 데이터
- 스트라이핑 : 줄무니처럼 분산하여 데이터를 저장하는 것
- 장점 : 데이터를 읽고 쓰는 속도가 빨라짐
- 단점 : 저장된정보가 안전하지않음 / 드스크 하나만 문제가 생겨도 다른 디스크의 정보를 읽는것도 문제가 발생 가능

2) RAID 1
- 0의 단점을 보완하기 위해 나온 방법으로 복사본을 만드는 방식을 사용해 미러링 이라고도 부름
- 장점 : 복구가 간단
- 단점 : 데이터를 쓸때 원본, 복사본 두군데에 사용하기 떄문에 0보다 느림
- 사용가능한 용량이 적어짐

3) RAID 4
- RAID 1처럼 복사본을 만드는 것이 아니라 오률를 검출하고 복구하기 위한 정보를 저장하는 장치를 두는 구성방식
- 피리티 비트 : 오류를 검출하고 복구하기 위한 정보
- 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고 오류가 있다면 복구함.
- 장점 : RAID 1보다 적은 하드디스크로도 데이터를 안전하게 보관 가능
- 단점 : 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게 되서 패리티 저장 장치에 병목현상 발생

5) RAID 5
- 4와 같이 패리티 정보를 저장하되, 분산하여 저장함
- 장점 : 4에서의 병목현상 해결
- 쓰기 속도가 떨어짐

6) RAID 6
- 기본 구성은 5와 동일하나, 서로 다른 두개의 패리티를 두는 방식
- 장점 : 4,5보다 안전함
- 단점 : 5보다 느림
