전 게시글에서 비트를 하나 기억할 때 플립플롭이 유용하다는 사실을 봤고, 레지스터를 사용하면 쉽게 여러비트를 저장할 수 있다는 사실도 알았다. 

 

#5 많은 정보를 저장해야 한다면? (메모리 조직과 주소 지정)

여러비트를 저장하는 레지스터를 많이 써서 병렬로 이은다면 괜찮지않을까? 각 레지스터에있는 CK들이 모두 동시에 일어날테니 말이다. 그래서 우린 각 레지스터에 주소(디코더의 출력을 레지스터의 입력을 활성화하기위해)를 설정하고 레지스터의 출력을 위해 실렉터를 선택한다. 그리고 메모리 컴포넌트의 출력을 한 출력으로 연결하기 위한 트라이스테이트 출력이라는 기본요소, 이 모두를 합해서 메모리컴포넌트라고 한다.

-> 레지스터들+실렉터+디코더+트라이스테이트 

 

이러한 메모리 컴포넌트에서 비트를 이동시키는 교통수단을 BUS라고 한다(메모리 칩에는 주소버스, 데이터버스가 있다).

이와같은 방법은 메모리가 크기 위해서는 많은 메모리컴포넌트, 칩들의 주소가 연결되어야 한다. CPU에는 메모리칩의 주솟값들이 저장되는데 행과 열 두 덩어리로 나눈다 행주소 열주소를 조합해 CPU에 메모리덩어리로 이뤄진 직사각형 영역에 조합해 지정된다. 

만약 메모리가 엄청엄청엄청 많아 CPU에 메모리 배열 칸이 부족하다면? 행과 열 주소를 멀티플렉싱하면 주소 라인의 수를 반으로 줄일 수 있다.!! 이러한 절약을 위해 필요한 것은 그저 멀티플렉싱한 주소를 저장하기위한 레지스터뿐.. 

주소가 두 부분으로 나뉘어 들어오기 때문에 한번에 한 부분씩만 변경할 수 있다면 성능이 더 좋아질 수 있다. (ex행 주소 먼저 다 지정 후 열 주소만 변화 시키기 오늘날의 대형 팁들은 이런 식으로 주소를 지정함) 

메모리 칩은 깊이(depth) x 너비(width)로 크기를 표시한다. 

 

 

 

 

여기까지 메모리가 어떻게 작동되는지 알아보았다. 이것들을 RAM이라고 한다 . 다음 게시글은 메모리의 여러 종류를 알아보겠다 ! ! ! ㅜ!! ! ! 

+ Recent posts