정보보안 개론과 실습:네트워크

Similar documents
AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

마이크로프로세서 개요

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

Microsoft PowerPoint - hy2-12.pptx

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

Computer Architecture

[ 마이크로프로세서 1] 1 주차 2 차시. 마이크로프로세서와마이크로컨트롤러발달과정 1 주차 2 차시마이크로프로세서와마이크로컨트롤러발달과정 학습목표 1. 마이크로프로세서발달과정과종류를설명할수있다. 2. 인텔 8051 계열과아트멜 (Atmel) 의특성을설명할수있다. 학습

Microsoft PowerPoint - avr_lecture1.ppt

PowerPoint Presentation

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

Microsoft PowerPoint - hy2-12.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Computer Architecture

슬라이드 1

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

슬라이드 1

CHAPTER 2 마이크로컨트롤러구조이해하기 가. ATmega128 기능 나. CRX10 구조

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

SAT8-10.hwp

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - FunctionCall

PowerPoint 프레젠테이션

AVR Atmega128

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

ADP-2480

Microsoft PowerPoint - 30.ppt [호환 모드]

Computer Architecture

Microsoft Word - PLC제어응용-2차시.doc

<C6F7C6AEB6F5B1B3C0E72E687770>

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

Microsoft PowerPoint - e2.ppt [호환 모드]

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

Chapter ...

PowerPoint 프레젠테이션

3차시.ppt

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

PowerPoint 프레젠테이션

Microsoft PowerPoint - AD-USBISP_V03_사용법.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Dr.Kim ATmega128 Training Kit (SAT ).hwp

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능

Microsoft PowerPoint - chap06-2pointer.ppt

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

정보보안 개론과 실습:네트워크

슬라이드 1

OCW_C언어 기초

Microsoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드]

1부. 임베디드시스템

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역

금오공대 컴퓨터공학전공 강의자료

1. 제품소개및특징 1.1 제품소개 < 그림 1.1> AVRISP MK2 USB 개발장비 AVR ISP(In System Programmer)MK2 USB 란 Atmel 사의 AVR 마이크로컨트롤러의내부플래쉬와 EEPROM 에프로그램메모리및데이터를써 (Write, Re

ATmega128

슬라이드 1

Microsoft PowerPoint - DSD06c_ISA.pptx

슬라이드 1

CAN-fly Quick Manual

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

API 매뉴얼

반도체메모리 메모리 (memory) 분류 순차액세스메모리 랜덤액세스메모리 RAM ROM DRAM SRAM Mask ROM Field PROM 반도체메모리의분류 Fuse-link PROM EPROM EEPROM - 2 -

<4D F736F F F696E74202D2037C0E55FC0CCC0C0C7F55FBFCFBCBA205BC8A3C8AF20B8F0B5E55D>

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

Microsoft PowerPoint - ch07 - 포인터 pm0415

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D D FB8B6C0CCC5A9B7CEC7C1B7CEBCBCBCADBFCD20B8B6C0CCC5A9B7CEC4C1C6AEB7D1B7AF2DB9E8C6F7BFE

JVM 메모리구조

COMFILE_VOL13_ cdr

Microsoft PowerPoint - M08_CPUcontrol.ppt [호환 모드]

BMP 파일 처리

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

Microsoft PowerPoint - es-arduino-lecture-03

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

<BBEABEF7B5BFC7E22DA5B12E687770>

슬라이드 1

HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터

Microsoft PowerPoint - M07_RTL.ppt [호환 모드]

// 변수선언 unsigned char i; unsigned char FONT[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xD8, 0x80, 0x98}; //PORTA 를출력으로설정하고초기값은모두 0 PORTA = 0x00; DD

ISP and CodeVisionAVR C Compiler.hwp

Microsoft PowerPoint - M09_CPUarchi.ppt [호환 모드]

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft PowerPoint - ch07.ppt

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

PowerPoint 프레젠테이션

Chapter. 1 마이크로컨트롤러개요 Jaeheung, Lee

Introduction to Computer Science

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

Transcription:

` 마이크로프로세서설계및실습 2 주차강의자료

2/31 Contents 학습목표 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서특수레지스터, 범용레지스터의역할을이해할수있다. ATmega128 내부에포함된명령어인출과실행절차를알아보고, 명령어유형을통해동작을이해할수있다. 내용 AVR 개요 ATmega128 특징 ATmega128 내부구조 ATmega128 명령어실행 Atmel Studio 6.2의개요및설치

3/31 마이크로프로세서와마이크로컨트롤러 (1) 마이크로프로세서 마이크로 (micro) 와프로세서 (processor) 가결합된용어 매우작은 (micro) 이라는의미와 처리기 (processor) 크기가매우작고, 뛰어난계산능력을가진장치 IC 집적기술, 컴퓨터구조기술, 시스템프로그래밍기술을함께묶어단일칩으로집적화한반도체소자 재료, 수학적개념, 전자집약기술, 사회적요구를수렴한다양한마이크로프로세서가사용되고있으며, 앞으로도꾸준한연구를통해더욱향상된마이크로프로세서가등장 프로그램을신속하게실행하기위한목적으로, 내부구조를최적화

4/31 마이크로프로세서와마이크로컨트롤러 (2) 마이크로컨트롤러 마이크로 (micro) 와컨트롤러 (controller) 가결합된용어 매우작은 (micro) 이라는의미와 제어기 (controller) 라는의미 마이크로프로세서의연산처리기능에제어기능추가 프로그램을실행하면서장치를효과적으로제어하기위한목적으로, 내부구조를최적화 값싼장난감에서부터산업용장치에이르기까지넓은범주를대상 포함기능사례 외부디지털전압에대한입출력기능 메모리기능 ( 플래시메모리, SRAM, EEPROM 등 ) 타이머기능, PWM(Pulse Width Modulation) 펄스생성기능 입력신호캡처기능, A/D(Analog Digital) 변환기능 통신기능등

5/31 마이크로프로세서와마이크로컨트롤러 (3) 마이크로컨트롤러 (MCU) 의일반적인구성

6/31 AVR 과 ATmega128 AVR Atmel 사의 8 비트마이크로컨트롤러 크게 Tiny, AT90, Mega 시리즈로나뉜다 ATmega128 고성능 입출력포트수가많다 메모리가크다 값이저렴하다 많은장점으로널리이용되고있다 <ATmega128 의핀배치 >

7/31 AVR 개요 AVR 패밀리

8/31 AVR 개요 8 비트 megaavr 패밀리소자 8 비트 tinyavr 패밀리소자

9/31 ATmega128 특징 진보된 RISC 구조 133개의강력한명령어, 1클록사이클에실행 32개의범용레지스터와주변장치제어레지스터 16[MHz] 에서 16[MIPS] 까지성능이나올수있음 2클록사이클이소요되는곱셈기를칩에내장 비휘발성프로그램과데이터메모리 128[Kbyte] 의 ISP(In System Programming) 로재프로그램가능한플래시메모리내장 : 10,000회읽기 / 쓰기가능 4[Kbyte] EEPROM : 100,000회읽기 / 쓰기가능 4[Kbyte] SRAM 내장 64[Kbyte] 까지외부에추가하여사용할수있는메모리공간 SPI 인터페이스를이용한 ISP(In System Programming)

10/31 ATmega128 특징 주변장치 2개의 8비트타이머 / 카운터 : 별도의프리스케일러와비교모드동작 2개의 16비트타이머 / 카운터 : 별도의프리스케일러, 비교모드, 캡처모드동작 실시간타이머카운터 6개의 PWM 채널 출력비교모듈레이터 아날로그비교기 10비트 A/D 변환기 TWI(Two-wire Serial Interface) 직렬인터페이스 2개의 USART SPI 직렬인터페이스 와치독타이머

ATmega128 내부구조 메모리 플래시프로그램메모리 데이터메모리 (SRAM) EEPROM 프로그램카운터 (PC) 명령어레지스터 (IR) 명령어디코더 범용레지스터 기타주변장치 [ ATmega128 의내부구조 ] 11/31

12/31 ATmega128 내부구조 플래시프로그램메모리 프로그램저장 비휘발성 (Non-volatile) 메모리 전원이없어도, 저장된데이터는변경되지않음 64[Kword](128[Kbyte]) 크기, 10,000 회쓰고읽기 다운로더장치로다운로드 부트프로그램부 : 부팅에필요한기본정보 응용프로그램부 : 워드단위 (16 비트크기 ) 의명령어로구성된프로그램 [ 플래시프로그램메모리맵 ] 프로그램카운터 (PC) 플래시프로그램메모리공간을가리킴 명령어를차례로인출하면서응용프로그램실행

ATmega128 내부구조 명령어레지스터 (IR) 프로그램카운터가지칭한곳에서명령어레지스터로명령어인출 명령어에는명령코드, 오퍼랜드, 연산결과저장위치필드를가짐 명령어디코더 명령어레지스터의명령코드를디코딩하여제어신호생성 ALU 는명령코드에해당되는연산동작을수행하게함 제어신호는연산대상이되는오퍼랜드가 ALU 에전달되게함 제어신호는연산결과를저장할수있게함 스택포인터 스택은임시데이터, 로컬변수, 호출된함수의복귀주소등을저장 스택포인터 (Stack Pointer) 는스택의 TOP 을저장하는특수레지스터 스택에데이터가저장되면, 스택공간은커짐» 스택포인터의주소는높은값에서낮은값으로감소» PUSH 명령어 : 데이터가스택에저장. 이때스택포인터는 1 씩감소» POP 명령어 : 데이터를스택의 TOP 에서꺼냄. 이때스택포인터는 1 씩증가 13/31

14/31 ATmega128 내부구조 범용레지스터 데이터레지스터 레지스터 R0~R25 데이터를저장하는레지스터 메모리주소 0x00~0x19 에해당 주소레지스터 레지스터 R26~R31 레지스터간접주소방식을위한레지스터 메모리주소 0x1A~0x1F 에해당 [ 범용레지스터파일 ]

15/31 ATmega128 내부구조 데이터레지스터사용사례 변수 x 를데이터레지스터 r24 로활용한사례

16/31 ATmega128 내부구조 주소레지스터 X, Y, Z 데이터메모리에대한주소를가짐 두개의레지스터를묶어, 주소레지스터 X, Y, Z 는 16 비트레지스터 주소레지스터 Z 활용사례메모리 0x100 위치에데이터 0xAB 를저장동작 Z- 레지스터에메모리주소 0x100 을넣음 (r31 0x01, r30 0x00) r24 에 0xAB 를넣음 st Z+, r24 동작으로메모리주소 Z 위치에 r24 값을기록, 동작후 Z 값은 1 증가

ATmega128 내부구조 데이터메모리 (SRAM) 변수는프로그램이수행되면서변경될수있음 변수는데이터메모리 (SRAM) 에저장 모드 일반모드 : ATmega103과호환되지않는모드» 내부 SRAM을 4,096[byte] 사용가능» I/O 명령어로 64개 I/O 레지스터접근» 확장된 160개의 I/O 레지스터를갖고 ld, store 명령으로접근 ATmega103 과호환모드 : 초기에많이사용» 내부 SRAM 을 4,000[byte] 만사용가능 [ ATmega128 데이터메모리 (SRAM) 구성 ] 17/31

18/31 ATmega128 내부구조 I/O 공간 in, out 의 I/O 명령어가가리키는주소는 I/O 공간 ld, st 명령어가사용하는주소는데이터메모리공간 64 개 I/O 레지스터 in, out 명령으로참조할때는 I/O 공간 : 0x00 0x3F ld, st 명령으로참조할때는데이터메모리공간 : 0x20~0x5F 확장된 I/O 공간은 in, out 명령이아닌 ld, st 명령으로만참조 EEPROM(Electrically Erasable and Programmable ROM) 4Kbyte 의 EEPROM 을내장 비휘발성메모리로서, 전원이공급되지않아도데이터는계속값을유지 플래시프로그램메모리는프로그램이다운로드되는비휘발성메모리 EEPROM 은프로그램이수행되는동안에데이터를기록하여활용 데이터기록을위해 SRAM 보다더많은클록이필요

19/31 ATmega128 내부구조 상태레지스터 (SREG, Status Register) 가장최근에실행된산술연산의결과정보를저장 이결과에따라다음에실행되는프로그램의흐름을제어명령어에영향 인터럽트가발생했을때 상태레지스터를하드웨어가자동으로저장, 복귀되지않음 소프트웨어적으로저장, 복귀동작을수행해야함

ATmega128 내부구조 20/31

21/31 ATmega128 명령어실행 명령어인출 프로그램카운터 (PC) 가가리키는명령어가명령어레지스터 (IR) 로인출 프로그램카운터의값은명령어레지스터크기만큼증가 명령어실행 ❶ 명령어분석 ❷ ALU 에오퍼랜드인가 ❸ ALU 연산실행및결과기록

22/31 ATmega128 명령어실행 명령어인출과실행 한클록에수행되는명령어실행동작

ATmega128 명령어실행 명령어유형 산술연산및논리연산명령어 통상명령어들은 1 클록소요결과를저장하기위해한개의 8비트레지스터가사용 ADIW 명령어경우는 2 클록소요 2개의레지스터 (16비트워드단위 ) 에결과를기록해야함 [ 산술및논리연산명령어와동작 ] 23/31

24/31 ATmega128 명령어실행 데이터이동명령어 레지스터와레지스터 : 보통 1 클록소요 레지스터에즉시값 : 보통 1 크록소요 레지스터와메모리 : 보통 2 클록소요 레지스터와 I/O 공간 : 보통 1 클록소요

25/31 ATmega128 명령어실행 프로그램흐름제어명령어 분기되지않을경우프로그램흐름 PC 가가리키는플래시프로그램메모리에서명령어인출 PC 는 1 씩하드웨어적으로증가하면서연속적으로명령어를수행 분기되는명령 분기명령으로 PC 에서가리키는주소를변경 연속적인명령어의수행흐름을제어

26/31 ATmega128 명령어실행 분기명령어길이 변위주소방식 : 1 워드 즉시어드레싱모드 : 2 ( 명령어길이 + 즉시주소길이 ) [ 프로그램흐름제어명령어와동작 ]

27/31 ATmega128 명령어실행 서브루틴호출과복귀 RCALL, CALL 명령어에의한서브루틴호출동작 PC, 명령어레지스터 (IR), 스택 (STACK), 스택포인터 (SP) 와연계된동작 서브루틴이호출되기전에되돌아올명령어주소를스택에저장 PC 의값은서브루틴의시작주소 k 로바뀜 RET 또는 IRET 명령어에의한서브루틴에서복귀동작 스택에저장한주소로 PC 를복귀 서브루틴호출이후의명령어실행

28/31 ATmega128 명령어실행 CALL 명령어실행과정

29/31 ATmega128 명령어실행 RET 명령어실행과정

Atmel Studio 6.2 ATMEL 사에서제공하는무료통합개발환경 소스코드를컴파일및작성된프로그램을 ATmega128 로다운로드할수있다 <Atmel Studio 6> 30/31

31/31 질문?