Mano의 컴퓨터시스템구조

[mano의 컴퓨터시스템 구조] 2장 디지털 부속품

studyingalone 2024. 11. 9. 21:33

mano의 컴퓨터시스템 구조: 2장 디지털 부속품

2.2 디코더 (Decoders)

n비트로 코팅된 이진 정보를 최대 2^n개의 서로 다른 출력으로 바꾸어 주는 조합 회로이다.

 

n개의 입력과 m(m ≤ 2^n)개의 출력을 가지는 디코더를 n x m 디코더라고 한다. 



두 개의 2x4 디코더로 만든 3x8 디코더, 출처: Digital logic design 5th

 

인에이블(Enable)은 입력 (E)를 가지고 있어 E가 1일 때만 동작한다. 

 

 


인코더

  • 인코더는 디코더와 반대되는 동작을 수행하는 디지털 회로이다.
  • 2^n개 입력값에 대해 n개의 이진 코드를 출력한다.

Four-input priority encoder, 출처: Digital logic design 5th

 

 

인코더 진리표, 출처: Digital logic design 5th

 

 


 

2.3 멀티플렉서 (multiplexer)

n개의 선택 입력에 따라 2^n개의 출력을 하나의 출력에 선택적으로 연결시켜 주는 조합 회로

 

Four-to-one-line multiplexer, 출처: Digital logic design 5th

 

S0, S1 (Selector)에 따라 Y값이 출력

 


 

2.4 레지스터 (Register)

  • n비트의 레지스터는 n비트의 이진 정보를 저장하기 위한 n 개의 플립플롭과 데이터 처리를 위한 조합 회로로 구성되어 있다.
  • 클리어(Clear): 클리어 입력은 그 값이 0이 될 경우, 클럭 동작에 관계없이 레지스터의 모든 플립플롭 출력을 0으로 만든다.

4비트 레지스터, 출처: Digital logic design 5th

 

 


2.5 시프트 레지스터 (Shift Register) 

  • 레지스터에 저장되어 있는 이진 정보를 단방향 또는 양방향으로 이동시킬 수 있는 것
  • 시프트 레지스터의 각 플립플롭들은 각각의 입력과 출력이 연쇄적으로 연결되어 있다.
  • 공통의 클럭 펄스가 다음 상태로의 이동을 제어한다.

4비트 시프트 레지스터, 출처: Digital logic design 5th

 


 

2.6 이진 카운터 (Binary  Counters)

  • 입력 펄스에 따라 미리 정해진 순서대로 상태 변이가 진행되는 레지스터 
  • 입력 펄스가 클럭 펄스를 사용하거나 외부로부터 얻을 수도 있다.
  • 입력 펄스의 시간 간격은 일정할 수도 있고 임의적(random)일 수도 있다. 
  • 카운터는 어떤 사건의 발생 횟수를 세거나, 동작 순서를 제어하는 타이밍 신호를 만드는 데 사용된다. 

 

4비트 동기 이진 타운터, 출처: Digital logic design 5th

 

 

  • JK 플립플롭은 J와 K가 모두 1일 때, 클럭의 상승 변이에서 출력을 보수화한다.
  • 인에이블 입력을 이용하여 클럭을 제거하지 않더라도 플립플롭의 동작을 제어할 수 있다.
  • 클럭은 모든 플립플롭에 연결
  • 인에이블 입력이 0일 때는 모든 J와 K 입력이 0이므로 카운터의 출력값에 변화가 없다.
  • 인에이블 입력이 1일 때는 첫번 째 비트 A0는 클럭 펄스에 매 상승 변이에서 보수화 

병렬 로드를 가진 이진 카운터 

  • 병렬 로드: 한 번에 한 비트가 아닌 여러 비트의 데이터를 동시에 레지스터나 카운터에 로드할 수 있는 디지털 회로의 기능
  • 카운터가 일반적인 계산 단계를 통해 해당 값에 도달할 때까지 기다리지 않고 카운터를 특정 값으로 즉시 설정할 수 있다.

 


 

2.7 메모리 장치

임의접근 메모리(Random-Access Memory, RAM)

  • 워드의 물리적인 위치에 관계없이 접근 절차나 접근 시간이 동일하다.
  • RAM은 데이터 입력을 위한 쓰기 동작과 데이터 출력을 위한 읽기 동작을 제공하며, 제어 신호에 의해 선택된다.

 

새로운 워드가 전송되어 메모리에 저장되는 과정

  1. 원하는 워드의 이진 주소값을 주소 입력에 넣는다.
  2. 메모리에 저장될 데이터 비트들을 데이터 입력에 넣는다.
  3. 쓰기 (write) 입력을 활성화한다.

메모리에 저장된 한 워드를 꺼내오는 데 과정

  1. 원하는 워드의 이진 주소값을 주소 입력에 넣는다.
  2. 읽기 (read) 입력을 활성화 한다.

 


읽기 전용 메모리 (Read-Only Memory, ROM)

  • ROM에 저장된 데이터는 하드웨어의 수명이 다할 때까지 변하지 않으며, 쓰기 동작에 의해서도 그 내용이 변하지 않는다. 
  • ROM에 한 번 저장된 내용은 영구적이기 때문에 읽기 동작만 허용된다.
  • ROM은 한 워드가 n비트이고, 총 m 워드를 저장하는 n x m ROM..(n = 방의 크기, m =  방의 개수)