컴퓨터, IT 지식/IT

컴퓨터 메모리의 원리 (REGISTER, RAM 레지스터와 램)

게임이 더 좋아 2020. 4. 3. 10:27
반응형
728x170

https://www.youtube.com/watch?v=fpnE6UAfbtU&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo&index=7

영상의 요약 및 정리

 

레지스터와 램

 

컴퓨터의 연산 결과를 저장을 해야한다. 그래서 메모리가 필요하다.

RAM은 전원이 공급될 때만 저장가능 대표적인 메모리

 

메모리를 ALU와 합쳐서 CPU를 만든다.

Loop back이라는 기능이 메모리의 저장원리를 알려준다

OR 을 생각해보면 A와 B에1과 0이 들어오면 출력은 0으로 가진다. 이 출력을 다시 B에다 연결하고 A에는 0을 준다면 loop가 생겨서 출력이 1로 유지된다. 그렇지만 0으로 바꿀 방법이 없다. 즉 1을 저장한다

마찬가지로 AND로 하면??? 0만 저장이 가능하다 다시말해서 0과 1을 저장하는 방법밖에 없다. 이를 AND-OR LATCH라고 한다.

래치는 2개의 입력을 가진다 SET과 RESET을 SET은 출력을 1로 만들고 RESET은 0으로 만든다. 즉 1비트의 메모리를 저장할 수 있다.

우리는 데이터를 저장하는 것을 writing, 데이터를 불러오는 것을 reading이라고 한다.

여기서 확장해서 GATED LATCH가 있다. 메모리의 접근을 허용하느냐 마느냐다.

이제 래치가 8개를 나란히 두면 8비트의 메모리가 저장이 되는 것이다.

 

이렇게 래치그룹을 레지스터라고 부른다. 레지스터의 비트 수를 width라고 부른다. 이제는 64비트의 레지스터까지 나왔다.

 

저장할 때 gate를 여느냐 마느냐에 따라 결정된다. 이를 enable line이라고 하는데 다행히 64비트라고 해서 enable line이 64개가 필요한 것은 아니다 1개만필요하고 입력 64개, 출력 64개 총 129개가 필요하다.

 

그렇지만 이도 많은 숫자이기에 우리는 문제를 해결한다. 행렬을 이용하는 것이다.

64 = 8*8로 표현할 수 있다.

 

래치 하나를 활성화 하려면 행과 열의 enable line을 같이 동작시켜줘야한다.

하나만 작동해야하기에 AND로 1,1,을 받았을 때 작동한다. 이는 데이터에 단일 공유 회선을 사용한다는 것을 의미한다. 오직 한 개의 래치만 쓰기 가능하고 데이터를 저장가능하기 때문이다. 반대로 읽기도 하나만 읽을 수 있게 할 수 있다. Read enable line도 위와 같은 작동방식이다.

 

256비트면 35개의 선만 사용하면 된다 16*16 이니까 격자 32, 데이터선 1개, write enable 1개 , read enable 1개

 

교차점을 정확하게 지정한다면 우리는 선의 수를 줄일 수 있다.

16개의 행과 16개의 열이 있다면 우리는 4비트로 행과 열의 주소를 표현할 수 있다. 이러한 합쳐서 8비트로 표현가능하다. 주소를 해석하는 멀티플렉서가 필요한데 여기서는 0-15 크기의 멀티플렉서를 이용하면 되겠다.

 

256비트 메모리를 하나의 component로 만든다면,

8비트주소, write enable, read enable, data 가 필요하다.

 

8개의 레지스터를 일렬로 세운다면 또한 8개의 레지스터주소가 필요할 것이고 8개의 레지스터에서 각각 8비트의 출력이 나올 것이다.

 

256개의 주소에 256 바이트를 저장할 수 있다는 것이다.

이런 식으로 메모리의 확장이 일어난다.

 

작은 메모리를 묶어서 큰 메모리를 만든다.

 

메모리의 특성중 하나는

언제, 어느 위치든 무작위 순서로 접근이 가능하다는 것이다. 그래서 RAM이 random access memory라고 불리는 것이다.

728x90
반응형
그리드형