본문 바로가기

이론

[공부기록 #4] 컴퓨터 기억장치의 종류와 역할(cache hit과 cache miss, 조각모음(Disk Defragmentation), Bad Sector, 프로그램 설치 후 실행까지의 과정)

 

본 포스트의 이미지의 무단사용을 금지합니다. 출처를 밝힌 후 사용해주세요.

 

 

아래 그림에서

올라갈수록 메모리의 속도가 빠르지만 비용이 높습니다. 고가이다보니 보통 매우 작은 용량으로 사용합니다.

내려갈수록 속도는 느리지만 상대적 비용이 낮고 용량 또한 큽니다.

 

 

 

위에 그림에서 볼 수 있듯이

Register와 Cache까지는 cpu의 일부로 보는데요.

Register와 Cache, RAM까지의 컴퓨터 내부 메모리는 휘발성메모리고 컴퓨터의 전원을 종료하면 날라가는 메모리입니다.

 

 

 

1번 Register(레지스터)

 

Regester는 고가의 하드웨어로 극소량만 사용합니다.

cpu의 연산에 직접적으로 참여한다는 특징이 있습니다.

 

 

2번 Cache(캐시)

 

Cache의 역할은 예측입니다.

cpu의 연산활동을 보고 예측해서 사용할 것 같은 데이터를 메모리에서 가져와서 캐시에 넣어두는 활동을 합니다.

CPU와 RAM과의 데이터 추출속도가 매우 크게 차이나기 때문에 Cache가 중간에서 이런 활동을 하는데요.

비유적표현으로 CPU는 비행기의 속도이고 RAM은 사람이 기어가는 속도라고 합니다.

 

CACHE HIT : 캐시의 예측이 맞을 때

cpu : 349 가져다줘!
cache : 필요할 거 같아서 내가 갖다놨어~

 

 

CACHE MISS : 캐시의 예측이 틀릴 때

cpu : 341 줄 수 있어?
cache : 너가 349를 달라고 할 줄 알아서 지금 나한테는 349가 있어. 341은 내가 예측을 못해서 메모리 저장소에서 가져와야 해.

 

 

 

3번 RAM(램)

 

램에서 데이터가 저장된 위치관리는 엑셀의 형태와 유사합니다.

이때 0,1의 경우에는 OS가 활용합니다.

저장되는 정보의 유형은 코드일 수 있고 연산대상일 수 있습니다.

 

 

4번 보조기억장치 (auxiliary memory 또는 secondary memory) 

 

트랙(Track)과 섹터(Sector)의 번호를 붙여서 데이터를 관리합니다.

이때 트랙은 현실세계에서 아파트 동(Track)과 호수(Sector)라고 볼 수 있습니다.

섹터에서 일부부분만 사용한다고 해도 나머지 공간을 활용할 수 있는 것이 아니라 통을 쓴다고 간주합니다.

이런 특성이 낭비처럼 보일 수 있지만 나머지 공간까지 효율적으로 사용하려면 cpu를 더 사용해야하기 때문에 결과적으로는 더 낭비라고 할 수 있습니다.

 

HDD 설명 참조 이미지

위의 이미지에서 트랙은 적힌 번호와 같이 관리합니다.

섹터는 트랙에서 시계방향으로 하나씩 이동할 때 마다 순번을 세는데요. 0부터 시작합니다.

예를 들어서 A의 경우 4번 트랙의 2번 섹터이고, B의 경우 3번 트랙의 2번 섹터입니다.

C의 경우에는 0번 트랙의 5번 트랙입니다.

 

HDD의 조각모음(Disk Defragmentation)
트랙을 연속적으로 사용하지 못하고 워프를 하려면 하드디스크를 물리적으로 한 번 더 회전해야 한다.
그러므로 조각난 하드디스크에서는 입출력 성능이 낮아진다.
이때 박힌 돌(secter)을 빼내서 다른 곳으로 이동시키고 한 트랙에서 필요한 공간만큼 연속적으로 사용하고자 하는 것이 조각모음이다.
이는 OS가 수행한다.

 

프로그램 설치와 실행까지의 과정 : 

  1. 보조기억장치에 있는 프로그램을 설치
  2. 주기억장치(1차메모리인 RAM)에 copy되어 올라옴.
  3. 실행 => 해당 프로그램의 연산을 cpu로 보내서 cpu가 하도록 함.

 

External Storage

 

2차메모리는 1차메모리보다 속도가 더욱 느립니다.

 

컴퓨터 기억장치의 종류와 역할(cache hit과 cache miss, 조각모음(Disk Defragmentation),  Bad Sector, 프로그램 설치 후 실행까지의 과정)