2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

[컴퓨터구조론 5장 ]RAM의 역할과 RAM이 하는 일을 알아보자

2022. 12. 4. 18:20ㆍ컴퓨터 구조론

기억장치 분류와 특성

기억장치 액세스

CPU가 어떤 정보를 기억장치에 쓰거나 읽는 동작


기억장치 액세스 유형

순차적 액세스(Sequential access)

저장된 정보를 처음부터 순서대로 접근하는 방식(예 자가 테이프)

직접 액세스(direct access) :

액세스할 위치 근처로 직접 이동한 다음에, 순차적 검색

임의 액세스(randam access)

주소에 의해 직접 기억 장소를 찾아가 액세스하며,어떤 기억 장소든 액세스 하는 시간이 동일 함.

연관 액세스(associative access)

저장된 내용의 특정 비트들을 비교하여 일치하는 내용을 액세스 함

 

기억장치의 설계/전송단위/주소지정 단위

기억장치를 설계하는데 있어서 고려해야 할 주요 특성은

 

용량

액세스 속도(속도가 느리면 성능의 저하로 이어짐)

 

전송단위

  • CPU가 한 번의 기억장치 액세스에 의하여 읽거나 쓸 수 있는 비트
  • => 즉 CPU가 읽을려면 N비트가 필요하다. 라는 뜻이 됨

전송 단위

 

주기억장치:

  • 단어(Word)를 쓴다.

보조저장장치:

  • 블록(512바이트 혹은 1K 바이트)단위를 쓴다.

 

주소 지정단위

주소가 지정된 각 기억 장소 당 저장되는 데이터 길이

 

예를들어 전송 단위는 어떤식으로 나오는지 확인 해 봅시다.

 

전송단위는 1024x8이라고 나온다고 하자.

그렇다면 8은 8bit를 뜻하는 것이다. 즉 한번 전송할 때 마다 8비트씩 전송을 한다는 뜻이 됩니다.

그렇다면 1024는 무엇일까요? 1024는 방의 개수 입니다.

RAM은 여러 개의 방들을 가지고 있습니다. 그 안에 데이터를 저장합니다.

그렇기에 램안에는 1024개의 방이 있다=데이터를 저장할 공간이 있다는 뜻이 됩니다.

 

그렇다면 1024X8은 1024개의 방안에 8비트로 사용 할 수 있다는 뜻이 됩니다.

즉 1024개는 전송단위이며 8비트는 주소 지정단위 입니다.

 

 

 

예시로 든다면 1024개의 방에 0번지의 방을 주소로 표시하고 싶다고 한다면 8비트로 표시하면

0000 0000이 됩니다. 그렇다면 1번지의 방은 0000 0001 ..... 이렇게 쭉 1024개 방 까지 이어지게 됩니다.

 

만약 1K*8이라고 한다면 1k는 2^10*8이 됩니다.

즉 1K*8이 온다면 1K는 방의 개수 8은 방의 크기(비트)를 나타내는 단위 입니다.

 

 

 

액세스 속도와 관련된 피라미터들

액세스 시간: 

주소와 쓰기/읽기 신호가 도착한 순간부터 데이터 액세스가 완료되는

순간까지의 시간

 

데이터 전송률:

기억장치로부터 초당 액세스 되는 비트 수

구하는 공식은

(1/액세스 시간)*(한번에 읽혀지는 데이터 비트 수)

 

예시로 들자면 액세스 시간은 = 100ns 액세스 단위는 = 32비트인 경우

데이터 전송률은 (1/100)*32/8 = [40Bytes/sec]

8비트는 1바이트니까 32비트 = 4바이트 1/100*4=40Bytes가 나오게 됩니다.

 

 

기억장치의 유형

데이터를 저장하는 성질의 따른 유형의 종류

대표적으로 두 가지가 있습니다.

 

휘발성 기억장치 

전원 공급이 중단되면 내용이 지워지는 기억장치

예 : RAM

=> 램은 휘발성이기 때문에 데이터를 하드디스크에 저장합니다.

 

비휘발성 기억장치

지워지지 않는 기억장치

 

예)ROM,디스크,SSD

 

계층적 기억장치시스템

계층화의 필요성 및 효과

필요성: 기억장치들은 속도,용량, 및 가격에서 매우 다양하게 형성 되어있습니다.

 

기억장치의 특성

액세스 속도(접근 속도)가 높아질수록 비트당 가격은 높아집니다 ( 예 CPU)

용량이 커질수록 비트당 가격이 낮아진다(하드디스크)

용량이 커질수록 액세스 시간을 길어집니다.

 

 

계층적 기억장치시스템 기본 구성방법

 

첫 번째 계층 기억장치:속도가 빠르지만 가격은 높은 기억장치 사용(예 CPU)

두 번째 계층 기억장치:속도는 느리지만 가격이 낮은 기억장치 사용(예 하드디스크)

 

 

평균 기억장치 액세스를 구하는 공식은1번째 기억장치 액세스와 두번째 기억장치는 2개기 때문에 50% 속도는 1번쨰는 10ns 두번쨰는 100ns로 구성되어 있습니다. 즉 (0.5*10ns)+(0.5*100)ns = 55ns로 평균 시간을 구할 수 있습니다.

 

 

 

기억 장치의 계층

 

 

 

앞서 설명드렸다 싶이 위로갈수록 가격은 비싸지고 밑으로 갈수록 가격은 싸집니다.

이렇게 여러 개의 기억장치를 놓은 이유는 CPU와 RAM은 성능차이가 엄청나게 납니다.

CPU가 동작할동안 RAM은 CPU의 속도를 따라오지 못하게 되어 성능저하의 문제를 일으키게 됩니다.

그렇기에 단계적으로 하나씩 놓아서 일정부분을 다음단계에 양도 할 수 있도록 놓아서 성능의 저하를 막기 위해

이러한 단계가 완성이 되었습니다.

 

하위 계층으로 내려갈수록

용량이 더 커지고, 

비트당 가격은 떨어지며, 

지역성의 원리로 인하여 액세스 빈도는 더 낮아진다.

 

 

캐시 메모리란?

주기억장치의 액세스 속도가 CPU에 비하여

현저히 느리기 때문에 주기억장치로부터 데이터를 읽어오는 동안 CPU가

오랫동안 기다려야 하므로 , 그에 따른 성능 저하를 줄이기 위해 CPU와 주기억장치 사이에

고속의 반도체를 놓은 것을 캐시 메모리라 합니다.

 

 

기억장치는 내부 기억장치와 외부 기억장치로 나뉘게 됩니다.

 

내부 기억장치는

CPU가 직접 액세스 할 수 있는 기억장치들 = 즉 CPU가 직접 그 기억장치로 갈 수 있는 기억장치들을 말합니다.

예)CPU 레지스터, 캐시 기억장치, 주기억장치

 

외부 기억장치는

CPU가 그 기억장치를 직접적으로 갈 수 없고 장치 제어기를 통해서만 접근 할 수 있는 기억장치입니다.

[예] 디스크,SSD,CD-ROM