Computer Science/컴퓨터구조

한 권으로 읽는 컴퓨터 구조와 프로그래밍 | 3장 메모리와 디스크의 핵심 : 순차 논리

토마토. 2022. 4. 11. 22:41

들어가며

순차 논리 Sequential Logic을 이용해서 "기억"이 생긴다

순차 논리 Sequential Logic은 "시간"을 만들어내고 "과거"를 기억하는 회로이다. 

 

"기억"이라는 목적을 달성하기 위해 어떤 기술이 만들어졌을까?

그 역사를 추적해보자. 

 

시간 표현과 상태 기억

주기 함수를 이용하면 시간을 측정할 수 있다.

컴퓨터에서도 시간을 측정하기 위한 주기적인 전기 신호가 필요한데, 

어떻게 신호를 만들어낼까? 

 

발진자 osciliator

인버터(NOT)를 사용한 트릭

0이 들어갔다가

인버터를 지나 1이 되고

다시 1이 들어가면

인버터를 지나 0이 되고

를 무한 반복하는 feedback loop

결국 0과 1 사이를 무한히 oscillate (진동한다) 한다

 

크리스탈 발진자가 발진자를 만드는 효율적인 방식이다. 

 

클록

발진자는 컴퓨터에 clock 신호를 제공한다. 

overclocking : 최댓값이나 최솟값을 사용하지 않고 전형적인 값을 사용하여 생긴 논리회로 설계 오류. 컴퓨터에서 전형적인 부품을 부품이 고장나지 않을 범위 안에서 클록을 공급하는 도박을 한다는 것. 

 

래치

가장 작은 단위의 정보를 기억해보자 (1 비트)되먹임 구조와 reset 구조를 만들면 가장 간단한 형태의 래치가 된다. 

 

> AND-OR 게이트 래치

 

> S-R 래치

NOR 게이트 두 개로 Set - Reset 구현

{"originWidth":463,"originHeight":168,"style":"alignCenter","caption":"사진 출처 : The Gated S-R Latch

엑티브 로우 : 로우일 때 하이로 설정

 

NOR 게이트

R S Q /Q
0 0 1 0
0 1 0 1
1 0 0 1
1 1 0 1

 

게이트가 있는 래치

게이트가 있는 D 래치

타이밍 다이어그램

 

플립플롭

edge

edge-triggered latch

 

 

카운터

ripple counter

asynchronous counter

timing diagram

synchronous counter

 

레지스터

D 플립플롭을 이용하면 쉽게 구현 가능함

 


메모리 조직과 주소 지정

임의 접근 메모리

읽기 전용 메모리


블록 장치


플래시 메모리와 SSD


오류 감지와 정정


하드웨어와 소프트웨어 비교


정리

컴퓨터가 어떻게 시간을 인식하는가? 

순차 논리와 조합 논리는 기본적인 하드웨어 요소가 된다.