서강대학교 디지털논리회로실험 5주차 - 비교 및 연산 회로
본 내용은
"
서강대학교 디지털논리회로실험 5주차 - 비교 및 연산 회로
"
의 원문 자료에서 일부 인용된 것입니다.
2024.08.17
문서 내 토픽
  • 1. 비교 회로
    비교 회로는 XOR gate와 AND gate를 이용해 입력받은 두 2진수를 비교한 후 두 수가 같은지 다른지 결과로 출력해준다. 물론 XOR gate의 수를 늘려서 비교하는 입력의 개수를 (2*XOR)개의 꼴로 늘릴 수 있다. 그리고 두 수 중 어떤 것이 더 큰지 비교한 후 출력해주는 magnitude comparator라는 비교회로도 있다.
  • 2. 가산 회로
    Half-adder는 1bit의 두 이진수를 더해 2bit의 출력(0부터 3까지)을 내는 기본적인 adder이다. Full-adder는 1bit의 세 이진수를 더해 2bit의 출력을 내는 adder이다. Full-adder를 직렬로 연결하면 여러 bit의 수를 더할 수 있는데, 이렇게 설계된 adder를 ripple adder라고 칭한다. 다만 직렬연결로 인해 propagation delay가 커진다는 단점이 있으므로, 이를 대체하기 위해 carry-lookahead adder가 제안되었다.
  • 3. 감산 회로
    Subtractor는 두 입력을 X, Y로 두었을 때 사실상 X+(-Y)의 계산을 하는 것이므로 –Y를 구하고 Adder의 원리를 그대로 이용하면 된다. 이를 위해 unsigned / signed number를 구분하고, 음수를 표현할 때 2's complement를 이용한다. Full-Subtractor를 구현할 때는 아랫자리에서 빌려간 수 또한 반영을 해야하기에 세 가지의 입력값을 가지고, 이 중 아랫자리에 의해 생긴입력을 BI(BorrowIn)이라 한다.
  • 4. 2의 보수
    Signed number란 highest order bit(MSB)가 0이면 양수, 1이면 음수가 되도록 표현하는 방식으로써 음수를 표현할 때 [-Y : (각 자리수에 대해 0->1, 1->0) +1]의 과정을 거치는 2's complement를 이용하면, nbit일 때 -2^(n-1) ~ 2^(n-1)-1 까지의 값을 나타낼 수 있다.
  • 5. Overflow
    Overflow는 마지막 bit연산의 CarryOut과 CarryIn이 다를 때 발생한다. 이때 결과값이 표현 가능한 범위를 벗어나게 되어 잘못된 값이 출력될 수 있다. 따라서 Overflow 발생 여부를 확인하는 것이 중요하다.
  • 6. Comparator
    Comparator는 두 입력을 비교하여 같은지, 다른지, 어느 것이 더 큰지를 출력한다. 이를 위해 XOR gate와 AND gate를 사용한다. 또한 COMPM4와 같은 magnitude comparator를 사용하여 두 수의 대소관계를 비교할 수 있다.
  • 7. Half-adder
    Half-adder는 1bit의 두 이진수를 더해 2bit의 출력(0부터 3까지)을 내는 기본적인 adder이다. 출력 중 low-order bit를 S(sum), high-order bit를 CO(CarryOut)이라 한다.
  • 8. Full-adder
    Full-adder는 1bit의 세 이진수를 더해 2bit의 출력을 내는 adder이다. 세 입력 중 하나인 CI(CarryIn)은 밑의 자리에서 올라온 자릿수를 계산하기 위해 추가된 요소이다. Full-adder를 직렬로 연결하면 여러 bit의 수를 더할 수 있는데, 이렇게 설계된 adder를 ripple adder라고 한다.
  • 9. Carry-lookahead adder
    Carry-lookahead adder는 ripple adder와 달리 Carry의 발생이 아랫 자리수의 계산 후 출력된 값이 아닌 입력 값에 의해 정해지도록 설계되어 propagation delay problem을 해결할 수 있다.
  • 10. ADSU4
    ADSU4는 4-bit Adder/Subtractor 회로로, 입력 A와 B를 더하거나 빼는 기능을 수행한다. 덧셈 시 CO와 CI가 active-high로, 뺄셈 시 CO와 CI가 active-low로 동작하여 BO와 BI로 사용된다. 또한 overflow 발생 시 OFL 신호가 활성화된다.
Easy AI와 토픽 톺아보기
  • 1. 비교 회로
    비교 회로는 두 개의 입력 신호를 비교하여 그 크기 관계를 나타내는 출력 신호를 생성하는 회로입니다. 이 회로는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 두 개의 데이터를 비교하여 분기 명령을 수행하거나, 메모리 액세스 시 주소를 비교하여 데이터를 읽거나 쓰는 등의 용도로 사용됩니다. 비교 회로는 간단한 구조를 가지고 있지만, 그 활용도가 매우 높아 디지털 시스템 설계에 필수적인 회로라고 할 수 있습니다.
  • 2. 가산 회로
    가산 회로는 두 개의 이진수를 더하여 그 결과를 출력하는 회로입니다. 이 회로는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 산술 연산을 수행하거나, 메모리 주소 계산 등에 사용됩니다. 가산 회로는 간단한 구조를 가지고 있지만, 그 활용도가 매우 높아 디지털 시스템 설계에 필수적인 회로라고 할 수 있습니다. 특히, 전가산기와 같은 고급 가산 회로는 복잡한 연산을 수행할 수 있어 프로세서 설계에 중요한 역할을 합니다.
  • 3. 감산 회로
    감산 회로는 두 개의 이진수를 빼서 그 결과를 출력하는 회로입니다. 이 회로는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 산술 연산을 수행하거나, 메모리 주소 계산 등에 사용됩니다. 감산 회로는 가산 회로와 유사한 구조를 가지고 있지만, 음수 표현을 위해 2의 보수 표현을 사용합니다. 이로 인해 감산 회로의 구현이 가산 회로보다 복잡해집니다. 하지만 감산 회로는 디지털 시스템에서 필수적인 회로이며, 프로세서 설계에 중요한 역할을 합니다.
  • 4. 2의 보수
    2의 보수는 음수를 표현하는 방법 중 하나로, 디지털 시스템에서 널리 사용되고 있습니다. 2의 보수 표현은 음수를 양수로 변환하여 표현함으로써, 부호 있는 정수 연산을 단순화할 수 있습니다. 예를 들어, 감산 연산을 가산 연산으로 변환할 수 있습니다. 또한 2의 보수 표현은 오버플로우 검출에도 유용하게 사용됩니다. 이처럼 2의 보수 표현은 디지털 시스템 설계에 매우 중요한 개념이며, 프로세서 및 메모리 설계에 광범위하게 적용되고 있습니다.
  • 5. Overflow
    오버플로우(Overflow)는 디지털 시스템에서 발생할 수 있는 중요한 문제 중 하나입니다. 오버플로우는 데이터 표현 범위를 초과하여 발생하며, 이로 인해 잘못된 결과가 출력될 수 있습니다. 오버플로우 문제를 해결하기 위해서는 데이터 표현 범위를 충분히 고려하거나, 오버플로우 검출 및 처리 회로를 설계해야 합니다. 예를 들어, 2의 보수 표현을 사용하면 부호 비트를 통해 오버플로우를 쉽게 검출할 수 있습니다. 오버플로우 문제는 디지털 시스템 설계에서 매우 중요한 고려 사항이며, 이를 해결하기 위한 다양한 기법들이 연구되고 있습니다.
  • 6. Comparator
    Comparator는 두 개의 입력 신호를 비교하여 그 크기 관계를 나타내는 출력 신호를 생성하는 회로입니다. Comparator는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 두 개의 데이터를 비교하여 분기 명령을 수행하거나, 메모리 액세스 시 주소를 비교하여 데이터를 읽거나 쓰는 등의 용도로 사용됩니다. Comparator는 간단한 구조를 가지고 있지만, 그 활용도가 매우 높아 디지털 시스템 설계에 필수적인 회로라고 할 수 있습니다. 특히, 고속 Comparator는 프로세서 설계에 중요한 역할을 합니다.
  • 7. Half-adder
    Half-adder는 두 개의 이진수를 더하여 그 결과를 출력하는 가장 기본적인 가산 회로입니다. Half-adder는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 산술 연산을 수행하거나, 메모리 주소 계산 등에 사용됩니다. Half-adder는 간단한 구조를 가지고 있지만, 그 활용도가 매우 높아 디지털 시스템 설계에 필수적인 회로라고 할 수 있습니다. 특히, Half-adder는 Full-adder와 같은 고급 가산 회로의 기본 구성 요소로 사용됩니다.
  • 8. Full-adder
    Full-adder는 두 개의 이진수와 입력 캐리 비트를 더하여 그 결과를 출력하는 가산 회로입니다. Full-adder는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 산술 연산을 수행하거나, 메모리 주소 계산 등에 사용됩니다. Full-adder는 Half-adder보다 복잡한 구조를 가지고 있지만, 그 활용도가 매우 높아 디지털 시스템 설계에 필수적인 회로라고 할 수 있습니다. 특히, Full-adder는 프로세서 설계에 중요한 역할을 합니다.
  • 9. Carry-lookahead adder
    Carry-lookahead adder는 가산 회로의 한 종류로, 빠른 캐리 전파를 통해 가산 연산 속도를 향상시킨 회로입니다. 이 회로는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 고성능 프로세서에서 산술 연산을 수행할 때 사용됩니다. Carry-lookahead adder는 복잡한 구조를 가지고 있지만, 그 성능이 매우 뛰어나 디지털 시스템 설계에 필수적인 회로라고 할 수 있습니다. 특히, 고속 프로세서 설계에 중요한 역할을 합니다.
  • 10. ADSU4
    ADSU4는 4비트 가감산 회로로, 두 개의 4비트 이진수를 더하거나 빼는 기능을 수행합니다. 이 회로는 디지털 시스템에서 매우 중요한 역할을 합니다. 예를 들어, 프로세서에서 산술 연산을 수행하거나, 메모리 주소 계산 등에 사용됩니다. ADSU4는 4비트 단위로 동작하므로, 더 큰 단위의 가감산 연산을 수행하기 위해 여러 개의 ADSU4 회로를 조합하여 사용할 수 있습니다. 이처럼 ADSU4는 디지털 시스템 설계에 필수적인 회로이며, 프로세서 및 메모리 설계에 광범위하게 적용되고 있습니다.