라는 점이다. ARM7TDMI 같은 ARM7에서는 페치(fetch), 디코드 (decode) 그리고 실행(execute)의 3단계로 구성된 파이프라인을 적 V4 PF1 ARMv I-캐시 액세 + 다이내믹

Size: px
Start display at page:

Download "라는 점이다. ARM7TDMI 같은 ARM7에서는 페치(fetch), 디코드 (decode) 그리고 실행(execute)의 3단계로 구성된 파이프라인을 적 V4 PF1 ARMv5 1994 1996 1998 2000 2002 2004 2006 I-캐시 액세 + 다이내믹 "

Transcription

1 자는 ARM 프로세서를 이용한 프로젝트를 처음 진행할 당시에 농담반 진담반으로 이런 말을 자주하곤 했다. ARM으로 개발하려다가 정말 암에 걸리겠다. 처음 새로운 프로세서를 접하면 누구나 한번쯤 겪는 일이다. ARM의 경우는 그 정도가 더욱 심했다. 특히 MMU는 무엇이며, 왜 필요하고 어떻게 동작하는지? FIQ와 IRQ는 같 은 인터럽트인데 왜 달리 구분하는지? 왜 ENDIAN(엔디안)이라는 개념이 나오는 것인지? 도대체 ARM 모드와 THUMB 모드는 무엇이고 어떻게 다른 것인지? AMBA는 또 무엇인가? 등 수많은 궁금증이 있었고, 그것을 풀기 위해서 밤낮으로 관련 자료를 찾기 위해 전전긍긍하며 웹 사이트를 돌아다니고, 그것도 모자라서 결국에는 주변에 책 동냥을 하러 달려가곤 했었다. 어쩌겠는가? 당면한 문제를 정면으로 헤쳐나가지 않으면 아무런 결과도 얻지 못할 것 이 불을 보듯 뻔한데. 지금부터 필자와 ARM의 과거와 현재를 살펴본 후 ARM 아키텍처를 살펴보고, 마지막으로 ARM과 MIPS 중 어 느 것을 선택할지 몰라 고민하는 독자들을 위해서 MIPS 프로세서에 대해서도 간단하게 살펴보기로 한다. 앞서 말해 두지만 이번 기사는 ARM의 내용이 주제이므로 MIPS에 대한 내용이 다소 부족하더라도 이해하기 바란다. ARM의 과거와 현재 ARM의 탄생 최초의 ARM 프로토타입이 탄생한 것은 1985년 4월 26일 영국의 캠브리지에 있는 Acron Computers에 의해서였다. 그러나 정작 ARM(Advanced RISC Machine)이 빛을 바라기 시작하는 것은 1995년이 되어서이다. 특히 1990년 11 월에 애플과 VLSI의 조인트 벤처 형식으로 설립된 ARM(Advanced RISC Machines Ltd.)이라는 회사가 생기면서 부터이다. 이 회사에 애플과 VLSI는 자본을 투자하고, 세계 최초의 상업용 원칩 RISC(Reduced Instruction Set Computer) 프로세서를 개발한 Acorn은 12명의 칩 개발자를 투입하게 된다. ARM은 최초의 저가형 RISC 아키텍처 란 점만으로도 시장에서 차별화되었다. 1991년에 ARM6 프로세서 시리즈가 임베디드 RISC 프로세서로 처음 소개되 면서, ARM이라는 이름도 공식화된 명칭으로 자리를 잡게 된다. 그 이듬해 샤프와 GEC Plessey가 라이선 계약을 맺었으며, 1993년에는 TI와 사이러 로직이 라이선 계약하면서 ARM은 급성장을 시작하게 된다. ARM 아키텍처의 계보 초기에 개발되어 아직까지 사용되고 있는 가장 오래된 ARMv4 아키 텍처는 ARM7 코어 시리즈와 인텔 트롱암(StrongArm) 프로세서 에 아직도 그 영향을 미치고 있다. ARMv4 아키텍처는 32비트 주소 영역에서 32비트 ISA(Instruction Set Architecture) 동작이 가능하 다. 16비트 Thumb 명령어 셋을 탑재한 ARMv4T 아키텍처는 32비 트 코드의 이점을 그대로 살리고, 메모리 공간을 35% 이상 절약할 수 있도록 해주었다. 1999년에 ARM은 ARMv5TE 아키텍처를 소개하 였으며, 개선된 thumb 아키텍처와 Enhanced DSP 명령어 셋을 ARM ISA에 추가하였다. 이러한 Thumb의 변화에는 소수의 명령어 추가와 함께 ARM/Thumb 인터워킹(interworking)의 개선, 컴파일 성능의 대폭적인 향상, ARM/Thumb 루틴의 혼합 사용, 코드 크기와 성능에 대한 균형도 포함되어 있다. 또한 Enhanced DSP 명령어들 은 복잡한 수치연산에 있어 70%의 성능개선을 보여주었다. 2000년에 발표된 ARMv5TEJ 아키텍처에는 Jazelle(자바 하드웨 어 가속기) 확장명령어가 추가되었으며, 이로써 자바 가속 기술을 탑 재한 아키텍처가 탄생하게 된다. ARMv5TJE 아키텍처는 Jazelle의 탄생함에 따라 가속 기술을 사용하지 않은 JVM(Java Virtual Machine)보다 속도 면에서 8배가 향상되었으며, 소비전력의 측면에 서도 80%를 줄일 수 있게 된다. 또 ARMv6 아키텍처가 2001년에 발 표되면서 여러 방면에서 기능 개선이 이루어졌다. 특히 메모리 시 템, 예외 처리의 개선, 멀티프로세싱 환경을 위한 더 많은 지원 등이 이에 해당한다. 이것 이외도 ARMv6 아키텍처에는 SIMD(Single Instruction Multiple Data) 소프트웨어 실행을 지원하는 미디어 명 령이 포함되어 있으며, SIMD 명령들은 오디오 및 비디오 코덱을 포 함하는 응용 프로그램들의 사용 확대를 위해 최적화되었다. 2002년에는 ARMv6 아키텍처를 처음 적용한 제품인 ARM1136J (F)-8 코어를 발표하였다. 트롱암 CPU는 DEC(Digital Equipment Coporation)에 의해서 ARM과 함께 개발되었다. 이것이 최초의 modified-harvard 아키텍처(명령어 캐시와 데이터 캐시를 분리해서 사용)를 채용한 제품이며, modified-harvard 아키텍처로 ARM의 쓰 기 처리 능력의 고속화가 가능하게 되었다. 트롱암의 주요 특징 중에 는 5단 파이프라인의 채용, 64비트 곱셈 및 일부 곱셈 기능을 제외한 모든 일반 명령어들의 싱글 사이클 처리 등이 포함되어 있다. 우리에게 잘 알려진 인텔의 ARM 칩셋들에는 Xscale과 함께 SA11xx 시리즈의 제품들이 있다. 이중 SA11xx 시리즈는 오히려 아키텍처 Thumb DSP Jazelle 미디어 TrustZone Thumb-2 v4t v5te v5tej v6 v6z v6t2 트롱암으로 더 잘 알려져 있기도 하다. 트롱암 프로세서는 휴대용 전화기와 가전제품 등의 설계에 적합하며, 현재 컴팩의 ipaq H3600 포켓 PC, HP의 조나다 핸드헬드 PC, 팜(Palm) PDA 및 많은 제품 들에 사용되었다. 인텔이 개발한 SA110은 일반적인 표준 임베디드 프로세서이며, 팜 크기의 기기를 위해 개발된 SA1100와 SA1111 프 로세서는 인텔이 사용하는 ARM 코어의 ASIC 패밀리의 공식 명칭이 되었다(SA는 StrongARM의 약어이다). ARM의 CPU 코어들 ARM CPU 코어는 애플리케이션 코어, 임베디드 코어, 그리고 시큐 어 애플리케이션(Secure Application)으로 구분할 수 있다. 애플리케 이션 코어는 무선, 가전제품, 이미지 처리 등의 복잡한 운영체제 처리 에 사용할 수 있으며, 임베디드 코어는 대용량 저장장치, 자동화 기 기, 산업용 기기 등의 실시간 처리 시템을 위해 사용되며, 시큐어 애플리케이션은 보안 관련 제품의 제작에 적용이 가능하다. ARM의 CPU 코어를 패밀리로 분류해 보면 ARM7, ARM9, ARM10, ARM11, 트롱암과 Xscale이 있다. 각각의 패밀리에는 뒤 에 붙는 코드에 따라서 코어의 사양이 조금씩 달라진다. 우리가 ARM 아키텍처에서 다루게 될 ARM7TDMI의 경우는 Thumb(16비트 압축 모드), Debug(디그 기능), Multiplication(32비트 하드웨어 곱셈 기), ICE(In Circuit Emulation) 등이 내장되어 있다. ARM7TDMI 의 경우는 MMU(Memory Management Unit)와 AHB(Advanced High performance Bus)는 들어 있지 않다. ARM720T에는 8KB의 캐시와 함께 MMU와 AHB가 포함되어 있다. ARM720T를 채택한 임베디드 프로세서가 국내 회사에서도 이미 출시되었으며, 그 내용은 해당사의 웹 사이트에서 쉽게 찾아볼 수 있다. VFP(Virtual Floating Point) 코어 프로세서는 ARM 아키텍처의 선택 사양이다. VFP 아키텍처는 단정도/배정도 실수 연산을 지원하 며, 안정적인 소프트웨어 라이브러리의 지원을 위해 IEEE754 규약을 충실히 따르고 있다. ARM VFP의 벡터 연산 능력은 축적 변환, 2차

2 라는 점이다. ARM7TDMI 같은 ARM7에서는 페치(fetch), 디코드 (decode) 그리고 실행(execute)의 3단계로 구성된 파이프라인을 적 V4 PF1 ARMv I-캐시 액세 + 다이내믹 브랜치 Prediction ARM7TDMI ARMv6 XScale TM ARM1020 ARM926EJ ARM10EJ ARM720T ARM9E ARM920T PF2 DE ISS SH 디코드 + StaticBP AStack Instr Issue + Register Read LS add ARM1022E ALU V6 코어 ALU 파이프라인 MAC1 MAC2 MAC3 MAC 파이프라인 데이터 캐시 액세 DC1 SAT DC2 로드/저장 파이프라인 WB ex WB Is time 용하고 있다. ARM9의 경우에는 페치, 디코드, 실행, 퍼/데이터, 다시쓰기(write-back)의 5단계 구조의 파이프라인을 적용하고 있으 며, ARM10의 경우는 6단계 구조의 파이프라인이 적용되어 있다. 이 것도 모자라서 결국 ARM11의 경우는 무려 8단계 구조의 파이프라인 을 채택하고 있다. 인텔 계열의 트롱암은 5단계 구조의 파이프라인을, Xscale은 7단 계 구조의 파이프라인을 채택하고 있다. 이렇게 많은 파이프라인 구 조를 채택하게 된 데에는 가능한 한 프로그램의 코드 공간을 줄여서 데이터 처리 능력을 향상시켜 보고자 하는 ARM 프로세서 개발자들 의 숨은 노력이 들어 있다. ARM11 마이크로 아키텍처는 고성능과 고효율을 실현하기 위해서 설계되었다. 그 해결의 열쇠가 바로 파이 프라인의 설계이다. ARM11 마이크로 아키텍처의 파이프라인은 이 전의 ARM 코어들과는 다르다. 8단계로 구성된 ARM11 마이크로 아키텍처의 파이프라인은 이전의 코어들보다 40% 더 향상된 성능을 제공한다. 8단계 파이프라인은 8개 의 다른 프로세 상태를 동시에 처리할 수 있도록 해준다. 많은 단계 의 파이프라인 구조는 과도한 지연현상과 래이턴시에 의해 시템의 효율을 저하할 수도 있다. 일반적으로 어떤 명령을 실행하는 긴 파이프 라인들은 지연의 가능성이 있다는 것이며, 그 이유는 이전 명령어들의 A L U A[310] ALE ABE 어드레 레지터 P C 레지터 뱅크 (31*32비트 레지터) (6 상태 레지터) A 32비트 ALU 어드레 Incrementer 32 8 Multiplier 배럴 시프트 I n cr e n e n t e r B 캔 컨트롤 Instruction Decoder & 컨트롤 로직 DBGRQI BREAKOTI DBGACK ECLK nexec ISYNC BL[30] APE MCLK nwait nrw MAS[10] nirq nfiq nreset ABORT ntrans nmreq nopc SEQ LOCK ncpi CPA CPB nm[40] TBE TBIT HIGHZ RANGEOUT0 RANGEOUT1 EXTERN0 EXTERN1 nopc nrw MAS[10] ntrans nmreq A[310] D[310] DIN[310] DOUT[310] EmbeddediCE-RT 로직 splitter 캔 체인 2 캔 체인 0 캔 체인 1 TAP 컨트롤러 ARM7TDM (CPU core) TCK TMS ntrst TDI TDO All other signals SCREG[30] IR[30] TAPSM[30] Performance 350~500MHz 650MHz->1GHz ARM11 ARM11 처리결과에 따라 달라지기 때문이다. ARM11 파이프라인은 이러한 지 연 현상들을 피하기 위해 파이프라인 간에 forwarding(일종의 prefetch 기능) 기법을 광범위하게 사용한다. 긴 파이프라인을 가진 프로 세서는 파이프라인을 통해 순조롭게 처리되던 명령이 인터럽트가 발생 한 순간, 성능의 저하가 올 수도 있다. ARM11의 파이프라인은 이 문 제를 명령어들의 흐름을 예측하는 분기 예측(branch prediction)을 사 nenout nenin Write Data Register DBE D[310] Instrution 파이프라인 & Read Data 레지터 & Thumb Instruction Decoder 개발 툴들도 함께 제작하여 판매하고 있으며, 이러한 개발 툴들도 지 속적으로 발전하고 있다. 단지 흠이라면 가격이 좀 비싸다는 것이다. ARM 아키텍처 구조 앞서 살펴보았듯이 ARM 아키텍처는 계속해서 발전하고 있다. 그러 ARM926EJ ARM1026EJ 250MHz 270~325MHz Q Q Q Q 용해서 해결하고 있다. ARM11의 등장 <그림 3>의 로드맵에서 보는 바와 같이 ARM11의 마이크로 아키텍처 는 350~500MHz 영역에서 제품이 개발되었으나, 1GHz 영역까지 ARM 영역의 확장 초기의 ARM이라는 회사는 비메모리의 설계 및 생산을 담당하는 반 도체 회사에 반도체 공정의 핵심 역할을 담당하는 IP(Intellectual Property)를 개발해서 제공하던 회사였다. ARM의 가장 큰 무기인 나 ARM의 아키텍처에는 변하지 않는 몇 가지 규칙이 있으며, 그 규 칙들을 이해하는 것이 ARM을 이해하는데 무엇보다도 도움이 될 것 이다. ARM에 대한 자료는 비록 영문이기는 하지만 에서 쉽게 찾을 수 있으며, 설명 또한 매우 쉽게 잘 정리되어 있다. 우리는 지금부터 ARM7TDMI의 아키텍처를 살펴볼 것이다. 물론 그 성능의 범위를 확대하고 있다. 개발자는 소비전력과 성능을 제어 저전력 설계가 가능하다는 점은 ARM이 PDA를 비롯한 가전과 모바 지금은 트롱암과 같은 더 뛰어나고 더 발전된 아키텍처가 있지만, 원 및 3차원 변환, 폰트의 생성 및 디지털 필터와 같은 영상 처리의 성 하기 위해서 클럭 주파수와 인가 전압 모두를 변화시킬 수 있다. 일반 일 및 무선 시장까지도 장악하게 만들었다. 많은 임베디드 프로세서 처음 접하는 독자들을 위해서 ARM7TDMI 아키텍처를 위주로 살펴 능 향상에 사용이 가능하다. ARM은 현재 ARM9, ARM10, ARM11 적으로 빠른 클럭의 하드웨어는 높은 소비전력을 요구하게 된다. 이 를 채택한 제품들이 저전력 설계에서 고전을 면치 못하던 시기에 보고, 나머지는 그 위에 살을 붙이는 형식으로 살펴보기로 한다. 프로세서 패밀리들에 VFP9-S와 VFP10을 지원하고 있다. 런 측면에서 본다면, 프로세서의 속도를 소프트웨어에 의해서 조절할 ARM의 등장은 시장의 요구와 맞아 떨어진 것이다. 새로운 2차 전지 수 있도록 하드웨어가 지원한다면, 프로세서에서 사용되는 소비전력 들의 지속적인 성능 향상에도 불구하고 PDA 등과 같은 휴대용 단말 ARM7TDMI의 내부 구조 ARM의 파이프라인 채용의 변화 의 일부를 조절할 수 있다는 의미가 된다. 기에서 저전력 기술은 필수이며, 이러한 방향은 앞으로도 지속될 것 ARM7TDMI의 코어의 구조는 <그림 4>와 같다. 주요 구성을 요약해 ARM의 중요한 특징 중 하나가 파이프라인을 채용한 RISC 아키텍처 으로 보인다. 현재 ARM은 하드웨어 및 소프트웨어의 개발에 필요한 보면 ARM7TDMI 프로세서는 32비트 크기의 명령어 셋을 포함하는

3 Fetch 메모리로부터 명령어를 읽어 와서 명령 파이프라인에 둔다. 고, 일부 레지터는 프로세서의 Exception 처리를 위해 ~5에 S64 S63 S62 S61 S S4 S3 S2 S1 D1 D2 D3 D4 D Decode 명령어를 해독하고 데이터 패 제어를 통해 다음 명령어를 준비한다. Execute 데이터 패 제어에 의해 레지터 뱅크를 읽어오고 오퍼랜드를 시프 트시키고 ALU의 결과를 목적 레지터에 저장한다. 5단 파이프라인의 경우에는 3단 파이프라인에 비해 다른 점이 있다. Fetch 메모리로부터 명령어를 읽어 와서 명령 파이프라인에 둔다. Decode 명령어를 해독하고 데이터 패 제어를 통해 다음 명령어를 준비한다. 리맵핑되어 사용되기도 한다. ARM7 프로세서의 레지터 구조는 < 그림 13>을 참조하자. 범용 레지터 ~5 범용 레지터 중 3~5는 특수 목적으로 사용되는데, 내용을 살 펴보면 다음과 같다. 프로그램 카운터(5) 우리가 일반적으로 알고 있는 PC(Program Counter)이 condition code flags reserved N Z C V I F T M4 M3 M2 M1 M0 오플로우 Carry/Borrow/Extend Zero Negative/Less Than 컨트롤 Mode bits state bit FIQ disable IRQ disable 크로 포인트 D62 D63 D64 Execute 명령어를 레지터 뱅크에서 읽어 오고 ALU 결과를 생성한다. Buffer/Data 필요에 따라 데이터 메모리에 접근을 시도하며 ALU 결과를 퍼 에 저장한다. Write-Back 메모리에서 읽은 데이터와 ALU 결과를 레지터에 써 넣는다. 다. 다만 다른 점은 ARM7에서는 5 역시 사용자가 레지터로 사용할 수 있다 는 점이다. 즉, 어셈블러에서 일반 연산에 5를 사용할 수 있으니, 좀더 프로그 래머에게 자유도가 많다고 보아도 된다. 다만 그에 대한 부작용은 프로그래머의 몫이 되는 것이다. Z(Zero) flag, 연산 결과에서 Carry나 Barrow가 발생할 때 1이 되는 C(Carry/Barrow/Extend) flag, 그리고 연산 결과에 오플로우가 발생했을 때 1이 되는 V(Overflow) flag가 있다. 택 포인터(3) ARM에서는 SP(Stack Pointer)로 3을 사용한다. 택과 컨트롤 비트들에는 FIQ와 IRQ을 금지할 수 있는 FIQ disable 비 ARM state와 16비트 크기의 명령어 셋을 포함하는 Thume state를 바렐 시프트 관련된 PUSH나 POP 같은 명령어가 따로 제공되지 않는 대신 명령어 자체에 트, IRQ disable 비트, 프로세서의 동작 상태를 나타내는 모드 비트 지원한다. ARM state의 32비트 명령어들이 실행속도가 대체로 ARM7TDMI 코어 다이어그램을 보면 ARM7TDMI 아키텍처는 increment나 decrement 명령어 셋이 포함되어 있으므로 실제 동작에서는 별 문 (M0~M4)가 있다. Thume state에 비해 빠르다. Thume state의 16비트 명령어들이 프 ALU와 함께 한번에 여러 단의 시프트 연산을 수행할 수 있도록 되어 제가 되지 않는다. 로세서 내부에서 32비트로 디코딩되어 수행되어 속도가 늦는 반면, 있다. 다른 프로세서의 아키텍처가 shifter와 ALU가 병렬로 연결되 링크 레지터(4) ARM에서는 다른 프로세서와는 좀 다른 개념인 링크 레지 Exceptions과 Operation Modes 실행 코드의 메모리 공간을 절약할 수 있다는 장점이 있다. 어 있어 dataphth의 사이클 타임에 영향을 주지 않도록 되어있는 반 터(link register)라는 것이 있으며, 이를 4에 할당하고 있다. 앞서 언급했듯 Exception이란 하드웨어의 입장에서 보면 실행되는 코드의 진행에 대 최근에는 Thume state의 이런 단점을 보완하기 위해서 Thume-2 면, ARM7TDMI의 아키텍처는 여러분이 ARM7TDMI 코어 다이어 이 ARM에서는 택과 관련된 명령어가 따로 제공되지 않으니 CALL과 RET와 같 한 예상하지 못한 상황에 대해서 예외처리의 기준을 마련하는 것을 의 state가 개발되었고, 자세한 내용은 본 기사의 ARM vs. Thume 그램에서 보았듯이 ALU와 직렬로 연결되어 있다. 이러한 ARM7 은 명령도 없다. 그 대신에 JUMP 명령을 수행하기 전에 돌아올 주소를 4에 넣 미한다. 소프트웨어를 설계하는 사람의 입장에서 설명한다면 state에서 다루기로 한다. Power-on reset 후의 프로세서는 ARM TDMI의 아키텍처는 시프트 연산의 시간이 datapath의 사이클 타임 고 점프할 번지로 이동하며, 돌아올 주소로 복귀할 때는 4에 저장된 값을 PC NMI(Non-Maskable-Interrupt) 처리와 유사한 형태를 지닌다. 우리가 state로 동작하므로 Thume state로의 진입에는 별도의 설정이 필요 에 직접적인 영향을 주게 된다. 시프트 연산에서의 이런 지연 시간을 에 넣으면 된다. 이러한 이유로 4를 링크 레지터라고 부른다. 물론 이 방식 윈도우 운영체제에 Access Violation Error를 가끔 접하게 되는 데, 이 하다. 최소화하기 위해서 cross-bar switch matrix 를 사용하는데, 이는 이 전적으로 좋은 것은 아니다. CALL이 한번 만 일어난다면 이 방식은 PUSH나 것이 하드웨어의 입장에서 본 exception 처리에 대한 하나의 예가 된다. <그림 5>는 ARM7TDMI의 블럭도이다. 우리가 종종 사용하는 소 임의의 입력 값에 대해서 원하는 결과 값을 가진 곳으로 출력 값의 방 POP과 같은 택 연산을 수행하지 않으니 속도가 빠르겠지만, 호출된 프로그램 ARM은 이러한 예외 처리의 단계를 5가지로 구분하고 있으며 그 단계 프트웨어 디깅 도구인 ICE(In Circuit Emulator)와의 인터페이 향을 변경하는 일종의 MUX(Multiplex)와 같은 역할을 한다. 즉, 매 내에서 다시 호출을 하는 상황에서는 4를 다른 곳에 보관해 두어야 한다. 또한 마다 적절한 대응을 위한 예외 처리 벡터를 설정해 놓고 있다. 를 위해서 ICE Breaker와 TAP 컨트롤러가 코어 옆에서 시템의 번 시프트에 대한 연산이 수행되는 것이 아니라, 시프트 연산의 결과 어셈블러에서 RET 명령에 익숙해 있던 사용자의 경우는 더 생소하게 느껴질 것 구체적으로 ARM7에는 FIQ(Fast Interrupt request)와 Arbitration을 담당한다. 특히 <그림 5>를 보면 캔 체인 0과 캔 값에 대한 경로가 이미 하드웨어를 이용한 매트릭로 구성되어 있어 이다. 해결책이 전혀 없는 것은 아니며, RET를 하나의 매크로로 만들어서 사용하 IRQ(Interrupt ReQuest), Abort, 소프트웨어 인터럽트, Undefined 체인 2가 있는 데, 이것은 반도체 공정에서 칩의 정상동작 여부를 테 연산처리에 대한 시간을 단축시키고 있는 것이다. ARM7TDMI의 경 는 것도 방법이 될 것이다. Instruction Trap의 5가지 Exception이 있고, 각각의 Exception이 트하기 위해서 필요한 데이터를 칩으로 보내게 되는 데, 이때 그 데 우 32 32의 크로-포인트 매트릭를 사용한다. 결국 프로세서의 발생하면 프로세서는 해당 동작 모드로 전환한다. 사용자 모드도 하 이터가 지나가는 경로가 캔 체인이며, 흔히 주문형 반도체(ASIC) 속도를 높이기 위한 각고의 노력을 한 흔적을 이곳에서도 엿볼 수가 ARM7 상태 레지터 나의 동작 모드로 보아 총 6개의 동작 모드가 존재하게 된다. 에서 사용하는 테트 벡터(Test Vector)보다 좀더 상위의 개념이라 있는 것이다. ARM7에는 6개의 상태 레지터(Status Register)가 있다. 일반적으 IRQ Exception은 우리가 흔히 인터럽트라고 말하는 개념과 동일 고만 알아두자. 로 (Current Processor Status Register)이라고 하며, PSR이 하다고 보면 된다. FIQ Exception은 IRQ보다 좀더 빠른 처리를 할 레지터의 구조 라고 나오더라도 같은 의미이니 당황하지 말기 바란다. <그림 7>은 수 있는 인터럽트이다. 물론 자원이 남는다면 IRQ에서 처리할 내용을 파이프라인 ARM7 프로세서에는 31개의 32비트 범용 레지터와 6개의 32비트 에 대해서 설명하고 있다. FIQ에서 처리해도 무방하다. Abort Exception은 쉽게 설명하면 메 ARM7은 저가 모델로 디자인되어서 3단계의 파이프라인만 지원하지 상태 레지터가 있다. 이들은 사용자 모드와 시템 모드에 따라서 <그림 7>에서 보는 바와 같이 은 연산의 결과에 따라 달라지 모리와 관련된 대부분의 비정상적인 동작이 발생하면, Abort 만, ARM9부터는 RISC CPU에서 전통적으로 많이 쓰는 5 단계의 파 사용할 수 있는 레지터가 달라지며, ARM7의 어셈블러에서 프로그 는 Flag 비트들과 프로세서의 흐름 제어를 위한 컨트롤 비트들로 나 Exception이 발생한다고 생각하면 된다. 예를 들면 프로세서가 메모 이프라인을 지원한다. 3단 파이프라인의 각 단계별 수행되는 역할을 래머가 한번에 사용 가능한 레지터는 ~5가 전부이며, 그 중 누어진다. Flag 비트들에는 연산의 결과가 마이너인 경우에 1이 되 리에서 접근하면서 발생하는 오류가 이에 해당한다. Abort은 다시 살펴보면 다음과 같다. 일부는 프로그램 카운터(PC)나 택 포인터(SP) 등의 용도로 사용되 는 N(Negative/Less Than) flag, 연산 결과가 0일 때 1이 되는 Pre-fetch Abort과 Data Abort으로 나누어진다. 소프트웨어 인터럽

4 Address Exception Mode on entry 리셋 슈퍼바이저 Undefined instruction Undefined 소프트웨어 인터럽트 슈퍼바이저 C Abort(prefetch) Abort Abort(데이터) Abort Reserved Reserved IRQ IRQ C FIQ FIQ Higher Address Word Address Lower Address ARM7의 명령어 셋 ARM7 명령어의 주요 특징을 살펴보면, 첫째 ARM7에서 모든 명령어 는 하나의 32비트 문자에 모두 들어가도록 설계되어 있다. 명령어의 수 가 많지 않고 상대 어드레싱 모드를 사용한다. 이는 RISC 프로세서의 특성상 성능 면에서 상당한 이점을 가지게 된다. 물론 어셈블리 언어로 코드를 작성하게 되면 32비트 Immediate 값을 지정할 때는 다소 불편 한 점이 없는 것은 아니다. 둘째, 모든 명령어가 같은 크기로 처리되므 로 파이프라인의 구현이 용이하고, 이러한 구조는 결국 부가적인 명령 어 해독기를 두지 않아도 되므로 명령어의 고속 처리가 가능하다. 셋 째, 모든 명령어에 조건 코드의 사용이 가능하다. ARM에서의 가장 큰 강점이기도 하다. 넷째, C와 같은 고급 언어의 지원을 위한 명령어 셋 을 내장하고 있다는 점이다. 예를 들면, C 언어에서 ++i, i++, --i, i-?와 같은 연산을 위한 명령어 셋이 별도로 마련되어 있다. 명령어와 관련된 기본 개념 바이트 바운더리로 정렬되는 32비트 문자로 제한되었지만, 이후에는 8-bit signed byte와 2바이트 바운더리로 정렬되는 16-bit signed와 unsigned halfword도 같이 지원하게 된다. 현재는 이들 모두를 사용할 수 있으며, 코프로세서 의 경우는 부동 소수점 연산과 같은 처리를 위해서 이와 같은 데이터 타입을 가지 기도 한다. privileged mode 대부분의 프로그램은 사용자 모드에서 동작하지만, Exception 처리나 슈퍼바이저 콜과 같은 특수한 루틴의 처리를 위해서 privileged mode를 가 지고 있다. Privileged mode는 특정 제어권을 가진 경우에만 들어갈 수 있도록 되 어 있다. 시템 모드를 제외한 각각의 privileged mode는 SPSR(Saved Program Status Register)과 연계되어 수행된다. SPSR은 사용자 모드에서 privileged mode로의 진입시 의 상태를 저장하고, 사용자 모드로의 복귀시에는 SPSR 의 값들을 CSPR로 저장시키는 데 이용된다. 임베디드 시템을 사용하는 ARM 프 로세서들에서는 이러한 보호 기능을 부적절하게 사용하기도 하지만, RTOS의 구성 요소에 있어서 privileged mode는 매우 중요한 의미를 지닌다. ARM & Thume state ARM 모드와 Thume 모드의 가장 큰 차이점은 레지 THUMB state Stack Pointer (SP) Link Register (LR) Program Counter(PC) SPSR ARM state Stack Pointer (3) Link Register (4) Program Counter(5) SPSR Lo registers Hi registers ARM7의 명령어 셋은 기타 어셈블리 언어를 다루는 것과 크게 다르 터의 사용에서 발견할 수 있다. Thume 모드의 경우 <그림 10>에서 보는 바와 같 지 않다. 다만 다른 프로세서들에서 볼 수 없는 몇 가지 특징들이 있 이 실질적으로 사용 가능한 레지터가 r0~r7까지의 8개 레지터라는 것이다. 는데, 아키텍처와 관련된 기본 개념을 충분히 숙지하고 몇 가지 필요 Thume 모드에서의 레지터는 최대 16비트 크기를 가질 수 있다. 명령어의 크기 Higher Address Word Address 한 규칙들을 숙지한다면 독자 여러분 역시 어셈블리 언어를 그리 어 렵지 않게 사용할 수가 있으리라고 본다. 명령어와 관련된 부분을 살 펴보자. 도 Thume 모드의 경우 모두 16비트의 구조를 지니고 있다. 대부분의 Thume 모 드의 명령어들은 프로세서 내부에서 32비트 명령으로 확장되어 실행하도록 하고 있어 Thume 모드의 사용에 의한 속도 저하를 만회하도록 하고 있다. Thume 모 ARM State General Registers and Program Counter System & User FIQ Supervisor Abort IRQ Undefined Lower Address 메모리 구조(엔디안의 개념 설명) 리틀 엔디안(Little-Endian)과 빅 엔디안(Big- 드로 프로그래밍을 하면 코드의 크기가 작아지는 것은 당연한 일일 것이다. <그림 11>에서 노란색 바탕으로 표시된 레지터들은 ARM state에서만 사용할 수 있는 트 Exception은 IRQ가 하드웨어에 의해서 발생하는 인터럽트라고 Endian)이라는 개념은 비단 ARM을 위해서 개발된 개념은 아니다. 다만 ARM에 서는 좀더 엔디안에 대한 자유도가 있을 뿐이다. 리틀 엔디안이 최하위 바이트가 레지터들이다. _fiq 한다면 이것은 소프트웨어에서 수행되는 인터럽트라고 볼 수 있다. 엄밀히 말하면 조금 개념은 다르지만 우선은 그렇게만 알아두자. UIT(ndefined Instruction Trap)은 프로세서에 의해 자체적으로 해 최하위 주소에 놓이고, 문자는 최하위 바이트의 바이트 주소에 놓이게 되는 반면, 빅 엔디안은 최상위 바이트가 최하위 주소에 놓이고, 문자는 최상위 바이트의 바 이트 주소에 놓이게 된다. 다음의 <그림 9>와 <그림 10>을 보면 좀더 이해가 쉬울 컨디션 코드 ARM 명령어 셋은 다음의 코드에서 보는 바와 같이 OPcode의 MSB 4비트에 조건부 코드가 있으며, 이 조건부 코드는 모든 명령어 셋에서 _fiq 0_fiq 1_fiq 2_fiq 3_fiq _svc _abt _irq _und 독이 불가능한 명령어를 만나면 발생하는데, 예를 들면 코어 프로세 서의 명령은 UIT에 의해서 처리된다. <표 2> 이외에도 리셋과 같은 Exception이 있는 데, 이는 Power 것이다. ARM에서는 이를 컴파일시에 선택할 수 있도록 하고 있다. 더 자세히 알고 싶은 독자는 ARM의 공식 사이트에서 제공하는 동일하게 적용된다. 조건부 점프 명령은 모든 명령어 셋의 표준으로 되어 있으나, ARM의 경우는 슈퍼바이저 콜과 코어 프로세서 명령들 을 포함한 모든 명령어로 이를 확장해서 적용한다. 모든 ARM 명령어 4 5(PC) 4_fiq 5(PC) 4_svc 5(PC) ARM State Program Status Registers 4_abt 5(PC) 4_irq 5(PC) 4_und 5(PC) On Reset시에 프로그램이 시작하는 부분이니 별도의 설명이 필요 없 을것같다. Application Note 61 Big and Little Endian Byte Addressing (Document number ARM DAI 0061A)을 참조하면 된다. 의 니모닉의 뒤에 2글자의 조건부 니모닉을 붙여서 사용하며, 아무런 조건을 지정하지 않으면 always 조건인 경우로 간주하고 AL은 생 SPSR_fiq = banked register SPSR_svc SPSR_abt SPSR_irq SPSR_und ARM에서는 동시에 여러 개의 Exception이 들어오는 경우를 대비 략이 가능하다. 하여 Exception의 우선순위를 지정하고 있으며, 우선순위는 데이터 타입 ARM7 명령어들은 모두 32비트 문자로 구성되며, 반드시 문자 단 예제의 내용을 살펴보면 첫번째 행은 Zero flag가 설정되면 Reset(1st) > Data abort(2nd) > FIQ(3rd) > IRQ(4th) > Prefetch abort(5th) > SWI, undefined instruction(6th)의 순서가 된다. SWI 가 포함된 6번째 우선순위는 동시에 두 가지가 발생하지 않도록 하드 위로 정렬(word-aligned)되어야 한다. Thume 명령의 경우는 하프 문자로 구성 되며, 2바이트 영역으로 정렬되어야 한다. 내부적으로는 모든 ARM 명령은 32비 트 오퍼랜드가 되며, 32비트보다 작은 데이터들은 단지 데이터 전송 명령에서만 예제 BEQ LABEL ; Branch to LABEL if Z flag set MOVCS r3, r5 ; r3? r5 if C flag set MOVNE r2, r4 ; r2? r4 if NZ flag set ADDVS r0, r1, r2; r0? r1 + r2if V flag set LABEL로 분기한다. 두번째 행에서는 Carry flag가 설정되었으면, 레지터 r3로 레지터 r5의 내용을 가져온다. 세번째 행은 Zero flag가 설정되지 않았으면, 레지터 r2로 레지터 r4의 내용을 가져 웨어적으로 구성되어 있다. 지원한다. 초기에 ARM에서 지원하는 데이터 타입에는 8-bit unsigned byte와 4 온다. 네번째 행은 오플로우(V flag가 설정)가 일어나면 레지터

5 r1과 레지터 r2의 내용을 더해서 레지터 r0에 저장한다. 분기 명령어들 ARM의 분기 명령은 Branch(B) 명령어와 Branch with Link(BL) 명령어로 구분된다. BL의 경우에는 분기가 일어나면 링크 레지터 인 4에 PC 값을 연결해 놓지만, B의 경우는 단순히 분기만 한다. 어셈블러 형태 B{L}{cond} <target address> 예제 B LABEL ; unconditional jump LABEL MOV r0, #10 ; r0? #10 LOOP SUBS r0, #1 ; r0? r0?1 with flag status BNE LOOP ; if counter(r0) <> 0 repeat LOOP 한다. 예제가 복잡하지 않으면 4 값은 PC에 넣는 것만으로도 복귀 가 가능하다. 데이터 처리 명령 ARM의 데이터 처리 명령은 레지터 값을 변경하는데 사용된다. 또 한, 3-address 형식을 가지고, 2개의 소 오퍼랜드와 1개의 목적 레 Post-Indexed form LDR STR{<cond>}{B}{T} Rd, [Rn], <offset> PC-relative form LDR STR{<cond>}{B} Rd, LABEL 예제 LDR r1, UARTADDR ; r1 <-- UART address STRB r0, {r1} ; [r1] <-- r0 UARTADDR & & ; Address literal 앞의 예제에서 어셈블러는 UARTADDR의 주소를 r1에 로드하기 따라서 4에 영향을 주지 않는다. 지터를 이용하고 있다. 하나의 소 오퍼랜드는 항상 레지터이어 위해 pre-indexed, PC-relative 어드레싱 모드를 사용할 것이다. 예제는 LABEL로 무조건 점프한 후에 LABEL에서 루프를 반복할 야 하며, 두 번째 오퍼랜드는 레지터, 시프트 레지터, 직접적인 UARTADDR의 리터럴은 반드시 4K 영역 내에 있어야 한다. 횟수인 10을 r0에 설정하고, 매 루프를 반복할 때마다 1을 감산하여 값(immediate value)이 될 수 있다. 명령어의 코드(Opcode)에 따라 Code Suffix Flags Meaning 0000 EQ Z set equal 0001 NE Z clear not equal 0010 CS C set unsigned higher or same 0011 CC C clear unsigned lower 0100 MI N se negative 0101 PL N clear positive or zero 0110 VS V set overflow 0111 VC V clear no overflow 결과가 0이 되면 루프를 빠져나온다. 소프트웨어 인터럽트 SWI(SoftWare Interrupt) 명령은 운영체제를 호출하는데 사용되며, 흔히 슈퍼바이저 콜 이라고도 한다. SWI 명령은 프로세서를 슈퍼바 이저 모드(Supervisor Mode)로 전환하고, 0x08번지부터 코드가 실 행되는 소프트웨어 인터럽트 명령이다. 자세한 프로세서의 동작은 다 음과 같다. 서 다음과 같은 명령이 결정된다. 어셈블러 형태 <op>{<cond>}{s} Rd, Rn, #<32-bit immediate> 예제 <op>{<cond>}{s} Rd, Rn, Rm, {<Shift>} LABEL ADD r5, r1, r3 ; r5 <-- r1 + SUBS r2, r2, #1 ; r2 <-- r2 <-- 1 BEQ LABEL ; r2가 0이면 LABEL로분기 ADD r0, r0, r0, LSL #2; r0 <-- r0 + (r0 << 2) SWP SWP(Swap memory and register instructions) 명령은 다른 로드나 토어(store) 명령어와 결합되어 사용되며, 두 개의 레지터의 값을 서로 바꿔주는 명령어이다. SWP 명령의 수행 도중에는 인터럽트에 한 수행정지가 일어나지 않으므로 세마포어의 기본 메커니즘을 구현하는 데 유용하게 사용될 수가 있다. SWP 명령을 사용하면서 한 가지 주의 할 점은 PC(5)는 이 명령어에서 레지터로 사용하지 않도록 한다 HI C set and Z clear unsigned higher 1001 LS C clear or Z set unsigned lower or same 1010 GE N equals V greater or equal 1011 LT N not equal to V less than 1100 GT Z clear AND (N equals V) greater than 현재 수행 중이던 프로그램의 주소인 PC(5)를 r14_svc에 저장한다. 현재 사용 중이던 상태 레지터인 을 SPSR_svc에 저장한다. 슈퍼바이저 모드 진입한 후, [40]에 을, [7]에 1 을 저장 예제의 내용에서 다소 어려운 부분은 가장 마지막의 ADD 명령 부 분일 것이다. 잠시 살펴보면, 가장 오른쪽의 r0 레지터 값을 왼쪽으 로 두 번 시프트하면, r0 4가 된다. 여기에 본래의 r0 값을 더하면 결 국 r0 4+r0가 되어 r0 5의 결과가 나온다. 어셈블러 형태 예제 SWP{<cond>}{B} Rd, Rm, [Rn] ADR r0, SEMAPHOER SWPB r1, r1, [r0] ; exchange byte 1101 LE Z set OR (N not equal to V) less than or equal 해서 IRQ를 disable한다(fiq는 disable되지 않는다). 예제는 세마포어의 주소 값을 r0에 저장한 후에 r1의 주소의 내용 1110 AL (ignored) always PC를 0x08로 셋팅하고, 0x08번지부터 명령어를 실행한다. Single Data 전송 명령 과 r0의 주소의 내용을 교환하는 기능을 한다. Single Data 전송 명령에는 LDR과 STR 있다. 이 명령어들은 ARM 반드시 0x08번지에는 SWI 처리를 위한 루틴이 들어 있어야 한다. 의 레지터와 메모리 사이의 싱글 바이트 데이터나 문자 바이트 데 기타 명령어들 Assembler Mnemonic OpCode Action AND 0000 operand1 AND operand2 EOR 0001 operand1 EOR operand2 SUB 0010 operand1 - operand2 RSB 0011 operand2 - operand1 그렇지 않으면 프로세서가 어떤 동작을 할지 아무도 모른다. SWI 루 틴을 끝내고 다시 돌아오고 싶으면 4 값을 PC에 옮겨 주는 것 이 외에도 SPSR_svc에 저장된 이전의 도 현재의 로 가지고 와야 한다. 이터의 전송을 하는 가장 편리한 방법이다. 이 명령어는 명령어의 오 피코드(Opcode) 24번 비트인 P의 값에 따라 1인 경우에는 Pre- Indexed Address Mode로, P의 값이 0인 경우에는 Post-Indexed Address Mode로 나누어진다. 이상으로 ARM에 대한 명령어의 소개를 마치기로 한다. 본 기사에 소 개한 명령어 이외에도 더 유용한 명령어들이 많이 있으나, ARM의 명 령어에 대해서 좀더 자세한 내용을 접하고 싶은 독자는 ARM의 공식 웹사이트에서 제공하는 ARM7TDMI Data Sheet(DocumentARM ADD 0100 operand1 + operand2 ADC 0101 operand1 + operand2 + carry SBC 0110 operand1 - operand2 + carry - 1 RSC 0111 operand2 - operand1 + carry - 1 TST 1000 as AND, but result is not written TEQ 1001 as EOR, but result is not written CMP 1010 as SUB, but result is not written CMN 1011 as ADD, but result is not written ORR 1100 operand1 OR operand2 MOV 1101 operand2 (operand1 is ignored) BIC 1110 operand1 AND NOT operand2 (Bit clear) MVN 1111 NOT operand2 (operand1 is ignored) 어셈블러 형태 SWI{cond} <24-bit immediate> 예제 ; Enter SWI mode MOV r0, # A ; r0? A SWI SWI_writeC ; call SWI ; Exit SWI mode MOV PC, r14 ; PC <-- r14 (Return) 앞의 코드는 간단히 r0에 A 라는 문자를 넣고 SWI_writeC를 호 출했지만, SWI 실행 루틴에는 이를 처리하기 위한 코드들이 있어야 다음의 어셈블러 형태를 보면 {B}는 부호 없는 바이트 전송 (unsigned byte transer)을 의미하며, {T}는 메모리 변환(memory translation)을 의미하는데, {T} 옵션은 시템 모드에서만 선택이 가 능하다. 또 {!}는 pre-indexed mode에서 다시 써넣기(write-back)의 의미를 가지며, 자동 인덱싱(auto-indexing) 처리를 한다. 다시 써넣 기란 베이 레지터의 값에 오프셋 값을 더해서 다시 베이 레지 터로 써넣는 기능이다. 어셈블러 형태 Pre-Indexed form LDR STR{<cond>}{B} Rd, [Rn, <offset>]{!} DDI 0029E) 를 참고하기 바란다. ARM 프로세서의 몇 가지 장점 필자가 사용한 ARM 프로세서는 하이닉 반도체의 GMS30C7201과 삼성의 S3C44B0X이다. 그 중에서 GMS30C7201 프로세서가 여러분 이 잘 알고 있는 트롱암에 좀더 가깝다. 이들을 잠시 비교해 보자. 첫째로 가장 중요한 점으로 생각되는 것은 CPU의 안정적인 동작 이다. 보드를 며칠씩 켜 놓아도 안정적이다. 반도체 설계를 담당하는 주변 사람들의 말에 의하면 칩에서 열이 나지 않는다는 것은 그 만큼 칩에 대한 설계가 잘 되어 있다는 것을 의미한다고 한다. 실제 필자가

6 네 번째로는 LCD 컨트롤러와 VGA 컨트롤러가 같이 내장되어 있 에 따라서 메모리의 접근 권한을 관리하는 역할이다. ARM MMU는 액세 컨트롤 하드웨어 ARM Abort 액세 비트, 도메인 VA TLB C, B 비트 캐시 그리고 write 퍼 Translation table walk 하드웨어 개발 당시에 사용했던 칩들은 모두 상당히 안정적으로 동작했다. PA 캐시 라인 패치 하드웨어 메인 메모리 어 컬러 모니터와의 인터페이에 그리 많은 노력을 들이지 않았었 다. 다만 컬러의 수가 다소 떨어지는 면이 없지 않았지만, 지금 출시 되는 칩들은 이런 걱정들은 하지 않아도 된다. ARM의 MMU 임베디드 프로세서도 요즈음은 동시에 많은 양의 프로그램을 수행하 게 된다. 물론 단일 프로세서가 한번에 하나의 프로그램을 수행하지 만 RTOS와 같은 환경에서는 응용 프로그램 개발자가 시템에 있는 메모리 전부를 다룰 수 있도록 되어 있다. 이러한 일련의 작업들을 지 2가지 레벨의 페이지 테이블을 사용하는데 하나는 테이블 작업을 수 행해 주는 하드웨어이며, 다른 하나는 최근에 사용된 변환 페이지가 저장되는 TLB이다. 메모리의 형태 메모리의 맵핑은 동일한 기본 메커니즘에 의해 다양한 형태로 수행되 며, 크게는 섹션과 페이지로 구분할 수 있다. 섹션은 1MB 블럭 메모 리이며, 페이지는 다시 Large(64KB 블럭), Small(4KB 블럭), 그리 고, Tiny(1KB 블럭)로 구분된다. 섹션과 Large Page 방식은 한 개의 High-bandwidth Memory Interface High-performance ARM processor AHB or ASB DMA bus master High-bandwidth on-chip RAM B R I D G E APB Bridge APB UART Keypad Timer PIO AMBA Advanced peripheral Bus(APB) Low power Latched address and control Simple interface Suitable for many peripherals 두 번째로는 ARM의 강력한 어셈블러 기능이다. 바이너리 데이터 원하기 위해서는 별도의 하드웨어가 필요한데, 이를 위해서 MMU라 TLB로 큰 메모리 영역을 맵핑할 수 있다. 또한 Small Page 방식은 와 코드 데이터를 자유자재로 조합해서 사용할 수 있는 것은 물론 이 는 개념을 도입하였다. 1KB 블럭의 sub-page로 확장되고, Large-Page 방식은 16KB 블럭 경우도 있을 수 있는데, 이런 경우는 physical memory에 있는 변환 테 거니와 블럭 전송 명령에 사용 가능한 모든 레지터를 동원해서 처 ARM7TDMI에는 없지만 그 이상의 전에서 ARM을 사용하면서 으로 확장된다. 그러나 Small page 영역에 많은 양의 데이터를 할당 이블에서 정보를 읽어다 TLB에 저장한다. 리하는 것 등은 필자에게 아주 깊은 인상을 주었다. 실제 필자는 프로 MMU를 모르고 사용한다면 절름발이 ARM을 쓰는 것이다. 물론 자 하면, 경우에 따라서는 TLB 성능이 떨어질 수도 있다고 하니 적절한 젝트를 진행하면서 수백 KB의 바이너리 데이터를 가공하지 않고 프 료도 많지 않아서 관련된 자료를 읽어보아도 다소 설명이 어려운 것 메모리 모델을 선택하는 것도 중요하다. 변환 테이블 로그램에서 사용해야 하는 경우가 많았으며, 이 부분을 만약 컴파일 은 사실이다. 그러나 다시 한번 산을 넘어보자. 이번에는 MMU와 관 ARM의 MMU는 두 가지 레벨의 변환 테이블을 가지고 있는데, 섹션 을 통해서 처리하려고 한다면 아마 상당한 고생을 했을 것이다. 련된 용어와 그 개념들에 대해서만 알아보자. 도메인이란? 의 변환과 섹션 레벨 테이블의 포인터를 가지고 있는 1st 레벨 테이블 세 번째 인상깊었던 것은 MMU이다. ARM의 강력한 기능 중의 하 ARM의 MMU를 구성하는 데는 적어도 다음의 세 가지 구성요소 도메인은 ARM MMU 아키텍처의 특징 중 하나인데, 도메인은 섹션 과 Large/Small 페이지의 변환 값을 가지는 2nd 레벨 테이블이 그것 나이지만 처음에 그 개념을 알기까지는 상당한 어려움이 있었던 것도 가 필요한데, TLB(Translation Look-aside Buffer), 접근 제어 로직 이나 개별 접근 권한을 가지는 페이지들의 그룹이다. 도메인은 동일 이다. 변환에 대한 자세한 방법은 지면 관계상 생략하기로 한다. 사실이다. MMU가 없는 아키텍처를 사용하면 나중에 RTOS에서 포 팅할 때 돌아올 수 없는 강(?)을 건너야 한다. 즉, 가상 메모리를 실제 (Access Control Logic) 그리고, translation table-walking 로직이 며, 그 중에서 TLB는 프로그래밍에 도움이 되므로 좀더 자세히 다루 한 변환 테이블을 가지고 수많은 다른 프로세들을 실행할 수 있도 록 해준다. 도메인에 의해 각각의 프로세들이 각각의 변환 테이블 ARM의 AMBA 메모리에 전환시키는 작업을 하드웨어가 하지 않으면 그 역할은 고 기로 한다. 을 가지고 있을 때보다 좀더 가벼운 프로세의 전환 메커니즘을 가 프로세서의 아키텍처를 이해하는 것은 프로세서의 성능을 예측 란히 소프트웨어의 몫으로 남는다. 그러고도 문제가 해결되지 않는다 ARM에서 MMU의 중요한 역할 중 하나가 가상 메모리와 물리적 지게 된다. 하는데 있어서 상당히 중요하다. ARM7TDMI에서는 제공하지 않지 면 독자 여러분들도 MMU가 있는 프로세서를 사용할 것을 권한다. 메모리로 변환해 주는 역할이며, 다른 하나는 프로세서의 동작 모드 만, AMBA는 엄연히 ARM의 인터페이에 있어서 핵심 중의 TLB란? 하나이다. 고속 캐시와 인터페이를 위한 최적화를 위해서 AHB, TLB란 Translation Look-aside Buffer의 약자인데, 페이징(Paging) ASB, APB로 구성된다. 의 개념이 프로그래머에게 메모리를 사용하는 데 있어 완전한 자유도 AHB는 고속의 처리를 위해 설계되었으며, 고성능 시템 모 필자의 경우는 컴파일을 실행하는 수가 그렇게 많지 않다. 컴파일을 해서 그를 잡는 시간보다는 프로그램의 전체 윤곽과 설계에 전체 개발 시간의 절반 이상을 보낸다. 그 래서 가끔은 주변에서 저 사람은 개발기간의 절반은 놀고 있다(?)라는 오해를 받기도 한다. 누구건 경험하는 초보 시절은 있기 마련이다. 초보 시절의 대표적인 악순환 중에 하나는 프로그램의 결정적인 그를 잡는데, 많 은 시간을 보낸다는 것이다. 필자 역시 그런 시절을 겪었다. 프로젝트는 시간이 지나면 지날수록 급박해지고, 주변의 개발자들은 내가 개발한 결과물을 가져가야 다음 일을 진행하고, 그런 상황이 닥치는 순간마다 결과를 빨리 보고 싶어지는 것은 일반적인 사 람의 심리인 것이다. 필자와 같이 일을 해 본 프로그래머들의 대부분은 매우 훌륭한 습관들을 가지고 있 었다. 그 프로그래머들의 감각과 개발 속도는 가히 따라 배울 만 하다고 이야기하고 싶 다. 그들이 성장하는 과정을 지켜보면서 역시 그들도 그를 잡는데 많은 시간을 투자 하는 과정을 피하지는 못하고 있었다. 그들 역시도 컴파일하는 데 많은 시간을 보낸다. 그러나 단지 다르다면 그들은 의도적인 그를 유도해 내는데 컴파일을 사용한다는 것 이다. 즉, 기본적인 개념이 정립되고 나서야 초벌 코딩을 하고, 초벌 코딩을 한 후에 컴 파일을 하고, 컴파일에서 나온 사소한 그들을 잡는 것으로 기본적인 코딩이 끝난다 는 것이다. 훌륭한 프로그래머가 되고 싶다면 우선은 가지고 있는 잘못된 습관을 고치는 것부 터 시작해야 한다. 그렇지 않으면 늘 그를 잡는데 대부분의 시간을 허비하는 초급 프 로그래머로서 머물러 있는 시간이 많아지게 된다. 하드웨어를 설계하든 소프트웨어를 설계하든 개발을 하는 기본적인 순서와 골격은 크게 벗어나지 않는다. 그리고 좀더 객관적으로 개발이 진행되는 형태를 지켜보면, 하드웨어 개발자이든 소프트웨어 개발자이든 매번 개발할 때마다 같은 문제로 고민을 하고 있다는 것이다. 그 문제의 실체를 알기 전까지는 개발을 하는 당사자도 그 문제가 과거 개발시에 나타 났던 문제라는 것을 알고 나서야 그것을 시인하는 것이다. 과거의 개발 과정에 대한 자 료를 잘 정리해 두면 위기 상황에서 그러한 문서들이 매우 유용한 경우가 많다. 와 투명성을 제공한다. 각각의 메모리에 대한 접근을 위해서 필요한 두 가지의 오헤드(페이지 디렉토리와 페이지 테이블의 구성)가 필요하 며, 이러한 오헤드를 피하기 위해서 TLB라는 개념을 도입했다. TLB는 페이지 변환에 사용되는 일종의 캐시이며, 그 역할은 가상 어 드레를 물리 어드레로 변환과 접근 권한을 캐싱(caching)하는 것 이다. 즉, TLB에 가상 어드레를 위한 변환 엔트리가 있으면, 메모리 접근제어 로직이 메모리의 접근가능 여부를 판단하고, 접근이 허용되 는 경우에만 MMU는 virtual address에 대한 physical address를 보 내주고, 그렇지 않으면 MMU에 의해 프로세서는 abort 신호를 출력한 다. 특히, ICE와 같은 디깅 도구를 사용하다 보면 프로그램의 다운 로드가 정상적으로 되지 않으면서 abort 신호가 나오는 경우를 볼 수 가 있는데, MMU의 이런 기능 때문에 발생하는 것이다. TLB가 없는 듈간의 연결에 사용된다. 특히 AHB는 Burst Mode의 데이터 전송과 분산 처리에 이용된다. ASB(Advanced System Bus)는 고 성능 시템 모듈에 연결되어 사용된다. 이것은 Burst Mode의 데이 터 전송에 이용된다. APB(Advanced Peripheral Bus)는 전송속도 가 느린 장치들의 인터페이에 사용되며, 시리얼 통신 모듈과 같은 부분은 APB에 접속된다. ARM과 MIPS 중 어느 것을 선택할 것인가? ARM이 시장 점유율 면에서 MIPS보다 우위를 점령하고 있는 것은 사실이고, ARM 아키텍처가 우수하다는 점은 이미 여러 가지 면에서 부인할 수 없는 사실이다. 그러나 MIPS도 그 구조를 살펴보면 ARM 에 못지 않은 훌륭한 아키텍처를 가지고 있다. MIPS가 시장에서 고

7 전하는 이유는 개발자의 저변 확대에 있어서 아직은 ARM을 따라가 지 못하고 있기 때문이다. 아직 시장에서 두 프로세서들 간의 경쟁은 끝나지 않았다. MIPS는 ARM을 추격하기 위해서 엄청난 노력을 하 고 있으며, 일부에서 그 결과가 나타나고 있다. 다만 지금은 ARM이 시장을 지배하고 있다는 사실과 ARM 사용자가 MIPS 사용자보다 많 고 아직은 기술지원의 측면에서 MIPS가 ARM보다는 다소 떨어지는 면이 없지 않다고 본다. 하드웨어 개발자든 소프트웨어 개발자든 자신이 익숙한 것을 계속 사용하고 싶은 습성이 있다. 그러한 측면에서 본다면 이미 ARM을 사 용하던 사용자가 MIPS를 사용하기 위해서 돌아설 가능성은 다소 희박 하다고 볼 수 있다. 그러나 처음에 프로세서를 선택하는 경우라면 좀더 자신이 쉬워 보이는 프로세서를 선택할 것이다. 언제 무엇을 선택하든 그 기준은 누가 많이 사용하는가도 중요하지만 그보다도 중요한 것은 개발할 제품의 성격에 맞는가 라는 질문을 독자 여러분 로 해 보 아야 한다는 것이다. 어느 것을 선택해도 아키텍처를 검토하고 개발자 어셈블리 언어가 너무 어렵다는 것은 이제 옛말이 된 것 같다. 요즈음 나오는 프 로세서들을 보면 언어와 관련된 자료도 꽤 풍부한 편이고, 주변에 저변도 많이 넓 어진 편이다. 일반적으로 소프트웨어만을 배워온 독자라면 어셈블리 언어가 기타 언어보다 어렵게 느껴지는 것은 어쩌면 당연한 일인지도 모른다. 어셈블리 언어 가 어렵다는 것은 결국 해당 프로세서의 하드웨어 아키텍처를 제대로 이해하지 못했다는 이야기가 된다. 어셈블리 언어는 명령어 그 자체가 어려운 것이 아니라, 하드웨어와의 상관 관계를 고려하지 않고는 생각할 수 없는 언어이기 때문이다. 좀더 다른 관점에서 생각해 본다면 어셈블리 언어의 명령어 자체는 매우 단순하 고도 간단한 개념만을 모아놓은 것에 불과하다. 즉, 프로세서의 하드웨어 아키텍 처 설계상의 단점을 보완하기 위해서 고안된 제2의 하드웨어로 볼 수 있다는 것 이다. 어셈블리 언어는 이러한 관점에서 본다면 제한된 조건에서 시템의 타이밍과 관련된 문제를 해결하는데 종종 아주 좋은 대안이 되는 이유가 된다. 이때의 제한 된 조건이라는 것은 짧은 시간에 많은 기능을 구현하는 코드를 개발하는 소프트 웨어 개발자의 생산성을 고려한다면 어셈블리 언어에 익숙하지 않은 소프트웨어 개발자에게 어셈블리 언어가 좋은 대안이 되지는 못하기 때문이다. 요즈음 C와 같은 고급언어와 어셈블리 언어를 혼합해서 사용하는 이유가 바로 이런 단점을 보완하는 것이다. 혹자는 어셈블리 언어가 아주 필요없는 언어라고 이야기할 수 도 있지만, 시템의 전반적인 구성요소로 본다면 어셈블리 언어는 하드웨어와 응용 프로그램의 중간에서 미들웨어의 역할이 필요한 부분에 있어서 없어서는 안 될 중요한 언어이다. 모든 프로그래머가 어셈블리 언어를 배울 필요는 없지만, 적 어도 임베디드 시템을 다루어야 하는 프로그래머라면 반드시 한번은 넘어야 할 산임에는 분명하다. 의 것으로 만들기까지의 과정은 항상 험난하기 마련이다. 어디까지나 선택은 독자 여러분의 몫이라는 점을 잊지 않기를 바란다. ARM 프로세서의 개념을 잡기 바라며 우선 그 무엇보다도 처음 ARM을 접하는 독자들에게는 CPU 아키텍 처에 대한 충분한 사전 지식을 쌓아달라고 권하고 싶다. 대부분의 프 로그래머들이 CPU 아키텍처에 대한 부분만 나오면 외면하는 경향이 있는데, ARM은 절대적으로 아키텍처에 대한 사전지식이 필요한 프 로세서이다. 요즘은 ARM에 대한 개발 툴들도 상당히 보편화되어 있 는 편이다. 문제는 아무리 개발 툴을 잘 가지고 있더라도 본인이 프로 세서에 대한 배경지식을 쌓지 않으면, 어려운 문제에 당면했을 때 결 코 해결할 수 없다는 것이다. 필자의 경우는 개발 당시에 ARM에 관련된 자료는 주저하지 않고 밤을 세워가면서라도 모두 보았다. 그렇게 읽은 많은 문서들은 필자 에게는 지금도 매우 유용한 지식으로 남아 있으며, ARM에 대한 문제 가 나오면 가장 먼저 살펴보는 것이 칩을 개발한 회사에서 제공하는 기술문서들이다. ARM에 대한 모든 자료는 거의 ARM 공식 사이트 인 분야별로 모두 쉽게 구할 수가 있다. 혹시 부 족하다고 생각되는 독자는 참고자료에서 언급한 Steve Furber의 ARM System Architecture 를 읽어볼 것을 권한다. 필자는 무엇보 다도 모든 문제를 정석대로 푸는 것을 좋아하고 실제 프로젝트에서도 그렇게 문제를 풀어간다. 무엇을 하든 기본은 개발사가 제공하는 문 서들을 하나도 빠짐없이 꼼꼼히 읽어보는 것이 중요하다. 어떤 경우에도 문제를 해결하는 것은 결국 개발자인 당사자가 하는 것이다. ARM 프로세서의 개념이 처음 접하는 독자들에게 결코 쉽지 않다는 것을 감안해서 최대한 쉽게 설명하려고 노력했지만 그래도 지 면 관계상 다루지 못하는 내용이 너무 많았다는 점을 필자도 시인한 다. 다만, 이 기사가 ARM을 처음 접하는 독자들에게 조금이나마 도 움이 되었으면 하는 것이 필자의 바람이며, 지금도 밤낮으로 개발에 몰두하는 많은 개발자들에게 아낌없는 찬사를 보낸다. a m o s ARM System Architecture, Steve Furber, ADDISON-WESLEY ARM Architecture Reference Manual, David Seal, Addison-Wesley ARM7TDMI Data Sheet, ARM DDI 0029E, ARM system-on-chip Architecture, 2nd Edition, Addison-Wesley The ARM11 Microarchitecture, David Cormie, ARM7TDMI rev 4 Technical Reference Manual, ARM DDI 0210B, AMBAtm Specification rev2.0, ARM IHI 0011A, 196

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

Microsoft PowerPoint - LN_1_ARM_CPU_0.ppt [호환 모드] 프로젝트 1 1 ARM CPU Architecture 단국대학교컴퓨터학과 2009 백승재 ibanez1383@dankook.ac.kr k k http://embedded.dankook.ac.kr/~ibanez1383 강의목표 2 ARM 종류와특징및최신동향파악 ARM CPU Architecture 이해 ARM Assembly 숙지 ARM 3 ARM? Advanced

More information

ARM01

ARM01 0 1 Chapter 1.1 1.2 1.3 1.4 1.5 ARM System Developer s guide 32, ARM., ARM,,,. ARM 1985, ARM1, 2001 20 ARM. ARM,., ARM,., ARM ARM7TDMI, 120 Dhrystone MIPS 1),. ARM7TDMI. ARM, RISC(Reduced Instruction Set

More information

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt ARM 명령어집합 임베디드시스템소프트웨어 I 내용 ARM 구조 프로세서수행모드 레지스터구조 예외처리과정 ARM 명령어형식 조건수행접미사 데이터처리명령어 곱셈명령어 Load/Store 명령어 다중레지스터 Load/Store 스택명령어 SWI 명령어 Branch 명령어 상태레지스터접근명령어 명령어요약 ARM 명령어집합 2 ARM 구조특징 모든명령어가 32bit

More information

ARM Reverse Engineering

ARM Reverse Engineering singi@hackerschool Facebook : @sjh21a http://kernelhack.co.kr/netsec-singi.zip - First Phase About ARM ARM Operating Mode and Registers Basic ARM Instruction Thumb Mode - Second Phase Configuration of

More information

Here is a "PLDWorld.com"... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D

Here is a PLDWorld.com... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL Digital Sig Date: 2004929 µ (1) uc/os-ii RTOS uc/os-ii EP7209 uc/os-ii, EP7209 EP7209,, CPU ARM720 Core CPU ARM7 CPU wwwnanowitcom10 '

More information

임베디드 시스템 구조

임베디드 시스템 구조 ARM 프로세서요약 www.dignsys.com Contents 1. 임베디드시스템의구조 2. 임베디드시스템의개발 3. ARM 아키텍처 4. ARM 프로세서의구조 5. ARM 프로세서명령어 6. Cached ARM 7. 임베디드소프트웨어개발 8. S3C2410 및실습용보드의이해 9. 디바이스제어 1 프로세서의구조 레지스터 (Register) 산술논리연산장치

More information

슬라이드 1

슬라이드 1 S3C6410 & boot loader for real target android system Naver linuxkernel26 운영자 : 박철 (e2g1234@naver.com) 강좌목적 Real target Android HW system 이해 Real target Android HW system의핵심인 ARM core 그리고 S3C6410에대하여알아본다.

More information

ARM 프로세서 입문

ARM 프로세서 입문 ARM 프로세서입문 내용 배경과역사주요특징 ARM 계열들개발도구 역사, 파생계열과도구들 제작 EMBEDDED SYSTEMS ACADEMY 내용 Part 1 배경과역사 RISC / CISC Acorn / Advanced RISC Machine Part 2 주요특징 Registers Interrupts Memory Thumb 3-단계명령파이프라인 5-단계명령파이프라인

More information

Embedded System

Embedded System 컴퓨터시스템구조론 (3 장 ) Taehyoun Kim Dept. of Mechanical & Information Engineering, University of Seoul Outline 간단한컴퓨터 (Basic Computer) 를이용한어셈블리이해 어셈블리프로그램기본구조 ARM 어셈블리어 간단한컴퓨터를이용한어셈블리이해 어셈블리어란? 프로그램 (Program)

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

untitled

untitled 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology q 32-bit RISC Intellectu

q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology q 32-bit RISC Intellectu ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology

More information

9

9 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

hwp

hwp BE 8 BE 6 BE 4 BE 2 BE 0 y 17 y 16 y 15 y 14 y 13 y 12 y 11 y 10 y 9 y 8 y 7 y 6 y 5 y 4 y 3 y 2 y 1 y 0 0 BE 7 BE 5 BE 3 BE 1 BE 16 BE 14 BE 12 BE 10 y 32 y 31 y 30 y 29 y 28 y 27 y 26 y 25 y 24 y 23

More information

ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 한국기술교육대학교 전기전자통신공학부 장영조 한국기술교육대학교임베디드 SOC 설계및실습

ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 한국기술교육대학교 전기전자통신공학부 장영조 한국기술교육대학교임베디드 SOC 설계및실습 ARM 아키텍쳐 - ARM 아키텍쳐 - Programming 모델 - ARM 프로세서명령어 - 예외처리와시스템리셋 - ARM9TDMI 프로세서 한국기술교육대학교 전기전자통신공학부 장영조 한국기술교육대학교임베디드 SOC 설계및실습 ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer,

More information

Microsoft PowerPoint - 강의2.ppt

Microsoft PowerPoint - 강의2.ppt Chap 2. Embedded Processors 서경대학교컴퓨터공학과교수이광엽 kylee@skuniv.ac.kr Embedded Processors Embedded processors 발전 Microprocessors 발전 better fabrication technology standalone microcontrollers integrated processors

More information

hlogin2

hlogin2 0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS

More information

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co Basic reverse engineering on x86 This is for those who want to learn about basic reverse engineering on x86 (Feel free to use this, email me if you need a keynote version.) v0.1 SeungJin Beist Lee beist@grayhash.com

More information

Microsoft PowerPoint - 15-SMT_cho.ppt

Microsoft PowerPoint - 15-SMT_cho.ppt 이강좌는과학기술부의국가지정연구실인연세대학교이용석교수연구실 ( 프로세서연구실 ) 에서 C&S Technology 사의지원을받아서제작되었습니다 SMT 마이크로프로세서구조의개요.. 연세대학교전기전자공학과프로세서연구실박사과정문병인 E-mail: yonglee@yonsei.ac.kr Homepage: http://mpu.yonsei.ac.kr 전화 : - -88 고성능마이크로프로세서구조와설계강좌시리즈

More information

Lectures for 2nd Edition

Lectures for 2nd Edition Computer Architecture Chapter 4-3 The Processor: Enhancing Performance with Pipelining 1 Data Hazards Pipeline data hazards -Backward dep. lines Write Read 2 One Alternative Approach: Compiler Scheduling

More information

Microsoft PowerPoint - 2006 4Q AMD DT channel training Nov.ppt

Microsoft PowerPoint - 2006 4Q AMD DT channel training Nov.ppt ctober 2006 2006 Q4 AMD 데스크탑 프로세서 소개 2006 / 11 4분기 새 소식! 이제 본격적인 AM2 시즌! 소켓 939와 소켓754는 일부재고제품으로운영후단종 Quad-core, DDR2 메모리, 가상화기술 지원- 미래형 플랫폼 최고 성능의 명예를 이어가는 FX-70, -72 & -74 출시 4X4 Platform, 2-Processor

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

MicrocontrollerAcademy_Lab_ST_040709

MicrocontrollerAcademy_Lab_ST_040709 Micro-Controller Academy Program Lab Materials STMicroelectronics ST72F324J6B5 Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun

More information

=

= written by vangelis(vangelis@wowhacker.org) 0 0000 8 1000 1 0001 9 1001 2 0010 10 1010 3 0011 11 1011 4 0100 12 1100 5 0101 13 1101 6 0110 14 1110 7 0111 15 1111 110112 + 100012 = 1011002 110 0000 0101

More information

<BFBEBEC6C0CCB5E9C0C720B3EEC0CC2E20B3EBB7A120C0CCBEDFB1E220C7D0B1B3202D20C0DAB7E1322E687770>

<BFBEBEC6C0CCB5E9C0C720B3EEC0CC2E20B3EBB7A120C0CCBEDFB1E220C7D0B1B3202D20C0DAB7E1322E687770> 놀이노래이야기 학교 자료집 1. 놀이, 노래 이야기의 재미와 아름다움은 어디에 있을까? 2. 노래와 놀아요. 3. 재미있는 말놀이와 놀아요. 4. 이야기와 놀아요. 1. 옛 아이들 놀이, 노래 이야기의 재미와 아름다움은 어디에 있을까? 편해문(옛 아이들 놀이노래이야기 연구소장) 얼마 전 유치원,

More information

歯설명서_020925_.PDF

歯설명서_020925_.PDF GMPC-III (Protocol Converter-III) USER S MANUAL 1 1 1 4 2 5 2.1 5 2.2 5 2.3 6 3 7 3.1 7 4 8 4.1 8 4.2 8 5 GMPC-III 9 5.1 9 5.2 I-NET 9 5.3 ( ) 9 5.4 ( ) ( ) 10 6 12 6.1 12 7 GMPC-III 13 7.1 CPU 13 7.2

More information

전자실습교육 프로그램

전자실습교육 프로그램 제 5 장 신호의 검출 측정하고자 하는 신호원에서 발생하는 신호를 검출(detect)하는 것은 물리측정의 시작이자 가장 중요한 일이라고 할 수가 있습니다. 그 이유로는 신호의 검출여부가 측정의 성패와 동의어가 될 정도로 밀접한 관계가 있기 때문입니다. 물론 신호를 검출한 경우라도 제대로 검출을 해야만 바른 측정을 할 수가 있습니다. 여기서 신호의 검출을 제대로

More information

Xen으로 배우는 가상화 기술의 이해 - CPU 가상화

Xen으로 배우는 가상화 기술의 이해 - CPU 가상화 Hanbit ebook Realtime 17 Xen으로 배우는 가상화 기술의 이해 CPU 가상화 박은병, 김태훈, 이상철, 문대혁 지음 Xen으로 배우는 가상화 기술의 이해 CPU 가상화 Xen으로 배우는 가상화 기술의 이해 - CPU 가상화 초판발행 2013년 2월 25일 지은이 박은병, 김태훈, 이상철, 문대혁 / 펴낸이 김태헌 펴낸곳 한빛미디어(주) /

More information

IDA 5.x Manual 07.02.hwp

IDA 5.x Manual 07.02.hwp IDA 5.x Manual - Manual 01 - 영리를 목적으로 한 곳에서 배포금지 Last Update 2007. 02 이강석 / certlab@gmail.com 어셈블리어 개발자 그룹 :: 어셈러브 http://www.asmlove.co.kr - 1 - IDA Pro 는 Disassembler 프로그램입니다. 기계어로 되어있는 실행파일을 어셈블리언어

More information

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

Microsoft Word - FS_ZigBee_Manual_V1.3.docx FirmSYS Zigbee etworks Kit User Manual FS-ZK500 Rev. 2008/05 Page 1 of 26 Version 1.3 목 차 1. 제품구성... 3 2. 개요... 4 3. 네트워크 설명... 5 4. 호스트/노드 설명... 6 네트워크 구성... 6 5. 모바일 태그 설명... 8 6. 프로토콜 설명... 9 프로토콜 목록...

More information

歯20010629-003-1-동아일보(2-1).PDF

歯20010629-003-1-동아일보(2-1).PDF 6. 29 ( ) 11:00 20 0 1. 6. 29 2 3 ( ).( 397-0781) 1. 2. 3. 4. 5. 1. ( : 2 ) 2 8607, 306 19, 7 6 28, 95 3 - (5 ) (,,,,,, ) - 1 - 2. -, - -, - 2 - 3.,, 1,700, 827 ( ) 1,700 8 27 803 469 560 227 289 117 48

More information

Deok9_Exploit Technique

Deok9_Exploit Technique Exploit Technique CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 > 1. Shell Code 2. Security

More information

슬라이드 1

슬라이드 1 사용 전에 사용자 주의 사항을 반드시 읽고 정확하게 지켜주시기 바랍니다. 사용설명서의 구성품 형상과 색상은 실제와 다를 수 있습니다. 사용설명서의 내용은 제품의 소프트웨어 버전이나 통신 사업자의 사정에 따라 다를 수 있습니다. 본 사용설명서는 저작권법에 의해 보호를 받고 있습니다. 본 사용설명서는 주식회사 블루버드소프트에서 제작한 것으로 편집 오류, 정보 누락

More information

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

Microsoft PowerPoint - e2.ppt [호환 모드] 임베디드시스템하드웨어구조 2. 임베디드시스템하드웨어 / 프로세서 SRAM/ROM CPU timer interrupt UART GPIO DMA USB I/F LAN ROM Flash SRAM 2 - 마이크로프로세서를사용한시스템 - 마이크로콘트롤러를사용한시스템 microprocessor timer interrupt DMA CPU micro-, SoC timer

More information

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고 OT S / SOFTWARE 임베디드 시스템에 최적화된 Windows Embedded Compact 2013 MDS테크놀로지 / ES사업부 SE팀 김재형 부장 / jaei@mdstec.com 또 다른 산업혁명이 도래한 시점에 아직도 자신을 떳떳이 드러내지 못하고 있는 Windows Embedded Compact를 오랫동안 지켜보면서, 필자는 여기서 그와 관련된

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

[8051] 강의자료.PDF

[8051] 강의자료.PDF CY AC F0 RS1 RS0 OV - P 0xFF 0x80 0x7F 0x30 0x2F 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00 0x0000 0x0FFF 0x1000 0xFFFF 0x0000 0xFFFF RAM SFR SMOD - - - GF1 GF0 PD IDL 31 19 18 9 12 13 14 15 1 2 3 4

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

No Slide Title

No Slide Title Copyright, 2017 Multimedia Lab., UOS 시스템프로그래밍 (Assembly Code and Calling Convention) Seong Jong Choi chois@uos.ac.kr Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

160215

160215 [ 진경준, 대한민국 검사의 민낯! ] 진경준 검사 정봉주 : 진경준 검사장 사건이 충격적인가 봐요. 고위공직자 비리수사처 얘기도 나오는 걸 보니까. 왜 그래요, 느닷 없이? 김태규 : 공수처는 여러 검찰개혁안 중의 하나였죠. 검찰의 기 소독점주의를 견제하기 위해서는 공수처를 도입해야 한다 는 얘기가 오래 전부터 나왔고. 그런데 지금 정권이 레임 덕에 막 빠지려고

More information

<3230313320B5BFBEC6BDC3BEC6BBE74542532E687770>

<3230313320B5BFBEC6BDC3BEC6BBE74542532E687770> 58 59 북로남왜 16세기 중반 동아시아 국제 질서를 흔든 계기는 북로남 왜였다. 북로는 북쪽 몽골의 타타르와 오이라트, 남왜는 남쪽의 왜구를 말한다. 나가시노 전투 1. 16세기 동아시아 정세(임진전쟁 전) (1) 명 1 북로남왜( 北 虜 南 倭 ) : 16세기 북방 몽골족(만리장성 구축)과 남쪽 왜구의 침입 2 장거정의 개혁 : 토지 장량(토지 조사)와

More information

1

1 - - - Data Sheet Copyright2002, SystemBase Co, Ltd - 1 - A0 A1 A2 CS0#, CS1# CS2#, CS3# CTS0#, CTS1# CTS2, CTS3# D7~D3, D2~D0 DCD0#, DCD1# DCD2#, DCD3# DSR0#, DSR1# DSR2#, DSR3# DTR0#, DTR1# DTR2#, DTR3#

More information

TEL:02)861-1175, FAX:02)861-1176 , REAL-TIME,, ( ) CUSTOMER. CUSTOMER REAL TIME CUSTOMER D/B RF HANDY TEMINAL RF, RF (AP-3020) : LAN-S (N-1000) : LAN (TCP/IP) RF (PPT-2740) : RF (,RF ) : (CL-201)

More information

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), 1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)

More information

歯FDA6000COP.PDF

歯FDA6000COP.PDF OPERATION MANUAL AC Servo Drive FDA6000COP [OPERATION UNIT] Ver 1.0 (Soft. Ver. 8.00 ~) FDA6000C Series Servo Drive OTIS LG 1. 1.1 OPERATION UNIT FDA6000COP. UNIT, FDA6000COP,,,. 1.1.1 UP DOWN ENTER 1.1.2

More information

Microsoft PowerPoint - 15-6-EmbedSW-Target

Microsoft PowerPoint - 15-6-EmbedSW-Target 6. 하드웨어 ARM 아키텍처 메모리 ODROID-X2 순천향대학교 컴퓨터공학과 이 상 정 1 컴퓨터 구조 복습 - MIPS ISA의 정적 다중 이슈 Instruction types Pipe stages ALU or branch IF ID EX MEM WB Load or store IF ID EX MEM WB ALU or branch IF ID EX MEM

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Microsoft Word - 최신IT동향.doc

Microsoft Word - 최신IT동향.doc 주간기술동향 통권 1466 호 2010. 10. 6. 프로세서 시장에서 전면적 경쟁에 들어선 인텔과 퀄컴 * PC 프로세서와 휴대전화 프로세서 시장의 절대강자인 인텔과 퀄컴이 중간지대인 휴대형 모바 일 단말 프로세서 시장에서 정면 충돌하고 있는 가운데, 인텔은 성능을, 퀄컴은 통신 처리 기능 을 앞세워 시장경쟁에 돌입 인텔과 퀄컴은 태블릿 PC 를 비롯하여

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

R50_51_kor_ch1

R50_51_kor_ch1 S/N : 1234567890123 Boot Device Priority NumLock [Off] Enable Keypad [By NumLock] Summary screen [Disabled] Boor-time Diagnostic Screen [Disabled] PXE OPROM [Only with F12]

More information

Microsoft PowerPoint - eSlim SV5-2410 [20080402]

Microsoft PowerPoint - eSlim SV5-2410 [20080402] Innovation for Total Solution Provider!! eslim SV5-2410 Opteron Server 2008. 3 ESLIM KOREA INC. 1. 제 품 개 요 eslim SV5-2410 Server Quad-Core and Dual-Core Opteron 2000 Series Max. 4 Disk Bays for SAS and

More information

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

Microsoft PowerPoint - a6.ppt [호환 모드] 이장의내용 6 장조건부처리 부울과비교명령어 조건부점프 조건부루프명령어 조건부구조 컴퓨터정보통신 어셈블리언어 2 6.2 부울과비교명령어 부울명령어 Instructions ti 동작 AND dst, src OR dst, src XOR dst, src NOT dst dst dst AND src dst dst OR src dst dst XOR src dst NOT

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

Microsoft Word - Installation and User Manual_CMD V2.2_.doc CARDMATIC CMD INSTALLATION MANUAL 씨앤에이씨스템(C&A SYSTEM Co., Ltd.) 본사 : 서울특별시 용산구 신계동 24-1(금양빌딩 2층) TEL. (02)718-2386( 代 ) FAX. (02) 701-2966 공장/연구소 : 경기도 고양시 일산동구 백석동 1141-2 유니테크빌 324호 TEL. (031)907-1386

More information

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참 이비디오교재는정보통신부의 999년도정보통신학술진흥지원사업에의하여지원되어연세대학교전기전자공학과이용석교수연구실에서제작되었습니다 고성능마이크로프로세서 LU ( rithmetic Logic Unit) 와 Register File의구조 2. 연세대학교전기전자공학과이용석교수 Homepage: http://mpu.yonsei.ac.kr E-mail: yonglee@yonsei.ac.kr

More information

Microsoft PowerPoint - Master-ChiWeon_Yoon.ppt

Microsoft PowerPoint - Master-ChiWeon_Yoon.ppt 고속 Row Cycle 동작이가능한 VPM (Virtual Pipelined Memory) 구조에 대한연구 1998. 12. 28. 윤치원 1 발표순서 연구의필요성 관련연구 VCM (Virtual Channel Memory) POPeye : 메모리시스템성능측정기 POPeye를이용한 VCM 분석 VPM (Virtual Pipelined Memory) 결론및추후과제

More information

Microsoft PowerPoint - eSlim SV5-2510 [080116]

Microsoft PowerPoint - eSlim SV5-2510 [080116] Innovation for Total Solution Provider!! eslim SV5-2510 Opteron Server 2008. 03 ESLIM KOREA INC. 1. 제 품 개 요 eslim SV5-2510 Server Quad-Core and Dual-Core Opteron 2000 Series 6 internal HDD bays for SAS

More information

untitled

untitled Embedded System Lab. II Embedded System Lab. II 2 RTOS Hard Real-Time vs Soft Real-Time RTOS Real-Time, Real-Time RTOS General purpose system OS H/W RTOS H/W task Hard Real-Time Real-Time System, Hard

More information

2월 강습회원의 수영장 이용기간은 매월 1일부터 말일까지로 한다.다만,월 자유수영회 원,자유수영 후 강습회원은 접수일 다음달 전일에 유효기간이 종료된다.<개정 2006.11. 20,2009.6.15> 제10조(회원증 재발급)1회원증을 교부받은 자가 분실,망실,훼손 및

2월 강습회원의 수영장 이용기간은 매월 1일부터 말일까지로 한다.다만,월 자유수영회 원,자유수영 후 강습회원은 접수일 다음달 전일에 유효기간이 종료된다.<개정 2006.11. 20,2009.6.15> 제10조(회원증 재발급)1회원증을 교부받은 자가 분실,망실,훼손 및 실 내 수 영 장 운 영 내 규 1999.6.1. 내규 제50호 개정 2001. 3.19 내규 제 82호 개정 2005.12.29 내규 제135호 2002. 3.25 내규 제 92호 2006.11.20 내규 제155호 2002. 8.28 내규 제 94호 2009. 6.15 내규 제194호 2005. 5.20 내규 제129호 2011.11.10 내규 제236호

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

FARA PLC N70plus 시스템 사용자 메뉴얼

FARA PLC N70plus 시스템 사용자 메뉴얼 FARA PLC N70plus FARA PLC N70plus FARA PLC N70plus FARA PLC N70plus RUN h P U S H h i RUN PROG. ERROR COMM1 COMM2 REMOTE PROG. INITIALIZE (CPL9216A) (CPL9215A) FARA PLC N70plus CPL9215A CPL9216A CPL93023

More information

ºÎ·ÏB

ºÎ·ÏB B B.1 B.2 B.3 B.4 B.5 B.1 2 (Boolean algebra). 1854 An Investigation of the Laws of Thought on Which to Found the Mathematical Theories of Logic and Probabilities George Boole. 1938 MIT Claude Sannon [SHAN38].

More information

Windows 네트워크 사용 설명서

Windows 네트워크 사용 설명서 Windows 네트워크 사용 설명서 (Wireless Manager mobile edition 5.5) 그림의 예로 사용된 프로젝터는 PT-FW300NTEA 입니다. 한국어 TQBH0205-5 (K) 목차 소프트웨어 라이센스 계약 3 무선 연결 사용 시 참고 사항 4 보안 관련 참고 사항 6 소프트웨어 요구 사항 12 시스템 요구 사항 12 Wireless

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - polling.pptx 지현석 (binish@home.cnu.ac.kr) http://binish.or.kr Index 이슈화된키보드해킹 최근키보드해킹이슈의배경지식 Interrupt VS polling What is polling? Polling pseudo code Polling 을이용한키로거분석 방어기법연구 이슈화된키보드해킹 키보드해킹은연일상한가! 주식, 펀드투자의시기?! 최근키보드해킹이슈의배경지식

More information

6.24-9년 6월

6.24-9년 6월 리눅스 환경에서Solid-State Disk 성능 최적화를 위한 디스크 입출력요구 변환 계층 김태웅 류준길 박찬익 Taewoong Kim Junkil Ryu Chanik Park 포항공과대학교 컴퓨터공학과 {ehoto, lancer, cipark}@postech.ac.kr 요약 SSD(Solid-State Disk)는 여러 개의 낸드 플래시 메모리들로 구성된

More information

EM300_Manual.indd

EM300_Manual.indd 보증서 재중 (WITH WARRANTY CARD) EM30020100702 준 비(안전을 위한 주의사항) 안전을 위한 주의사항 샤프 전자사전을 구입해 주셔서 대단히 감사합니다. 안전하게 기기를 사용하기 위해 안전을 위한 주의사항을 반드시 읽어 주십시오. TFT 컬러LCD에 관하여 TFT 컬러 LCD는 매우 정밀한 기술로 만들어졌습니다. 화면에서 밝거나 어두운

More information

Integ

Integ HP Integrity HP Chipset Itanium 2(Processor 9100) HP Integrity HP, Itanium. HP Integrity Blade BL860c HP Integrity Blade BL870c HP Integrity rx2660 HP Integrity rx3600 HP Integrity rx6600 2 HP Integrity

More information

CANTUS Evaluation Board Ap. Note

CANTUS Evaluation Board Ap. Note Preliminary CANTUS - UART - 32bits EISC Microprocessor CANTUS Ver 1. October 8, 29 Advanced Digital Chips Inc. Ver 1. PRELIMINARY CANTUS Application Note( EVM B d ) History 29-1-8 Created Preliminary Specification

More information

0.1-6

0.1-6 HP-19037 1 EMP400 2 3 POWER EMP400 4 5 6 7 ALARM CN2 8 9 CN3 CN1 10 24V DC CN4 TB1 11 12 Copyright ORIENTAL MOTOR CO., LTD. 2001 2 1 2 3 4 5 1.1...1-2 1.2... 1-2 2.1... 2-2 2.2... 2-4 3.1... 3-2 3.2...

More information

EmbeddedSoC_1주차.PDF

EmbeddedSoC_1주차.PDF 1 H/W 2 Example) PC is NOT an embedded system. 3 RCW Mirus 4 TRON OS Real-time Operating System MS WinCE 5 Must provide correct results at required time deadline For examples Security system that checks

More information

2008.3.3> 1. 법 제34조제1항제3호에 따른 노인전문병원 2. 국민건강보험법 제40조제1항의 규정에 의한 요양기관(약국을 제외한다) 3. 삭제<2001.2.10> 4. 의료급여법 제2조제2호의 규정에 의한 의료급여기관 제9조 (건강진단) 영 제20조제1항의 규

2008.3.3> 1. 법 제34조제1항제3호에 따른 노인전문병원 2. 국민건강보험법 제40조제1항의 규정에 의한 요양기관(약국을 제외한다) 3. 삭제<2001.2.10> 4. 의료급여법 제2조제2호의 규정에 의한 의료급여기관 제9조 (건강진단) 영 제20조제1항의 규 노인복지법 시행규칙 [시행 2010. 3. 1] [보건복지가족부령 제161호, 2010. 2.24, 일 보건복지가족부 (노인정책과) 02-2023-85 제1조 (목적) 이 규칙은 노인복지법 및 동법시행령에서 위임된 사항과 그 시행에 관하여 필요한 함을 목적으로 한다. 제1조의2 (노인실태조사) 1 노인복지법 (이하 "법"이라 한다)

More information

노인복지법 시행규칙

노인복지법 시행규칙 노인복지법 시행규칙 [시행 2012.2.5] [보건복지부령 제106호, 2012.2.3, 타법개정] 제1조(목적) 이 규칙은 노인복지법 및 동법시행령에서 위임된 사항과 그 시행에 관하여 필요한 사항을 규정 함을 목적으로 한다. 제1조의2(노인실태조사) 1 노인복지법 (이하 "법"이라 한다) 제5조에 따른 노인실태조사의 내용은 다음 각

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

슬라이드 제목 없음

슬라이드 제목 없음 < > Target cross compiler Target code Target Software Development Kit (SDK) T-Appl T-Appl T-VM Cross downloader Cross debugger Case 1) Serial line Case 2) LAN line LAN line T-OS Target debugger Host System

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

<4D6963726F736F667420576F7264202D20B0B6B3EBC6AE33C3E2BDC3C8C45FC3D6C1BE5F2D2E646F63>

<4D6963726F736F667420576F7264202D20B0B6B3EBC6AE33C3E2BDC3C8C45FC3D6C1BE5F2D2E646F63> 2013. 09. 09 [유진 더리치 스몰캡] 이슈 분석 갤럭시노트3, 갤럭시기어 출시 수혜주 스몰캡 팀장 박종선 Tel. 368-6076 jongsun.park@eugenefn.com 스몰캡 담당 윤혁진 Tel. 368-6499 hjyoon@eugenefn.com Summary < Samsung Unpacked 2013 Episode 2> 행사 개최 지난

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

(Microsoft PowerPoint - 1-2\300\345)

(Microsoft PowerPoint - 1-2\300\345) Patterson & Hennessy 이책을공부하면 ; 컴퓨터언어로프로그램을작성하는일에연관된보이지않는비밀, 즉 1) 컴퓨터의내부구조와 2) 그내부구조가컴퓨터프로그램에미치는영향 3) 나아가, 독자적으로컴퓨터를설계하는방법을 알게된다 Patterson : UC Berkeley Hennessy : Stanford Univ. ( 현스탠포드대학교총장, 구글이사 ) Why

More information

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

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드] 전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation

More information

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte 스마트폰을 위한 A/V 신호처리기술 편집위원 : 김홍국 (광주과학기술원) 스마트폰에서의 영상처리를 위한 GPU 활용 박인규, 최호열 인하대학교 요 약 본 기고에서는 최근 스마트폰에서 요구되는 다양한 멀티미 디어 어플리케이션을 embedded GPU(Graphics Processing Unit)를 이용하여 고속 병렬처리하기 위한 GPGPU (General- Purpose

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

<4D F736F F F696E74202D20454D43BCB3B0E8B4EBC3A5BBE7B7CA2828C1D629B8B6B7E7C0CEC6F75FBDC5C1D6C8A3292E707074>

<4D F736F F F696E74202D20454D43BCB3B0E8B4EBC3A5BBE7B7CA2828C1D629B8B6B7E7C0CEC6F75FBDC5C1D6C8A3292E707074> 제품에대한 EMC 설계 대책사례 마루인포 신주호선임 2009. 5. 29 목차 1. Network Camera System 2. Navigation 2-1. PND (Portable Navigation Device) 2-2. AVN (Audio Video Navigation) 2 1. Network Camera System 1. U-City 주차관리시스템 그림

More information

Microsoft PowerPoint - CHAP-03 [호환 모드]

Microsoft PowerPoint - CHAP-03 [호환 모드] 컴퓨터구성 Lecture Series #4 Chapter 3: Data Representation Spring, 2013 컴퓨터구성 : Spring, 2013: No. 4-1 Data Types Introduction This chapter presents data types used in computers for representing diverse numbers

More information

Microsoft Word - CL5000,5500_KOR_UM_20110321_.doc

Microsoft Word - CL5000,5500_KOR_UM_20110321_.doc 2 차 례 1. 주의 사항... 8 1.1 취급주의... 8 2. Specification... 10 2.1 소개... 10 2.2 규격... 12 3. 명칭과 기능... 14 3.1 CL 5000 - P Type... 14 3.2 기본 설치... 18 3.3 표시부... 19 3.4 기능키... 20 3.5 라벨롤의 설치... 24 4. PROGRAMMING...

More information

Microsoft PowerPoint - User Manual-100 - 20150521.pptx

Microsoft PowerPoint - User Manual-100 - 20150521.pptx CIC-100 사용 설명서 (User Manual) 나의 커뮤니티, 보는 이야기 TocView [모델명 : CIC-100] 주의사항 매뉴얼의 내용은 서비스 향상을 위하여 개별 사용자의 사전 동의 또는 별도의 공지 없이 변경될 수 있습니다. 사용자의 인터넷 환경에 따라 제품 성능 및 기능의 제작 또는 사용이 불가능할 수 있습니다. 본 제품의 이용 중 장애에 의하여

More information

凡 例 一. 이 글은 朝 鮮 日 報 에 成 均 館 大 中 文 學 科 全 廣 鎭 敎 授 가 連 載 한 생활한자에서 拔 萃 하였다. 逃 가지런할 도 走 달릴 주 도주( 逃 走 ) 피하여 달아남. 도망( 逃 亡 ). 필사의 도주/그 피의자는 도주의 우려가 없어 보석금을 내고

凡 例 一. 이 글은 朝 鮮 日 報 에 成 均 館 大 中 文 學 科 全 廣 鎭 敎 授 가 連 載 한 생활한자에서 拔 萃 하였다. 逃 가지런할 도 走 달릴 주 도주( 逃 走 ) 피하여 달아남. 도망( 逃 亡 ). 필사의 도주/그 피의자는 도주의 우려가 없어 보석금을 내고 凡 例 一. 이 글은 朝 鮮 日 報 에 成 均 館 大 中 文 學 科 全 廣 鎭 敎 授 가 連 載 한 생활한자에서 拔 萃 하였다. 逃 가지런할 도 走 달릴 주 도주( 逃 走 ) 피하여 달아남. 도망( 逃 亡 ). 필사의 도주/그 피의자는 도주의 우려가 없어 보석금을 내고 석방되었다./경찰은 범인들의 도주를 막기 위해 철통같은 경계망 을 폈다./그들은 부대가 도주를

More information

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한 4.13 총선, 캐머런과 오스본, 영국 보수당을 생각하다 정 영 동 중앙대 경제학과 자유경제원 인턴 우물 안 개구리인 한국 정치권의 4.13 총선이 한 달도 남지 않았다. 하지만 정당 간 정책 선거는 실종되고 오로지 표를 얻기 위한 이전투구식 경쟁이 심 화되고 있다. 정말 한심한 상황이다. 정당들은 각 당이 추구하는 이념과 정강 정책, 목표를 명확히 하고,

More information

슬라이드 1

슬라이드 1 Chap7. LED, LCD 와 7- 세그먼트 켜기및 IIC 통신 LED 를켜기위한순서 1. 프로그램코딩및빌드 ( 헥사파일만들기 ) 2. 프로그램메모리라이팅 M-IDE 빌드해서핵사파일만들기 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5.

More information

VZ94-한글매뉴얼

VZ94-한글매뉴얼 KOREAN / KOREAN VZ9-4 #1 #2 #3 IR #4 #5 #6 #7 ( ) #8 #9 #10 #11 IR ( ) #12 #13 IR ( ) #14 ( ) #15 #16 #17 (#6) #18 HDMI #19 RGB #20 HDMI-1 #21 HDMI-2 #22 #23 #24 USB (WLAN ) #25 USB ( ) #26 USB ( ) #27

More information

Microsoft Word - 青野論文_李_.doc

Microsoft Word - 青野論文_李_.doc 식민지 조선에 있어서 농촌진흥운동기의 경신숭조( 敬 神 崇 祖 ) -조선총독부의 신사정책과 관련하여- 아오노 마사아키( 青 野 正 明 ) 모모야마가쿠인대학( 桃 山 学 院 大 学 ) 번역:이화진 들어가는 말 본고에서는 주로 1930 년대 전반에 조선총독부에 의해 실시된 농촌진흥운동 1 에 있어서, 신사정책( 神 社 政 策 )과 관계가 있다고 예상되는 농본주의(

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

<B5B6BCADC7C1B7CEB1D7B7A52DC0DBBEF7C1DF313232332E687770>

<B5B6BCADC7C1B7CEB1D7B7A52DC0DBBEF7C1DF313232332E687770> 2013 소외계층 독서 인문학 프로그램 결과보고서 - 2 - 2013 소외계층 독서 인문학 프로그램 결과보고서 c o n t e n t s 5 22 44 58 84 108 126 146 168 186 206 220 231 268 296 316 꽃바위 작은 도서관 꿈이 자라는 책 마을 기적의 도서관 남부 도서관 농소 1동 도서관 농소 3동 도서관 동부 도서관

More information

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3 열차운행정보 승무원 확인시스템 구축 제 안 요 청 서 2014.6. 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3.시운전 및 하자보증 10

More information

Coriolis.hwp

Coriolis.hwp MCM Series 주요특징 MaxiFlo TM (맥시플로) 코리올리스 (Coriolis) 질량유량계 MCM 시리즈는 최고의 정밀도를 자랑하며 슬러리를 포함한 액체, 혼합 액체등의 질량 유량, 밀도, 온도, 보정된 부피 유량을 측정할 수 있는 질량 유량계 이다. 단일 액체 또는 2가지 혼합액체를 측정할 수 있으며, 강한 노이즈 에도 견디는 면역성, 높은 정밀도,

More information

Microsoft Word - Automap3

Microsoft Word - Automap3 사 용 설 명 서 본 설명서는 뮤직메트로에서 제공합니다. 순 서 소개 -------------------------------------------------------------------------------------------------------------------------------------------- 3 제품 등록 --------------------------------------------------------------------------------------------------------------------------------------

More information