본문 바로가기

개발 이야기/computer science

(6)
CPU 클럭 싸이클(clock cycle) 높이기 "클럭 싸이클이란" 클럭 싸이클은 CPU가 명령어를 실행하기 위해 데이터를 가져오고(fetch), *명령어를 해석하고(decode), 실행(execute)하는 단계를 말한다. 명령어를 실행하는 주기라고 해서 '명령 주기'라고 한다. *싸이클: 메모리에서 명령어 코드(opcode)와 데이터가 있는 메모리 주소를 fetch한다. CPU가 갖고 있는 명령어 코드 중 일치하는 것을 찾고 어떤 명령인지 해독한다(decode). 그리고 실행(execute)한다. "단위" 클럭 싸이클의 단위를 Hz(헤르츠)이다. 1Hz이면 1초 당 하나의 명령을 실행할 수 있다. 요즘은 컴퓨터로 영상을 끊김없이 보고, 게임도 한다. 요즘의 컴퓨터는 GHz 단위의 성능을 갖고 있다. 내 맥북의 경우 2.6GHz인데 1초에 8,589,..
multi bit buses / 로직 게이트에 여러 비트 정보 전달하기 이전 포스팅에서는 로직 게이트에서는 선 당 하나의 값, 즉 1 bit만 받아서 처리했다. 하지만 하나의 값에도 4비트, 8비트, 16비트 등 여러 비트로 처리할 수 있다. 이를 Multi Bit Buses 라고 한다. 여러 비트가 함께 태워져 전송된다는 의미에서 'Bus'라고 한다. 비트 버스, 이벤트 버스 등 컴퓨터에서 버스는 여러 데이터를 한번에 전달하는 의미로 쓰인다. *HDL(Hardware Description Language)로 16비트를 입력값과 출력값으로 사용하는 Chip을 기술해보면 다음과 같다. *HDL: 하드웨어를 시뮬레이션할 때 쓰는 하드웨어 언어이다. 칩이나 회로에 대해서 기술할 수 있다. CHIP Chip16 { IN a[16], b[16]; OUT out[16]; PARTS: ..
로직 게이트 / Xor, Nand, Nor, Mux, DMux 저번 포스팅에서 기초적인 논리 게이트에 대해 다뤘다. 이번에는 이로 구성된 조금 더 복잡한 게이트를 다룬다. 로직 게이트(Logic gate) / AND, OR, NOT 아래 사진은 x, y, z 를 입력으로 받는 불 함수의 진리표이다. 이 테이블은 x, y, z의 값에 따라 나올 수 있는 결과의 모든 경우의 수를 작성한 것이다. 그리고 이 진리표를 통해 입력을 3개 받고 하 another-light.tistory.com "Xor" Xor은 둘 중 하나만 참인 경우에만 결과가 참이다. 불 표현식으로 나타내면 다음과 같다. Xor = (X and not(Y)) or (Y and not(X)) 이를 논리 게이트로 나타내려면 not 게이트 2개, and 게이트 2개, or 게이트 1개가 필요하다. 회로로 나타..
로직 게이트(Logic gate) / AND, OR, NOT 아래 사진은 x, y, z 를 입력으로 받는 불 함수의 진리표이다. 이 테이블은 x, y, z의 값에 따라 나올 수 있는 결과의 모든 경우의 수를 작성한 것이다. 그리고 이 진리표를 통해 입력을 3개 받고 하나의 출력값을 반환하는 회로를 만들려면 먼저 불 표현식으로 나타낼 수 있어야 한다. "Bool Function 만들기" 저 모든 경우를 담는 식을 한 번에 기술하기는 어렵다. 그러므로 한 행씩 식을 도출한다. 그리고 이때 자신의 행에는 true고, 다른 행은 모두 false인 식을 찾아야 한다. 세번째 행은 not(X) and Y and not(Z) 다섯번째 행은 X and not(Y) and not(Z) 일곱번째 행은 X and Y and not(Z) 그리고 식을 간단하게 하려면, 각 식을 합하면(..
[Bool Algebra] 논리 연산 1과 0은 전기의 켜짐, 꺼짐 그리고 true와 false를 나타낸다. 우리가 컴퓨터에서 참, 거짓을 나타내는 Boolean 타입의 Bool은 불 대수(Bool Algebra)에서 나온 것이다. 17세기에 라이프니츠가 논리를 기호로 표현하기 전까지, 논리는 언어로 전개되었다. 하지만 언어는 판단해야할 명제가 많아질 수록 참거짓을 판단하기가 어려워진다. 예를 들어 이런 명제를 보자. ''그가 사람이거나 그녀가 뱀파이어'라는 게 아니고 그가 사람이 아니라는 게' 아니다. 보기만 해도 머리가 아파진다. 그러나 조지 불과 드 모르간에 의해 참 거짓을 수로 표현할 수 있게 되고 또 연산을 할 수 있게 되었다. 이렇게 되면서 위와 같은 논리는 매우 명료해질 수 있다. 1. 교환 법칙 (Commutative Law)..
컴퓨터 과학, 왜 공부해야 하는가 "컴퓨터 과학은 왜 '과학'이라 불리는가" 과학은 자연 현상에 대한 원인과 결과를 연구하고, 공학은 과학에서 얻은 지식을 기반으로 발전한다. 과학은 발견이고, 공학은 응용인 셈이다. 이렇게 생각하면 컴퓨터 과학에 대해 한 가지 의문이 든다. 컴퓨터 역시 공학의 산물인데 어째서 컴퓨터 과학이라는 분야가 따로 있는 걸까? 기계 공학, 건축 공학이란 말은 있어도 기계 과학, 건축 과학이라는 말은 없다. 다른 분야와 달리 왜 컴퓨터는 공학 외에도 과학이 있는 이유가 궁금했다. "세계 속의 세계, 컴퓨터" 우리는 학창시절 국어 시간에 이야기의 액자식 구성에 대해서 배웠다. 이야기 속에서 또 다른 이야기가 펼쳐지는 것이다. 나는 이 액자식 구성을 이야기가 아닌 우리가 사는 세계에 빗대 보려 한다. 가상현실에 대해 ..