논리 게이트 게이트(gate)는 간단한 불 함수를 구현한 물리적 장치다. 논리 게이트의 예시(위키) 모든 논리게이트는 입력 및 출력 데이터 형식이 같으므로(0 또는 1), 서로 연달아 이으면 더 복잡한 조합 게이트composite gate를 만들어 낼 수 있다. 예시) 모든 입력이 1이면 1을 반환하고, 그렇지 않으면 0을 반환하는 3-입력 불 함수 And(a , b, c)를 구현 불 대수 표기: a * b * c = (a * b) * c 접두어 표기법: And(a, b, c) = And(And(a, b), c) 오른쪽은 내부 아키텍처 : 구현 왼쪽은 게이트 : 인터페이스 프로그래밍 언어와 비슷하게, 사용자들은 구현을 알 필요가 없다. 인터페이스만 숙지하고 있으면 충분하다. 요약 논리 설계의 기술은 기존..
서적
1.1 불 대수 불 대수(Boolean algebra)는 참/거짓, 1/0, 예/아니오, 켜짐/꺼짐 같은 불 2진 값을 다룬다. 불 연산자 (Boolean operator) And x * y Or x + y Not !x * y + x * !y Nand Not-And의 줄임말 Nand(x, y) == Not(And(x, y)) Xor exclusive or의 줄임말 2개의 변수 중 딱 하나만 1일 때 1이 된다. Nor Not - Or에서 따온 이름 And, Or, Not이 다른 불 연산자에 비해 더 흥미롭거나 특별한 이유가 있을까? 바로 답하면 And, Or, Not에는 실제로 특별한 것은 없다. [And, Or, Not] 의 세 가지 기본 연산자는 모두 Nand로 표현할 수 있다.! 어떤 불 함수도 N..
Hello World Hello World 같은 프로그램은 겉으로만 간단해 보일 뿐이다. public class Main { public static void main(String[] args) { System.out.println("Hello World"); } } 이런 프로그램이 컴퓨터에서 실제로 작동하기 위해서는 다음과 같은 과정이 수행됩니다. 컴퓨터가 이해할 수 있도록 고수준 코드의 문자열을 분석해서 프로그램이 수행하려는 작업의 의미를 찾아낸다. 대상 컴퓨터의 기계어로 그 의미를 다시 쓴 저수준 코드를 생성해야 한다. (컴파일) 기계어란? 미리 약속된 2진 코드로 구성된 추상화 개념이다. 이 추상화를 명확히 하려면 하드웨어 아키텍처(hardware architecture)를 반드시 구현해야 한다...