TestBCD2013-1(answer)

1,319 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,319
On SlideShare
0
From Embeds
0
Number of Embeds
35
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TestBCD2013-1(answer)

  1. 1. 2013-2컴퓨터기초설계 중간 고사(100) Basic Computer Design Date: 2013-10-25 1. Computer 구조에서 CPU – northbridge - southbridge 구조가 필요한 이유는 무엇인가? (20) - CPU는 고속으로 구동되지만 CPU 외부에 있는 memory, graphics, 주변 장 치는 저속으로 구동됨 - 빠른 CPU가 느린 memory, graphics, 주변 장치의 속도에 맞추면 전체 system의 속도가 느려지므로 이를 해결하기 위한 controller로 northbridge, southbridge 구조를 사용함 - Northbridge는 상대적으로 속도가 빠른 memory, graphics와 같은 고속 소자 를 CPU에 연결하기 위해 사용하며, southbridge는 상대적으로 속도가 느린 소자를 northbridge를 통해 CPU와 연결함 2. CPU 내부에 장착된 cache가 register 및 memory(DRAM or SRAM)와의 공 통점 및 차별화되는 특성을 구체적으로 설명하시오. (20) - 공통점: cache, register, memory는 모두 정보를 저장하기 위한 소자임 - Register와의 차이점: register는 memory 용량이 매우 소형이나 cache는 상 대적으로 큼, register는 data read/write 속도가 매우 빠르나 cache는 상대 적으로 느림 - Memory와의 차이점: cache는 memory보다 상대적으로 저용량, 하지만 CPU 내부에 장착되어 있고 data read/write 속도도 빠르기 때문에 memory 보다 data 처리 속도가 훨씬 빠름 3. Machine cycle을 구성하는 4대 요소를 쓰고 각 요소가 하는 일을“a = 12 x 34”명령 처리를 예로 들어 구체적으로설명하시오. (20)
  2. 2. - Fetch: memory(주로 DRAM)에 있는 instruction/data를 register로 가져옴 예) memory에 “a = 12 x 34” 형태로 표현된 instruction/data를 register로 가 져옴 - Decode: CU에서는 instruction을 해독하여 ALU가 실행할 수 있는 준비를 함 예) CU에서 “12 x 34”를 분석하여 ALU가 곱셈을 할 준비를 함 - Execute: ALU에서 실제 연산을 수행함 예) ALU에서 12와 34를 실제로 곱함 - Store: ALU에서 계산된 결과를 register나 memory에 저장함 예) ALU에서 얻은 곱셈 결과를 memory에 있는 a 변수에 저장함 4. Arduino Sketch 언어를 이용해 다음 작업을 programming하시오.반드시 setup()과 loop() 함수를 사용할 것. (40) 1) Arduino Uno의 Digital 7번에 연결된 LED를 1초 동안 켠 후 1초 동안 끄고 Digital 8번에 연결된 LED는 2초 동안 켠 후2초 동안 끄는 작업을 계속 수행 (20) int nLed1 = 7; int nLed2 = 8; void setup() { pinMode(nLed1, OUTPUT); pinMode(nLed2, OUTPUT); } void loop() { digitalWrite(nLed1, HIGH); digitalWrite(nLed2, HIGH); delay(1000); digitalWrite(nLed1, LOW), delay(1000); digitalWrite(nLed1, HIGH); digitalWrite(nLed2, LOW); delay(1000);
  3. 3. digitalWrite(nLed1, LOW), delay(1000); } 2) PC keyboard로 문자열 입력을 받아 monitor에 출력하고 문자열의 수만큼 Arduino Uno의 내장 LED(Digital 13번에 연결됨)를 문자수 만큼 0.5초 on, 0.5 초 off가 반복되는 작업, 여기서 serial port의 연결 속도는 9600 bps를 가정 (20) intnLed = 13; void setup() { pinMode(nLed, OUTPUT); Serial.begin(9600); } void loop() { String str; while (Serial.available() > 0) str += (char)Serial.read(); intnLen = str.length(); if (nLen> 0) Serial.println(str); else delay(100); for (inti = 0; i<nLen; i++) { digitalWrite(nLed, HIGH); delay(500); digitalWrite(nLed, LOW), delay(500); } }

×