[컴퓨터 공학] RAM(feat. 8bit)

오늘내일·2023년 9월 15일
0

이전까지 정리한 플리플롭을 이용하여 메모리를 만들어 보자. D플립플롭은 아래와 같은 회로도를 가지고 있다고 했다.

그리고 D에 데이터를 넣기 위해서는 그림 상 E가 1이 되어야 한다는 점도 정리했다. 여기서 E를 Write라고 표시하고 D플립플롭을 추상화 하면 아래의 그림과 같다. 아래의 그림과 같은 D플립플롭을 1bit latch(memory)라고도 한다.

8bit latch

위의 1bit latch를 8개 이어 붙이면 8bit latch이고, 아래의 그림과 같다. 아래의 그림에서 C(Write)가 1일때 8bit 데이터가 D에 입력되어 Q에 데이터가 저장된다.

3 to 8 decoder

위 8bit latch에서 C(Write)가 1일 때 입력이 가능한데, 8개의 플립플롭 중 1개의 플립플롭에 접근가능할까? 바로 아래 그림의 3to8 decoder를 통해 특정 플립플롭에 데이터 입력이 가능하다. 3to8 decoder는 3개의 input스위치를 통해서 8개의 플립플롭 중 하나의 특정 플립플롭을 선택할 수 있다.

8 to 1 selector(8:1MUX)

위의 8bit latch는 8bit의 정보가 저장되어진다. 그럼 각 bit의 정보 중 한가지 저장된 정보에만 접근하려면 어떻게 해야 할까?


위 그림처럼 8to1 selector(8:1 multiplexer)를 사용하여 8bit 중에서 선택적으로 데이터에 접근 가능해진다. 8to1 selector(8:1 multiplexer) 또한 3개의 스위치로 8개 중 특정 데이터에 접근이 가능하다.

decoder와 selector 모두 3개의 스위치로 8개 데이터 중 특정 데이터에 입력 또는 접근이 가능하게 되어진다. 여기서 스위치가 3개인 이유는 3자리의 2진수로 1부터 8까지 숫자가 표현이 가능하기 때문이다.

8X1 RAM

RAM(Random Access Memory)이라고 많이 들어봤을 것이다. 위에 나왔던 8bit latch, 3to8 decoder, 8to1 selector를 전부 연결하면 아래의 그림과 같고, 이것을 8X1 RAM이라고 한다.

3to8 decoder, 8to1 selector에서 3개의 스위치로 8bit의 데이터 중 하나의 특정 데이터로 접근이 가능하다고 했는데 이 3개의 스위치로 나타낼 수 있는 2진수 3자리 숫자가 메모리의 Address이다. 즉, Address를 통해서 메모리에 있는 특정 데이터에 접근이 가능하다. 이 8X1RAM을 decoder와 selector를 더하여 요리조리 이어 붙여서 대용량 RAM이 만들어진다.

참고사이트 및 그림 출처 :
http://www.cs.emory.edu/~cheung/Courses/355/Syllabus/2-seq-circuits/memory.html
https://users.cs.fiu.edu/~prabakar/cda4101/Common/notes/lecture09.html
https://www.quora.com/What-is-the-binary-output-of-a-two-input-multiplexer-with-one-input-set-to-0-and-the-other-input-set-to-1
https://velog.io/@kmh9250/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0-latch-%EB%9E%80

profile
다시 시작합니다.

0개의 댓글