다음 답변은 KG아이티뱅크 2학기 3기수 마이크로프로세서 수업의 과제에 대한 개인적인 답변입니다.
이에 받은 점수와 무관하게 학기를 마무리하며 개인적으로 기록을 남기고자 포스팅합니다.
주제
1. 마이크로프로세스와 마이크로컴퓨터의 차이점을 설명 하세요
마이크로프로세서는 “작은 실리콘 칩 위에 전자 신호나 전력을 스위칭하거나 증폭시키는 트랜지스터를 수천만 개 집적한 소자”이다. ‘마이크로’와 '프로세서’라는 이름이 말하듯 아주 작은 처리기를 뜻하는 것이다. 산술논리장치(ALU), 제어장치(CU), 레지스터 등을 포함하여 중앙처리장치 (CPU, Central Processing Unit)의 역할을 할 수 있다. 다만 마이크로프로세서는 연산만 가능하며 입출력장치나 기억장치와 같이 쓰이지 않으면 개별적으로 사용될 수 없다. 마이크로컴퓨터 (혹은 마이크로컨트롤러)는 이를 확장시켜, 마이크로프로세서를 중심으로 입출력 (I/O)장치, 기억장치 (RAM, ROM 등) 등 주변장치를 추가하여 구동되게 만든 것이다. 하나의 칩 위에 구성하는 단일 칩 마이크로컴퓨터, 하나의 보드 위에 구성하는 단일 보드 마이크로컴퓨터 등이 있다. 따라서 마이크로프로세서는 CPU 역할을 하는 작은 칩이며, 이것 다른 부품들과 조합되어 구동이 가능케 된 것이 마이크로컴퓨터이다.
2. 타이머 카운터에서 Over Flow Mode 동작에 대해 설명 하세요
타이머 / 카운터란, Atmega128을 비롯한 마이크로컨트롤러 (MCU, Micro Controller Unit)가 CPU에 부담을 주지 않고 자체적으로 시간 / 숫자를 셀 수 있도록 도와주는 부분이다. 타이머는 내부 클럭을 세는 것, 그리고 카운터는 외부 입력에 의한 클럭을 세는 것이라 할 수 있다. [2]Atmega128에는 타이머/카운터 0, 1, 2, 3이 존재하며, 0과 2가 8비트 구조이다. 8비트 타이머 / 카운터의 모드는 파형 모드 발생 모드에 따라 일반 모드, 고속 PWM모드, 위상정정 PWM, CTC모드로 나뉠 수 있는데, 논하고자 하는 오버플로 개념은 일반모드에 적용되는 개념이다. 일반모드는 TCCRn 레지스터에서 WGMn1과 WGMn0을 0으로 세팅하면 구현된다. 일반모드로 설정되면 TCNTn 레지스터가 내부 클럭을 세기 시작하는데, TCNTn이 1번의 클럭 당 1씩 증가하게 된다. 8비트 타이머기에 이 숫자가 1111 1111 (혹은 0xFF)이 되면 최대값에 도달한 것이며, 이 때 다음 카운트 시 0으로 리셋된다. 이 때 발생하는 인터럽트를 바로 “오버플로 인터럽트”라고 지칭한다. 오버플로 인터럽트 모드를 사용하기 위해서는 TIMSK 레지스터에서 활성화시키면 된다. 따라서, 오버플로 모드는 타이머에서 타이머 값이 레지스터의 최대 범위를 벗어나 0으로 리셋될 때 인터럽트를 발생시키는 시스템이다.
출처:
[1] 학점은행제 마이크로프로세서 교안, 아이티뱅크, 2020
[2] “노베이스 AVR - 타이머 / 카운터 0 (Normal Mode).” Wandering : 네이버 블로그, m.blog.naver.com/PostView.nhn?blogId=iintuition_.
'학점은행제 > 첫 학기 - 수업' 카테고리의 다른 글
[과제] 자료구조 - 스택과 큐 (0) | 2020.12.22 |
---|---|
[과제] 시스템프로그래밍 - 프로세스 생성 & 종료 (0) | 2020.12.22 |
[과제] 디지털공학개론 - 부울대수 & 카르노맵을 사용한 응용 기술 (0) | 2020.12.22 |
[과제] 네트워크 I - IPv4 vs. IPv6 (0) | 2020.12.22 |
[토론] 컴퓨터시스템 - 리눅스와 보안 (0) | 2020.12.22 |
댓글