1. 2013-2컴퓨터기초설계기말 고사(100)
Basic Computer Design
Date: 2013-12-18
1. 조합 논리(combinational logic) 회로와 순차 논리(sequential logic) 회로의
차이점은 무엇인가? (20)
- 조합 논리 회로는 현재 입력으로만 출력을 생성하지만 순차 논리 회로는
현재와 과거 상태를 고려하는 상태 기계이다.
- 조합 논리 회로에서는 클락(clock)이 필수 성분이 아니지만 순차 논리 회로
에서는 시간 기준을 나타내는 외부 혹은 내부 클락이 필수적이다.
- 조합 논리 회로는 AND, OR, NOT 등의 단순 조합이지만 순차 논리 회로는
메모리 기능을 추가적으로 가지고 있다.
2. 전통적 관점에서 직렬 통신(serial communication)이 병렬 통신(parallel
communication)에 비해 유리한 점과 불리한 점을서술하시오. (20)
1) 유리한 점
- 통신 시스템의 회로 구성이 단순하다.
- 데이터 전송선로가 단순하다.
- 통신 프로토콜이 단순하다.
2) 불리한 점
- 병렬 구조에 비해 고속 데이터 전송이 어렵다.
- 통신 자체는 단순하지만 데이터를 분리, 합성하기 위한 다중화기(mux), 역
다중화기(demux)가 필요하다.
3. 다음 용어를 설명하시오. (20)
① ADC (10)
- 아날로그 신호를 검출하여 등가적인 이진 디지털 수치로 바꾸는 장치
- 아날로그 신호를 이진수만 가능한 CPU에 넣기 위해 사용하는 장치
② PWM (10)
2. - 펄스(pulse)의 폭을 조정하여 정보를 전송하는 기법
- CPU는 디지털 신호만 출력할 수 있지만 펄스 폭을 조정하여 아날로그 특
성을 일부 출력할 수 있는 기법
4. Arduino Sketch 언어를 이용해 다음 작업을 programming하시오.반드시
setup()과 loop() 함수를 사용할 것. 다른 함수는 정의하지 말 것. Error처리
는 필요 없음. (40)
1) 직렬 통신으로 “led on 7”을 입력하면 7번(0부터 시작) 디지털 포트에 연결
된 LED를 켜고 “led off 7”을 넣으면 LED를 끈다. 단, 7번 포트는 다른 번호
가 될 수 있다. 또한 getSerialInput, getToken, atoi, atof 함수는 이미 있다고
가정한다. (30)
void setup()
{
Serial.begin(9600);
}
void loop()
{
String sInput = getSerialInput();
if (sInput.length() > 0)
{
String token;
intnPos = 0;
token = getToken(sInput, nPos);
if (token == “led”)
{
token = getToken(sInput, nPos);
intval;
if (token == “on”)
else
val = HIGH;
val = LOW;
token = getToken(sInput, nPos);
3. intnLed = atoi(token);
pinMode(nLed, OUTPUT);
digitalWrite(nLed, val);
}
}
delay(500);
}
2) 3번(0부터 시작) 아날로그 포트에서 전압을 감지하여 측정 전압을 직렬
통신으로 출력한다. 측정 주기는 500msec이다. 아날로그포트는 0 ~ 5V 범
위에 대해 0 ~ 1023의 숫자를 출력한다. (10)
void setup()
{
Serial.begin(9600);
}
void loop()
{
intval = analogRead(A3);
double volt = val/1023.*5;
Serial.print(volt, 3);
delay(500);
}