논리회로 상태 축약 (밀리머신, 무어머신)
상태 축약 상태의 수를 줄이면 하드웨어 오버헤드가 작아질 수 있다. "행 정합" 기법은 기계적으로 초기 상태표를 작성해놓고, 중복되는 상태를 축약하여 최적의 상태표에 이르는 기법이다. 밀리 머신 (Mealy) 축약 예를 들어보자, 가능한 모든 패턴이 "리셋, 0 ,1, 00, 01, 10, 11"인 상태를 "A, B, C, D, E, F, G"에 할당한 후 다음 상태와 출력을 표현하면 초기 상태표는 아래와 같다. 여기서 우리는 축약을 시작하는데 상태 p혹은 q에서 어떤 입력 x에 대해 다음 상태와 출력이 같다면 p와 q는 동등 상태로 간주하여 축약할 수 있다. 다음 상태와 출력이 동일한 것은 A A 0 0이 있다. 즉, 상태 D == F == G인 것이다. 이에 다음 상태 중에 F와 G를 D로 통일하여 ..
2022. 1. 6.
논리회로 조합회로 종류 (반가산기, 전가산기, 반감산기, 전감산기, 멀티플렉서, 디멀티플렉서, 리플 캐리 가산기, 병렬 가감산기, BCD 가산기, 인코더, 디코더)
조합 회로 ( Combinational Circuit ) 게이트의 조합으로 이루어지는 논리회로로 입력이 주어지면 바로 출력이 나오는 회로다. 이전의 회로 상태가 출력에 영향을 미치지 않는데 즉, 메모리 소자를 갖지 않는다. ex) 게이트, 가산기, 멀티플렉서, ALU 등등 이외에 많은 종류가 있지만 이번 포스트에선 몇개만 알아보고자 한다. 반가산기 (HA) 두 1비트 입력들의 합을 출력하는 장치이다. 다른 캐리를 고려하지 않고 계산하는 것이다. S = sum, A, B를 XOR 한 연산과 동일하다 C = Carry , A, B를 AND 한 연산과 동일하다 전가산기 (FA) 반가산기와 다른 점은 캐리를 고려하여 만든 가산기다. 반가산기 2개와 OR게이트를 이용하여 구현할 수 있다. 반감산기 (HS) 가산기..
2022. 1. 4.
논리회로 코드 종류 (BCD 코드, 3초과 코드, ASCII 코드, grey 코드)
BCD 코드 Binary Coded Decimal Code의 약자로 10진수 0부터 9까지를 2 진화 한 코드로 실제 표기는 2진수로 하지만 10진수처럼 사용한다. 자릿수 별로 표기한다. 더하기도 자릿수 별로 하면 되는데, 만약 결과가 9를 초과한다면 6 ( 0110 )을 더해준다. 예를 들어 8 + 7 = 15 라면 1000 +0111 -------- = 1111 + 0110 -------- = 0001 0101 위와 같이 연산이 된다. 3초과 코드 BCD코드에 3 ( 0011 )을 더해주면 된다. 이때 중요한 것은 (0,9), (1,8), (2,7)... 이렇게 보수 관계( 1111 )가 성립된다. 그레이 코드 이웃하는 숫자를 비교했을 때, 한 비트만 다른 코드를 의미한다. 하나씩 증가하는 효과를 가..
2022. 1. 4.