컴퓨터 (6) 썸네일형 리스트형 vscode 새탭으로 열기 ctrl+shift+P> Preferences: Open Settings (JSON)검색(open user setting){ "workbench.editor.showTabs": single/false}true 로 바꾸기 4bit 가산기 만들기 (5) 가산기 하나로는 한 자리수의 계산이 가능하다 전가산기 두 개를 이어 붙인다면 두 자리수 계산을 할 수 있다. 이전 연산에서의 C를 다음 C에 연결하는 방식으로 확장시킬 수 있다. 처음 가산기는 입력받을 Carry가 없으므로 반가산기로 해도 된다 목표인 4bit 가산기를 위해 전가산기 4개를 연결해보자 이제 15+15=30까지 할 수 있는 가산기를 만들었다. 4bit 가산기 만들기 (4) 전가산기에 대해 알아보자 반가산기와 전가산기의 차이는 반가산기는 두 개의 숫자를 더할 수 있는 회로이고 전가산기는 세 개의 숫자를 더할 수 있는 회로라는 것이다. 두 수를 더하는데 왜 입력값이 세개인 전가산기가 필요할까? 바로 자리올림(C) 때문이다. 일의 자리를 계산할때는 반가산기만으로 충분하지만, 자리올림이 있을 수 있는 2의자리 부터는 세 수를 더해야 한다. Sum의 값을 보면 1이 홀수개 있을 때 Sum의 값이 1이 된다. 차례대로 XOR연산을 해주면 된다.(XOR 두개를 잇는다) Carry의 값이 까다로워진다. 이전 연산에서 C가 있는 경우와 이번 연산에서 C'가 생기는 경우를 고려해야 한다. 이번 연산만으로 C'가 새로 생길수도, 이전 연산의 C까지 더했을 때 새로 C'가 생길수도 있다. 정리.. 4bit 가산기 만들기 (3) 2진수의 덧셈과 간단한 가산기를 만들어보자 2진수의 덧셈은 기본적으로 10진수와 같다. 10진수 덧셈을 해보자 1 + 3 = 4 14 + 27 = 41 첫번째와 두번째 계산에서 다른점은 두번째 계산에서 자리올림이 생겼다는 것이다. 14 + 27 에서 먼저 4 + 7 = 11을 계산한 뒤 십의 자리 수를 자리올림하여 1+1+2를 하는건 누구나 이해할 수 있다. 2진수의 덧셈을 해보자 01(2) + 10(2) = 11(2) 마찬가지로 자리올림이 없는 간단한 계산이다 1(2) + 1(2)는 어떨까 1(2) = 1(10) 이므로 10진수로 계산하면 1(10)+1(10)=2(10)=10(2) 1(2) + 1(2) = 10(2) 라는 사실을 알 수 있다 따라서 0+0=0 0+1=1 1+0=1 1+1=10 올림수를 .. 4bit 가산기 만들기 (2) 논리 게이트(logic gate)에 대해 알아보자 기본적으로 가산기에 쓰이는 gate는 3가지이므로 그 세가지 AND, OR, XOR에 대해서만 다뤄보자 gate는 기본적으로 2개의 입력값과 1개의 출력값을 가진다. AND gate는 두 입력값이 모두 1이어야 출력값이 1이다 OR gate는 두 입력값 중 하나만 1이어도 출력값이 1이다 XOR gate는 두 입력값중 하나만 1이어야 출력값이 1이다 각 gate의 진리표는 다음과 같다 4bit 가산기 만들기 (1) 가산기란? 컴퓨터의 기본 요소로, 논리 대수에 따라서 동작하도록 반도체로 만든 논리 소자를 사용하여 구성한 회로이다. 가산기를 만들기에 앞서 알아야 할 개념이 몇 가지 있다. 1. 2진수 2. 논리 게이트(논리 회로) 먼저 2진수에 대한 설명을 간단히 해보겠다. 2진수는 2를 기수로 하여 0과 1의 2종류 숫자로 나타내는 수로 컴퓨터는 모든 정보를 2진수라는 체계로 바꾸어 알아듣는다. 10진수 체계에서는 일의 자리부터 1, 10, 10^2, 10^3 의 자리를 갖는 반면 2진수 체계에서는 일의 자리부터 1, 2, 2^2, 2^3 의 자리를 가진다. 따라서 324(10) = 3×10^2 + 2×10 + 4×1 1101(2) = 1×2^3 + 1×2^2 + 0×2 + 1×1 = 13(10) 이전 1 다음