[컴퓨터 구조] 기억장치
- 이 포스팅을 읽기 전! 《 [OS] 기억장치 》 먼저 보고 오기
- 현재 포스팅 《 [Computer Structure] 기억장치 》 는 조금 더 세부적인 내용을 다룬다.
▶ 기억장치의 분류
- 기억장치 엑세스
- 기억 장치에 어떤 정보를 읽거나 쓰는 동작
- 기억 장치에 어떤 정보를 읽거나 쓰는 동작
- 엑세스 분류
- 액세스 방식, 기억장치 재료, 데이터 저장 성질에 따라 분류할 수 있다.
▷ 액세스 방식
① 순차 액세스
- 방식
- 원하는 데이터를 찾을 때까지 순차적으로 액세스하는 방식
- 원하는 데이터를 찾을 때까지 순차적으로 액세스하는 방식
- 엑세스 시간
- 원하는 데이터의 위치에 따라 액세스 시간 판이
- 원하는 데이터의 위치에 따라 액세스 시간 판이
- 예시
- 자기테이프
② 직접 액세스
- 방식
- CD를 읽는 헤드가 엑세스할 위치 근처로 직접 이동한 다음에 순차적으로 검색하여 엑세스하는 방식
- CD를 읽는 헤드가 엑세스할 위치 근처로 직접 이동한 다음에 순차적으로 검색하여 엑세스하는 방식
- 예시
- CD-ROM, DISK
③ 임의 액세스
- 방식
- 직접 기억장소를 찾아 액세스하는 방식
- 직접 기억장소를 찾아 액세스하는 방식
- 엑세스 시간
- 모든 정보에 대한 액세스 시간이 전부 동일
- 원하는 정보가 있는 기억장치에 바로 도달할 수 있기 때문
- 예시
- 반도체 기억장치
④ 연관 액세스
- 방식
- 이미 기억장치에 저장된 특정 비트와 내가 찾고자하는 비트를 비교해서 원하는 정보를 엑세스하는 방식
- 찾고자 하는 정보에 대한 비교를 동시에 수행(캐시) → 비용↑, 특수한 경우에 사용
- 예시
- 캐시 기억장치
▷ 기억장치 재료
① 반도체 기억장치
- 개념
- 반도체 물질인 실리콘(Si) 칩을 이용한 기억장치
- 작은 직접 회로에 많은 양의 데이터를 넣을 수 있어 오늘날 주로 사용한다.
② 자기-표면 기억장치
- 개념
- 자화 물질로 코팅된 표면에 정보를 저장하는 기억장치
- 자화 물질로 코팅된 표면에 정보를 저장하는 기억장치
- 예시
- 디스크, 자기 테이프
▷ 데이터 저장 성질
① 휘발성 기억장치
- 개념
- 전원 공급 중단 시 내용이 삭제되는 기억장치
- 전원 공급 중단 시 내용이 삭제되는 기억장치
- 예시
- RAM
② 비휘발성 기억장치
- 개념
- 전원 공급 중단에도 내용 기억 가능한 영구 기억장치
- 전원 공급 중단에도 내용 기억 가능한 영구 기억장치
- 예시
- ROM, 디스크, CD-ROM
③ 삭제 불가능 기억장치
- 개념
- 내용 변경이 불가능한 기억장치 (읽기만 가능)
- 최근엔 ROM의 변형으로 변경할 수 있는 ROM도 존재한다.
- 예시
- ROM
▶ 기억장치 성능 결정 요소
▷ 용량
- 전송 단위
- CPU가 한 번에 처리 가능한 비트 수
- 주기억장치 : 단어(Word)단위 (보통 32bit, 64bit, …)
- 보조저장장치 : 블록(512바이트 혹은 1K바이트)
- 데이터 버스가 보통 16bit, 32bit이기 때문에 여러 번의 전송동작 필요
- 데이터 버스가 보통 16bit, 32bit이기 때문에 여러 번의 전송동작 필요
- CPU가 한 번에 처리 가능한 비트 수
- 주소지정 단위
- 주소 비트의 수가 A일 때 저장장치 용량(주소지정 단위 수) N과의 관계
N = 2 ^ A
- 예시
- 주소 비트 수(A)가 32개라면?
- 2 ^ 32 = N, 2^30은 1GB을 의미 → 총 4GB의 주소 지정 공간을 가짐
- 주소 비트의 수가 A일 때 저장장치 용량(주소지정 단위 수) N과의 관계
▷ 액세스 속도
- 액세스 시간
- 주소와 쓰기-읽기 신호가 도착한 순간부터 데이터 액세스가 완료되는 순간까지의 시간
- 주소와 쓰기-읽기 신호가 도착한 순간부터 데이터 액세스가 완료되는 순간까지의 시간
- 기억장치 사이클 시간
- 기억장치 사이클 시간 = 액세스 시간 + 데이터 복원 시간
- 데이터 복원 시간 : 읽기 동작 후에 정보가 파괴되는 저장장치(자기코어)인 경우에 그것을 복원시키는 데 걸리는 시간
- 반도체, 디스크의 경우 데이터 복원 시간 : 0 (액세스 시간 = 기억장치 사이클 시간)
- 기억장치 사이클 시간 = 액세스 시간 + 데이터 복원 시간
- 엑세스 속도 구하기
(참고만 하기)- 특징
- 데이터 전송률로 평가한다.
- 데이터 전송률로 평가한다.
- 공식
데이터 전송률 = ( 1 / 액세스 시간 ) * 한 번에 읽혀지는 데이터 비트 수
- 예시
- 특징
▶ 계층적 기억장치 시스템
- 용량과 속도가 빠른 기억장치를 사용할수록 좋지만… 🤑 좋은 기억장치를 사용할 수록 가격이 비쌀 것이다.
- 따라서 우리는 “기억장치의 성능 대 가격비” 향상을 위해 다양한 종류의 기억장치를 계층적으로 구조화해서 사용한다.
▷ 계층구조
- 접근 속도가 빠르고 가격이 높은 기억장치 → 접근 속도가 느리고 가격이 낮은 기억장치 순으로 계층 구성
- 자세한 계층 구조는 《[OS] 기억장치》 를 참고하자!
▷ 지역성 (Locality)
-
개념
- 기억장치 액세스가 특정 지역에 집중되는 현상
- 프로그램이 실행되는 동안에 일반적으로 지역성의 원리에 의하여 첫 번째 계층의 기억장치에 대한 액세스 횟수가 두 번째 계층의 기억장치에 대한 액세스보다 훨씬 더 많다.
- 지역성 원리를 적용해 첫 계층에 액세스 횟수가 많은 정보를 집중시키면 성능 향상 가능하다.
-
종류
종류 설명 시간적 지역성 최근에 액세스된 프로그램이나 데이터가 가까운 미래에 다시 액세스 될 가능성이 높음
( 최근에 불렀던 것 또 부를 확률이 높다. )공간적 지역성 기억장치 내에 인접하여 저장되어있는 데이터들이 연속적으로 액세스 될 가능성이 높음
( 내가 불렀던 주소번지를 부를 확률이 높다. (2번을 찾았으면 3,4번지 찾을 확률) )순차적 지역성 분기(Branch)가 발생하지 않는 한, 명령어들은 기억장치에 저장된 순서대로 인출될 확률이 높음
- Working Set
- 특정 시간에 실행되는 프로그램에 지역성이 포함되는 페이지(불러오는 정보)들의 집합
- CPU가 자주 부르는 첫 번째 계층 안에 지역성이 포함되는 페이지(불러오는 정보)를 놓게 되면, 페이지 부재율(페이지를 찾고 불러오는 시간)을 감소시킬 수 있고, 연산수행에 많은 시간을 쏟을 수 있다! → 효율적 접근 가능
📎참조
- 『 성결대학교 김자원 교수님 』 - 컴퓨터 구조 (2023)
- 『 컴퓨터구조(제5판) 』 - 복두 출판사
댓글남기기