ai4diy의 등록된 링크

 ai4diy로 등록된 네이버 블로그 포스트 수는 15건입니다.

조합논리회로(Combinational logic circuit) [내부링크]

<meta http-equiv="Content-Type" content="text/html; charset=ks_c_5601-1987" /><meta name="Generator" content="Microsoft Word 15 (filtered)" /> 1. 조합논리회로에 대해 앞서 알아본 논리연산과 논리 게이트를 사용하여 논리회로를 설계하고, 이를 간소화할 도구로써 카르노 맵까지 익숙해졌다면 논리회로에서의 준비는 끝난 것이다. 이제부터는 특정한 기능을 갖는 논리회로를 묶어 하나의 모듈로 자주 쓰이는 조합논리회로들을 알아본다. 2. 비교기 먼저, 여기서 말하는 비교기는 디지털 비교기(Digital Comparator)이다. 따라서 입력에 쓰이는 값은 디지털인 ‘0’ 또는 ‘1’만 해당하며 두 입력을 비교하는 회로이다. 입력 A(피비교수)와 입력 B(비교수)의 사이를 비교할 때 나올 수 있는 출력은 ‘같다’, ‘다르다’, (B가)‘크다’, (B가)‘적다’로 4가지이다. 이 중, ‘같

카르노 맵(Karnaugh map) [내부링크]

1. 카르노 맵에 대해 앞서 논리회로 설계의 과정에서 논리식의 간소화 과정을 거쳤다. 이 과정은 꼭 필요하지만 여러가지의 불 대수 법칙을 알고 있어야 하고 변수의 조합에 따라 상당한 시간을 소요하게 된다. 이러한 간소화 과정을 도식화하여 간단명료하게 할 방법으로써 1953년에 모리스 카르노(Maurice Karnaugh)가 발표한 카르노 맵(Karnaugh map)을 주로 사용한다. 이 카르노 맵은 2차원의 표로 나타내며 입력의 동일항끼리 인접하게 배치하여 묶는 것으로 간소화가 진행된다. 불 대수에서 필산으로 수 분이 걸리는 간소화도 카르노 맵에서 정리하면 10초 전후로 끝낼 정도로 강력하지만 2차원의 표현상 입력이 4개로 제한된다는 한계도 있다. 이러한 카르노 맵의 사용법과 예시를 살펴본다. 2. 2입력 카르노 맵 2입력 카르노 맵은 불 대수의 간소화쪽이 간단한 이유로 잘 쓰이지는 않지만 카르노 맵을 이해하고자 할 때 접근하기에 좋다. 두 개의 입력에 대한 경우의 수를 확인하기 위

논리회로 설계(Logic circuit design) [내부링크]

1. 논리회로 설계에 대해 앞서 논리연산과 논리 게이트를 알아봤으므로 원하는 목표를 설정해두고 그에 맞는 논리회로(Logic circuit)를 설계하고자 한다. 여기서는 입력과 출력 사이의 관계를 진리표로 나열해 두어 이에 따라 논리식으로 변환 후 논리식의 간소화(Simplification)과정을 거친다. 그 정리된 최종 논리식을 바탕으로 논리회로를 설계한다. 이러한 과정을 완성된 진리표를 기반으로 한 문제와 논리 해석이 필요한 서술형 문제로 나누어 따라해본다. 2. 진리표 기반 논리회로 설계 입력 출력 일련번호 A B C D Q 0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 0 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 1 위와

논리 게이트(Logic gates) [내부링크]

1. 논리 게이트에 대해 앞서 알아본 논리연산이 불 대수 기반에서의 수식으로 표현한다면 이제 실물로 만들고자 한다. 그러나 실제 전기를 인가하거나 차단하는 회로를 만들기에는 복잡하기도 하지만 설계자마다 그리는 방식이 제각각 다르다. 게다가 결선도(단선도, 복선도), 설계 단위(유접점 소자, 무접점 소자), 설계소자의 극성(P/N/CMOS, A/B/C접점) 등에 따라서 논리를 구현할 방법이 많다. 이에 논리연산의 기능을 구현하는 단위회로를 하나의 기호로 그리는데 이것을 논리 게이트(Logic gate)라고 부른다. 이 논리 게이트는 단위 회로를 묶어낸 기호이기에 이것 자체를 부품으로 취급하여 회로도에 반영되는 경우도 자주 있다. 2. 논리 게이트의 종류 논리 게이트는 보통 8가지로 구분되며 기능상 논리연산자와 같은 내용이다. 따라서 논리연산자에서 확인한 피연산자와 연산결과를 논리 게이트에서 입력과 출력으로 가져오면 되니 기호를 논리식과 연관되게 기억하도록 한다. 기호의 외형은 크게 구

논리연산(Logical operations) [내부링크]

1. 논리연산에 대해 논리연산의 설명에 앞서, 논리(Logic)를 간단히 말하면 모든 것을 참과 거짓이라는 두 가지 원소만으로 구성되는 체계이다. 고대 그리스부터 있던 것으로 계속 논증에 대한 학문으로 이어져 오다가 조지 불(George Boole)이 불 대수(Boolean algebra)를 고안하여 논리에 대한 연산이 가능한 체계로 정착된다. 예로 전기에서 전압이 인가되었을 때의 논리를 참으로 하고, 전압이 인가되지 않았을 때의 논리를 거짓으로 하자. 그렇다면 불 대수로 전압이 있을 때 ‘1’, 전압이 없을 때 ‘0’이 된다. 그리고 컴퓨터에서 전압이 있을 때 비트가 ‘1’, 전압이 없을 때 ‘0’이므로, 불 대수를 그대로 2진수에서 적용할 수 있다. 이러한 논리 체계에서 행하는 연산방법을 논리연산(Logical operation)이라 부른다. 이 논리연산을 위한 연산자와 연산법칙을 알아본다. 2. 논리연산자의 종류 불 대수에서 쓰이는 논리연산자는 집합(Set)의 종류를 나타내는

MII [내부링크]

1. MII에 대해 통신의 이해에 앞서, 먼저 MAC과 PHY이라는 것을 알아야 한다. MAC(Media Access Control : 매체 접근 제어)은 다수의 장치가 하나의 매체(통신 회선)을 공유하여 사용할 때 각 단말기간의 간섭이나 충돌을 줄이도록 제어하는 것을 말한다. 바꿔 말해, 매체에 대한 접근 권한과 데이터 송신 권한을 가져가는 것을 제어하며, OSI(Open Systems Interconnection)에서 2계층인 데이터 링크에 해당한다. PHY(Physical layer : 물리 계층)는 OSI에서 1계층을 말하는 것으로 전송매체와 OSI 2계층의 사이에 위치하여 데이터의 송수신을 담당한다. 당연히 매체의 종류(트위스트 페어, 동축케이블, 광섬유, 공기(무선 전파) 등)에 따라 PHY가 변경되어야 하며, 동작 가능한 속도의 범위(10 Mbps, 100 Mbps, 1 Gbps, 10 Gbps 등)도 다르므로 MAC과 호환되는지 확인하도록 한다. 기존의 10 Mbps

I2C 통신(I2C Communication) [내부링크]

1. I2C 통신에 대해 기본적으로 쓰이던 직렬 통신 USART는 1:1로만 쓰인다. 그러므로 여러 장치와 연결하려면 그에 대응하는 여러 개의 송수신기가 필요하므로 하드웨어에서 제약이 있다. 이를 개선하도록 송신과 수신을 묶고 이것과 클럭 두 회선에서 분기하여 또 다른 장치를 연결하는 통신이 1980년대에 필립스(Philips)사에 의해 개발되었는데 이를 I2C([아이-스퀘어-씨] 또는 IIC, Inter-Integrated Circuit : 상호 통합형 회로)라고 부른다. 이 I2C 통신에 대해 알아본다. 2. I2C 통신 결선도 그림과 같이 I2C의 결선도는 SCL(Serial Clock)끼리, SDA(Serial Data)끼리 연결하고 두 회선에 풀업 저항기를 추가한다. 그리고 클럭을 한 장치가 관리하고 이것을 클럭과 함께 송신하는 장치가 제어장치(Controller), 클럭을 받아 데이터를 응답하는 장치가 대상장치(Target)가 된다. 더불어 한 회선에서 송신과 수신을 하는

SPI 통신(SPI Communication) [내부링크]

1. SPI 통신에 대해 기본적으로 쓰이던 직렬 통신 USART는 1:1로만 쓰인다. 그러므로 여러 장치와 연결하려면 그에 대응하는 여러 개의 송수신기가 필요하므로 하드웨어에서 제약이 있다. 이를 개선하도록 송신, 수신, 클럭 각각의 회선에서 분기하여 또 다른 장치를 연결하는 통신이 1980년대에 모토로라(Motorola)사에 의해 개발되는데 이것을 SPI(Serial Peripheral Interface : 직렬 주변기기 인터페이스)라고 부른다. 이 SPI 통신에 대해 알아본다. 2. SPI 통신 결선도 그림과 같이 SPI 통신의 결선도는 MOSI(Master Out, Slave In)끼리, MISO(Master In, Slave Out)끼리, SCLK(Serial Clock)끼리, SS#(Slave Select)끼리 연결한다. 장치가 마스터(Master, 주 장치)인지 슬레이브(Slave, 부하 장치)인지에 따라 MOSI와 MISO에 대한 송신 또는 수신의 방향이 결정되는 동기식

UART 통신(UART Communication) [내부링크]

1. UART 통신에 대해 모든 체계에는 기초가 되는 것이 있다면 통신에는 UART(Universal Asynchronous Receiver and Transmitter : 범용 비동기식 송수신기)가 그 기초가 된다. 개발 초기인 1960년대에는 회사마다 같은 기능을 다른 이름으로 쓰다가 1970년대에 이 명칭으로 정착하였는데, 이름과 같이 매우 여러 곳에 쓰이며 비동기식 전이중 통신이다. 이 UART 통신을 상세히 알아본다. 2. UART 통신 결선도 그림과 같이 UART 통신의 결선도는 TX에서 RX로 송신하는 회선과 기준선(GND)가 전부이다. 송신하는 장치와 수신할 수 있는 장치는 항상 1개인 1:1 통신이 된다. 두 장치는 사전에 통신속도와 데이터 구조를 정하고 이것에 맞춰서 송신하면 수신 측에서는 속도와 구조가 일치하는지 확인하고 데이터를 받아들인다. 이 통신이 지원하는 속도는 정해진 것이 없으며 1 Mbps 이하에서 무리가 없지만 상대 장치의 요구사항에 따르는게 보통이다

통신 (Communication) [내부링크]

1. 통신에 대해 통신은 둘 이상의 대상이 연결되어 정보를 주거나 받는 것이다. 상대방까지의 거리나 주변환경에 따라 많은 종류의 통신 방식이 존재하는데, 그 중 많이 쓰이는 것 몇 가지만 알아 두면 충분하다. 통신 자체를 파악하기 전에 통신의 선택에 기준이 되는 것부터 파악해 둘 필요가 있다. 아래의 몇 가지의 특성에 대해 알아본다. 2. 통신 특성 – 직렬 통신과 병렬 통신 만약 8개의 데이터가 있다고 할 때, 통신상 가장 간단하게 끝내는 방법은 송신기(TX: Transmitter)과 수신기(RX: Receiver)간의 회선을 8개 만들어서 동시에 모두 보내는 것이다. 이렇게 한 번에 여러 개의 데이터를 보내는 병렬(Parallel)통신은 매우 빠르게 끝나겠지만 생겨나는 다른 문제가 간단하지 않다. 데이터의 개수는 통신할 내용마다 바뀌니 매번 1개의 회선에 1개의 데이터를 보낼 수 없다는 것과 회선을 만드는 비용과 공간에는 한계가 있다는 것이다. 그렇다면 비용이라도 줄이도록 회선을

부호 2 (Code 2) [내부링크]

1. 부호에 대해 컴퓨터상에서 전기가 흐른다(1)와 흐르지 않는다(0)의 나열만으로는 사람이 실생활에 쓰이는 수체계나 언어의 표현에 불편함을 느낄 수밖에 없다. 따라서 특정한 2진수의 나열들에 대해서 어떤 의미를 갖도록 약속을 하는데 이것을 포괄적으로 부호(Code)라고 부른다. 별도의 기준이 정해져 있지는 않으나 크게 두 가지로 컴퓨터 장치의 오류를 줄이거나 확인하려는 코드와 사람이 숫자나 문자를 편하게 쓰기 위한 부호로 나눌 수 있다. 부호의 종류는 아래의 내용보다 더 많지만 사람의 편의를 위한 부호를 몇 가지만 보도록 한다. 2. 8421 부호 사람은 10진수를 기본으로 쓰는데 컴퓨터는 2진수를 기본으로 쓰는 환경이니 가독성이 떨어진다. 특히, 10진수 표기의 자릿수가 많아지거나 날짜/시간과 같이 10진 체계가 아닌 10진수 표현을 할 때마다 변환하기에 불편하다. 이에 10진수 1자리마다 2진수 4자리를 할당하여 010부터 910까지에 대응하는 10가지의 정해진 배열을 사용하며

부호 1 (Code 1) [내부링크]

1. 부호에 대해 컴퓨터상에서 전기가 흐른다(1)와 흐르지 않는다(0)의 반복 중 상태가 온전하지 않아 온전한 수치를 알 수 없는 경우가 있다. 따라서 2진수의 나열들에 추가하거나 수정하여 원래의 수치와 일치하는지 확인을 하는데 이것을 포괄적으로 부호(Code)라고 부른다. 별도의 기준이 정해져 있지는 않으나 크게 두 가지로 컴퓨터 장치의 오류를 줄이거나 확인하려는 코드와 사람이 숫자나 문자를 편하게 쓰기 위한 부호로 나눌 수 있다. 부호의 종류는 아래의 내용보다 더 많지만 오류감소를 위한 부호를 몇 가지만 보도록 한다. 2. 패리티 부호 2진수의 전달 중 오류의 발생여부를 확인하기 위해 1자리수를 추가하는 것으로써 가장 간단한 구조인 것이 장점이다. 패리티 자리는 2진수에 포함된 1의 개수를 세어 짝수로 맞추려는 짝수 패리티와 1의 개수를 홀수로 맞추려는 홀수 패리티로 나뉜다. 아래의 예시는 짝수 패리티의 경우이다. 2진수 패리티 0 0 1 1 0 1 1 0 1 1 0 0 1 0

사칙연산 (Elementary arithmetic) [내부링크]

1. 사칙연산에 대해 사칙연산이란 보통 덧셈, 뺄셈, 곱셈, 나눗셈으로 이 네 가지를 뜻한다. 10진수가 2진수로 바뀐다 하더라도 그 계산 방식은 동일하며, 상호간 변환하면 그 결과값도 일치한다. 다른 점은 컴퓨터가 쓰는 경우 음수를 따로 표현할 방법이 없기에 최고 자릿수에 부호가 들어간 2의 보수로 변환하여 쓰인다는 것이 있으므로 이를 인지하도록 한다. 이에 따라 표현할 수 있는 수가 제한되고 계산되는 자릿수도 중요하게 된다. 여기서는 음수표현이 가능한 8자리를 기준으로 한다. 2. 덧셈 연산 사칙연산 중에서도 가장 기본적인 연산으로 간단하다. 덧셈의 예로 피가수 011010012에 가수 000001012를 더할 것이다. + ) 011010012 (=10510) + ) 000001012 (=510) + ) 011011102 (=11010) 다른 예시로 011010012에 음수인 가수 111110112를 더하면 뺄셈과 같게 된다. 8번째 자릿수에 음수라는 의미로 숫자가 있으며, 이에

보수와 음수 (Complement and negative number) [내부링크]

1. 보수에 대해 사칙연산을 하려면 정수 범위라도 음수를 표현할 수 있어야 하는데 컴퓨터 구조상 2진수의 음수 표기에 있어 보수를 이해할 필요가 있다. 보수는 각 자리의 숫자의 합이 일정한 수가 되도록 만들어 주는 수로써 1의 보수라고 하면 각 자릿수의 합이 1이 되도록 하는 수를 말하며, 10의 보수라고 하면 자릿수의 합계가 10이 되도록 하는 수로 3에 대한 10의 보수는 7, 4에 대한 10의 보수는 6, 5에 대한 10의 보수는 5가 된다. 10진법에서라면 1~10의 보수가 존재하고 2진법에서라면 1과 2의 보수가 존재한다. 2. 보수로의 변환 10진법의 경우 보수에 의한 연산을 거의 하지 않지만 10의 보수만은 암산이나 주판의 사용 시에 쓰이기도 한다. 다만, 필산 방법과 다르므로 연습이 필요하다. 2진법의 경우도 연산에 2의 보수가 필요한데 이를 위해 1의 보수부터 구한다. 1의 보수는 1 또는 0으로만 표기되므로 1의 보수라고 하면 합계가 1이 되도록 0은 1로, 1은

진법과 변환 (Notion(Base) with conversion) [내부링크]

1. 진법에 대해 진법은 수를 셀 때 자릿수가 변경되는 단위를 특정하여 두는 셈법이다. 예를 들어 평소에 사용하는 수는 0부터 9까지의 10개를 사용하는 10진법이 된다. 하루의 낮과 밤으로 구분하여 12개의 간격을 둔 시간은 12진법이 되고 1시간은 60분, 1분은 60초의 주기를 가지므로 60진법이라 할 수 있다. 사람과 달리 컴퓨터의 경우 전자제품으로써 인식하는 것은 전기가 흐른다(1)와 흐르지 않는다(0)뿐이며 이에 따라 2진법으로 모든 동작을 한다. 다만, 숫자가 커질수록 사람이 읽기 어려울 정도로 길어지는 탓에 2진법의 수를 네 자리마다 하나의 숫자로 변환되는 16진법으로 표기하는 것이 일반적이다. 이에 따라 10진법, 2진법, 16진법 세 가지에 대해 수 체계를 알고 서로 간의 진법변환을 할 수 있어야 한다. 10진법 - 010, 110, 210, 310, 410, 510, 610, 710, 810, 910 (10 개, 이후 1010-1110-1210 순으로 계속.) 2