본문 바로가기
코스웨어/15년 스마트컨트롤러

20150130-3번-권오민-사칙연산&문자출력 / ORCAD & 마이크로 컨트롤러

by 알 수 없는 사용자 2015. 1. 30.
728x90
반응형



S/W

복습

- char 범위 밖의 수를 입력 하면 어떻게 될까?

결 과

설 명

257

 





1. CPU에서 257

0

0

0

0

0

1

0

1

로 변환한다.

 

2. Register를 통해 Memory로 전달한다.

 

3. 하지만 Memory에 준비된 크기는

0

0

0

0

0

1

0

1

뿐이다.

 

4.따라서 1이 출력된다.

999

 

 

 

1. 위의 절차와 같다.

0

0

0

0

0

3

E

7

 

2. 하지만 Memory에 준비된 크기는

0

0

0

0

0

3

E

7

뿐이다.

 

3. E7=1110 0111 음수 이므로 2의 보수를 취한다.

2의 보수 = -(0001 1001)

따라서 -25가 출력 된다.

- 출력 관련 팁.

- %dsigned int decimal.(부호 있는 정수형 십진수로 읽음.)

- %uunsigned int decimal.(부호 없는 정수형 십진수로 읽음.)

종 류

unsigned

역 할

- 음수 값 범위에 속해 있는 값을 음수가 아닌 원래의 정수로 출력.

사 용

형 태

- unsigned int iNUM = 4294967295;

출 력

- %u

결 과

 


종 류

signed

역 할

- 음수 값을 출력.

사 용

형 태

- signed char int iNUM = 4294967295;

출 력

- %d

결 과

 

형 수정자 및 사칙연산

형 수정자

- Type과 함께 사용하여 변수의 크기를 조정.

종 류

사용 형태

short

- shortshort int를 줄인 말로 int의 절반의 크기를 가진다.

long

- longlong int로 사용되며, int2배의 크기를 가진다.

- char short int long

1 2 4 4 (현재 사용 중인 기본형의 byte 크기.)

- , 프로그램 마다 값이 다를 수는 있으나, 위에 부등식을 위반하지 않는다.

- 현재 배우는 과정에서는 longint과 동일 하기 때문에 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.22진수로 변환해라.

- 변환 하게 되면 2진수 0.0011을 반복하게 됨.

- 따라서 정확한 값이 나오는 정수에 비해, 실수는 정확한 값이 나   올 수도 있지만, 오차가 발생 하는 경우도 있음.

- 실수형

- float(4byte).

- double(8byte).

- cast 연산자(형변환 연산자).

- 5/(float)3; = “3float로 읽어라.”

 

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)

- MPUCPU 기능 + 메모리(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.

- 메모리 참조는 loadstore 명령으로 제한된다.

- 모든 동작은 CPU의 레지스터 안에서 수행된다.

- 고정된 길이 명령어 형식으로 Decoding이 간단하다.

폰 노이만

- 폰 노이만 방식

- 폰 노이만 - 최초의 프로그램 내장형 컴퓨터를 고안한 수학자.

- 폰 노이만이 고안한 방식은 50년이 넘은 지금까지 컴퓨터의 근본 원리.

- IntelAMD의 마이크로프로세서.

- 폰 노이만 방식의 컴퓨터

- 실행할 프로그램.

- 데이터를 저장한 메모리.

- 메모리에 저장된 프로그램을 실행할 프로세서.

- 프로그램과 데이터를 메모리에 입력시키는 입력 장치.

- 프로세서에서 프로그램을 실행한 결과를 출력하는 출력 장치로 구성.

- 이중가장 핵심은 메모리와 프로세서.

- 프로세서가 입출력 장치를 메모리의 일부라고 간주 함.

- 결국 컴퓨터는 프로세서와 메모리로 구성된 단순한(?) 기계.

 

- 마이크로 컨트롤러의 특징.

특 징

내 용

- 소형 경량화가 가능.

다양한 프로그램으로 응용범위와 주변 소자 수를 대폭 줄일 수 있어 회로가 간단.

- 가격이 저렴.

하나의 칩 안에 입/출력포트, /병렬통신, 기억소자, 카운터. 타이머 등을 내장.

- 타 시스템과의 이식성이 뛰어남.

작은 변경 혹은 기능의 추가를 쉽게 달성할 수 있어 다양한 용도로 활용 됨.

- 신뢰성이 높음.

시스템 구성 소자 수가 적어 신뢰성이 높음.

 

- 응용 분야

분 야

종 류

- 산업 분야

모터제어, 로봇공학, 프로세서 제어, 수치 제어, 지능형 변환기 등.

- 계측 분야

액체/가스 크로마토그래프. 의료용 계측기, 오실로스코프.

- 가전 분야

비디오 레코더, 레이저 디스크 구동부, 비디오 게임, 전자렌지, 에어컨.

- 유도 및 제어 분야

미사일 제어, 지능형 무기. 우주선 유도제어.

- 데이터 처리 분야

플로터, 복사기, 프린터, 하드디스크 구동부.

- 정보 통신 분야

모뎀, 지능형 카드 제어.

- 자동차 분야

점화제어, 변속기 제어, 연료분사제어, 브레이크 제어.

 

PROGRAM

- Software의 대 분류.

- 응용 소프트 웨어 : 사용자 관심의 특별 형태의 작업을 처리하는 프로그램.

- 시스템 소프트 웨어 : 운영체계 및 응용 소프트웨어를 지원하는 프로그램.

- UTILITY

- 작지만 제한된 능력을 가진 유용한 프로그램.

- 디스크 조각모음, 압축, 암호 해체, 바이러스 검사.

- 응용 프로그램 실행기, 텍스트 편집기.

- BIOS(Basic Input Output System)

- 컴퓨터의 H/WS/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

- CPUMemory(DRAM)의 가운데 위치 또는 동일 Chip 내에 위치.

- Access time을 향상하여 시스템 전체의 실행 속도 향상

- 주로 Static RAM을 사용.

 

 


 

※ 처음이라 잘 정리가 된 건지 모르겠습니다.

※ 잘못된 점, 보충 설명 달아주시면 수정하겠습니다.

※ 일주일 동안 수고하셨습니다.

※ 알찬 주말 보내시길 바랍니다.

※ 감사합니다.


728x90