WinCNT

컴퓨터 개론 - 메모리 본문

게임 프로그래밍(학습 내용 정리)/컴퓨터 개론

컴퓨터 개론 - 메모리

WinCNT_SSS 2021. 10. 12. 10:12

이 글은 다음의 영상을 참고하여 작정하였습니다.

https://youtu.be/fpnE6UAfbtU

레지스터와 RAM : 컴퓨터 과학 특강 # 6

판단은 즉 논리이다

컴퓨터에서 논리 회로CPU가 담당하며, 그 상태를 유지하는 것은 메모리가 담당한다

추상화 레벨을 하나씩 쌓아올라 가면서 이해해보자

 

메모리어떻게 상태를 유지하는가?

물론 논리 회로를 이용한다

OR, AND, NOT 회로를 결합하고, NOT에 있는 인풋을 이용하면 제어할 수 있다

 

AND-OR LATCH, 혹은 SR플립플롭

set 입력선과 reset 입력선

set에 1를 넣으면 출력선은 1로 되며, 그 뒤로 set 입력선을 바꿔도 출력선은 계속 1이 유지된다.

반대로 reset에 1를 넣으면 set 입력선이 뭐가 됐든 출력선은 0으로 유지된다.

 

set과 reset이 모두 0이면 자기 상태 출력, 즉 유지(읽기)이다

값 = 밸류 = 상태

 

GATE-LATCH

AND-OR LATCH에 추가로 2개의 AND게이트, 1개의 NOT게이트를 붙여서 만듭니다.

1비트에 대한 데이터의 읽고 쓰기를 입력선으로 제어하며, 다른 입력선으로 데이터를 입력받는다

 

8-BIT REGISTER

레지스터 - CPU가 제어 가능한 작은 메모리, 당연히 CPU에 있음

GATE-LATCH를 8개 결합하여 만든다.

 

16 X 16 LATCH MATRIX

우리는 위치 정보를 adress라 부르기로 했어요.

RAM카드는 다음과 같은 구조를 같는다

위치를 알려주는 회로 또한 필요하다

1단계 주소 선택이 필요

선택 회로에만 전류가 통하는 상태(읽기/쓰기는 아직 일어나지 않음)

기존의 GATE-LATCH와는 다르게 DATA의 입출력이 하나로 합쳐졌다

그리고 입출력을 제어하는 회로가 오른쪽 끝에 추가되었다

 

8비트 주소로 제어되는 256비트 메모리의 추상화 그림

8비트 데이터 10000000를 저장하려고 할 때는, 각각의 메모리에 같은 주소 번지(예: 3 x 3)에 각각의 비트를 저장한다.

그러면 하나의 8비트 주소8비트(1바이트)의 데이터제어 가능해진다!!

 

32비트 운영체제와 64비트 운영체제의 차이점이 여기서 나오는 것이다

메모리의 주소(ADDRESS)를 64개로 늘린 것이 64비트 운영체제이다

 

데이터의 크기와 메모리의 용량

참고로 어셈블리어에서 이동(mov)는 전이, 즉 복사이다.

char a = 'a';의 경우, 

상수의 경우는 컴파일러가 임의의 메모리에 값을 저장하고, 1바이트 메모리에 a라는 이름을 붙이고

그곳에 a의 값(97)를 저장한다.

 

SSS