Embedded System
|
|
- 진 순
- 6 years ago
- Views:
Transcription
1 컴퓨터시스템구조론 (3 장 ) Taehyoun Kim Dept. of Mechanical & Information Engineering, University of Seoul
2 Outline 간단한컴퓨터 (Basic Computer) 를이용한어셈블리이해 어셈블리프로그램기본구조 ARM 어셈블리어
3 간단한컴퓨터를이용한어셈블리이해
4 어셈블리어란? 프로그램 (Program) 의정의 컴퓨터상에서데이터처리를위해작성된일련의명령어혹은구문들의집합 프로그래밍언어의계층구조 기계어 (Machine Language) 이진코딩 (binary-encoded) 된명령어사용 컴퓨터하드웨어가별다른변환과정없이바로이해하고실행 하드웨어의존적 어셈블리어 (Assembly Language) 기계어에 1:1 로대응되도록정의된심볼을이용 프로그래머가작성할수있는최하레벨언어 하드웨어의존적 고수준언어 (High-level Language) 일반적으로프로그래밍언어라고불리는사용자수준의언어 하드웨어독립적 (C, C++, Java, Fortran 등 )
5 프로그래밍언어계층구조 컴파일러 (Compiler) 어셈블러 (Assembler)
6 가상적인기본컴퓨터 기본컴퓨터 (Basic Computer) ALU 레지스터 : PC, IR, AC, AR, DR 각레지스터의크기는 16 bit (1 word=16 bits) 메모리용량 ; 4096워드 ( 주소비트 =12 bits) 명령어종류 : 데이터산술연산, 데이터이동, 프로그램제어 ALU PC IR 주소버스 데이터버스 AR 제어장치 AC DR 제어버스 4095 프로세서 메모리
7 가상적인기본컴퓨터 ( 계속 ) 명령어종류 데이터전송 : LOAD, STORE, MOVE 연산 : ADD, SUBSTRACT, AND, NOT 제어 : JUMP, Conditional JUMP 연산 연산코드 오퍼랜드 설명 STOP 0000 STOP 수행 ( 프로그램의끝을알림 ) LD 0001 addr 오퍼랜드의메모리주소에서 AC로적재 ST 0010 addr 오퍼랜드의메모리주소로 AC값을저장 MOVAC 0011 AC DR MOV 0100 DR AC ADD 0101 AC DR +AC SUB 0110 AC AC - DR AND 0111 DR AND AC NOT 1000 NOT AC BRA 1001 addr JUMP (addr) BZ 1010 addr If AC=0, JUMP(addr)
8 가상적인기본컴퓨터 ( 계속 ) 명령어형식 연산코드 (4 비트 ) 피연산자 (12 비트 ) 연산코드필드와피연산자필드의크기는왜각각 4 비트와 12 비트일까?
9 가상적인기본컴퓨터 ( 계속 ) 가상컴퓨터상에서의기계어프로그램예제 메모리주소 12에초기값 350, 14에 96 저장되어있음 두수를더해결과값을메모리주소 16에저장 메모리위치 (Byte) 프로그램 ( 명령어 ) 설명 메모리 12위치에서 AC로이동 AC DR 메모리 14위치에서 AC로이동 AC AC + DR AC의값을메모리 16위치에저장 STOP 데이터값 350 (16진수: 15E) 데이터값 96 (16진수: 060) 데이터값 0
10 어셈블리프로그램기본구조
11 어셈블리프로그램 기계어 vs. 어셈블리어 기계어는이진코드로작성되며컴퓨터하드웨어가바로실행가능 어셈블리어는기계어를사람이알아보기쉬운기호 / 심볼 (Mnemonics) 으로바꾼언어를말함 기계어와어셈블리어는특정프로세서에의존적임. 즉, 프로세서가달라지면비슷한동작을표시하는명령어의내용도다달라짐
12 어셈블리프로그램 ( 계속 ) 어셈블리프로그램의구조 각라인이하나의어셈블리명령어를대표하며, 각라인의구조는다음과같음 Label (Optional) Operation Code Operand Comments (Optional) 레이블 : 메모리주소를심볼로표시한것. 메모리위치를굳이표시할필요가없을때는비워둠 명령어코드 : 기계어명령어를니모닉 ( 심볼 ) 형태로표시하거나의사명령어 ( 어셈블리지시어 ) 를나타냄 피연산자 : 연산에필요한데이터값, 주소등을나타내며숫자는진수를나타낼경우숫자바로뒤에진수문자 (B, O, H) 등을사용 주석 ( 코멘트 ): 프로그램내용을설명하는데사용하며, 세미콜론 (;) 이나슬래쉬 (/) 등을이용해주석의시작을알림 가상기본컴퓨터의어셈블리니모닉 ( 표 3-3 참조 )
13 어셈블리프로그램 ( 계속 ) 어셈블러지시어 (Assembler Directive) 실제기계어명령어에는대응되지않으나어셈블리프로그램을기계어로변환할때사용되는의사명령어 (Pseudo Instructuion) 종류 ( 예 : x86) ORG: 프로그램과데이터의시작주소설정 END: 어셈블러작업의종료를나타내며, END 문이후의프로그램은기계어로변환되지않음 EQU: 레이블이름에상수값지정 (C 언어의 #define 과유사 ) DB (Define Byte), DW (Define Word): 메모리에데이터를 1 byte 혹은워드단위로할당
14 어셈블리프로그램 ( 계속 ) 어셈블리프로그램예제 LD X / AC X MOVAC / DR AC LD Y /AC Y ADD /AC AC+DR ST Z / Z AC STOP X W 900 / Reserve a word initialized to 900 Y W 300 Z W 100
15 어셈블러와프로그램실행 어셈블러 소스프로그램 : 심볼로작성된어셈블리어프로그램 목적프로그램 : 어셈블러에의해번역된이진기계어프로그램 이중패스어셈블러 1 단계 : 사용자가지정한심볼과주소간매핑테이블등기계어번역에필요한테이블구성 2 단계 : 1 단계에서생성한테이블을바탕으로기계어번역수행 사용되는자료구조 심볼테이블 : 사용된레이블과매핑된주소저장 (2 단계에서레이블을실제주소로대체하는데사용 ) 연산테이블 : 연산명령어를찾아서기계어코드로번역 지시어테이블 : 지시어심볼을저장하고, 이에따른기계어번역수행
16 어셈블러와프로그램실행 이중패스어셈블러의동작 연산 연산코드 STOP 0000 LD 0001 ST 0010 MOVAC 0011 MOV 0100 ADD 0101 SUB 0110 AND 0111 NOT 1000 BRA 1001 BZ 1010 LD X / AC X MOVAC / DR AC LD Y /AC Y ADD /AC AC+DR ST Z / Z AC STOP X W 900 Y W 300 Z W 100 의사명령어 W 심볼 X Y Z 주소 12 (0x0C) 14 (0x0E) 16 (0x10)
17 어셈블러와프로그램실행 ( 계속 ) 링커와로더 링커 로더 프로그램의범위가커지면이미짜여져있는코드 (library) 를사용하거나사용자가새로작성하는프로그램도여러개의모듈로나누어작성하는경우가생김 여러개로작성된모듈간의참조사항을연결해최종실행파일을만들어냄 실행파일에포함된정보를이용해실제수행시메모리상황에맞게프로그램을재배치하고수행할수있도록함 소스프로그램 Library Assembler Linker Loader Assembly Program Object Program Executable Program
18 ARM 어셈블리어
19 ARM 프로세서소개 역사 Acorn Computers Ltd., Cambridge (1983~1985) ARM Ltd. (since 1990) Acorn 에서분사한세계최고수준의마이크로프로세서공급업체 자체반도체생산공장없이설계도 (IP) 만라이센스하는독특한비즈니스모델을가지고있음 * Courtesy of
20 ARM 프로세서특징 RISC 프로세서 레지스터중심의 load-store 아키텍쳐 메모리접근은 Load/Store 명령에대해서만이루어짐 나머지명령은레지스터나즉치값을피연산자로함 32-bit 명령어집합 많이쓰이는명령어에대해서는축약된 16-bit 명령어집합 (Thumb instruction set) 제공 ( 전체 32-bit 명령어중 80% 포함 ) 단순한레지스터모델제공으로저비용, 저전력시스템구현 기본적인형태는 3- 주소명령어형태 32 비트주소사용으로 4 GB 주소공간제공 DSP 응용을위한확장명령어, 자바바이트코드수행을위한가속엔진 (Jazelle) 제공 사용자모드와특권모드로구분된동작 모든명령어가조건부실행가능 Shift 동작과일반산술동작을한명령어에서수행할수있음 Big-endian 모드와 Little-endian 모드모두제공 ( 부팅시결정 )
21 ARM 어셈블리어특징 각라인이하나의어셈블리명령어를대표하며, 각라인의구조는다음과같음 Label (Optional) Operation Code Operands Comments (Optional) 레이블 : 메모리주소를심볼로표시한것. 메모리위치를굳이표시할필요가없을때는비워둠 명령어코드 : 기계어명령어를니모닉 ( 심볼 ) 형태로표시하거나의사명령어 ( 어셈블리지시어 ) 를나타냄 피연산자 : 연산에필요한데이터값, 주소등을나타냄 주석 ( 코멘트 ): 프로그램내용을설명하는데사용하며, 세미콜론 (;) 으로주석의시작을알림
22 ARM 프로그래밍모델 기본레지스터 set r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r1 1 r12 r13 r14 r15 (PC) r8_fiq r9_fiq r10_fiq r1 1_fiq r12_fiq r13_fiq r14_fiq r13_svc r14_svc r13_abt r14_abt usable in user mode system modes only r13_irq r14_irq r13_und r14_und CPSR SPSR_fiq SPSR_svc SPSR_abt SPSR_irq SPSR_und user mode fiq mode svc mode abort mode irq mode undefi ned mode
23 ARM 프로그래밍모델 ( 계속 ) CPSR: 지난연산결과와현재동작모드를표시 Condition codes N: Negative ( 산술연산결과가음수일때 set 됨 ) Z: Zero ( 연산결과비트가모두 0 일때 set 됨 ) C: Carry ( 연산결과로 carry 가발생했을때 set 됨, 무부호 ) V: overflow ( 산술연산결과가 overflow 일때 set 됨, 부호 ) Q: Saturation (DSP 명령의결과로 overflow/saturation 발생 ) J: Jazelle mode ( 프로세서가 Java 모드로수행되고있음 ) Control bits I/F: IRQ/FIQ processing enable/disable T: Thumb state (Read-only) Mode[4:0]: operating mode (10000~11111) N Z C V Q J unused I F T mode Adopted by v5te/j
24 ARM 프로그래밍모델 ( 계속 ) 기본명령어형식 cond 00 X opcode S Rn Rd Op2 (x bit 에따름 ) 조건부실행 Set condition code <op>{cond}{s} Rd, Rn, #<immediate> <op>{cond}{s} Rd, Rn, Rm, {shift}
25 ARM 프로그래밍모델 ( 계속 ) 명령어내에서 shift 연산사용하기 예 ) ADD r0, r1, r1, LSL #1 - 실행전 : r0 = 0x r1 = 0x 실행후 : r0 = 0x f r1 = 0x Rn Barrel Shifter ALU Rm x= #rot 8 비트즉치 MOV r0, #0xFF, ROR 8 r0 = 0xFF x=0 Sh: 쉬트프종류 11 #shift Sh Rm 0 #shift 값만큼이동 ADD r0, r1, r2, LSL #7 r0 = r1+(r2 << 7) Rs Sh 1 Rm ADD r0, r1, r2, LSL r3 Rs 값만큼이동 r0 = r1+(r2 << r3)
26 ARM 프로그래밍모델 ( 계속 ) 다른명령어에포함되는 shift 연산 (op2 필드 ) Assembler Rm, LSL #immediate Rm, LSL Rs Rm, LSR #immediate Rm, LSR Rs Rm, ASR #immediate Rm, ASR Rs Rm, ROR #immediate Rm, ROR Rs Rm, RRX Action #immediate 값만큼왼쪽논리쉬프트 Rs 값만큼왼쪽논리쉬프트 #immediate 값만큼오른쪽논리쉬프트 Rs 값만큼오른쪽논리쉬프트 #immediate 값만큼오른쪽산술쉬프트 Rs 값만큼오른쪽산술쉬프트 #immediate 값만큼오른쪽환형쉬프트 Rs 값만큼오른쪽환형쉬프트 1만큼오른쪽환형쉬프트 ; Rm[31] = C flag
27 ARM 프로그래밍모델 ( 계속 ) LSL(Logical Shift Left): 원래수에 2 의제곱수를곱합 C Destination 0 LSR(Logical Shift Right): 원래수를 2 의제곱수로나눔 0 Destination C ASR(Arithmetic Shift Right): 원래수를 2 의제곱수로나눔 ( 부호유지 ) 부호 Destination 0 ROR(Rotate Right): 원래수를오른쪽으로순환시킴 Destination C RRX(Rotate Right Extended): 원래수를오른쪽으로순환시킴 (C 포함 ) Destination C
28 ARM 프로그래밍모델 ( 계속 ) 조건부실행 어셈블리명령어 opcode 뒤에 조건 을나타내는 2 자리심볼을붙임 4 비트 cond 필드 ( 명령어 bits 31~28) 참조 cond 필드가표시한조건이만족될때에만해당명령실행 불필요한비교명령어사용감소 검사되는조건의내용은교재그림 3-11 참고 명령어실행결과에따라 CPSR 의내용변경 비교명령의경우에는무조건관련있는상태코드를변경함 데이터처리에관한어셈블리명령어의경우 opcode 뒤에 S 를붙이면결과에따라 CPSR 내의관련있는상태코드를변경 의사명령어 예 ) ADR r1, x ; 메모리번지 x 를 r1 레지스터로로딩 예 ) BIGBLOCK %10 ; BIGBLOCK 이란이름으로 10 워드 ; 저장공간확보
29 ARM 프로그래밍모델 ( 계속 ) 명령어분류 산술연산 논리연산 비교연산 데이터이동 데이터전송 제어이동 ( 분기 ) 기타
30 ARM 프로그래밍모델 ( 계속 ) 산술명령어 Assembler updates Action ADD {cond}{s} Rd, Rn, <Operand2> N Z C V Rd := Rn + Operand2 ADC {cond}{s} Rd, Rn, <Operand2> N Z C V Rd := Rn + Operand2 + carry SUB {cond}{s} Rd, Rn, <Operand2> N Z C V Rd := Rn Operand2 SBC {cond}{s} Rd, Rn, <Operand2> N Z C V Rd := Rn Operand2 ~ carry RSB {cond}{s} Rd, Rn, <Operand2> N Z C V Rd := Operand2 Rn RSC {cond}{s} Rd, Rn, <Operand2> N Z C V Rd := Operand2 Rn ~ carry ; If zero flag is set then ; r0 = r1+r2 ; opcode[31:28] = b0000 ADDEQ r0, r1, r2 ADDS r0, r1, r2 ; r0 = r1+r2 ; and set flag in CPSR ; opcode[21] = 1
31 ARM 프로그래밍모델 ( 계속 ) 논리명령어 Assembler updates Action AND {cond}{s} Rd, Rn, <Operand2> N Z C Rd := Rn & Operand2 ORR {cond}{s} Rd, Rn, <Operand2> N Z C Rd := Rn Operand2 EOR {cond}{s} Rd, Rn, <Operand2> N Z C Rd := Rn ^ Operand2 BIC {cond}{s} Rd, Rn, <Operand2> N Z C Rd := Rn & (~ Operand2) 비교명령어 Assembler updates Action CMP{cond} Rn, <Operand2> N Z C V Update CPSR flags on Rn Operand2 CMN {cond} Rn, <Operand2> N Z C V Update CPSR flags on Rn + Operand2 TST {cond} Rn, <Operand2> N Z C Update CPSR flags on Rn & Operand2 TEQ {cond} Rn, <Operand2> N Z C Update CPSR flags on Rn ^ Operand2
32 ARM 프로그래밍모델 ( 계속 ) 데이터이동 ( 초기값설정및레지스터간이동 ) MOV r0, r1 ; r0 r1 MOVS r2, #10 ; r2 10 MVNEQ r1, #0 ; if Z=1 then r1 0xffffffff Assembler S updates Action MOV{cond}{S} Rd, <Operand2> N Z C Rd := Operand2 MVN{cond}{S} Rd, <Operand2> N Z C Rd := ~ Operand2
33 ARM 프로그래밍모델 ( 계속 ) 데이터적재 - 저장 ([LDR STR]{cond}{size} Rd, <address> 주소지정방식 : PC-relative, Pre-indexed, Post-indexed LDR r1, =0x LDR r0, [r1, #4]! ; r0 mem[r1+4], r1 r1+4 LDR r0, [r1, #4] ; r0 mem[r1+4] LDR r0, [r1], #4 ; r0 mem[r1], r1 r1+4 Assembler Description Action LDR 워드를레지스터로적재 Rd := mem32[addr] STR 레지스터값을저장 mem32[addr] := Rd LDRH 반워드를레지스터로적재 Rd := mem16[addr] STRH 레지스터반워드를저장 mem16[addr] := Rd LDRSH 부호화된반워드를레지스터로적재 Rd := 부호확장 (mem16[addr]) LDRB 바이트를레지스터로적재 Rd := mem8[addr] STRB 레지스터바이트를저장 mem8[addr] := Rd ADR 레지스터에어드레스값설정 ( 의사명령어 ) Rd=addr
34 ARM 프로그래밍모델 ( 계속 ) 제어이동 ( 분기 ) If-then-else 구조, 루프, 함수호출등에사용 BL 명령어는복귀주소를 R14 (Link Register 에저장 ) 분기주소는 PC+offset 임 (PC-relative addressing) Offset 의경우최상위비트를부호로하고, 나머지 23 비트를 2 비트왼쪽쉬프트해서옵셋크기표현 cond L 24-bit signed word offset 0: Branch 1: Branch with Link Assembler Action B{cond} label BL{cond} label R15 := label R14 := address of next instruction, R15 := label
35 ARM 프로그래밍모델 ( 계속 ) 조건코드 (condition code) Opcode[31:28] Suffix CPSR flags Description 0000 EQ Z set Equal/equals zero 0001 NE Z clear Not equal 0010 CS/HS C set Unsigned higher or same 0011 CC/LO C clear Unsigned lower 0100 MI N set Minus/Negative 0101 PL N clear Plus/Positive or Zero 0110 VS V set Overflow 0111 VC V clear No overflow 1000 HI C set and Z clear Unsigned higher 1001 LS C clear Unsigned lower 1010 GE N equals V Signed greater or equal 1011 LT N is not equal to V Signed less than 1100 GT (Z clear) and (N equals v) Signed greater than 1101 LE (Z set) or (N not equal to V) Signed less than or equal 1110 AL Ignored Always
36 ARM 프로그램예제 LDR r0, [r1] r1=0x100 이면메모리위치 0x100 에있는값을가져와서 r0 에넣는다. STR r0, [r1] r0 의내용을 r1 이가리키는메모리위치에저장한다. LDR r0, [r1-r2] (r1-r2) 에해당하는메모리위치에서데이터를읽어 r0 에적재한다. LDR r0, [r1, #4] (r1+4) 에해당하는메모리위치에서데이터를읽어 r0 에적재한다.
37 ARM 프로그램예제 x=(a+b)-c 를 ARM 어셈블리어로구현 r0 를 a 에, r1 을 b 에, r2 를 c 에, r3 를 x 에사용한다. 각변수의값을적재하기위해서 r4 를이용해서간접어드레싱을구현한다 ADR r4, a ; a 의주소를얻는다 LDR r0, [r4] ; a 의값을얻는다 ADR r4, b ; b 의주소를얻는다 LDR r1, [r4] ; b 의값을얻는다 ADD r3, r0, r1 ; a+b 의중간계산값을계산한다 ADR r4, c ; c 의주소를얻는다 LDR r2, [r4] ; c 의값을얻는다 SUB r3, r3, r2 ; x 의계산을완성한다 ADR r4, x ; x 의주소를얻는다 37 STR r3, [r4] ; x 의값을저장한다
38 ARM 프로그램예제 (if-then-else) ; 계산하고조건을검사한다 ADR r4, a ; a를위한주소를얻는다. LDR r0, [r4] ; a의값을얻는다. ADR r4, b ; b를위한주소를얻는다. LDR r1, [r4] ; b의값을얻는다. CMP r0, r1 ; a 와 b 비교 ( 결과는 CPSR 저장 ) BGE fblock ; 만일 a>=b 면 fblock으로분기 ; true (a < b) MOV r0, #5 ; x를위한값 ADR r4, x ; x를위한주소를얻는다. STR r0, [r4] ; x의값을얻는다. ADR r4, c ; c를위한주소를얻는다. LDR r0, [r4] ; c의값을얻는다. ADR r4, d ; d를위한주소를얻는다. LDR r1, [r4] ; d의값을얻는다. ADD r0, r0, r1 ; a+b를계산한다. ADR r4, y ; y를위한주소를얻는다. STR r0, [r4] ; y의값을저장한다. B after ; false 블록다음으로분기 if (a<b) { x = 5; y = c+d; } else x = c-d; ; false (a >= b) fblock ADR r4, c ; c를위한주소를얻는다. LDR r0, [r4] ; c의값을얻는다. ADR r4, d ; d를위한주소를얻는다. LDR r1, [r4] ; d의값을얻는다. SUB r0, r0, r1 ; a-b를계산한다. ADR r4, x ; x를위한주소를얻는다. STR r0, [r4] ; x의값을저장한다. after
39 ARM 프로그램예제 (if-then-else) ; 계산하고조건을검사한다 ADR r4, a ; a를위한주소를얻는다. LDR r0, [r4] ; a의값을얻는다. ADR r4, b ; b를위한주소를얻는다. LDR r1, [r4] ; b의값을얻는다. CMP r0, r1 ; a 와 b 비교 ( 결과는 CPSR 저장 ) ; 분기명령이여기에없다. ; true 블록 (a < b)-모두조건부명령 ( LT ) MOVLT r0, #5 ; x를위한값 ADRLT r4, x ; x를위한주소를얻는다. STRLT r0, [r4] ; x의값을얻는다. ADRLT r4, c ; c를위한주소를얻는다. LDRLT r0, [r4] ; c의값을얻는다. ADRLT r4, d ; d를위한주소를얻는다. LDRLT r1, [r4] ; d의값을얻는다. ADDLT r0, r0, r1 ; a+b를계산한다. ADRLT r4, y ; y를위한주소를얻는다. STRLT r0, [r4] ; y의값을저장한다. ; false 블록을돌아갈분기명령불필요 if (a<b) { x = 5; y = c+d; } else x = c-d; 조건부명령사용 ( 효과는?) ; false 블록 (a>=b)-모두조건부명령 ( GE ) ADRGE r4, c ; c를위한주소를얻는다. LDRGE r0, [r4] ; c의값을얻는다. ADRGE r4, d ; d를위한주소를얻는다. LDRGE r1, [r4] ; d의값을얻는다. SUBGE r0, r0, r1 ; a-b를계산한다. ADRGE r4, x ; x를위한주소를얻는다. STRGE r0, [r4] ; x의값을저장한다.
40 ARM 프로그램예제 (switch) 다음 C 프로그램의 switch 문을 ARM 어셈블리어로구현하라. switch (test) { case 0:... break; case 1:... break;... } ADR r2, test ; test를위한주소를얻는다. LDR r0, [r2] ; test의값을얻는다. ADR r1, switchtab ; switchtab을위한주소를얻는다. LDR r15, [r1, r0, LSL #2] ; 베이스 - 오프셋지정으로 PC 변경 switchtab DCD case0 ; 분기를위한주소표 DCD case1 case0 ; case0에대한코드 case1 ; case1에대한코드
41 ARM 프로그램예제 (for loop) 다음 C 프로그램의 for 문을 ARM 어셈블리어로구현하라. for (i=0; i<10 ; i++) { a[i]=0 } MOV r1, #0 ; a[i] 에저장할값 ( 0 ) ADR r2, a[0] ; MOV r0, #0 ; 초기루프인덱스 ( 0 ) 을 r0에저장 LOOP CMP r0, #10 ; i<10 인가? BGE EXIT ; 루프빠져나감 STR r1, [r2, r0, LSL #2] ; a[i]=0 ADD r0, r0, #1 ; i++ B LOOP EXIT 41
42 ARM 프로그램예제 ( 함수호출 ) 단순한함수호출 x = a + b; foo(x); y = c d; 프로시저호출을위해서는분기 - 링크명령어사용 BL foo 프로시저끝에서 r14 의내용을 r15(pc) 로옮기면복귀가수행 MOV r15, r14 중첩된함수호출 void f1 (int a) { f2(a); } void f2 (int r) { f3(r, 5); } void f3 (int x, int y) { g=x+y; } f3 f2 main() { f1(xyz); } 함수호출스택사용 (r14 의내용이파괴되기때문 ) f1
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 informationMicrosoft PowerPoint - 05-ARM-Instruction-Set.ppt
ARM 명령어집합 임베디드시스템소프트웨어 I 내용 ARM 구조 프로세서수행모드 레지스터구조 예외처리과정 ARM 명령어형식 조건수행접미사 데이터처리명령어 곱셈명령어 Load/Store 명령어 다중레지스터 Load/Store 스택명령어 SWI 명령어 Branch 명령어 상태레지스터접근명령어 명령어요약 ARM 명령어집합 2 ARM 구조특징 모든명령어가 32bit
More informationARM 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 informationMicrosoft 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 informationuntitled
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 informationMicrosoft PowerPoint - hy2-12.pptx
2.4 명령어세트 (instruction set) 명령어세트 CPU 가지원하는기계어명령어들의집합 명령어연산의종류 데이터전송 : 레지스터 / 메모리간에데이터이동 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈 논리연산 : 비트들간의 AND, OR, NOT 및 XOR 연산 입출력 (I/O) : CPU( 레지스터 ) 와외부장치들간의데이터이동 프로그램제어 : 분기, 서브루틴호출
More information9
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 informationPowerPoint 프레젠테이션
1. data-addressing mode CHAPTER 6 Addressing Modes 2. use of data-address mode to form assembly language statements 3. op of program memory address mode 4. use of program memory address mode to form assembly
More information온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1
강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 - 2. 중앙처리장치 (Central Processing Unit) 주기억장치에기억된명령을꺼내서해독하고, 시스템전체에지시신호를내는장치명령코드가명령을수행할수있게필요한제어기능을제공제어장치의구성
More informationComputer Architecture
명령어의구조와주소지정방식 명령어세트명령어의형식주소지정방식실제명령어의형태 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 2 연산종류 (operation repertoire) CPU 가수행할연산들의수와종류및복잡도
More information슬라이드 1
명령어집합 주소지정모드 (addressing mode) 내용 명령어는크게연산자부분과이연산에필요한주소부분으로구성 이때주소부분은다양한형태를해석될수있으며, 해석하는방법을주소지정방식 ( 모드 )(addressing mode) 라한다. 즉피연산자정보를구하는방법을주소지정방식이라고함 명령어형식 주소지정 명령어형식에있는주소필드는상대적으로짧다. 따라서지정할수있는위치가제한된다.
More informationMicrosoft 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(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M
(1) 주소지정방식 Address Mode 메모리접근 분기주소 2. 8051 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data Memory 외부 Data Memory (2) 명령어세트 - 8051 명령어는 5 가지로분류,
More informationMicrosoft PowerPoint - hy2-12.pptx
CPU의구조와기능 CPU 의명령어수행과정 명령어인출 (Instruction Fetch) : 기억장치로부터명령어를읽어온다 명령어해독 (Instruction Decode) : 수행해야할동작을결정하기위하여명령어를해독한다 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) : 명령어실행을위하여데이터가필요한경우에는기억장치혹은 I/O 장치로부터그데이터를읽어온다
More information<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< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More informationMicrosoft PowerPoint - hw8.ppt [호환 모드]
8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit
More informationINTRO 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<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >
10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절
More information학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.
마이크로프로세서의원리 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 (slee@wku.ac.kr) 소속 : 원광대학교전기 정보통신공학부 학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.
More informationARM 프로세서 입문
ARM 프로세서입문 내용 배경과역사주요특징 ARM 계열들개발도구 역사, 파생계열과도구들 제작 EMBEDDED SYSTEMS ACADEMY 내용 Part 1 배경과역사 RISC / CISC Acorn / Advanced RISC Machine Part 2 주요특징 Registers Interrupts Memory Thumb 3-단계명령파이프라인 5-단계명령파이프라인
More informationPowerPoint 프레젠테이션
KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된
More information프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어
개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More information슬라이드 1
마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***
More informationPowerPoint 프레젠테이션
중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:
More informationPowerPoint 프레젠테이션
중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:
More informationMicrosoft PowerPoint - M07_RTL.ppt [호환 모드]
제 7 장레지스터이동과데이터처리장치 - 디지털시스템의구성 data path 모듈 : 데이터처리, 레지스터, 연산기, MUX, control unit 모듈 : 제어신호발생, 연산의순서지정 - register transfer operation : reg 데이터이동 / 처리 reg set,operation, sequence control - micro-operation
More informationuntitled
시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000
More informationHere 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 informationChapter ...
Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationq 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프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M
중앙처리장치 (CPU: Central Process Unit) 1) 제어장치 (Control Unit) 컴퓨터시스템의모든장치들에게동작을지시하고제어하는장치로주기억장치에서읽어온명령어를해독하고해당장치에게제어신호를보낸다. 구성회로 : 부호기, 명령해독기, 번지해독기 구성레지스터 : PC( 프로그램카운터 ), IR( 명령어레지스터 ) 부호기 ( 제어신호발생기 ) 해독한명령어에따라서해당장치로보낼제어신호를생성하는회로
More information학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능
컴퓨터구조 제 9 강 중앙처리장치의조직과기능 학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능 학습목표 rcpu 의성능을향상시키는요인들을알아본다. rcpu 의기본적인기능을이해한다. rcpu 는 ALU, 제어장치, 레지스터집합,
More informationMicrosoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt
1 - 전체요약 4. ARM 조직과구현 2 4.1 3 단계파이프라인 ARM 조직 레지스터뱅크 : 레지스터접근을위한 2개의입력포트, 1개의출력포트, 프로그램카운터를위한 1개의입출력포트배럴쉬프터 : ALU 입력전자리이동과회전수행 ALU : 산술연산, 논리연산실행어드레스레지스터 : 메모리주소저장어드레스증가기 : 연속적인메모리주소생성데이터레지스터 : 메모리로부터읽은데이터나저장할데이터를저장명령어디코더
More informationPowerPoint 프레젠테이션
명령어의수행과제어 명령어에대해서학습하고, 명령어가수행되는과정에대하여학습한다. 1. 명령어의개요 2. 주소지정법 3. CPU 구조 4. 명령어의수행과제어 1. 명령 (Instruction) 개요 1.1 명령의구조 (1) OP Code(Operation Code) 1) 동작을지시 ( 동작부, 연산부, 명령부 ) 2) 명령의형식이나주소부의자료종류를지정. 3) 실행시스템의명령어개수와관련.
More informationIntroduction to LMC
Introduction to LMC 황선태 국민대학교컴퓨터공학부 Layout of the Little Man Computer 10 12 123 00 01 02 03 97 98 99 Mailboxes 100 개의박스가있는데각박스에는 00 에서 99 까지의주소가할당되어있고그안에는 3 자리숫자가써있는종이한장이들어있다 이때각메일박스의내용과주소는같은개념이아니므로혼동하면안된다
More informationMicrosoft Word - FunctionCall
Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack
More information<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>
3.2 명령어 (1) 명령어 (Instruction) 의구성 연산자 (Operation Code) 부자료 (Operand) 부 0405 명령어의연산자부분이나타낼수있는것오답 인스트럭션의순서 1) 연산자부 (Op-Code, Operation Code부 ) 1 실행할명령이들어있음 2 명령어의연산자부분이나타낼수있는것 9910 0203 명령어의형식 연산자 자료의종류
More information한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1
한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set
More informationhwp
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 informationPowerPoint 프레젠테이션
Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여
More informationNo 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 informationMicrosoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]
Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More information[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 informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationMicrosoft PowerPoint - 15-MARS
MARS 소개및실행 어셈블리프로그램실행예 순천향대학교컴퓨터공학과이상정 1 MARS 소개및실행 순천향대학교컴퓨터공학과 2 MARS 소개 MARS MIPS Assembler and Runtime Simulator MIPS 어셈블리언어를위한소프트웨어시뮬레이터 미주리대학 (Missouri State Univ.) 의 Ken Vollmar 등이자바로개발한교육용시뮬레이터
More information강의개요
컴퓨터의기초 2 nd Lecture 김현철 (2009 년여름학기 ) 컴퓨터공학부서울대학교 Copyrights 2008 Eom, Hyeonsang All Rights Reserved Slide Credit 엄현상교수님 서울대학교컴퓨터공학부 컴퓨터의기초, 2008 년봄학기강의자료 순서 기본복습 컴퓨터소프트웨어개요 컴퓨터하드웨어개요 Q&A Terminology Algorithm:
More informationMicrosoft 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금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More informationARM 아키텍쳐 - 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학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능
컴퓨터구조 제 4 강 컴퓨터시스템의구성과기능 학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능 학습목표 r컴퓨터를분해해서하드웨어적구성장치를파악한다. r컴퓨터의조직과기능을이해한다. r컴퓨터구성장치의기능을이해한다. r컴퓨터가수행하는기능을분류하고이해한다. r컴퓨터의구성장치들과연결을이해한다.
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationMicrosoft PowerPoint - DSD06c_ISA.pptx
한국기술교육대학교 장영조 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set Architecture) 한국기술교육대학교전기전자통신공학부
More informationMicrosoft 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 informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationMicrosoft PowerPoint - chap04-연산자.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에
More information라는 점이다. ARM7TDMI 같은 ARM7에서는 페치(fetch), 디코드 (decode) 그리고 실행(execute)의 3단계로 구성된 파이프라인을 적 V4 PF1 ARMv5 1994 1996 1998 2000 2002 2004 2006 I-캐시 액세 + 다이내믹
자는 ARM 프로세서를 이용한 프로젝트를 처음 진행할 당시에 농담반 진담반으로 이런 말을 자주하곤 했다. ARM으로 개발하려다가 정말 암에 걸리겠다. 처음 새로운 프로세서를 접하면 누구나 한번쯤 겪는 일이다. ARM의 경우는 그 정도가 더욱 심했다. 특히 MMU는 무엇이며, 왜 필요하고 어떻게 동작하는지? FIQ와 IRQ는 같 은 인터럽트인데 왜 달리 구분하는지?
More information3차시.ppt
[ 정보처리기능사필기] 1 과목 - 전자계산기일반 1 / 10 정보처리기능사 ( 필기 ) 1 과목. 전자계산기일반컴퓨터시스템의구성 2 1. 컴퓨터의기본구성 컴퓨터의기본구성 컴퓨터 = + (Hardware) 컴퓨터기계 (Software 를움직여주는프로그램 [ 정보처리기능사필기] 1 과목 - 전자계산기일반 2 / 10 2. (Hardware) -Hardware
More informationT100MD+
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=
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 informationSRC 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<B9E9BCAD31B1C72DC0DBBEF72D32B1B32E687770>
사법제도개혁추진위원회 백서 (상) 발 간 사 2005. 1. 출범한 사법제도개혁추진위원회가 그 소임을 다하고 2년 동안의 활동을 마치면서 그 동안의 성과를 담은 백서를 출간하게 된 것을 진심으로 기쁘고 보람된 일로 생각합니다. 정부 수립 이후 우리의 사법제도에 변화와 발전이 없었던 것은 아니나 그 기본적인 틀은 반세기가 지나도록 적지 않은 문제점과 한계를 내포한
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationMicrosoft Word - Reverse Engineering Code with IDA Pro-2-1.doc
Reverse Engineering Code with IDA Pro By Dan Kaminsky, Justin Ferguson, Jason Larsen, Luis Miras, Walter Pearce 정리 : vangelis(securityproof@gmail.com) 이글은 Reverse Engineering Code with IDA Pro(2008년출판
More information(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -
(Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register
More informationPowerPoint 프레젠테이션
Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조
More informationMicrosoft PowerPoint - C프로그래밍-chap00.ppt [호환 모드]
2009 년여름계절학기 C 프로그래밍및실습 한국항공대학교항공우주기계공학부 ( 강의자료 : http://mercury.kau.ac.kr/sjkwon) 1 강의 2시간 실습 1 시간 ( 진도범위내예제연습 ) TA 참여 강의계획서 2 강의계획서 각장과제물 ( 단순 copy 는영점처리 ) 1) 진도범위내의중간점검문제및이해점검문제 2) 프로그래밍과제 (3,6번문제 )
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More information10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다
10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행
More information강의10
Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced
More informationPowerPoint Presentation
Computer Science Suan Lee - Computer Science - 03 컴퓨터구조 1 03 컴퓨터구조 - Computer Science - 03 컴퓨터구조 2 목차 1. 컴퓨터시스템의구성 2. 중앙처리장치 3. 기억장치 4. 입출력장치 - Computer Science - 03 컴퓨터구조 3 컴퓨터시스템의구성 하드웨어 : 컴퓨터를구성하는기계적장치
More informationPowerPoint 프레젠테이션
Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State
More information2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.
C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project
More information歯20010629-001-1-조선일보.PDF
6. 29 () 11:00 ( ) 20 0 1. 6. 29 11( ).(397-1941) 1. 2. 3. 4. 5. 1. 28, 60() (,, ) 30 619(, 6. 29) () 6 (,,,,, ),,, - 1 - < > (, ), () < > - 2 - 2.,,, 620,, - 3 - 3. ( ) 1,614,, 864 ( ) 1,6 14 864 () 734
More information<3230313320B5BFBEC6BDC3BEC6BBE74542532E687770>
58 59 북로남왜 16세기 중반 동아시아 국제 질서를 흔든 계기는 북로남 왜였다. 북로는 북쪽 몽골의 타타르와 오이라트, 남왜는 남쪽의 왜구를 말한다. 나가시노 전투 1. 16세기 동아시아 정세(임진전쟁 전) (1) 명 1 북로남왜( 北 虜 南 倭 ) : 16세기 북방 몽골족(만리장성 구축)과 남쪽 왜구의 침입 2 장거정의 개혁 : 토지 장량(토지 조사)와
More informationMicrosoft PowerPoint - a3.ppt [호환 모드]
이장의내용 3 장어셈블리언어의기초 어셈블리언어의기본구성요소 간단한어셈블리언어프로그램예 프로그램어셈블리, 링크, 실행 데이터정의 기호상수 실제주소모드프로그래밍 어셈블리언어 2 3.1 어셈블리언어기본구성요소 정수상수 정수상수 정수수식 실수상수 문자, 문자열상수 예약어, 식별자 디렉티브 (Directives) 와명령어 레이블 (Labels) 니모닉 (Mnemonics)
More informationComputer Architecture
CPU 의구조와기능 CPU 의기본구조 명령어실행과실행사이클 명령어파이프라이닝 CPU 의기능 2 명령어인출 (Instruction Fetch) 기억장치로부터명령어읽기 명령어해독 (Instruction Decode) 수행해야할동작을결정하기위하여명령어를해독 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) 명령어실행에필요한데이터를기억장치혹은 I/O
More information정보보안 개론과 실습:네트워크
` 마이크로프로세서설계및실습 2 주차강의자료 2/31 Contents 학습목표 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서특수레지스터, 범용레지스터의역할을이해할수있다. ATmega128 내부에포함된명령어인출과실행절차를알아보고, 명령어유형을통해동작을이해할수있다. 내용
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp
2015년도 국가직 9급 컴퓨터 일반 문 1. 시스템 소프트웨어에 포함되지 않는 것은? 1 1 스프레드시트(spreadsheet) 2 로더(loader) 3 링커(linker) 4 운영체제(operating system) - 시스템 소프트웨어 : 운영체제, 데이터베이스관리 프로그램,, 컴파일러, 링커, 로더, 유틸리티 소프트웨 어 등 - 스프레드시트 : 일상
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More informationK&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 informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More informationMicrosoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers
C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information구문 분석
컴파일러구성 제 10 강 중간언어 / 인터프리터 Motivation rapid development of machine architectures proliferation of programming languages portable & adaptable compiler design --- P_CODE porting --- rewriting only back-end
More informationPowerPoint 프레젠테이션
7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED
More informationComputer Architecture
제 2 장 CPU 의구조와기능 2.1 CPU의기본구조 2.2 명령어실행 2.3 명령어파이프라이닝 2.4 명령어세트 CPU 의기능 명령어인출 (Instruction Fetch) : 기억장치로부터명령어를읽어온다 IF ID 명령어해독 (Instruction Decode) : 수행해야할동작을결정하기위하여명령어를해독한다 모든명령어들에대하여공통적으로수행 Computer
More informationMicrosoft PowerPoint - PL_03-04.pptx
Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8
More information5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp
1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n
More informationMicrosoft 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 informationU.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형
AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA
More informationMicrosoft PowerPoint - 15-SMT_cho.ppt
이강좌는과학기술부의국가지정연구실인연세대학교이용석교수연구실 ( 프로세서연구실 ) 에서 C&S Technology 사의지원을받아서제작되었습니다 SMT 마이크로프로세서구조의개요.. 연세대학교전기전자공학과프로세서연구실박사과정문병인 E-mail: yonglee@yonsei.ac.kr Homepage: http://mpu.yonsei.ac.kr 전화 : - -88 고성능마이크로프로세서구조와설계강좌시리즈
More informationMicrocontrollerAcademy_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 informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More information