일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- c언어
- Java
- Kafka
- Heap
- OS
- Proxy
- 자료구조
- Data Structure
- MSA
- react
- 디자인 패턴
- 알고리즘
- C
- design pattern
- IT
- Algorithm
- 네트워크
- redis
- spring webflux
- Spring
- JavaScript
- mongoDB
- 파이썬
- 백준
- Galera Cluster
- 운영체제
- JPA
- 컴퓨터구조
- 자바
- MySQL
Archives
- Today
- Total
시냅스
컴퓨터구조 기억장치의 분류와 특성 본문
기억장치
- 컴퓨터에서 프로그램과 데이터를 저장하기 위한 장치
- 전자적 수단에 의해 기억 및 기록 능력을 실현시키는 장치/소자
- 2진 정보의 쓰기/읽기/검색이 가능한 다수의 메모리 셀로 구성된 디지털 시스템
기억장치 구분
- 주기억장치 main memory
- CPU 레지스터, RAM, ROM
- 휘발성 volatile -> 일반적으로 memory 라는 표현을 많이 씀
- 보조저장장치 auxiliary storage device
- HDD, SSD
- 비휘발성 nonvolatile -> 일반적으로 storage 라는 표현을 많이 씀
액세스 Access 방법
- 순차적 sequential 액세스
- 배열
- 데이터를 처음부터 자쳬대로 탐색
- 자기테이프
- ARM을 이용
- SASD
- 직접 Direct 액세스
- 블록의 근처로 직접 이동해 순차적 탐색
- 자기 디스크, CD ROM
- DASD
- 임의 random 액세스
- 저장 위치에 관계 없이 접근 시간이 동일
- 기억장치 내 모든 저장 위치가 고유의 주소를 가짐
- 별도의 읽기 쓰기 회로를 가짐
- 직접 주소 지정 가능
- RAM
- 연관 associative 액세스
- random 액세서의 변형
- 기억장소에 key 값에 해당하는 비트 저장
- 비트와 key를 비교해서 탐색
- 모든 기억장치의 key를 비교할 수 있는 하드웨어를 가지고 있음
- 비용이 많이 듬
- 캐시
기억장치 시스템 설계 고려사항
- 주요 특성은 용량(capacity)와 액세스 속도 (access speed)
- 용량을 나타내는 단위는 바이트(byte: 1바이트 = 8비트)
- 액세스 속도와 관련된 파라미터
- 액세스 시간 access time
- 기억장치 사이클 시간 memeory cycle time
- 데이터 전송률 data transfer rage
- 1/액세스 시간 * 한번에 읽혀지는 데이터의 바이트 수(word)
물리적 재료에 의한 분류
- 반도체 기억장치 Semiconductor memory
- 메모리
- RAM, ROM 등
- 비메모리
- CPU, AP, MCU 등
- 메모리
- 자기 표면 기억장치 Magnetic surface memory
- 디스크, 테이프 등
- 광 저장장치 Optical storage device
계층적 기억장치 시스템
- 액세스 속도가 높아질수록, 비트당 가격도 높아진다.
- 용량이 커질수록 비트당 가격은 낮아진다.
- 용량이 커질수록 액세스 속도는 낮아진다.
반도체 기억장치
RAM Random Access Memory
- 임의 액세스 방식을 이용하는 반도체 기억장치
- 데이터 읽기와 쓰기가 모두 가능
- 휘발성
- 칩 내의 어느 위치에 있든 액세스에 걸리는 시간 동일
DRAM dynamic RAM
- 캐패시터 이용
- 주기적 재충전 refresh 필요
- SRAM 대비 고집적, 저속, 저가
- 주로 Main memory
- SDRAM Synchronous DRAM, RDRAM Rambus DRAM, DDR Double Data Rate SDRAM
SRAM Static RAM
- 래치 회로(플립-플롭) 이용
- 전력이 공급되는 동안 데이터 유지 가능
- 저집적, 고속, 고가
- CPU 캐시, 내부 레지스터 등에 사용
ROM Read only memory
- 읽는 것만 가능, 비휘발성
- 주로 저장 되는 내용
- 시스템 초기화 및 진단 프로그램
- 번번히 사용되는 함수들과 서브루틴들
- 제어 유니트의 마이크로 프로그램
- MROM Maks ROM, PROM Programable ROM, EPROM Erasable PROM, EEPROM Electrically EPROM, Flash (NAND, NOR)
반도체 기억장치 종류 별 특징
캐시 메모리
- CPU와 주기억장치의 속도 차이로 인한 병목 현상을 완화하기 위해 사용
- 프로그램에서 직접적으로 읽거나 쓸 수 없고 하드웨어의 메모리 관리 시스템이 내부적으로 제어
캐시 적중 Cache hit
- 캐시 적중률 hit ratio
- H = 캐시에 적중되는 횟수 / 전체 기억장치 액세스 횟수
- 캐시 적중 Hit
- CPU가 데이터를 요청하여 캐시 메모리에 접근했을 때 캐시 메모리가 해당 데이터를 가지고 있는 경우
- 캐시 미스 miss
- CPU가 액세스하려는 데이터가 캐시에 없어서 주기억장치로부터 인출해 와야 하는 상태
지역성
- CPU가 주기억장치의 특정 위치에 저장되어 있는 명령어들이나 데이터를 빈번히 혹은 집중적으로 액세스하는 현상
- 어떤 데이터가 참조되면, 참조된 그 지역 및 시간 근처에서 다시 참조될 가능성이 높다는 원리
- 분류
- 시간적 지역성 Temporal locality
- 최근에 접근했던 데이터들을 프로세서 가까이에 위치
- 공간적 지역성 Spatial locality
- 최근에 접근했던 데이터와 인접한 데이터들을 블록화
- 순차적 지역성 Sequential locality
- 분기가 발생하지 않는 한 명령어들은 순서대로 실행
- 시간적 지역성 Temporal locality
캐시 설계의 목표
- 캐시 적중률의 극대화
- 캐시 액세스 시간의 최소화
- 캐시 실패에 따른 지연시간의 최소화
- 주기억장치와 캐시간의 데이터 일관성 유지 및 그에 따른 오버헤드의 최소화
캐시 인출 방식
- 요구 인출 Demand fetch 방식
- 캐시 미스가 발생한 경우에 CPU가 필요한 정보만 주기억장치로부터 캐시로 인출해오는 방식
- 선인출 prefetch 방식
- CPU가 필요한 정보 외에도 그와 인접해 있는 정보들을 함께 캐시로 인출해 오는 방식
'컴퓨터구조' 카테고리의 다른 글
CPU의 구조와 기능 (0) | 2022.08.02 |
---|---|
ARM (Adavanced RISC Machine) 이란? (0) | 2022.07.17 |
컴퓨터 구조 기초 (0) | 2022.07.10 |
명령어: 컴퓨터 언어 (0) | 2022.07.02 |
컴퓨터 추상화 및 관련 기술 (0) | 2022.06.13 |
Comments