Bit의 개발다이어리
article thumbnail

이번 회차는 익숙한 용어가 많이 보여서 재밌었어요. 벌써 컴퓨터 구조 파트가 끝났다니 신기합니다. 조립컴 맞출 때 봤던 알 수 없었던 컴퓨터 용어들이 이제서야 이해가 되었습니다. 며칠 전 회사에서, 클라우드 인스턴스가 몇 코어, 어떤 메모리로 업그레이드 되었을 때 어떻게 좋아졌는지 바로 이해할 수 있어서 정말 좋았습니다. 혼공스 최고!!! 남은 50%도 열심히 스터디에서 꼼꼼히 읽어봐야겠어요.

Chapter 06 메모리와 캐시 메모리

주기억장치는 RAM 또는 ROM이 있으며, 주로 메모리를 RAM이라고 합니다.

RAM : 휘발성 저장 장치. (끄면 내용이 사라진다) 실행할 대상을 저장합니다. 용량이 클 수록 동시 실행 유리

- DRAM : 저장한 값 동적으로 사라집니다. (재활성화 필요) 저렴, 집적도 높음, 대용량 설계용이

- SRAM : 저장된 데이터 변함 없습니다. 속도 빠름, 비쌈, 전력 큼, 캐시메모리에서 이용

- SDRAM : 클럭 신호와 동기화 된(클럭 신호에 맞춰 CPU와 정보를 주고받는) 발전된 DRAM

- DDR SDRAM : 대역폭을 넓혀 속도가 빠른 SDRAM.

다음 순서로 두 배씩 대역폭이 늘어납니다.

SDR SDRAM -> DDR SDRAM -> DDR2 SDRAM -> DDR3 SDRAM -> DDR4 SDRAM

 

- 메모리의 주소는 두 종류로 나뉩니다.

물리주소 : 정보가 실제로 저장된 하드웨어상의 주소

논리주소 : 실행중인 프로그램에 각각 부여된 0번지부터 시작하는 주소

CPU와 프로그램이 이해할 수 있도록 MMU(메모리 관리 장치)가 베이스 레지스터 값을 더하여 실제 주소를 구하게 됩니다.

CPU가 접근하려는 논리주소가 한계 레지스터가 저장한 값보다 크면 인터럽트(트랩)을 발생시켜 실행중단합니다. (다른 프로그램 주소 공간 침범 방지)

 

캐시 메모리 : CPU연산보다 메모리에 접근하는 시간이 느린것을 극복하도록 돕는 역할. CPU와 메모리 사이에 위치. SRAM기반

참조 지역성의 원리(최근에 접근한 메모리에 다시 접근하는 경향, 접근한 메모리 공간 근처를 접근하려는 경향)에 따라 CPU가 사용할 법한 대상을 예측해서 저장하는데, 적응하면 캐시 히트, 놓치면 캐시 미스.

저장 장치 계층 구조 : CPU에 얼마나 가까운지 계층적으로 표현. 위쪽일수록 속도가 빠르고, 용량이 적고, 가격이 비쌉니다.

레지스터

L1 캐시

L2 캐시

L3 캐시

주기억장치

보조기억장치

Chapter 07 보조기억장치

보조기억장치 : 비휘발성 저장 장치. 보관할 대상을 저장합니다. 대표적으로 하드 디스크와 플래시 메모리가 있습니다.

하드 디스크 : 자기적인 방식으로 데이터 저장.

- 플래터 : 실질적으로 데이터가 저장되는 원판

- 스핀들 : 플래터 회전시키는 요소

- RPM : 스핀들이 플래터를 돌리는 속도. 분당 회전수

- 헤드 : 플래터를 대상으로 데이터 읽고 쓰는 구성요소. 디스크암에 부착되어 있습니다.

- 트랙 : 플래터를 여러 동심원으로 나누었을 때, 하나의 원.

- 섹터 : 트랙의 한 조각. 하드 디스크의 가장 작은 전송 단위

- 블럭 : 하나이상의 섹터 묶음

- 실린더 : 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위.

 

하드 디스크가 데이터에 접근하는 시간 3종류(탐색 시간, 회전 지연, 전송 시간)은 성능에 큰 영향을 미칩니다.

플래시 메모리 : 읽기 쓰기 단위는 페이지, 삭제 단위는 블록, 덮어쓰기 불가능(쓰레기 값 정리를 위해 가비지 컬렉션으로 공간 정리)

- 셀 : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위. SLC(1셀에 1비트. 수명길고 빠르지만 용량대비 비쌈), MLC(1셀에 2비트), TLC(1셀에 3비트. 수명과 속도가 짧지만 저렴)

- 구성요소의 단위

셀 -> 페이지 -> 블록 -> 플레인 -> 다이

 

RAID : 하드디스크나 SSD 사용기술. 성능과 안전 면에서 여러 개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술. RAID 구성방법을 RAID 레벨이라고 합니다.

- RAID 0 : 단순히 나눠 저장, 빠르나 안전하지 않습니다.

- RAID 1 : 복사본 만드는 방식.(미러링) 복구가 간단하나 용량 부족

- RAID 4 : 복사본을 만들며, 오류 검출하고 복구하기 위한 정보를 따로 저장. 병목 현상 발생가능

- RAID 5 : 패리티 정보 분산 저장

- RAID 6 : 서로 다른 두 개의 패리티를 저장

Chapter 08 입출력장치

장치 컨트롤러 : 수많은 입출력장치를 규격화 해야하며, CPU와 메모리에 비해 입출력장치의 데이터 전송률이 낮기 때문에 필요합니다.

입출력 장치가 컴퓨터에 바로 연결되지 않고 이곳에 연결됩니다.

입출력 제어기, 입출력 모듈이라고 불리기도 합니다.

- 대표적인 기능

1. CPU와 입출력장치 간의 통신 중개(번역가 역할)

2. 오류 검출(입출력장치 문제 확인)

3. 데이터 버퍼링(버퍼를 이용해 전송률을 맞춥니다.)

- 내부 레지스터

데이터 레지스터 : CPU와 입출력장치가 주고받을 데이터가 담기는 곳

상태 레지스터 : 입출력장치 상태정보

제어 레지스터 : 입출력장치 수행할 내용

 

장치 드라이버 : 장치 컨트롤러의 동작 감지 및 제어. 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램입니다.

숙제

profile

Bit의 개발다이어리

@bit비트

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!