본문 바로가기
Computer Science/컴퓨터구조

Digital Systems and Logic (2) 디지털 회로 설계: 조합 논리 간소화, 순차 논리 및 레지스터

by 큌 2024. 4. 29.
반응형

1. Circuit Simplification Example(1/4)

  • 회로 간소화 예제
  • 옵션 입력의 모든 조합을 테스트하고 진리표를 작성 게이트를 기반으로 신호에 대한 표현식 작성.
  • 회로를 간소화하는 방법 중 하나는 게이트를 기반으로 신호에 대한 표현식을 작성하는 것.
    • 이 방법을 통해 복잡한 회로를 더 간단한 형태로 줄일 수 있으며, 이는 회로의 이해를 돕고, 필요한 부품의 수를 줄이며, 전체적인 시스템의 효율성을 향상시킬 수 있다.
  • 이 접근 방식에서는 각 게이트의 입력과 출력 사이의 논리적 관계를 분석하여 신호의 표현식을 도출.
  • 이렇게 하면 회로의 동작 원리를 정확히 이해할 수 있고, 동일한 출력을 생성하는 더 간단한 회로 구성을 찾아내는 데 도움

2. Circuit Simplification Example(2/4)

  • 이 예시에서는 회로를 단순화하는 방법 중 하나를 보여줌.
  • 왼쪽에서 시작하여 신호를 오른쪽으로 전파하는 방식을 사용.
  • 이 과정을 통해, 최종적으로 D=(AB)’(A+B’C)라는 식을 도출할 수 있다.
    • 여기서 (AB)’은 A와 B의 AND 게이트 결과에 NOT을 적용한 것을 의미하고, A+B’C는 A와 B의 NOT 결과와 C의 OR 게이트 결과를 의미.

3. Circuit Simplification Example(3/4)

4. Circuit Simplification Example(4/4)

  • 여기서 D=B’C+AB’라는 식을 B’(A+C)로 단순화할 수 있다.
    • 이 과정을 통해 사용되는 논리 게이트의 수가 6개에서 3개로 줄어들었다.
  • 이렇게 단순화된 회로는 같은 기능을 유지하면서도, 더 적은 구성 요소를 사용하여 효율성과 경제성을 높일 수 있다.

5. 순차 논리 회로

  • 순차 논리 회로는 정보를 "기억"하거나 저장하는 회로.
    • 이러한 회로의 출력은 현재 입력뿐만 아니라 과거의 입력에도 의존.
    • 이는 우리가 상태를 유지할 수 있도록 해줌.
  • 클록(clock)은 정보의 흐름을 제어하며, 상태 기계(state machine) 구조를 가짐.
  • 순차 논리 회로는 디지털 시스템에서 매우 중요한 역할을 하며, 복잡한 연산과 데이터의 저장, 처리가 가능하게 한다.

6. 상태 요소( State Elements )를 사용하는 이유

  • 특정 시간 동안 값을 저장할 장소가 필요하기 때문.
    • 이는 프로세서 내의 레지스터 파일이나 캐시 및 주 메모리와 같은 메모리에 해당.
  • 정보의 흐름을 제어하는 데 도움.
  • 상태 요소는 결합 논리 블록 사이의 정보 흐름을 제어하고, 결합 논리 블록으로의 정보 이동을 일시적으로 중단시켜 정보의 질서 있는 전달을 가능하게 함.
    • 따라서 상태 요소는 디지털 시스템에서 중요한 역할을 하며, 데이터의 저장과 정보의 흐름 제어에 필수적인 구성 요소.

7. Clocks: Signals and Waveforms

  • 디지털 하드웨어의 작동은 일정한 속도의 클록에 의해 지배.
  • 클록은 주기적으로 변화하는 신호로, 디지털 시스템에서 데이터의 전송 타이밍을 제어.
    • 이 클록 신호는 전선을 통해 지속적으로 전송되며, 디지털 회로 내에서 정보의 흐름을 정확하게 조절하는 데 필수적인 역할.
  • 따라서, 클록은 디지털 시스템의 동기화와 안정적인 작동을 보장하는 중요한 요소.

8. Accumulator Example

  • 누산기 예시는 정보 흐름을 제어할 필요가 있는 이유를 보여주는 한 가지 예.
  • 가정:
    • 각 X 값이 순차적으로 적용되며, 한 사이클에 하나씩 적용된다.
    • n 사이클 후에, S에는 합계가 나타남.
      • 이는 누산기가 각 사이클마다 입력되는 X 값을 누적하여 최종적으로 총합을 계산하고, 이러한 과정이 순차적으로 이루어지기 때문에 정보의 흐름을 정확하게 제어하는 것이 매우 중요.
  • 따라서, 누산기 예시는 디지털 시스템에서 정보 흐름을 제어하고, 정확한 계산을 수행하는 데 필요한 구조와 원리를 잘 보여줌.

9. 첫 시도: 이 방법이 효과가 있을까?

  • no!
  • 'for' 루프의 다음 반복을 어떻게 제어할까?
  • 'S=0'이라고 어떻게 표현할까?
    • 이 질문들은 특정 프로그래밍 문제나 알고리즘을 해결하려 할 때 자주 마주치는 고민거리.
    • 첫 번째 질문은 반복문 내에서 다음 반복으로 넘어가는 로직의 제어 방법에 대한 고민을 나타냄.
    • 두 번째 질문은 변수의 초기화, 특히 반복 로직이 시작되기 전에 특정 변수(S)를 0으로 설정하는 방법에 대한 것.

10. 두 번째 시도

  • 두 번째 시도에서는 레지스터가 상태 요소로 사용되며, 이는 여기에서 데이터를 더하기 장치로의 전송을 지연시키는 데 사용.
    • 즉, 레지스터는 계산 과정 중에 데이터를 일시적으로 저장하는 역할을 하여, 더하기 장치로 데이터가 전송되는 시기를 조절.
      • 이 방식을 통해, 데이터 처리 과정을 보다 정확하고 효율적으로 제어할 수 있다.

11. Register Internals

  • N비트 레지스터는 플립-플롭의 집합으로 구성.
  • 이들은 프로세서에서 주요한 상태 유지 요소로 작용.
    • 여기서 "Dis"는 데이터 입력을 의미하며, "Q"는 데이터 출력을 나타냄.
  • 또한, 이러한 플립-플롭은 "D-type Flip-Flop"으로도 알려져 있다.
  • D-type Flip-Flop은 디지털 회로에서 중요한 역할을 하며, 클록 신호의 도움으로 데이터를 저장하고 전송하는 데 사용.

12. Model for Synchronous Digital Systems

  • 동기 디지털 시스템 모델은 레지스터로 구분된 조합 논리 블록들로 구성.
  • 클록 신호는 순차 논리 요소에만 연결되며, 응용 프로그램에 따라 피드백은 선택적일 수 있다.
  • 이 모델은 동기식 설계에서 데이터의 흐름을 정확하게 제어하고, 시스템의 동작을 예측 가능하게 만들어 줌.

13. Critical Path

  • 비판적 경로는 회로 내에서 두 개의 레지스터 사이에서 발생할 수 있는 가장 긴 지연을 의미.
  • 따라서, 클록 주기는 이 비판적 경로보다 길어야 한다.
  • 그렇지 않으면 신호가 그 다음 레지스터로 제대로 전파되지 않음.
  • 이는 디지털 시스템의 정확한 작동을 보장하기 위해 매우 중요한 요소.

14. Summary

  • 하드웨어 시스템은 상태가 없는 조합 논리(Combinational Logic)와 상태를 가진 "메모리" 논리(Memory Logic)로 구성.
  • 전압은 아날로그이지만, 논리적 0과 1을 나타내기 위해 양자화된다.
  • 조합 논리는 등가 회로 다이어그램, 진리표, 그리고 불 대수 표현으로 나타낼 수 있다.
  • 불 대수(Boolean Algebra)는 게이트의 최소화를 가능하게 한다.
  • 순차 논리(Sequential Logic)는 상태를 가진 "메모리" 논리와 동일하며, 상태 레지스터는 플립-플롭(Flip-flops)으로 구현된다.
반응형