반응형

컴퓨터구조 25

표준 논리게이트 NAND 게이트, NOR 게이트

지난 시간에 디지털 논리 게이트 기호를 살펴 봤다. 그 중 NAND와 NOR가 AND와 OR게이트 보다 실제로 많이 사용된다. 이는 NAND와 NOR의 특성 때문인데, 이에 대해서 살펴볼 생각이다. 만약 어떤 디지털 회로가 하나의 게이트로만 표현될 수 있다면? NAND 게이트 유니버셜(universal) 게이트, 또는 범용 게이트라고도 한다. NAND게이트의 특징은 NAND게이트 만 가지고 AND, OR, NOT을 표현할 수 있다는 것이다. 비유하면 특정한 모양의 레고 블럭이 있고, 이 특정한 모양의 레고 블럭들을 결합하여 모든 모양들(집,성,자동차..등등)을 표현할 수 있다면.. 레고 회사에서는 굳이 다른 모양의 블록을 만들 필요가 없을 것이다. 아무튼 NAND 게이트가 정말 AND, OR, NOT 게..

컴퓨터구조 2015.07.03

디지털 논리 게이트 그래픽 기호

부울함수는 AND, OR, NOT을 기본으로 연산을 한다. 그런데, 디지털 논리 회로를 만들 때도 AND, OR, NOT을 기본 게이트로 사용할까? 이에 대한 답은 AND, OR, NOT 세 가지 게이트를 적절히 섞어서 디지털 논리 회로를 만들 수 있겠지만, 회로가 복잡해지면 이 세가지 게이트의 조합이 너무 복잡해진다. 그래서 좀 더 유용하게 사용할 기본 게이트들이 필요한데, 이 문제에 대한 답을 찾기 앞서 기본적인 디지털 논리 게이트들을 알아보자. AND, OR, NOT(inverter) F=XY F=X+Y AND와 OR는 쌍대성이다. NAND, NOR, Buffer F=X AND 게이트와 OR 게이트의 결과값에 각각 NOT을 붙이면 NAND, NOR게이트가 된다. 기본 게이트가 AND와 OR이고 NO..

컴퓨터구조 2015.06.24

1kbyte가 1024byte인 이유?

1kbyte는 1024byte라고 당연하게 여기는 분들이 많다. 또한 1Mbyte는 1024kbyte 여기고, Gbyte 또한 1024Mbyte.... 이런식으로 컴퓨터에서 다루는 단위로 치부한다. 하지만, 필자는 여기서 쓰이는 k,M,G가 무엇인지를 명확히 해야 할 필요가 있다고 생각해서 이 글을 작성한다. 흔히 인터넷 검색에서 흔히 찾을 수 있는 1Kbyte가 1024Byte인 이유 '컴퓨터는 2진수를 다루고 2의 승수(210=1024)로 단위를 맞추면 매우 편해지기 때문에 1Kbyte를 1024로 여기는 것이다.' 컴퓨터는 2진 수를 다루고 사람이 10진수를 다루면서 10의 승수 단위로 잘라서 생각하면 편하게 생각하는 것과 마찬가지라는 논리다. 그런데 위 말은 반은 맞고 반은 틀리다. 2진수 체계기..

컴퓨터구조 2015.06.15

카르노맵 맵 간략화(주항, 필수주항, 무정의조건)

부울함수를 맵에 배치하고 사각형을 조합할 때 항, 주항, 필수주항이 생겨나는데 이 관계를 통해서 맵의 간략화를 깊게 이해할 수 있다. 항 교보문고 '디지털 논리와 컴퓨터 설계'라는 책에 다음과 같이 정의되어있다. 함수가 논리곱의 모든 최소항에 대해 1값을 가지면 논리곱은 함수의 항(implicant)다. 맵에서 1을 포함한 정사각형들로만 구성된 사각형은 항이 된다. 항P에서 어떤 문자를 제거할 때 항이 아닌 논리곱항을 얻게 되면, P는 주항(prime implicant)이다. n변수 함수에 대한 맵에서 주항은 1을 포함한 정사각형들을 최대한 2m (m=0,1,2,3,4,…,n)개씩 조합하여 만든 사각형들의 집합이다. 멍…. 뭔 소리냐? ㅋㅋ 멘탈이 나가기 시작한다. 하지만 절대 포기하지 맙시다. 솔직히 ..

컴퓨터구조 2015.06.12

카르노맵 (카노맵)

지난 시간에 최소항, 최대항을 살펴보고 카노맵과 연관 관계를 설명하였다. 최소항, 최대항에 대한 자세한 이해보다 카노맵과 연관지어 카노맵을 푸는 전략적인 방법 중심으로 설명하겠다. 2015/05/22 - [컴퓨터구조] - 최소항과 최대항, 카르노맵(카노맵) 다시 간단하게 최소항은 입력단의 논리곱의 조합을, 최대항은 입력단의 논리합의 조합을 나타낸다고 설명했다. 이 최소항, 최대항의 가지 수는 부울 함수의 변수의 가지 수에 따라서 정해져 있고, 이 항들을 맵으로 만든 것이 카노맵이다. 각각의 최소항 또는 최대항(최소항의 보수)은 카노맵에서 항이라고 부른다.(이부분은 필수주항 파트에서 다룰 것이다.) 2개의 변수 X,Y를 갖는 카노맵의 기본개념을 나타낸다. m은최소항을 뜻하고 첨자의 숫자는 최소항 비트조합의..

컴퓨터구조 2015.05.26

최소항과 최대항, 카르노맵(카노맵)

최소항(minterm)과 최대항(maxterm) 이란 디지탈 논리회로에서 맵 간략화를 위해 필요한 사항이다. 다시말해, 카노맵(또는 카르노맵) 이놈을 알기 위해서는 최소항, 최대항을 이해해야 한다. 최소항?, 최대항?.. 용어에 의미를 두고 해석을 하면 도통 감이 안 잡힌다. 원서 번역서를 읽으면 도통 무슨 말인지 모르게 써있는 경우가 꽤 있다. 그래서 경험을 비추어 이해하기 쉬운 방향으로 설명을 해보려 한다. X와 Y 두 개의 입력이 있다고 하자. (이는 부울 함수의 X, Y 항이다.) 이 두개의 입력의 조합 방법은 2^2=4가지 경우다. 다음과 같다.(X' 는 X의 보수를 뜻한다.) XY X'Y XY' X'Y' 위 항들이 최소항이다. 논리 곱에 대한 조합 방법이라 생각하면 된다. 이는 디지털 논리 게..

컴퓨터구조 2015.05.22

[조합논리회로] 드모르간의 법칙, 함수의 보수, 쌍대성, 일치이론

드모르간법칙은 부울식에서 보수를 얻기위해 사용한다. 다음은 or연산에 대한 드모르간 법칙이다. 드모르간 법칙 보수에 관한 내용은 아래 글을 참고 하세요. 2014/02/23 - [컴퓨터구조] - 보수의 개념과 컴퓨터연산에서의 활용 2진연산에서 1의보수는 0, 0의 보수는 1로 NOT연산을 한 것과 같다. 표현식은 위에 바(bar)를 사용하고 이는 그 식의 보수를 구하는 것과 같다. 다음은 AND연산에 대한 드모르간 법칙이다. 위 두 식은 서로 쌍대성이다. 쌍대성은 아래 글을 참고 하세요. 2015/04/29 - [컴퓨터구조] - [조합논리회로] 논리게이트,기본 논리회로 진리표, 부울대수 표현의 쌍대성에서 바(bar)의 변화는 없다는 것에 주의하자. 이런 법칙들을 이용해서 부울식을 간단하게 할 수 있다. ..

컴퓨터구조 2015.05.08

[조합논리회로] 논리게이트,기본 논리회로 진리표, 부울대수

논리 게이트(logic gate) 디지털회로는 2진정보를 다루는 회로다. 디지털 회로의 기본이 되는 회로를 논리 게이트(logic gate)라고 한다. 디지털 회로는 트랜지스터(transistor)와 직접회로(intergrated circuit)의 연결들로 구성된다. 다시 말해 이런 회로들의 기본이 되는 회로가 논리게이트다. 2진 논리 2진 논리는 2개의 값만 취하는 2진 변수, 다시 말해 0과 1만 취하는 변수에 관한 관한 수학적 논리 연산에 관한 논리를 말한다. 기본적인 2진 논리 연산은 AND, OR, NOT 연산이다. AND는 곱, OR는 합, NOT은 부정을 뜻한다. 연산 기호는 일반 산술 연산 기호와 같다. 연산의 유사성은 있지만 같지는 않다. 2진 논리는 0 아니면 1만을 다루기 때문이다. ..

컴퓨터구조 2015.04.29

이미테이션 게임(튜링머신 vs 에니그마) [앨런 튜링]

앨런 튜닝(1912~1954) 42세의 짧은 일생이지만 그의 업적은 컴퓨터의 발전에 큰 기여를 하게 된다. 그가 만든 튜링머신은 기억장치, 입출력, 중앙처리장치의 현대적 컴퓨터의 모델의 토대가 된다고 볼 수 있다. 물론 최근 이미테이션 게임이라는 영화를 통해 그의 업적이 각광 받고 있지만, 그에게 영향을 준 다른 학자들도 잊지 말아야 할 것이다. 2012/12/06 - [컴퓨터구조] - 컴퓨터이야기 (해석기관) 계산기관(해석기관)에 대한 연구는 앨런튜닝이 존재하기 전 100여년 전으로 거슬러 올라간다. 찰스배비지(1796~1871)라는 영국의 수학자는 분석기관에 대한 틀을 마련하였고 (영국) 에이다 러브레이스(1815~1852)는 찰스배비지의 해석기관에 적용할 연산방법에 대한 연구를 하였다.(에이다를 최..

컴퓨터구조 2015.04.14

BCD코드 (binary coded decimal) 기초

BCD(Binary-coded decimal)-이진코드화된 십진수, 말 그대로 십진수를 이진코드로 표기한 것이다. 2진코드로 표기는 했지만 실제 십진수에 대응되는 2진수의 값과 BCD는 약간의 차이가 있다. 다음표는 각 십진수 숫자에에 해당하는 BCD코드다. 컴퓨터는 0과1의 2진코드를 사용하기 때문에 사람이 사용하는 십진수를 사용하기 위해서 십진수를 2진화할 필요가 있다. 이는 단순히 십진수를 2진수로 바꾸는 것이 아닌, 규칙성을 가진 형태의 2진코드로 바꾸는 것을 의미한다. 십진수의 기수(사용하는 수의 개수)는 0~9로 10개이고, 각각의 기수를 2진수로 바꿔 표현한 수를 BCD라고 한다. BCD의 사용과 일반적인 2진수와 차이점의 예. 459의 2진수 표현은 111001011 111011011 //..

컴퓨터구조 2014.11.26
반응형