1부. 임베디드시스템

Similar documents
ARM01

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

임베디드시스템설계강의자료 1 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

마이크로프로세서 개요

PowerPoint Presentation

슬라이드 1

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

PowerPoint 프레젠테이션

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

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

Microsoft PowerPoint - hy2-12.pptx

PowerPoint 프레젠테이션

<BBEABEF7B5BFC7E22DA5B12E687770>

3차시.ppt

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

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

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

Computer Architecture

<4D F736F F F696E74202D D FB8B6C0CCC5A9B7CEC7C1B7CEBCBCBCADBFCD20B8B6C0CCC5A9B7CEC4C1C6AEB7D1B7AF2DB9E8C6F7BFE

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

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

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

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

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

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

Chapter ...

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx

슬라이드 1

Microsoft PowerPoint os2.ppt [호환 모드]

KDTÁ¾ÇÕ-2-07/03

KDTÁ¾ÇÕ-1-07/03

슬라이드 1

ÀüÀÚ Ä¿¹ö-±¹¹®

EmbeddedSoC_1주차.PDF

<4D F736F F F696E74202D20C0BDBCBA484D4920C0FBBFEB20C5DAB7B9B8C5C6BDBDBA20B4DCB8BBB1E228B9DFC7A5C0DAB7E129>

PowerPoint Presentation

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

H3250_Wi-Fi_E.book

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 교육과학기술부

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

PowerPoint 프레젠테이션

슬라이드 1

< B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

<BDBAB8B6C6AEC6F95FBDC3C0E55FC8AEB4EB5FC0CCC1D6BFCF5F E687770>

CAN-fly Quick Manual

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft Word - MV210_CPUSpec.doc

wp1_ hwp

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

Microsoft PowerPoint - 02.Architecture.ppt [호환 모드]

INSIDabcdef_:MS_0001MS_0001 제 12 장철도통신 신호설비공사 제 12 장철도통신 신호설비공사 12-1 철도통신선로설비 통화장치 ( : ) 공정별통신외선공통신설비공통신케이블공

ESP1ºÎ-04

ºÎ·ÏB

PowerPoint 프레젠테이션

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

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

Microsoft PowerPoint - 15-MARS

KEY 디바이스 드라이버

DE1-SoC Board

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - eSlim SV [080116]

<3132BFF93136C0CFC0DA2E687770>

ADP-2480

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

Computer Architecture

API 매뉴얼

<4D F736F F F696E74202D2037C0E52DC4B3BDC3BFCDB8DEB8F0B8AE>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

untitled

강의개요

학습목표 ü 01_ 소개 ü 02_ 하드웨어장치의발전 ü 03_ 하드웨어구성요소 ü 04_ 하드웨어의운영체제지원 ü 05_ 캐싱과버퍼링 ü 07_ 응용프로그래밍인터페이스 ü 08_ 컴파일링, 링킹, 로딩 ü 09_ 펌웨어 ü 10_ 미들웨어 2/23

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

03차시학습내용(하드웨어1)

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

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

디지털TV솔루션 브로셔

Integ

PowerPoint 프레젠테이션

Computer Architecture

Microsoft PowerPoint - 00_(C_Programming)_(Korean)_Computer_Systems

Microsoft PowerPoint - eSlim SV [ ]

Introduction to Computer Science

슬라이드 1

PowerPoint Presentation

<4D F736F F F696E74202D20454D43BCB3B0E8B4EBC3A5BBE7B7CA2828C1D629B8B6B7E7C0CEC6F75FBDC5C1D6C8A3292E707074>

<3132BFF93136C0CFC0DA2E687770>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Microsoft PowerPoint - o8.pptx

<4D F736F F D20B0B6B3EBC6AE33C3E2BDC3C8C45FC3D6C1BE5F2D2E646F63>

2009년2학기 임베디드시스템 응용

<C6F7C6AEB6F5B1B3C0E72E687770>

알람음을 출력하는 이동통신 단말기에 있어서, 실시간 알람음을 출력하는 음향 출력 수단; 디지털 멀티미디어 방송(DMB: Digital Multimedia Broadcasting, 이하 'DMB'라 칭함) 신호를 수신하면 오디오 형태로 변 환하여 DMB의 음향을 전달하는

Computer Architecture

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

Transcription:

2. 마이크로프로세서시스템의 기본개념

마이크로프로세서시스템 하드웨어와소프트웨어가조합되어특정한목적을수행하는시스템 특정한기능을수행하도록마이크로프로세서와입출력장치를 내장하며, 이를제어하기위한프로그램이내장되어있는우리의일상 생활에서사용되는각종전자기기, 가전제품, 제어장치등 1

마이크로프로세서시스템응용분야 정보가전 : 세탁기, 오디오, 인터넷냉장고, HDTV 등 제어분야 : 공장자동화, 가정자동화, 로봇제어, 공정제어등 정보단말 : 핸드폰, PDA, 스마트폰, 네비게이션, MP3, PMP, DivX 플레이어, 디지털카메라등 네트워크기기 : 교환기, Router, 공유기, 홈게이트웨이등게임기기 : 가정용게임기 (PS2, XBox), 지능형장난감등항공 / 군용 : 비행기, 우주선, 로켓, 야전이동단말 (GPS, GIS) 물류 / 금융 : ATM, RFID, 물류단말, 영업단말등차량 / 교통 : 자동차, ITS 등사무, 의료 : 전화기, 프린터, Heart pacer, 수술로봇, 증강현실장비 2

정보단말기 정보단말기 단순한통화중심의이동전화기에서각종정보검색, 오락, 메시징등의복합기능이수행되는디지털정보단말기기로발전 단말기기각각의기능에맞는마이크로프로세서, 메모리, 운영체제, 응용프로그램등으로구성 앞으로는다양한단말기기가하나의기기로통합될것으로예상됨 핸드폰, PDA, 스마트폰, MP3 플레이어, PMP, 게임기기등 3

게임기 고성능프로세서탑재 마이크로소프트의 Xbox 소니의 playstation 2 닌텐도게임보이어드벤스 (nintendo gameboy advance) 32-Bit ARM 프로세서 2.9인치 TFT 스크린 32,768 색상을지원하는휴대형게임장치 4

물류 / 금융 / 사무용기기 물류 / 금융 물류 : POS 단말기 금융 : 자동현금입출금기혹은 ATM 단말기사무용기기 프린터, 스캐너, 팩스, 복사기, 이들의기능을하나로모은복합기등 5

공장자동화 공장자동화 : FA ( Factory Automation ) 특정기계나장비를통해생산과정을자동적으로관리하는시스템 센서와제어시스템, 로봇등으로구성하여무인시스템을구축 공장자동화및로봇은실시간시스템과임베디드시스템발전의원동력 생산성증대 : 인건비감소, 오류감소, 품질의균일화, 생산기간단축 로봇, conveyor belt 6

우주 / 항공 항공기 보통수백개의프로세서탑재우주왕복선 Pathfinder -실시간운영체제인 VxWorks가탑재된것으로유명 대표적인실시간시스템의하나 영상처리, 통신등모든처리기능을복합적으로가짐 NASA Pathfinder (mission to MAR 1997) 7

교통 교통 자동차의엔진및각종제어시스템, 무인자동화시스템 지능형교통시스템 (ITS : Intelligent Transport Systems) 등 8

지능형장난감 지능형장난감 단순한장난감의형태에서지능성을갖는형태로변화 9

통신기기 디지털교환기, PABX (private automatic branch exchange) 등의음성서비스통신기기라우터, 게이트웨이, 공유기등의유무선데이터통신장비 Set-top box 10

마이크로프로세서시스템의특징 마이크로프로세세 / 컨트롤러를비롯한하드웨어와소프트웨어를 내장 (embedded) 하여특정한기능을수행 수행하는기능은미리정해진다. 고신뢰성 소형, 경량, 저전력 경량화최적화 저전력화 가격에민감하다 안정성이뛰어나야한다. 네트워크지원 마이크로프로세서 멀티미디어지원 Real-time 기능을필요로하는시스템이많다. 11

리얼타임시스템 주어진입력조건을주어진시간내에처리하는시스템 리얼타임시스템의종류 하드리얼타임시스템 리얼타임이보장되지않으면시스템에치명적인오류를유발 대부분의제어용기기 예 ) 공장자동화등 소프트리얼타임시스템 주어진시간내에결과를출력하지않아도시스템전반에큰영향이없는시스템 예 ) 네트웍장비 12

마이크로프로세서시스템의구성 하드웨어 프로세서 ( 컨트롤러 ), 메모리장치 (ROM,RAM), 입출력장치 ( 네트워크장치, 센서, 구동기등 ) 소프트웨어 운영체제 (OS), 시스템 S/W, 응용 S/W 13

하드웨어구조 ROM, Flash, DRAM, SRAM 키보드, 마우스, 터치스크린 LCD, 모니터 ARM, AVR, 14

하드웨어동작 ARM, AVR, 15

프로세서 프로세서디지털시스템의핵심부분 CPU(Central Processor Unit) 라고도한다. 프로그램을메모리장치에서읽어연산처리, 비교처리, 데이터전송, 편집, 변환, 테스트와분기등의데이터처리와, 각종입출력장치구동 제어장치, 연산장치, 레지스터와데이터버스로구성된다. 16

프로세서의구조 레지스터 (Register) 산술논리연산장치 (ALU : Arithmetic Logic Unit) 제어장치 (CU : Control Unit) 버스 (BUS) 레지스터 내부프로세서버스 제어신호 제어장치 보수기쉬프터 산술및논리연산기상태 FLAG ALU 17

레지스터 (Register) 프로세서내부에서데이터를일시적으로보관하는기억장치 Flip-flop와 Latch로구성되어있다 프로세서레지스터의종류 법용레지스터 프로그램또는데이터처리에필요한작업을수행하기위해서사용 제어용레지스터 프로그램이나프로세서를제어 프로그램카운터 (PC : Program Counter) 등 상태레지스터 프로세서의상태를나타낸다. 18

산술논리연산장치 (ALU) 산술연산수행 덧셈, 뺄셈등 논리연산수행 AND, OR 등 상태레지스터또는 flag 레지스터에연산결과기록 Carry 발생, overflow 발생등 19

제어장치 (CU) 명령을해석하고실행 명령을읽고실행하기위한내부데이터흐름제어 프로그램카운터 명령어 어드레스 기억장치 명령레지스터 명령해독기 외부제어신호 제어신호발생기 내부제어신호 20

프로세서버스 버스 디지털회로에서시스템의여러장치들을연결하는경로 내부버스 (Internal Bus) 프로세서내부에서레지스터와 ALU 사이의신호를교환하고, 그결과를다시레지스터에 전달하는경로 외부버스 (external bus) 프로세서와외부의기억장치사이, 그리고프로세서와 I/O 장치사이에존재하는버스 외부버스구성 데이터버스 (data bus) 데이터를외부장치에전달하거나외부장치로부터읽어오는경로 어드레스버스 (address bus) 프로세서에서기억장치나 I/O 장치의주소정보전송경로 제어버스 (control bus) 프로세서에서기억장치나 I/O 장치에입출력동작을지시하는제어신호를전송하는경로 21

마이크로프로세서와 SoC 마이크로프로세서 (Micro-processor) 는한개의조그만 IC 칩속에 CPU 의모든내용을내장한칩을말한다. 레지스터, 산술논리연산장치, 제어장치를하나의 IC 칩에구현 근래에는한개의 IC 칩속에 CPU 뿐만아니라다양한입출력장치를 포함하는 SoC 형태로발전되고있다. 22

MCU, MPU 와 SoC SoC (System on Chip) 여러개의반도체부품이하나로집적되는기술및제품 근래의프로세서는메모리, I/O 장치를포함한시스템기능을칩하나에구성하는 SoC 형태를가지고있다. 프로세서 (CPU), 메모리, DSP, 로직 IC 등반도체부터소프트웨어에이르기까지단일칩으로구현 MCU, MPU 프로세서를내장하고있는 SoC를말한다. 제조회사및사용자에따라 MCU(Micro Controller Unit) 또는 MPU(Micro Processor Unit) 라부른다. 23

프로그램 프로세서를통하여어떤결과를얻기위하여프로세서가받아들일수 있는형태로구성된명령 (instruction) 을나열하여구성된문장 문장은단어를나열하여구성 명령은단어이고, 프로그램은언어를구사하는것 24

기계어와어셈블리어 기계어 (machine language) 프로세서가이해할수있도록 0 과 1 로표현되는 2진수로구성된명령 프로세서가이해하기는편리하지만작성자가프로그램하기에는불편 니모닉 (Mnemonic) 코드 기계어를프로그램작성자가이해하기편리한기호로표시한명령 어셈블리어 (Assembly language) 니모닉 (Mnemonic) 코드에보다편리하게프로그램작성자가이해할수있도록 pseudo 명령 (Instruction) 을첨부한것 25

어셈블리어의특징 장점 기계어에비해일고이해하기쉽다. 기계어에비해프로그램의오류수정과보관이쉽다. 단점 프로세서의내부구조및하드웨어를자세히알아야한다. 프로세서마다어셈블리어가서로다르다. 26

어셈블러와어셈블 어셈블러 (Assembler) 어셈블리어를 0 과 1 의 2 진수로구성된기계어로자동변환하는 프로그램 어셈블 (Assemble) 어셈블리어프로그램을기계어로바꾸는과정 27

명령어수행과정 1. FETCH 2. DECODE 3. EXECUTE 28

파이프라인 (pipeline) 파이프라인 프로세서로가는명령어들의움직임, 또는명령어를수행하기위해프로세서에의해취해진산술적인단계가연속적이고겹치는것을말한다. 파이프라인이없으면하나의명령을읽어와서요구하는연산을수행하고, 다음명령을메모리에서가져온다. 파이프라인을사용하면프로세서가산술연산을수행하는동안에다음명령어를메모리에서가져온다. 파이프라인의장점 명령어를가져오고실행하는단계가끊임없이계속된다. 주어진시간동안에수행될수있는명령어의수가증가한다. 29

명령어 Set 에따른프로세서종류 명령어 (Instruction) Set 에따른프로세서종류 CISC (Complex Instruction Set Computer) RISC (Reduced Instruction Set Computer) 구분 CISC RISC 역사 1960 년대 1950 년대 명령어 복잡 단순 특징 메모리참조연산 Load/Store 구조 성능 낮다 높다 30

메모리장치 메모리장치의용도 프로그램과데이터를저장하기위한공간메모리장치의종류 주기억장치 (main memory) 프로그램이실행되는동안프로그램과데이터저장 DRAM이많이사용된다 보조기억장치 (secondary memory) 주기억장치보다빈번하게사용하지않는프로그램과데이터저장 HDD, SD, MMC 등이사용된다 캐시 (cache) 주기억장치의접근속도를빠르게하기위해서프로세서주변에배치된소용량의메모리 SRAM이사용된다. 31

마이크로프로세서시스템에서사용되는메모리 32

메모리장치의종류 구분속도가격용도특징 휘발성 (Volatile Memory) 비휘발성 ( Non- Volatile Memory) SRAM (Static) DRAM (Dynamic) EEPROM (Electrically Erasable) Flash 수 ns, 고속비싸다캐시등 수십 ns 저렴주기억장치 수십 ns 비싸다 소용량데이터나프로그램저장용 NAND 수십 ns 저렴대용량데이터저장블록단위읽기쓰기 NOR 수십 ns 비싸다 프로그램저장데이터저장 33

RAM (Random Access Memory) 전원이인가되는상태에서만데이터를유지 크게 2 종류의 RAM이존재 Static RAM (SRAM) and Dynamic RAM (DRAM) 비트가저장되는방법상에차이점이존재 Static RAM 빠르다 (active drive) Less dense (4-6 transistors/bit) Stable (holds value as long as power applied) Dynamic RAM SRAM에비해늦다 High density (1 transistor/bit) Unstable (refresh가필요) 기타 SDRAM, Video RAM, FERAM 등 34

DRAM 과 SRAM 구분 DRAM SRAM 리플래시와충전 주기적 필요없다 억세스주기 느리다 빠르다 회로구조 단순하다 복잡하다 칩크기 작다 크다 가격 싸다 비싸다 용도 일반메모리 캐시메모리 35

메모리시스템구조 0x8000 MMU DRAM 0x7000 0x1000 FLASH (Cache) 0x0000 36

Cache 메모리시스템 CPU 200MHz Main Memory 50MHz CPU Cache Main Memory 50MHz Bus 66MHz Bus 66MHz 고속의 CPU 가버스및메모리속도에의존적이며늦다 CPU 주변에고속의메모리를두고자주사용되는명령과데이터를저장하여시스템성능을개선 37

Cache 의읽기동작 Cache 의목적 프로세서가읽고자하는명령이나데이터를최대한빨리프로세스에전달하는데 목적이있다. Cache 의성능 CPU가읽고자하는명령이나데이터가 Cache 내에존재 (Cache Hit) 해야할회수가많아야 Cache의성능이우수하다. CPU가데이터나명령을읽고자하는데 Cache 내에원하는명령이나데이터가없으면 (Cache Miss), Cache 제어기는시스템메모리장치에서 line 크기만큼명령이나데이터를읽어 Cache 메모리에저장 (Line Fill) 38

Cache 의쓰기동작 Write Through CPU가특정주소에데이터를 write하는경우, 해당하는데이터가 Cache 메모리에있을때, Cache 메모리와외부메모리에동시에쓰기동작을한다. Write Back CPU가특정주소에데이터를 write하는경우, 해당하는데이터가 Cache 메모리에있을때, Cache 메모리에만쓰기동작을하고, 외부메모리는나중에기록된다. 39

MMU (Memory Management Units) 어드레스변환 (translation) 기능 CPU 에서사용되는 logical 한 Virtual 어드레스를 physical 어드레스로변환 메모리보호 (protection) 기능 프로세서 Virtual 어드레스 Memory Management Unit Physical 어드레스 주기억장치 (main memory) 40

메모리제어기 메모리제어기 (Memory Controller) 주요기능 어드레스디코드 (Address Decode) 기능 메모리제어신호구동 메모리제어기의동작 입력되는주소정보에따라어떤메모리장치를억세스할것인지를결정 (Address Decode) 하고각각의메모리장치의특징에따라제어신호를구동한다. 메모리제어신호구동예 41

어드레스와어드레스버스 어드레스 메모리장치의어느영역을읽어올것인가를구분 어드레스버스 메모리장치에접근할때영역을구분하기위해서사용하는신호 1K 바이트메모리를구분하기위해서는 10개의어드레스신호선필요 1K 바이트 = 2 10 = 1024 A0, A1, A2, A3 A9 등으로표기 1M 바이트메모리를구분하기위해서는 20개의어드레스신호선필요 1M 바이트 = 2 20 42

입출력장치 프로세서와정보를교환하는장치 디지털신호또는아날로그신호를포함한다. 프로세서와는메모리장치와같이디지털신호인어드레스, 데이터및제어 신호를통해서연결된다. 43

입출력장치제어 입출력장치를제어하기위해서는어드레스할당이필요하고데이터를교환 하기위한데이타버스와제어신호사용 표준 I/O 맵방식 (I/O-mapped peripheral) 전용의입출력장치주소공간을할당하여사용 인텔의 x86 CPU 계열이대표적 메모리맵방식 (Memory mapped peripheral) 메모리주소공간의일부를활용하여사용 대부분의임베디드프로세서에서사용됨 44

메모리맵방식과 I/O 맵방식 구분메모리맵방식 I/O 맵방식 대표적인프로세서 ARM, MIPS, PowerPC, M68K x86 계열 입출력장치의영역메모리의일부를 I/O 장치로사용메모리영역과는별도의 I/O 번지영역이존재 명령어 하드웨어 메모리와 I/O 장치모두메모리동작명령으로억세스하며, 각영역의구분은어드레스로한다. 어드레스를해석하는디코더회로에따라메모리혹은 I/O 장치가선택 메모리억세스명령과 I/O 억세스명령 (in/out) 이구분 메모리번지와 I/O 번지를구분하는신호가존재. 주의사항 - I/O 영역은 Non-cacheable 로설정해야한다 - I/O 영역변수는 volatile type 으로선언해야한다. 45

입출력장치의자원관리 폴링방식 한프로그램이나장치에서다른프로그램이나장치들이어떤상태에있는지를지속적으로검사하는전송제어방식 입출력장치의접속여부및데이터전송의요청과종료를검사한다. 인터럽트 프로세서는일련의처리를수행하고, 주변장치에서입출력처리동작이필요한경우프로세서에게진행중이던명령을멈추고새로운동작을할수있도록한다. 프로세서는한번에한개의명령만을수행할수있다. 인터럽트를이용하면멀티태스킹을지원할수있도록한다. 사용자는모든작업이동시에수행되는것처럼보이게동작한다. DMA 방식 DMA(Direct Memory Access) 방식은 CPU의개입없이입출력장치와기억장치사이에데이터를전송하는방식 46

인터럽트인터페이스 인터럽트제어기 입출력장치에서발생되는인터럽트의요청을제어한다. 하드웨어에따라인터럽트응답을위한신호도제공된다. 47

인터럽트의발생 인터럽트요청 (Interrupt Request) 외부장치에서입출력동작에대한처리를프로세서에요청인터럽트의발생은하드웨어적으로이루어진다. 따라서인터럽트가발생하면프로세서가스스로프로그램의개입없이일련의동작을수행해야한다. 인터럽트 Vector 인터럽트서비스루틴을처리하기위한명령또는위치가저장된메모리공간 인터럽트의요청에따라프로세서는정해진절차에의하여발생된인터럽트의처리여부를 결정하고인터럽트를서비스하는절차 (ISR : Interrupt Service Routine) 를수행한다. 인터럽트발생의예 시리얼로데이터입력완료 시리얼데이터전송준비완료, 또는전송에러발생 이더넷데이터수신완료, 이더넷전송에러등 48

인터럽트발생에의한프로세서흐름제어 MAIN 프로그램루틴 INT 발생 ISR (Interrupt Service Routine) INT 발생 ISR (Interrupt Service Routine) 49

인터럽트벡터 (Vector) 인터럽트벡터 인터럽트서비스루틴을처리하기위한명령또는위치가저장된메모리공간 인터럽트벡터주소지정방식 고정인터럽트 (Fixed interrupt) 인터럽트가발생시처리할어드레스가지정되어변경이않된다. 지정된어드레스에인터럽트를처리하기위한명령또는위치가저장되어있다. 벡터인터럽트 (Vectored interrupt) 일반적인마이크로프로세서장치에서여러개의주변장치가시스템버스에연결되어사용되는경우 주변장치가인터럽트를처리할주소를제공 50

DMA 방식 DMA 프로세서개입없이입출력장치와기억장치사이의데이터를전송하는방식으로다른버스마스터가주기억장치를억세스하지않는동안에데이터를교환 51

버스 (BUS) 버스 (BUS) 란? 컴퓨팅시스템의각모듈에서발생한신호를공유해서사용할수있도록만든신호의집합 구동주체 (CPU 등 ) 에의해서해당소자에데이터를읽거나쓸수있도록구성된다. 어드레스버스 (address bus), 제어버스 (control bus), 그리고데이터버스 (data bus) 로구성된다. 주소 제어신호 명령또는데이터 52

폰노이만아키텍쳐 폰노이만 (Von-Neumann) 아키텍쳐 명령어와데이터를위한메모리인터페이스가하나이다. 명령어를읽을때데이터를읽거나쓸수없다. IBM 계열 PC( 개인용 PC), ARM7 등 53

하버드아키텍쳐 하버드 (Havard) 아키텍쳐 명령어를위한메모리인터페이스와데이터를위한메모리인터페이스가분리되어있다. 명령어를읽을때데이터를읽거나쓸수있어성능이우수하다. 버스시스템이복잡하여설계가복잡하다 ARM9, ARM10, XScale 등 54

임베디드시스템설계절차 시스템용도분석 하드웨어사양결정 프로세서, 메모리및주변장치선정 소프트웨어사양결정 OS 사용여부및 OS 선정 개발환경선정 회로도및 PCB 설계 하드웨어조립및시험 시스템소프트웨어설계 디바이스드라이버설계 어플리케이션설계 시스템통합시험 55

프로세서선정 프로세서선정시고려사항 개발하려는제품의특성 개발의용이성, 가격, 안정성 제조회사의지원능력 프로세서선정 CPU 특징 ARM MIPS i386 Power PC 간단한명령어사용하고, 개발환경이간단하다. 전력소모가작아서휴대폰이나 PDA같은휴대단말기에많이사용고속의처리능력, 고속네트워크장비등에많이사용오랜기간의사용으로안정성확보, PC와동일한개발환경구성강력한네트워크기능을포함한 SoC 56

메모리선정 코드및데이터저장용메모리 (ROM) 저장할코드및데이터의크기, 속도등에따라선정 EEPROM 소용량, 시스템구동중코드나데이터의업데이트거의없는경우 NOR Flash 저용량, 시스템구동중코드나데이터의업데이트가발생하는경우 NAND Flash 대용량, 시스템구동중코드나데이터의업데이트가빈번하게발생하고대용량의데이터를저장하는경우에사용 프로그램구동중에사용되는메모리 (RAM) SDRAM 시스템의성능을좌우하므로빨라야한다. 시스템의기능에따라가격대비적합한크기의메모리를선정한다. 57

주변장치선정 시스템의용도및특성에맞는주변장치선정 LCD, Touch LAN, 무선 LAN SoC 선정 SoC는일반적인제품을구성하는데필요한모든주변장치를가지고있다. PDA 전용 SoC PXA255, S3C2410, S3C24A0, IP 공유기용 SoC KS8695, RTL8650B, S3C2510, 58

회로도설계 OrCAD 를이용한회로도설계 59

PCB 설계 PowerPCB 를이용한 PCB 설계 60

하드웨어조립및시험 PCB 가완료되면각부품을조립하고시험한다. 61

소프트웨어사양결정 시스템의사양및성능에따른소프트웨어선정 OS 사용여부결정 OS의필요성결정 Real-time의필요성및시스템메모리의크기등에따른 OS 선정 소프트웨어개발 개발시간, 난이도및비용에따라자체개발또는외주개발결정 라이센스 (License) 조건 소프트웨어의사용권한및제한사항확인 MPEG, MP3 등 62

OS 사용여부결정 마이크로프로세서시스템에서의운영체제 시스템의규모가커짐에따른멀티태스킹 (Multi Tasking) 기능요구 네트워크나멀티미디어기능이시스템의기본요소가됨 Networking, GUI, Audio, Video 리얼타임의필요성이부각됨 지능성이부가되고, 기능이많아지고, 복잡해짐 순차적인프로그램작성이불가능하여운영체제가도입됨마이크로프로세서시스템의운영체제 상용 RTOS(Real-Time OS) 윈도우 CE 임베디드 Linux 임베디드 JAVA 63

어플리케이션개발 어플리케이션 ( 응용프로그램 ) 시스템 ( 하드웨어와 OS) 를이용해서어떠한작업을하는것 워드, 게임등의모든응용프로그램 마이크로프로세서시스템에서의어플리케이션 특정한작업을처리하기위해서작성된다. 근래에는컨버전스제품으로변모, 다양한어플리케이션탑재 64

임베디드소프트웨어개발환경 (ARM, AVR,.) (i586) JTAG ICE Parallel, Ethernet, USB 65