마지막챕터 : 컴퓨터
[ 소통을 원하지는 않습니다 ]
#한계 레지스터 (1)
[혼공컴운] 3주차_컴퓨터 구조+운영체제 06장 ~ 08장

Chapter 06 메모리와 캐시 메모리

06-1 RAM의 특징과 종류

- RAM(Random Access Memory)은 휘발성 저장 장치(Volatile memory)이고, 보조기억장치는 비휘발성 저장 장치(Non-volatile memory)입니다. 

- DRAM(Dynamic RAM) 시간이 지나면 저장된 데이터가 점차 사라지는 RAM이고, SRAM(Static RAM)은 시간이 지나도 저장된 데이터가 사라지지 않는 RAM입니다. 

- SDRAM(Synchronous Dynamic RAM)은 클럭과 동기화된 DRAM입니다. 

- DDR SDRAM(Double Data Rate SDRAM)은 SDR SDRAM(Single Data Rate SDRAM)에 비해 대역폭이 두 배 넓습니다.

 

06-2 메모리의 주소 공간

- 물리 주소(Physical address)는 메모리 하드웨어상의 주소이고, 논리 주소(Logical address)는 CPU와 실행 중인 프로그램이 사용하는 주소입니다. 

- MMU(Memory Management Unit)은 논리 주소를 물리 주소로 변환합니다. 

- 베이스 레지스터(Base register)는 프로그램의 첫 물리 주소를 저장합니다. 

- 한계 레지스터(Limit register)는 실행 중인 프로그램의 논리 주소의 최대 크기를 저장합니다. 

 

06-3 캐시 메모리

- 저장 장치 계층 구조(Memory hierarchy)는 각기 다른 용량과 성능의 저장 장치들을 계층화하여 표현한 구조입니다. 

- 캐시 메모리(Cache memory)는 CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위한 저장 장치입니다. 

- 캐시 적중률(Cache hit ratio)이 높으면 CPU의 메모리 접근 횟수를 줄일 수 있습니다. 

- 캐시 메모리는 참조 지역성의 원리(Locality of reference, principle of locality)에 따라 데이터를 예측하여 캐시 적중률을 높입니다. 

 

 

 

 

Chapter 07 보조기억장치

07-1 다양한 보조기억장치(Secondary Storage)

- 하드 디스크의 구성 요소에는 플래터, 스핀들, 헤드, 디스크 암이 있습니다. 

- 플래터는 트랙과 섹터로 나뉘고, 여러 플래터의 동일한 트랙이 모여 실린더를 이룹니다. 

- 하드 디스크의 데이터 접근 시간(Data Access Time)은 크게 탐색 시간(Seek time), 회전 지연(Rotational latency), 전송 시간(Transfer time)으로 나뉩니다. 

- 플래시 메모리(Flash memory)는 한 셀에 몇 비트를 저장할 수 있느냐에 따라 SLC(Single Level Cell), MLC(Multiple Level Cell), TLC(Triple Level Cell)로 나뉩니다. 

- 플래스 메모리의 읽기와 쓰기는 페이지 단위로, 삭제는 블록 단위로 이루어집니다. 

 

07-2 RAID의 정의와 종류

- RAID(Redundant Array of Independent Disk)란 데이터의 안전성 혹은 높은 성능을 위해 여러 하드 디스크나 SSD(Solid State Drive)를 마치 하나의 장치처럼 사용하는 기술입니다. 

- RAID 0는 데이터를 단순히 병렬로 분산하여 저장하고, RAID 1은 완전한 복사본을 만듭니다. 

- RAID 4는 패리티를 저장한 장치를 따로 두는 방식이고, RAID 5는 패리티를 분산하여 저장하는 방식입니다. 

- RAID 6는 서로 다른 두 개의 패리티를 두는 방식입니다. 

 

** RAID 2와 3은 잘 안쓴다고 책에 "note"로 씌여 있습니다. 

** RAID 0, 1, 4, 5, 6 레벨은 이 책에 그림으로 이해하기 쉽게 잘 설명되어 있습니다. 

 

 

 


Chapter 08 입출력장치

08-1 장치 컨트롤러와 장치 드라이버

- 입출력장치는 장치 컨트롤러(Device controller)를 통해 내부와 정보를 주고 받습니다. 

- 장치 드라이버(Device driver)는 장치 컨트롤러가 컴퓨터 내부와 정보를 주고 받을 수 있게 하는 프로그램입니다. 


08-2 다양한 입출력 방법
- 프로그램 입출력(Programmed I/O)은 프로그램 속 명령어로 입출력 작업을 하는 방식입니다. 

- 메모리 맵 입출력(Memory-mapped I/O)는 메모리에 접근하기 위한 주소 공간과 입출력 장치에 접근하기 위한 주소 공간을 하나의 주고 공간으로 간주하는 입출력 방식입니다. 

- 고립형 입출력(Isolated I/O)은 메모리에 접근하기 위한 주소 공간과 입출력장치에 접근하기 위한 주소 공간을 별도로 분리하는 입출력 방식입니다. 

- 인터럽트 기반 입출력은 인터럽트로써 입출력을 수행하는 방법입니다. 

- DMA 입출력은 CPU를 거치지 않고 메모리와 입출력장치 간의 데이터를 주고 받는 입출력 방식입니다. 

- 입출력 버스는 입출력장치와 컴퓨터 내부를 연결 짓는 통로로, 입출력 작업 과정에서 시스템 버스 사용 횟수를 줄여줍니다. 

 

 

 

[기본 숙제]

185쪽 확인 문제 3번.

3. 다음 설명을 읽고 무엇에 대한 SDRAM에 대한 설명인지 DRAM에 대한 설명인지 쓰세요.

보기: SDRAM, DRAM

● 주로 캐시 메모리로 활용됩니다. ① SRAM

● 주로 주기억장치로 활용되니다. ② DRAM

● 대용량화하기 유리합니다. ③ DRAM

● 집적도가 상대적으로 낮습니다. ④ SRAM

 

** 오타로 추측되는 곳. 

"무엇에 대한 SDRAM에 대한 설명인지" -> "무엇이 SRAM에 대한 설명인지"

"보기: SDRAM, DRAM" -> "보기: SRAM, DRAM"

SDRAM(Synchronous Dynamic RAM)이어서 SRAM과 관련 없다고 책에도 써 있고, 답지에도 SRAM, DRAM으로 씌여 있음.

 

205쪽 확인 문제 1번.

1. 다음 보기에 있는 저장 장치들로 저장 장치 계층 구조 도식도를 채우세요.

출처: 혼자 공부하는 컴퓨터 구조 + 운영체제. 한빛미디어

 

레지스터   ② 캐시 메모리   ③ 메모리   ④ 보조저장장치  

 

** 예시는 보조기억장치, 답지는 보조저장장치. 현재 보고 있는 책은 2022년 8월 16일 초판 발행본인데, 최근 나온 책들은 많이 수정됐을 것 같다. 

 

 

 

[추가 숙제] 

Ch.07(07-2) RAID의 정의와 종류를 간단히 정리해 보기

 

RAID(Redundant Array of Independent Disks)는 여러 저장 장치를 결합하여 데이터 복원력 및 성능을 향상시키기 위해 사용하는 데이터 저장 기술입니다. RAID를 통해 데이터의 중복성을 제공하고, 여러 디스크에 데이터를 분산 저장함으로써 성능을 개선할 수 있습니다. RAID는 주로 서버와 스토리지 시스템에서 사용됩니다.


 1. RAID 0 (스트라이핑)
- 구조: 데이터를 여러 디스크에 분산 저장
- 주요 용도: 속도가 중요한 상황에서 적합

 2. RAID 1 (미러링)
- 구조: 동일한 데이터를 두 개의 디스크에 저장
- 주요 용도: 데이터 안전성이 중요한 시스템에서 사용

 3. RAID 2
- 구조: 비트 단위로 스트라이핑하고, 에러 검출 및 수정용 ECC(오류 수정 코드)를 사용
- 주요 용도: 현대에는 거의 사용되지 않음

 4. RAID 3
- 구조: 바이트 단위로 스트라이핑하고, 전용 패리티 디스크에 저장
- 주요 용도: 대규모 데이터 전송 및 스트리밍에서 사용

 5. RAID 4
- 구조: 블록 단위로 스트라이핑하고, 전용 패리티 디스크에 저장
- 주요 용도: 이전 RAID 방법과 유사하나, 성능상 단점이 있음

 6. RAID 5
- 구조: 블록 단위로 스트라이핑하고, 패리티 정보를 여러 디스크에 분산 저장
- 주요 용도: 중간 정도의 성능과 높은 데이터 보호를 원하는 경우

 7. RAID 6
- 구조: RAID 5와 유사하지만, 두 개의 패리티 블록을 사용
- 주요 용도: 높은 신뢰성이 요구되는 시스템

 8. RAID 10 (1+0)
- 구조: RAID 1과 RAID 0의 결합 (미러링과 스트라이핑)
- 주요 용도: 높은 성능과 데이터 안전성을 모두 요구하는 환경

 

이외에도 여러 RAID 레벨들이 공식, 비공식적으로 존재한다고 합니다. 

 

** 못 보던 용어들을 접할 수 있어서 재미있었습니다. 책을 읽다가 시간 지역성(Temporal locality)과 공간 지역성(Spatial locality)에 대해 조사하면서 이해도를 높일 수 있어서 좋았습니다. 메인보드 부품들의 역할이 많아진 듯 한데, 시간될 때 한 번 봐둬야 할 것 같네요. 

  Comments,     Trackbacks