본문 바로가기

Computer Science/컴퓨터 과학이 여는 세계

번호 부르면 응답하기 Decoder 전기 신호를 이용해 특정 신호를 보내면 해당하는 선에 전기가 흐르는 회로이다. 출석부에 번호를 부르면 해당 번호를 가진 학생이 대답한다고 생각하자. 대답하는 학생을 4명 (X0, X1, X2, X3)이라 하면, 입력 하나로는 2가지 밖에 표현 못하니 입력 두 개(A, B)를 주도록 하자. 이진수로0 = 001 = 012 = 103 = 11이므로 동일하게 A와 B에게 적용하여 표를 작성하자. 이제 만들어진 표를 이용하여 부울논리를 만들자.X0 = ~A, ~BX1 = ~A, BX2 = A, ~BX3 = A, B 부울 논리에서 더 줄일 것은 없어 보이지만 회로도는 조금 줄일 수 있다.표현하진 않았지만 and로 묶인 연산자가 보였으면 한다... 복잡하지만, Xn을 나타나낼 때마다 ~A같은 것을 게속 연산하지 않.. 더보기
둘중 하나 결정하기 multiplexer C의 값에 따라 A나 B 둘중 하나를 선택하는 회로를 multiplexer라고 한다. 이때, A와 B는 0이나 1 둘중 하나이고, C가 0이면 결과를 A값으로 C과 1이면 결과를 B값으로 하도록 해보자. 이제 만들어진 표를 가지고 부울 논리를 만들어 보자.? =~A, B, C or (0 1 1) ...①A, ~B, ~C or (1 0 0) ...②A, B, ~C or (1 1 0) ...③A, B, C (1 1 1) ...④ ①과 ④는 B, C가 공통이고 ②와 ③은 A, ~C가 공통이므로 묶어내자. ?=B, C, (~A or A) orA, ~C, (~B or B) 또, A or ~A = 1(참)도 적용하자. ? = B,C or A, ~C*(and는 콤마(,) 로 not은 물결(~)로 나타내었다. 더보기
컴퓨터과학이 여는 세계_6.3 디지털 논리회로 만들기: 응답_이광근 강좌 동영상 전기회로를 이용해 가위바위보도 만들 수 있다. 우선, 전기 신호는 0과 1 둘밖에 없으니 신호 여러개를 사용하여 더 많은 경우의 수를 만들어 보자. 가위 바위 보는 낼 수 있는 세가지 경우의 수가 있으니 전기신호 두 개를 사용하여 만들면,가위를 00바위를 01보자기는 10이라고 할 수 있다. 또, 결과 값도 세가지이니 (A와 B 두 명이서 가위바위보를 한다고 하자) 마찬가지로 전기신호 두 개를 사용하면,비기면 11A가 이기면 10B가 이기면 01로 표현할 수 있다. 각각의 경우에 대하여 표를 만들어 보자. 이제 각각에 대하여 부울식을 만들어 보자. C가 1인 식을 찾아 C0와 C1 각각 NOT과 AND로 한줄을 표현하고 다음줄을 OR로 이어쓰면 된다. C0 =(~A0, ~A1, ~B0, ~B.. 더보기
스위치 회로 = 집합 몇몇은 눈치를 챘는지 모르겠지만, 집합이랑 스위치 회로랑도 비슷한 연산관계를 갖는다. 이 말은 곧 부울대수와 집합이랑 같다는 의미이다. 먼저, A and B라는 연산자를 보면 A와 B가 참이면 참이다. 곧 A라는 조건을 만족하고 동시에 B라는 조건도 참이라는 소리이다. 이 때 A∩B를 보자. a라는 조건을 만족하는 집합A와 b라는 조건을 만족하는 집합B가 있을 때, 두 조건을 모두 만족하는 집합은 A∩B인 것이다. A and B랑 문맥상 같다는 것을 확인할 수 있다. 같은 방법으로 A or B를 보자. A라는 조건이나 B라는 조건 둘 중 하나만 맞으면 참이라는 연산자이다. 이는 A∪B랑 같다. 마지막으로, not A는 A라는 조건을 만족하지 않는 집합 AC 과 같다. 이렇듯 부울대수가 곧 집합이고 이는 .. 더보기
컴퓨터과학이 여는 세계_6.2 디지털 논리회로 만들기: 판정, 선택_이광근 강좌 동영상 A = B인지를 판단하는 회로를 만든다고 해보자. 먼저 A와 B에 따라 결과값이 뭔지를 생각해보자.이때, A=B에 쓰인 엑셀함수는 =IF(A2=B2, 1, 0)으로 A와B가 같다면 1을 다르면 0을 출력한다. 먼저 A와 B가 둘다 0일때 1을 결과로 내니까 둘다 NOT을 붙인뒤 AND로 엮자는 것이 첫 번째 생각이다. (~A * ~B) 다음으로 A와 B가 둘다 1일때도 1을 결과로 내니까 AND로 엮자는것이 두 번째 생각이다. (A * B) 마지막으로 두 연산을 더한다. (A * B) + (~A * ~B) (계산 순서때문에 괄호를 안해줘도 되지만 편의상 표기하였다. 따라서 A = B를 판단하는 회로는 (A * B) + (~A * ~B) 으로 만들 수 있다. 더보기
컴퓨터과학이 여는 세계_6.1 디지털 논리회로도의 조립식 구조_이광근 강좌 동영상 섀넌 덕택에 그림으로만 생각했던 여러 전자회로를 수식으로 만들어서 짧고 효율적인 새로운 방안을 낼 수 있었다. 여담으로 클로드 섀넌은 정보이론이라는 논문을 내는데, 이 논문으로 인해 우리가 메신저를 주고 받을 때 원하는 메세지가 정확히 전달될 확률을 구할 수 있었다. 그 확률을 극도록 줄여서 오늘날 우리가 메신저를 사용해 연락을 주고 받을 수 있었다. 강좌가 20분이라는 비교적 긴시간을 가지고있지만, 대체적으로 지난시간 한 내용을 똑같이 한터라 핵심적 내용은 적다. 더보기
컴퓨터과학이 여는 세계_5.4 스위치회로와 부울논리식은 서로의 거울_이광근 강좌 동영상 1937년 MIT에서 스위치회로와 부울논리가 똑같다는 것을 발견해 논문을 냈다. 논문제목은『A Symbolic Analysis of Relay and Switching Circuits』 그래서 스위치를 다루는 많은 사람들에게 날개를 달아주었다. "스위치를 다룬다는 것은 결국 부울 논리를 연산하는 것이구나!" 이로, 회로는 더욱 간단해지고, 복잡한 기술까지 생각할 수 있게 되었다. 또, 회로 기호를 다음과 같이 제정하였다. 더보기
컴퓨터과학이 여는 세계_5.3 스위치회로_이광근 강좌 동영상 스위치회로: 스위치를 이용하여 전기신호를 제어하는 '전기회로' 한편, 전기 공학자들이 스위치를 가지고 1930년대에 신나게 재밌는 것들을 만들었다. 이것은 AND스위치이다. 두 개의 스위치 모두 닫혀야지만 전기가 흐른다. 이것은 OR스위치이다. 두 개의 스위치 중 하나만 닫혀도 전기가 흐른다. 이것은 NOT스위치이다. 스위치를 닫게 되면 흐르던 전기가 통하지 않게된다. 꼭 전기에 국한된 내용이 아니라, 힘이거나 수도 파이프일 수도 있다. 더보기
컴퓨터과학이 여는 세계_5.2 부울의 오리지날 책: 부울논리와 부울대수_이광근 강좌 동영상 부울(George Boole) 부울은 1854년 "An Investigation of the Laws of Thought"(생각의 법칙의 조사) 라는 논문을 내놓는다. 이 논문에서 아래와 같은 핵심 핵심 두 가지를 내놓는다. ▶ 생각은 조립식 ▶ 조립방법 세 가지 : AND(그리고), OR(또는), NOT(아닌) 그는 A라는 생각과 B라는 생각을 했다면 두 가지 생각을 조립해 다른 생각을 낼 수 있다고 했다. 또, 그 만들어진 생각을 가지고 다른 생각을 만들 수 있다고 했다. 그것들이 부울대수/부울논리 이다. AND(그리고)는 두 가지 생각이 모두 참일 때만 참이고 나머진 거짓 조합 방식이다. OR(또는)은 두 가지 생각이 모두 거짓일 때만 거짓이고 나머진 참인 조합 방식이다. NOT(아닌).. 더보기
컴퓨터과학이 여는 세계_5.1 컴퓨터 구현: 속내용 감추며 차곡차곡 쌓기_이광근 강좌 동영상 튜링이 논문을 쓸 당시에, 튜링의 디자인을 구현할만한 기술들이 발전중에 있었다. 차례로 조지 부울, 클로드 섀넌, 폰노이만, 앨런 튜링 //컴퓨터 부품을 발전시킨 공학자들 [출처-구글] 튜링 기계는 계층구조(abstraction hierarchy)를 통해 만들어 졌다. 계층 구조는 A라는 가장 기본적인 것에서 B라는 것을 만들고 만든 B를 이용해 C를 만들어가는 구조를 뜻한다. 이렇게 속내용을 감추며 차곡차곡 쌓아가는 것이다. ● 모든 부품을 디지털 논리회로로 구현가능● 모든 디지털 논리회로는 AND, OR, NOT으로 구성됨● AND, OR, NOT은 스위치들로 구현가능● 모든 스위치는 직렬, 병렬, 뒤집기로 구성됨● 스위치는 어떤 흐름을 제어하고● 흐르는 실체는 전기/물/빛/힘등이며, 0.. 더보기