본문 바로가기

Dev/CS 컴퓨터사이언스

[혼공컴운/OS] 메모리 | DRAM | SRAM | SDRAM | DDR | 논리주소와 물리주소 | 한계 레지스터 | 베이스 레지스터

728x90
반응형

메모리(RAM)의 종류

메모리의 종류

  • DRAM: Dynamic RAM → 시간이 지나면 데이터가 사라지며 집적도가 높아 메인 메모리로 주로 사용
  • SRAM: Static RAM → 시간이 지나도 데이터가 사라지지 않으면 집적도가 낮고 비싸 캐시메모리로 주로 사용
  • SDRAM: Synchronous Dynamic RAM → 클럭에 따른 데이터 전송에 최적화된 DRAM
  • DDR SDRAM: Double Data Rate Synchronous Dynmamic RAM → 대역폭이 2배 넓어진 Synchorous DRAM

 

자문자답

  • DRAM은 왜 집적도가 높을까?
    • DRAM은 한 셀당 한 개의 트렌지스터와 한 개의 커패시터(데이터저장)로 구성
    • DRM은 집적도를 높이기 위해 선폭을 작게 만듦
    • 또한 집적도를 높이기 위해 소자를 작게 만들려고 하다보니 절연체가 얇아져서 전력이 충전되어도 잘 빠져나가게 됨
    • 반면 SRAM은 트랜지스터가 4~6개가 필요하기 때문에 물리적으로 더 적은 셀로 구성될 수 밖에 없음 (대신 100배 이상 빠르다.. 플립플롭 (1not 게이트 & 2 트랜지스터) 회로로 정보를 계속해서 유지할 수 있음)

 

  • DRAM은 SDRAM에 비해서 클럭신호에 최적화되지 않은건가?
    • DRAM은 신호에 변화가 생기면 커패시터에 변화가 나타나 서서히(?) 반응하는 비동기식 기록 방식을 가짐
    • SDRAM은 클럭신호와 동시에 반응하여 컴퓨터의 시스템 버스와 동기화

 

 

논리 주소와 물리 주소

CPU와 실행 프로그램은 실제 메모리 주소를 알지 못함

  1. 논리주소: CPU와 실행 프로그램이 알고 있는 프로그램마다 부여된 각각 0부터 시작하는 주소
  2. MMU: 논리주소를 물리주소로 변환해주는 장치
    1. 논리주소의 값이 한계 레지스터의 값보다 작은가?
    2. 베이스 레지스터 값 + 논리주소 값 → 물리주소 조회
  3. 물리주소: 실제 메모리에 데이터가 적재되는 주소

자문 자답

  • 한계 레지스터는 모든 프로그램이 동일한 크기를 가지는가? 다르면 더 좋지않나? 메모리를 더 많이 필요로 하는 프로그램들이 있을 것 같은데 … 아닌가?
    • 답을 찾지 못함 … (아시는분~?)

 

저장 장치 계층 구조와 캐시 메모리

  • 저장 장치 계층 구조: 각기 다른 용량과 성능의 저장 장치들을 계층화하여 표현한 구조
    • 레지스터 ↔ 캐시 메모리 ↔ 메모리 ↔ 보조 기억 장치

 

  • 캐시 메모리: CPU와 메모리 사이에 위치하여, CPU가 필요할 것 같은 데이터들을 미리 저장해놓는 역할을 수행하는 메모리
    • L1 ↔ L2 ↔ L3
    • L2까지는 각 코어 내에 있고, L3는 모든 코어가 공유하는 캐시 메모리임
    • 만약 L1 메모리가 명령어 / 데이터로 구분된다면 분리형 캐시라고 함

 

  • 참조 지역성의 원리
    • 시간 지역성: 최근 접근한 주소에는 다시 접근할 확률이 높다
    • 공간 지역성: 최근 접근한 주소의 인근에는 다시 접근할 확률이 높다
    • 위 참조 지역성의 원리를 토대로 캐시 적중률(cahce hit ratio)을 높임

 

728x90
반응형