S/W
● 복습
- char 범위 밖의 수를 입력 하면 어떻게 될까? | ||||||||||||||||||
값 |
결 과 |
설 명 | ||||||||||||||||
257 |
|
1. CPU에서 257을
로 변환한다.
2. Register를 통해 Memory로 전달한다.
3. 하지만 Memory에 준비된 크기는
뿐이다.
4.따라서 1이 출력된다. | ||||||||||||||||
999 |
|
1. 위의 절차와 같다.
2. 하지만 Memory에 준비된 크기는
뿐이다.
3. E7=1110 0111 음수 이므로 2의 보수를 취한다. 2의 보수 = -(0001 1001) 따라서 -25가 출력 된다. |
- 출력 관련 팁.
- %d는 signed int decimal.(부호 있는 정수형 십진수로 읽음.)
- %u는 unsigned int decimal.(부호 없는 정수형 십진수로 읽음.)
종 류 |
unsigned |
역 할 |
- 음수 값 범위에 속해 있는 값을 음수가 아닌 원래의 정수로 출력. |
사 용 형 태 |
- unsigned int iNUM = 4294967295; |
출 력 |
- %u |
결 과 |
|
종 류 |
signed |
역 할 |
- 음수 값을 출력. |
사 용 형 태 |
- signed char int iNUM = 4294967295; |
출 력 |
- %d |
결 과 |
|
◉형 수정자 및 사칙연산
● 형 수정자
- Type과 함께 사용하여 변수의 크기를 조정. | |||
종 류 |
사용 형태 | ||
short |
- short는 short int를 줄인 말로 int의 절반의 크기를 가진다. | ||
long |
- long은 long int로 사용되며, int의 2배의 크기를 가진다. | ||
- char ≤ short ≤ int ≤ long 1 2 4 4 (현재 사용 중인 기본형의 byte 크기.) - 단, 프로그램 마다 값이 다를 수는 있으나, 위에 부등식을 위반하지 않는다. - 현재 배우는 과정에서는 long과 int과 동일 하기 때문에 long은 사용하지 않는다. | |||
bit 수 (BUS) |
사용 변수 크기 |
처리 과정 | |
16bit |
1byte |
- Memory에서 CPU로 옮기는 데 남는 BUS가 있기 때문에, 그 BUS를 사용 하지 않는 다는 설정 과정이 필요하다. 그 과정으로 인해 처리 속도가 늦다. | |
2byte |
- Memory에서 CPU로 옮기는 데 한 번의 처리로 가능하기 때문에 속도가 빠르다. | ||
4byte |
- 변수의 크기가 BUS보다 크기 때문에 Memory에서 CPU로 옮기는 데 2번의 처리 과정이 필요해 처리 속도가 늦다. | ||
- 현재 사용 중인 32bit와 크기가 같은 int형이 처리 속도가 빠르다. - 추가적으로 처리할 내용이 없는 unsigned가 처리 속도가 빠르다. - 따라서 unsigned int형이 가장 처리 속도가 빠르다. |
● 사칙연산
- 연산 기호 | ||||
사람 |
+ |
- |
x |
÷ |
컴퓨터(소스) |
+ |
- |
* |
/ , % |
- 10진수를 2진수로 변환.
|
- 십진수 0.2를 2진수로 변환해라. |
- 변환 하게 되면 2진수 0.0011을 반복하게 됨. - 따라서 정확한 값이 나오는 정수에 비해, 실수는 정확한 값이 나 올 수도 있지만, 오차가 발생 하는 경우도 있음. | |
- 실수형 | |
- float(4byte). - double(8byte). - cast 연산자(형변환 연산자). - 5/(float)3; = “3을 float로 읽어라.” | |
|
●sizeof 연산자
- int형으로 메모리가 차지하는 공간을 출력함.
- char ≤ short ≤ int ≤ long ≤ float ≤ double 1 2 4 4 4 8 (byte 크기) |
● 문자 출력
- %c를 사용.
- int 보다 char를 사용하면 하나당 3byte 용량을 아낄 수 있음.
- printf 하나로 한 번에 여러 개 출력하기.
- 문자열에 대응 하는 정수열 사이에 ‘,’ 가 중요함.
- ASCII Code(American Standard Code for Information Interchange)
- 문자를 컴퓨터에 표기하기 위해 미국에서 만든 문자코드.
- 주소연산자.
- & (엠퍼센드) : 정수열 앞에 &붙인다.
- 선언한 변수의 주소를 알 수 있음.
- printf("%X\n",&iNUM); = iNUM의 주소 값을 출력해라.
H/W |
◉ ORCAD
◉ 마이크로 컨트롤러(MICRO CONTROLLER)
● 마이크로 프로세서(MPU)
- 마이크로 컴퓨터에 사용된 단일 Chip CPU(Central Processing Unit).
- Hardware적 구조 : CPU + I/O 장치.
- 용도 : 마이크로 컴퓨터의 시스템의 CPU로 가장 일반적으로 사용 컴퓨터 시스템에서 Data의 처리에 적합.
● 마이크로 컨트롤러(MCU)
- MPU의 CPU 기능 + 메모리(ROM,RAM), I/O제어 회로 등을 하나의 칩에 내장.
- 단일 칩, One-Chip 마이크로 컴퓨터, 임베디드 마이크로 컨트롤러라고도 함.
- Hardware적 구조 : CPU + Memory, I/O 장치 등.
- 용도 : 시스템의 입출력 제어 용.
- 예 : Atmega, ARM, Cortex M3, PIC 등.
- 구조 및 용도에 의한 분류
- General Purpose u-Processor(범용 마이크로 프로세서) |
- 일반적으로 일 컬어지는 마이크로프로세서 CPU의 기능만을 갖추고 있다. - CPU : Register Set, ALU(Arithmetic and Logic Unit), CLU(Control Logic Unit). |
- Single chip or One chip u-Computer |
CPU 기능 + Memory, I/O Interface 회로를 하나의 Chip에 내장시킨 u-Processor 기본적인 컴퓨터의 기능을 갖추고 있다. 시스템 제어용으로 주로 사용된다. |
-Bit-slice u-Processor |
2Bit 또는 4Bit의 기본 구성 단위로 되어 있는 u-Processor. 미니컴퓨터의 설계, 실험길 수준에서의 CPU 설계 등에 사용. |
- Bit 수에 의한 분류
- 한 번에 처리할 수 있는 Data Bit의 수에 따라 4,8,16,32Bit 형으로 분류. - 반도체 기술의 발달에 따른 흐름. |
- 반도체 제조기술에 의한 분류
- 반도체 제조 기술의 발달에 따라 Data의 처리속도, 전력 소비량 등이 개선. |
- 명령어 구조에 의한 분류
-CISC(Complex Instruction Set Computer) |
- 많은 수의 명령어 - 일반적으로 100~250개의 명령어. - 몇몇 명령어는 특별한 동작을 수행하며 자주 사용되지 않는다. - 다양한 어드레싱 모드 - 일반적으로 5~20가지의 모드. - 가변 길이 명령어 형식. - 메모리의 피 연산자를 처리하는 명령어. |
RISC(Reduced Instruction Set Computer) |
- 상대적으로 적은 수의 명령어 및 Addressing Mode. - 메모리 참조는 load와 store 명령으로 제한된다. - 모든 동작은 CPU의 레지스터 안에서 수행된다. - 고정된 길이 명령어 형식으로 Decoding이 간단하다. |
● 폰 노이만
- 폰 노이만 방식
- 폰 노이만 - 최초의 프로그램 내장형 컴퓨터를 고안한 수학자.
- 폰 노이만이 고안한 방식은 50년이 넘은 지금까지 컴퓨터의 근본 원리.
- Intel과 AMD의 마이크로프로세서.
- 폰 노이만 방식의 컴퓨터
- 실행할 프로그램.
- 데이터를 저장한 메모리.
- 메모리에 저장된 프로그램을 실행할 프로세서.
- 프로그램과 데이터를 메모리에 입력시키는 입력 장치.
- 프로세서에서 프로그램을 실행한 결과를 출력하는 출력 장치로 구성.
- 이중가장 핵심은 메모리와 프로세서.
- 프로세서가 입출력 장치를 메모리의 일부라고 간주 함.
- 결국 컴퓨터는 프로세서와 메모리로 구성된 단순한(?) 기계.
- 마이크로 컨트롤러의 특징.
특 징 |
내 용 |
- 소형 경량화가 가능. |
다양한 프로그램으로 응용범위와 주변 소자 수를 대폭 줄일 수 있어 회로가 간단. |
- 가격이 저렴. |
하나의 칩 안에 입/출력포트, 직/병렬통신, 기억소자, 카운터. 타이머 등을 내장. |
- 타 시스템과의 이식성이 뛰어남. |
작은 변경 혹은 기능의 추가를 쉽게 달성할 수 있어 다양한 용도로 활용 됨. |
- 신뢰성이 높음. |
시스템 구성 소자 수가 적어 신뢰성이 높음. |
- 응용 분야
분 야 |
종 류 |
- 산업 분야 |
모터제어, 로봇공학, 프로세서 제어, 수치 제어, 지능형 변환기 등. |
- 계측 분야 |
액체/가스 크로마토그래프. 의료용 계측기, 오실로스코프. |
- 가전 분야 |
비디오 레코더, 레이저 디스크 구동부, 비디오 게임, 전자렌지, 에어컨. |
- 유도 및 제어 분야 |
미사일 제어, 지능형 무기. 우주선 유도제어. |
- 데이터 처리 분야 |
플로터, 복사기, 프린터, 하드디스크 구동부. |
- 정보 통신 분야 |
모뎀, 지능형 카드 제어. |
- 자동차 분야 |
점화제어, 변속기 제어, 연료분사제어, 브레이크 제어. |
● PROGRAM
- Software의 대 분류.
- 응용 소프트 웨어 : 사용자 관심의 특별 형태의 작업을 처리하는 프로그램.
- 시스템 소프트 웨어 : 운영체계 및 응용 소프트웨어를 지원하는 프로그램.
- UTILITY
- 작지만 제한된 능력을 가진 유용한 프로그램.
- 디스크 조각모음, 압축, 암호 해체, 바이러스 검사.
- 응용 프로그램 실행기, 텍스트 편집기.
- BIOS(Basic Input Output System)
- 컴퓨터의 H/W와 S/W 사이를 중계하여 입/출력을 관장하는 소프트 웨어.
- 컴퓨터를 처음 부팅 할 때부터 전원을 끌 때까지 모든 동작을 제어하는 프로그램.
- 컴퓨터를 부팅할 때 시스템을 자가 진단하여 고장유무를 판단.
- 디스크 드라이버, 모니터. 키보드, 등과의 기본적 연결 상태를 설정해 준다.
- RAM(Random Access Memory)
- 필요한 경우 Data를 쓰고 지우고 할 수 있는 기억장치.
- SRAM(STATIC RAM)
- 전원이 나가도 계속해서 저장된 Data를 유지.
- 읽기/쓰기 시간이 DRAM에 비해서 빠름.
- 고가임.
- DRAM(Dynamic RAM)
- 저장된 Data를 유지하기 위해서는 일정 시간 간격 Refresh가 필요.
- 가격이 SRAM에 비해 저렴하다.
- ROM(Read Only Memory)
- 저장된 Data를 읽을 수만 있고 쓸(변경 할) 수 없는 메모리.
- EPROM(Erasable Programmable ROM)
- 자외선을 이용하여 저장된 Data를 지운다.
- EEPROM(Electrically Erasable Programmable ROM)
- 전기적인 힘을 이용하여 저장된 Data를 지운다.
- FLASH MEMORY RAM
- Block 단위로 Data를 지울 수 있고, 프로그램 할 수 있는 Memory.
- Block 단위로 쓰기, 지우기가 가능하므로 속도가 빠르다.
- 지속적으로 전원이 공급되는 비 휘발성 Memory.
- CASHE MEMORY
- CPU와 Memory(DRAM)의 가운데 위치 또는 동일 Chip 내에 위치.
- Access time을 향상하여 시스템 전체의 실행 속도 향상
- 주로 Static RAM을 사용.
※ 처음이라 잘 정리가 된 건지 모르겠습니다.
※ 잘못된 점, 보충 설명 달아주시면 수정하겠습니다.
※ 일주일 동안 수고하셨습니다.
※ 알찬 주말 보내시길 바랍니다.
※ 감사합니다.
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
02-03 오후 ADC pdf 파일 공유합니다. (5) | 2015.02.03 |
---|---|
20150202-4번-김성주-컴파일 과정 / 마이크로 컴퓨터, 아날로그, 디지털 (15) | 2015.02.02 |
안녕하세요 스마트컨트롤러 오후수업 pdf 파일 공유합니다. (3) | 2015.02.02 |
안녕하세요 스마트컨트롤러 여러분 (5) | 2015.02.02 |
H/W수업 파일입니다. (5) | 2015.01.30 |
20150129-2번-강동조-cpu의 기초 및 정수와 양수 (13) | 2015.01.29 |
20150128-1번-강경의-cpu기초 및 2의보수 (12) | 2015.01.29 |
안녕하세요. 김성주입니다., (0) | 2015.01.28 |