본문 바로가기

분류 전체보기

(131)
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) 그리고 식을 간단하게 하려면, 각 식을 합하면(..
나의 명상 방법 나는 매일 아침에 일어나 한 번, 자기 전 한 번 10분씩 명상을 한다. 아침과 저녁 명상은 각자 목적이 다르다. 그래서 목적에 따라 명상 방법도 다르다. "생각 버리기" 아침 명상에서는 생각을 버린다 . 하루에도 너무나 많은 정보들이 들어오고, 많은 생각을 하기 때문에 머리를 말끔히 비워야 한다. 보고 듣고 느끼고 생각했던 모든 것들을 비운다. 이를 위해 더러운 것을 청소하는 과정을 상상한다. 머릿속으로 청소하는 과정에 집중하다보면 머릿속 생각을 치우는 것처럼 머리가 맑아지는 느낌이 든다. 생각을 비우기 위해 아침에 10분 동안 명상을 한다. - 똑바로 앉고 복식호흡을 한다. (누워있으면 그대로 자버린다.) - 복식호흡을 10번까지 카운트한다. - 10이 되면 화이트보드를 지우거나 분리수거하여 쓰레기를..
2021.02.01 월요일 - [x] 아침 명상 - [x] 저녁 명상 - [x] 운동 (1) - [x] 독서 (1) - [x] CS 공부(1.5) - 네트워크: google network course / 그림으로 배우는 network 책 - crash course: 프로그래밍 언어 - [x] 나작앱(2): 홈 화면 디자인 / 서버 환경 구축 - [x] 블로그 포스팅 주중 나작앱 총 10시간, CS공부를 7.5시간 하는데 2시간 씩 쪼개다보니 조금 흥이 오를만 하면 나작앱이 끝난다. 5일로 쪼개지 않고, 유연하게 시간을 나눠서 해보는 것도 좋을 듯. 하루는 나작앱 4시간하고, 다른 날에는 CS 공부를 더 하는 식으로 그림으로 배우는 네트워크 책 절대 사지 마라.. github.com/kamranahmedse/developer-roa..
타임테이블 짜기 할 게 많아지니 우선순위를 정하고 타임테이블을 짜서 관리하려고 한다. 해야할 것들만 늘어놓으니까 정작 중요한 건 못하고 빨리 끝낼 수 있는 걸 먼저 처리하게 된다. 피터 드러커의 '자기경영노트'와 니르 이얄의 '초집중'을 참고했다. 1. 먼저 내 목표를 이루기 위한 행동을 정의한다. 2. 행동에 걸리는 시간을 적는다. 3. 우선순위를 정한다. 4. 하루의 시간 사용을 모두 기록해서 가용 시간과 낭비되는 시간을 파악한다. (마치 내 통장의 현금흐름을 파악하는 것과 같다.) 5. 월화수목금토일 각각의 가용시간에 맞게 행동에 소요할 시간을 배치한다. 6. 타임테이블을 만든다. "목표 - 행동" 나는 목표 수집가인가. 되고 싶은 것도 많고 하고 싶은 것도 많다. 참 욕심쟁이다. 우후훗. 이걸 하루에 다 할 수 ..
2021.01.31 일요일 - [x] 아침 명상 10분 - [x] 저녁 명상 10분 - [x] 약속 - [x] 나작앱 기획 구체화 - [x] 코세라 Nand to tetris: unit 1.2 ~ 1.8 (1주차) - [x] crash course CS #8-10 - [x] 10분 크로키
[Bool Algebra] 논리 연산 1과 0은 전기의 켜짐, 꺼짐 그리고 true와 false를 나타낸다. 우리가 컴퓨터에서 참, 거짓을 나타내는 Boolean 타입의 Bool은 불 대수(Bool Algebra)에서 나온 것이다. 17세기에 라이프니츠가 논리를 기호로 표현하기 전까지, 논리는 언어로 전개되었다. 하지만 언어는 판단해야할 명제가 많아질 수록 참거짓을 판단하기가 어려워진다. 예를 들어 이런 명제를 보자. ''그가 사람이거나 그녀가 뱀파이어'라는 게 아니고 그가 사람이 아니라는 게' 아니다. 보기만 해도 머리가 아파진다. 그러나 조지 불과 드 모르간에 의해 참 거짓을 수로 표현할 수 있게 되고 또 연산을 할 수 있게 되었다. 이렇게 되면서 위와 같은 논리는 매우 명료해질 수 있다. 1. 교환 법칙 (Commutative Law)..
영화와 애니메이션으로 말하는 '생명체로서의 컴퓨터' "생명체로서의 컴퓨터" '발달된 로봇을 인간으로 봐야하는가 기계로 봐야하는가'는 우리가 자주 접하는 SF장르물의 주제이다. 인공지능, 가상현실, 생명공학 등 기술이 발달하면서 인간과 기계의 경계가 점점 희미해지고 있다. 나는 최근에 재밌는 상상을 한 적이 있다. 이 세상이 사실 프로그래밍 된 세상이고 내가 해킹해서 코드를 마음대로 바꾸는 것이다. 이 상상은 모든 생명체가 소프트웨어처럼 알고리즘으로 이루어져있다는 데서 비롯되었다. "01, GTCA" 생명체는 부모 세대로부터 유전적인 속성을 물려받고, 세대를 거듭할 수록 진화한다. 생명체의 DNA는 G,T,C,A 네 가지 염기로 코딩된다. 마치 프로그램이 0과 1로 이루어지듯이 인간도 GTCA의 배열에 따라 결정된다. 인공지능 홀로그램인 조이와 인간 케이가..
2021.01.30 토요일 이렇게 계획을 적기 시작하고 처음 맞는 주말이라, 혹시나 빈 시간이 생길까봐 많이 적었다. "건강" - [ ] 아침 명상 10분 - [x] 저녁 명상 10분 - [x] 운동 1시간 -> 2시간 "블로그" - [x] 개발이야기 - '컴퓨터 과학, 왜 공부해야하는 가' 포스팅 - [x] 단상 - '생명체로서의 컴퓨터' 포스팅 - [x] 개발이야기 - incoming webhook github action 써서 돌리는 법 추가하기 "컴퓨터 과학" - [x] crash course: RAM, CPU - [x] 코세라 1주차 - introduction + boolean logic 일일이 블로그에 기록하려니 다음 진도가 안나간다. 진도 나가면서 필기하고, 그 다음에 포스팅해야겠다. "나작앱" 아.. 디자이너가 절실..