[컴퓨터 구조] - 레지스터와 카운터 (Register & Counter)
·
💻 Computer Science/컴퓨터 구조
레지스터 (Register) 레지스터는 데이터를 일시 저장하거나 전송하는 장치로, 여러 개의 플립플롭을 연결한 플립플롭의 그룹으로 이루어진다. 플립플롭 1개는 1비트 이진 정보를 저장하기에, $N$비트 레지스터는 $N$개의 플립플롭으로 구성되며, $N$비트의 이진 정보를 저장할 수 있다. 레지스터는 여러 비트를 일시적으로 저장하거나 배열된 비트를 좌우로 자리이동을 시키는데 사용된다. 레지스터는 자신의 고유한 기능을 나타내기 위해 머리 글자를 대문자로 나타낸다. 다음이 바로 그 예시이다.`주소 레지스터(Address Registe: AR)`: 기억장치에 대한 주소를 저장하는 레지스터`명령어 레지스터(Instruction Register: IR)`: 현재 실행 중인 명령어 자체를 저장하는 레지스터`프로그램 ..
[컴퓨터 구조] - 순서 논리회로 (Sequential Logic Circuit)
·
💻 Computer Science/컴퓨터 구조
순서 논리회로 (Sequential Logic Circuit) 순서 논리회로(Sequential Logic Circuit)는 입력과 내부 상태에 따라 출력값이 결정된다. 순서 논리회로는 입력과 출력, 내부 상태의 시간열(Time Sequence)로 표현된다. 신호의 타이밍에 따라 동기 순서 논리회로와 비동기 순서 논리회로로 구분된다.`동기 순서 논리회로`: 회로의 상태가 정해진 순간의 입력값에 따라서만 변하는 회로`비동기 순서 논리회로`: 회로의 상태가 어느 순간에나 입력이 변화하는 순서에 따라 변하는 회로 동기 순서 논리회로는 "클록 펄스(Clock Pulse)"라고 하는 특정 신호를 사용하는데, 이는 불연속적인 이산 순간에만 저장 요소의 내용을 변화시키는 신호를 말한다. 클록 펄스는 저장 요소가 펄스..
[컴퓨터 구조] - 조합 논리회로 (Combination Logic Circuit)
·
💻 Computer Science/컴퓨터 구조
조합 논리회로 (Combination Logic Circuit)  조합 논리회로(Combination Logic Circuit)는 입력 신호의 조합에 의해서만 출력이 결정되는 회로로서, 상태나 시간에 의존하지 않는다. 조합 논리회로는 논리 게이트를 사용하여 구현되며, 입력 조합의 다양한 결과를 효율적으로 처리할 수 있는 장점이 있다. 조합 논리회로의 기본적인 설계과정은 다음과 같다.주어진 문제로부터 입력변수와 출력변수의 개수를 결정한다.입력변수와 출력변수를 기호로 표시하여 블록도를 그린다.각각의 출력을 입력변수의 함수(정규형)으로 나타내고 간소화한다.논리회로도를 그린다.실제 조합 논리회로를 설계할 때는 "게이트 수의 최소화", "입력단자 최소화", "신호 전파시간", "게이트 간의 상호 연결 수 최소화"..
[컴퓨터 구조] - 카르노 맵 간소화 (Karnaught Map, K-map)
·
💻 Computer Science/컴퓨터 구조
최소항과 최대항 논리 회로를 최적화할 때,  "최소항(Minterm)"과 "최대항(Maxterm)" 개념은 매우 중요하다. 이 두 개념을 통해 "카르노 맵(Karnaugh Map, K-Map)"을 사용하여 불 대수식을 단순화하고 회로의 복잡도를 줄일 수 있다.최소항(Minterm) "최소항"은 "모든 입력 변수를 포함하는 AND 항"을 의미한다. 즉, 부울 대수에서 모든 입력 변수를 고려한 후, 그 값에 대해 AND 연산을 수행하는 항을 말하는 것이다. 이는 1개의 조합을 나타내며, 모든 변수의 가능한 값을 포함하고 있기 때문에 최소항은 정확히 하나의 진리값(1 또는 0)을 반환한다. 최소항에 대한 구체적인 정의는 다음과 같다.최소항은 모든 입력 변수를 포함하며, 각 변수는 직접 또는 부정(negatio..
[컴퓨터 구조] - 부울 대수 법칙 (Boolean Algebra)
·
💻 Computer Science/컴퓨터 구조
논리 회로를 구성하기 위해서 진리표를 보고 "직감적으로" 구성하는 방식으로 논리 회로를 설계하는 것은 무리가 있다. 간단한 논리 회로일 때는 별 문제가 없겠지만, 복잡한 회로가 된다면 최적화 문제 등에 부딪히게 되기 때문이다.  "부울 대수"는 하나의 명제가 참 또는 거짓임을 판단하는 데 사용되는 수학적 방법인데, 이 부울 대수의 규칙을 통해 최적의 논리 회로를 설계할 수 있다. 지금부터 부울 대수 법칙에 대해서 알아보도록 하겠다.부울 대수 법칙부울 대수 법칙은 생각보다 굉장히 많다. 중고등학교 수준의 수학(집합, 명제 등)을 할 줄 안다면 쉽게 이해 가능하다.Commutative(교환 법칙)1) $x + y = y + x$2) $x * y = y * x$Associative (결합 법칙)1) $(x +..
[자료구조] - 스택(Stack)
·
💻 Computer Science/자료구조-알고리즘
스택의 정의 "스택"은 컴퓨터에서 굉장히 많이 사용하는 자료구조 중 하나입니다. 대표적으로 인터넷에서 뒤로 가기를 누르면 현재 진행되는 웹에서 이전에 수행되던 웹사이트로 돌아갑니다. 이것이 스택의 예시 중 하나입니다. 스택은 '쌓다, 더미'라는 뜻을 가지고 있는데, 이에 뜻에 걸맞게 스택은 데이터를 차곡차곡 쌓아올린 형태인 자료구조입니다. 창고에 쌓여있는 상자를 예시로 들어봅시다. 창고에 새로운 상자를 쌓을 때는 상자의 가장 윗 부분에 놓습니다. 그리고 필요하다면 상자더미에서 가장 위에 있는 상자를 꺼내게 됩니다. 그렇지 않고 상자더미의 가장 아래에 있는 상자를 꺼낸다면 상자더미는 붕괴될 것입니다. 이러한 형태를 후입선출(LIFO: Last-In First-Out)이라고 합니다. 스택 자료구조는 이러한 ..
[컴퓨터 구조] - 논리 회로 표현 방식 (논리 회로 기초)
·
💻 Computer Science/컴퓨터 구조
컴퓨터 내부에서 수행되는 "기계어"는 2진수 형태이다. 그러나 프로그래머가 기계어를 직접 다루는 것은 어렵고 힘들기에 "고급 프로그래밍 언어(High-Level)"를 사용한다.  즉, 고급 프로그래밍 언어는 사람에게 적합한 언어이고 기계어는 컴퓨터에게 적합한 언어이다.   그렇다면 기계어가 컴퓨터에게 적합한 언어라면 기계어의 밑에는 무엇이 있을까 바로 "하드웨어"가 있다. 하드웨어 위에서 기계어가 수행되는 것이다. 지금부터 기계어가 어떻게 하드웨어에 의해서 수행되는지 알아보도록 하겠다.논리 회로 기초 기계어 레벨 밑에는 논리 회로 레벨이 있고, 논리 회로 레벨 아래에 전자 소자 레벨과 소재 레벨이 있다. 전자 소자 레벨과 소재 레벨은 물리학과 전자 공학에서 다루는 컴퓨터 소자 제작에 해당한다. 전자 소자..
loading