마이크로프로세서 설계 무작정 따라하기

Size: px
Start display at page:

Download "마이크로프로세서 설계 무작정 따라하기"

Transcription

1 마이크로프로세서 설계 무작정 따라하기 part-ii (2) 부제: 명령어 시뮬레이터, 어셈블러, 컴파일러의 개발 KAIST 전자전산학과 박사과정 이번 강좌에서는 GNU C 컴파일러에 관련된 여러 가지 사항들에 대하여 간단히 짚어보고, GNU C 컴파일 러를 이용한 컴파일러의 개발 과정에 대해서 살펴봄으로써 이어지는 다음 강좌에서 필요한 기본 지식을 마련해 보도록 한다. 1. GNU C 컴파일러란? GNU C 컴파일러는 미국의 Free Software Foundation 이란 비영리 단체에서 무료로 제공되는 C 컴파일러 이다. ( 참조) GNU C 컴파일러는 약 20 년의 역사를 가지고 있으며, 최초 개발 시부터 포팅(porting)을 염두에 두고 개발되었기 때문에, 컴파일러의 전위(front end, 프론트 엔드)와 후위(back end, 벡엔드)를 수정하여 다양한 종류의 컴파일러를 다시 만들어 내는 것이 가능하다. 표 1에서 볼 수 있듯이 현재 많은 수의 컴파일러들이 전위와 후위를 변경하여 개발 되었다. 표 1. GNU C 컴파일러의 여러 가지 전위와 후위들 전위 (front end) 후위 (back end) C, C++, Objective C, Ada 95, Fortran, Modula-3, PASCAL, Chill Acorn RISC, DEC, Am29000, AMD21xx, DSP16xx, TMS320C4x, SPARC, MIPS, Pentium, MIPS, RS6000, ARM, MCORE, GNU C 컴파일러가 C 프로그램을 컴파일하는 과정은 크게 세 개의 과정, RTL 생성, 최적화, 코드 생성으 로 구분할 수 있으며, 각 과정은 다시 몇 개의 세부 과정으로 구분된다. 그림 1에는 GNU C 컴파일러의 각 단계가 표시되어 있다. C code RTL Generation RTL Generation Preliminary Optimization Preliminary Optimization Instruction Combination Instruction Combination & Insturciont & Scheduling Insturciont Scheduling Register Allocation Register Allocation Reloading Reloading Machine code 그림 1. GNU C 컴파일러의 단계 (1) RTL 생성 (RTL generation) 단계 C 원시 프로그램(source code)으로부터 초기 단계의 RTL 이 생성된다. RTL (Register Transfer Language)이란 GNU C 컴파일러에서 내부적으로 사용되는 중간 단계 표현 방식(Intermediate representation, IR)이다. RTL 생성 이후의 모든 컴파일러의 단계는 C 원시 프로그램을 표현한 RTL 코드를 기반으로 수행된다. 이 단 계에서는 YACC 기반의 파서(parser)에 의하여 소스 코드가 분석되고 이로부터 parse tree 가 생성되며,RTL 코드는 이 parse tree 로부터 생성된다. (2) 예비 최적화(preliminary optimization) -1-

2 이 단계에서는 분기 최적화를 통하여 불필요한 코드가 제거 된다. 그리고 공통 부분식 제거(common subexpression elimination), 상수 전파(constant propagation), 루프 최적화, 자료의 흐름분석(data flow analysis) 등 의 최적화가 수행된다. 이 단계에서 수행되는 최적화는 대부분이 컴파일러를 포팅하고자 하는 목표기계 (target machine)에 의존하지 않는 최적화 (machine independent optimization)이다. 이 단계에서 수행되는 최 적화에 대해서는 V. Aho, M. R. Sethi, J. D. Ullman 등이 저술한 책(Compiler Principles, Techniques, and Tools) 을 참조하기 바란다. (3) 명령어 결합과 스케쥴링(instruction combination and scheduling) RTL 코드 명령어들의 다양한 결합을 시도함으로써 좀더 최적화된 명령어들을 생성하고 명령어들의 순 서를 재배치하여 기능 유닛(functional unit)이나 데이터의 충돌을 막는 단계이다. (4) 레지스터 할당(Register allocation) GNU C 컴파일러는 레지스터 할당이 수행되기 전까지의 컴파일 단계에서는 레지스터의 수가 무한하며 한 종류의 레지스터만이 있는 것으로 가정한다. 이렇게 가정된 레지스터를 가상 레지스터(pseudo register) 라고 한다. (이에 대하여 머신에 존재하는 레지스터를 실재 레지스터라고 한다.) 이 단계에서는 가상 레 지스터에 실재 레지스터를 매핑(mapping)하게 된다. (5) 리로딩(Reloading) 레지스터 할당 단계를 거친 후에도 실재 레지스터를 할당받지 못 한 가상 레지스터들을 메모리에 할당 하는 과정인 리로딩이 수행된다. 2. GNU C 컴파일러의 포팅(porting) 과정 GNU C 컴파일러의 벡엔드, 즉 코드 생성과 관련된 부분을 사용자가 수정하거나 또는 필요한 내용을 새 로 작성함으로써 목표기계(target machine)에 맞는 컴파일러를 개발하는 것을 포팅이라고 한다. 예를 들면, SPARC 워크스테이션에서 ARM 용 컴파일러를 구현한다면 SPARC 은 주기계(host machine)이 되며 ARM 은 목표기계(target machine)이 된다. 그리고 여기서 생성된 ARM 용 컴파일러(이 컴파일러는 SPARC 에서 수행된다.)를 GNU C 컴파일러에서는 크로스 컴파일러(cross compiler)라고 한다. GNU C 포팅은 다양한 목표기계에서 가능하지만, 모든 머신에서 가능한 것은 아니다. 예를 들어, MIPS 전용 어셈블러를 사용하는 MIPS 용 크로스 컴파일러를 GNU C 컴파일러를 포팅하여 구현하는 것은 불가 능하다. 그 이유는 GNU C 컴파일러의 일부 코드가 MIPS 컴퓨터 상에서만 컴파일되기 때문이다. 그러나 만약, MIPS용 GNU 어셈블러와 링커를 사용한다면 크로스 컴파일러의 생성이 가능하다. (어셈블러와 링 커에 관한 내용은 컴파일러에 관한 강좌가 끝난 후에 이어진다.) 주기계와 목표기계의 부동 소수점 형식이 다른 경우 크로스 컴파일러가 정상적으로 동작하지 않을 수도 있다. 또 두 머신에서 워드의 크기가 달라지는 경우에도 문제점이 발생할 수 있다. 따라서 이와 같은 경 우에는 주의가 요망된다. GNU C 컴파일러의 포팅은 컴파일러 후위부 (back end) 작성 단계, 컴파일 환경 설정 단계, 컴파일러 생 성단계로 구성된다. -2-

3 (1) 컴파일러의 후위부 (back end) 작성 단계 컴파일러의 코드 생성은 목표기계에 따라서 크게 달라지기 때문에 목표기계에 대한 정확하고 충실한 정 보가 요구된다. 이때 컴파일러가 목표기계를 모두 이해할 필요는 없으며, 컴파일러 입장에서 필요한 정 보만 제공되면 된다. GNU C 컴파일러는 코드 생성에 필요한 정보를 목표 설명 매크로(target description macro)와 머신 설명(machine description)을 통하여 얻게 된다. 새로 생성되는 GNU C 컴파일러는 목표기계 의 정보를 코드로 가지고 있는데, 이것은 최적화 과정에서 목표기계의 정보를 필요로 하기 때문이다. 가) 목표 설명 매크로(target description macro) 목표기계의 하드웨어적인 특성에 관한 정보를 나타낸다. 목표기계의 이름이 machine 이라면 machine.h 란 이름의 파일에 각종 정보들이 기술된다. 여기에는 엔디안(endian), 한 워드당의 비트수, 레지스터 정보, 스택 구성, 분기 방식등 하드웨어에 밀접하게 관련된 정보들이 #define 으로 정의된 매크로의 형식으 로 표현된다. 그림 2는 목표 설명 매크로의 일부 내용이다. #define BYTES_BIG_ENDIAN 1 #define BITS_PER_UNIT 16 #define BITS_PER_WORD 16 #define POINTER_SIZE 16 #define STACK_BOUNDARY 16 그림 2. 목표 설명 매크로 목표 설명 매크로에는 500 개 이상의 매크로가 존재하지만, 이 것들을 모두 정의할 필요는 없고 목표기 계와 관련된 매크로들만 정의하면 된다. 실제로 포팅하는 과정에서 매크로들의 의미를 정확히 파악하고 모두 다 독자적으로 정의하는 것은 상당 히 힘든 작업이다. 따라서 가능하면 이미 컴파일러가 포팅된 기계 중에서 목표기계와 유사한 구조를 가 지는 기계를 골라, 그 컴파일러의 목표 설명 매크로에서 시작하여, 달라지는 부분을 수정해 나가는 방식 을 취하는 것이 바람직하다. 이미 다양한 목표기계에 대하여 GNU C 컴파일러가 포팅되어 있기 때문에 사용자가 원하는 목표기계와 유사한 구조를 지진 것을 찾는 것은 그다지 어렵지 않을 것이다. 나) 머신 설명(machine description) 머신 설명 매크로가 하드웨어의 구조에 관련된 정보를 제공하는 것이라면, 머신 설명은 기계에서 제공 되는 명령어들의 종류와 동작에 관련된 정보를 제공하는 역할을 한다. 그림 3은 머신 설명 파일의 일부 분으로 각각 C 원시코드(source code)에서 사용된 덧셈 연산과 부동소수점 수의 부호를 변경하는 연산은 어떤 머신 명령어로 변환되어야 하는 가를 기술하고 있다. -3-

4 (define_insn addsi3 [(set (match_operand:si 0 register_operand =r ) (plus:si (match_operand:si 1 register_operand %r ) (match_operand:si 2 register_operand r )))] add %0, %1, %2 [(set_attr type arith )]) (define_expand negsf2 [(set (match_dup 2) (match_dup 3)) (parallel [(set (match_operand:sf 0 register_operand =r ) (neg:sf (match_operand:sf 1 register_operand 0 ))) (use (match_dup 2))])] operands[2] = gen_reg_rtx(simode); operands[3] = GEN_INT(0x ); ) 그림 3. 머신 설명 파일 머신 설명은 RTL 형식으로 작성되며 목표기계가 가지고 있는 명령어들을 자세하게 기술한다. 이 파일은 여러 개의.c 및.h 파일로 변환된다. 이렇게 변환된 파일들은 GNU C 컴파일러 원시 프로그램(source code)과 함께 컴파일되어 최종적인 컴파일러가 만들어 진다. (2) 컴파일 환경 설정 단계 목표 설명 매크로 파일과 머신 설명 파일을 작성한 후, 이 것들을 GNU C 원시 프로그램과 함께 컴파일 하려면 여러 가지 컴파일 환경을 적절히 설정해야 한다. 작성된 목표 설명 매크로 파일과 머신 설명 파일을 적절한 위치에 저장하여야 한다. GNU C 컴파일러의 원시 프로그램들이 담긴 디렉토리를 보면, config 라는 서브디렉토리를 찾을 수 있고 이 곳에 들어 가면 각종 목표 기계의 이름을 가진 디렉토리들을 발견하게 된다. 여기에 SimpleCore 라는 이름으로 디렉토 리를 만든다. 그리고 만들어진 SimpleCore 디렉토리 안에 목표 설명 매크로 파일과 머신 설명 파일을 저장한다. 다음으로 크로스 컴파일러를 지원할 여러 툴들과 라이브러리 파일을 적절한 위치에 저장한다. 어셈블러 와 링커가 있다면 ~/SimpleCore/bin 저장하도록 한다. 이때 각 프로그램은 다음과 같은 이름으로 저장 되어야 한다.! as : 어셈블러! ld : 링커! ar : 압축기(archiver)로 목표기계의 형식에 맞게 압축 파일를 다루는 프로그램! ranlib : 압축파일에서 심볼 테이블을 생성하는 프로그램 크로스 컴파일러에서 사용할 수 있는 표준 C 라이브러리가 있으면, ~/SimpleCore/lib 디렉토리에 저장한 다. 또 crt0.o 나 crtn.o 와 같은 시작 파일(startup file : C 의 main 함수가 수행되기 전에 초기화를 위하여 수행되어야 하는 라이브러리 프로그램)들도 이 디렉토리에 저장한다. 표준 C 라이브러리 함수의 프로토 타이핑 정보를 갖는 표준 헤더 파일들은 ~/SimpleCore/include 디렉토리에 저장한다. -4-

5 크로스 컴파일러를 개발할 때 중요하게 대두되는 문제는 라이브러리이다. 예를 들어, 고정소수점만을 지 원하는 DSP 프로세서용 컴파일러를 개발할 때 C 프로그램 상의 부동소수점 연산을 지원하기 위해서는 소프트웨어적으로 부동소수점 연산을 처리하는 라이브러리 함수를 제공하여야 한다. GNU C 컴파일러에 서 이런 소프트웨어 라이브러리를 사용하려면, libgcc1.a 라는 이름의 라이브러리를 컴파일러 개발자가 제공해야 한다. GNU C 컴파일러에서는 부동소수점 연산을 고정 소수점 연산으로 에뮬레이션해주는 C 라이브러리 함수를 적절히 수정함으로써 라이브러리 libgcc1.a 를 개발할 수 있다. 라이브러리를 등록한 후, config.sub 와 configure 라는 스크립트 파일에서 목표기계인 SimpleCore 에 관련 된 정보를 등록하여야 한다. 이스크립트들은 후에 Makefile 을 생성하는데 사용된다. 수정 부분은 그림 4 와 그림 5은 각각 config.sub 와 configure 파일에서 수정되어야 하는 부분을 보이고 있다. cpu_type =`echo $machine sed 's/-.*$//'` case $machine in SimpleCore*-*-*) cpu_type = SimpleCore ;; alpha*_*_*) cpu_type = alpha ;; 그림 4. config.sub 의 수정 -5-

6 case $basic_machine in. tahoe i860. \. \ spac spaclet SimpleCore) tm_file=${cpu_type}/${cpu_type}.h xm_file=${cpu_type}/xm-${cpu_type}.h case $machine in SimpleCore-*-*) tm_file=${cpu_type}/simplecore.h xm_file=${cpu_type}/xm-simplecore.h tmake_file=t-simplecore use_collect2=yes ;; 그림 5. configure 의 수정 /user/home/example SimpleCore/ info/ lib/ man/ bin/ include/ gcc-lib/ man1/ SimpleCore/ / include 그림 6. GNU C 컴파일러의 설치 (3) 컴파일러 생성 단계 컴파일 환경 설정이 완료되면, GNU C 컴파일러 원시 프로그램을 컴파일하여 목표기계를 위한 GNU C 컴 파일러를 생성한다. 여기서는 UNIX 운영체제 상에서 GNU C 컴파일러를 생성하는 과정에 대하여 설명한 다.! make distclean 을 수행한다. 이 명령은 Makefile 을 포함하여 이전 컴파일에서 생성된 모든 파일을 삭제한다.! configure 스크립트를 수행하여 개발 기계(build machine), 주기계, 목표기계를 설정한다. 이 스크립트 를 수행할 때 target=simplecore prefix=~/simplecore 라는 옵션을 주도록 한다. 앞의 옵션은 목표 -6-

7 머신을 지정하는 옵션이다. 그리고 prefix=~/simplecore 옵션 은 컴파일러가 설치되는 위치를 지 정한다. 이 스크립트의 결과로 Makefile, config.h, tconfig-h, tm.h 등이 생성된다.! make LANGUAGES=c 명령을 수행한다. LANGUAGES=c 는 C 컴파일러만을 생성하기 위한 것이다. 이 명령을 수행하면 앞에서 생성된 파일들을 이용하여 크로스 컴파일러가 만들어 진다.! 마지막으로 make LANGUAGES=c install 명령을 사용하여 만들어진 컴파일러를 설치한다. 컴파일러가 성공적으로 설치되면, 최종적으로 그림 6과 같은 디렉토리가 구성된다. C 컴파일러인 cc1 과 선행처리기인 cpp 는 ~/SimpleCore/lib/gcc-lib/SimpleCore/version/ 디렉토리에 설치되며 컴파일러 드라이 버인 gcc 는 ~/SimpleCore/lib/gcc-lib/SimpleCore/bin/ 에 설치된다. [참고문헌] # V. Aho, M. R. Sethi, and J. D. Ullman, Compiler Principles, Techniques, and Tools, Addison-Wesly, Reading, MA, # R. M. Stallman, Using and Porting GNU CC for version 2.6, Free Software Foundation Inc., # 황승호, 이대현, 이종열, 컴파일러 개발 GNU C 컴파일러 포팅을 중심으로, 시그마프레스, 2001 * 다음 회에 계속됩니다. 다음 호에서는 Machine description 과 Target machine macro 를 작성하여 Cross compiler 를 생성하는 과정을 설명합니다. 본 강좌에서 사용된 예제는 홈페이지( 통해서 제공됩니다. -7-

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

Microsoft 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 information

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

Microsoft 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 information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Development Environment 2 Jo, Heeseung make make Definition make is utility to maintain groups of programs Object If some file is modified, make detects it and update files related with modified one It

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<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

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 DEVELOPMENT ENVIRONMENT 2 MAKE Jo, Heeseung MAKE Definition make is utility to maintain groups of programs Object If some file is modified, make detects it and update files related with modified one 2

More information

LXR 설치 및 사용법.doc

LXR 설치 및 사용법.doc Installation of LXR (Linux Cross-Reference) for Source Code Reference Code Reference LXR : 2002512( ), : 1/1 1 3 2 LXR 3 21 LXR 3 22 LXR 221 LXR 3 222 LXR 3 3 23 LXR lxrconf 4 24 241 httpdconf 6 242 htaccess

More information

Adobe Flash 취약점 분석 (CVE-2012-0754)

Adobe Flash 취약점 분석 (CVE-2012-0754) 기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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

Microsoft PowerPoint - PL_03-04.pptx

Microsoft 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 information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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 information

Microsoft PowerPoint - 15-MARS

Microsoft PowerPoint - 15-MARS MARS 소개및실행 어셈블리프로그램실행예 순천향대학교컴퓨터공학과이상정 1 MARS 소개및실행 순천향대학교컴퓨터공학과 2 MARS 소개 MARS MIPS Assembler and Runtime Simulator MIPS 어셈블리언어를위한소프트웨어시뮬레이터 미주리대학 (Missouri State Univ.) 의 Ken Vollmar 등이자바로개발한교육용시뮬레이터

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft 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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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 information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

형식 언어

형식 언어 컴파일러개요 아주대학교정보및컴퓨터공학부 목차 컴파일러란 프로그래밍언어 관련프로그램들 컴파일러의일반적인구조 컴파일러자동화도구 Compiler 2 컴파일러란 Compiler A compiler is a computer program which translates programs written in a particular high-level programming

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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 information

Chapter ...

Chapter ... 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 information

/chroot/lib/ /chroot/etc/

/chroot/lib/ /chroot/etc/ 구축 환경 VirtualBox - Fedora 15 (kernel : 2.6.40.4-5.fc15.i686.PAE) 작동 원리 chroot유저 ssh 접속 -> 접속유저의 홈디렉토리 밑.ssh의 rc 파일 실행 -> daemonstart실행 -> daemon 작동 -> 접속 유저만의 Jail 디렉토리 생성 -> 접속 유저의.bashrc 의 chroot 명령어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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 information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

제 호 년 제67차 정기이사회, 고문 자문위원 추대 총동창회 집행부 임원 이사에게 임명장 수여 월 일(일) 년 월 일(일) 제 역대 최고액 모교 위해 더 확충해야 강조 고 문:고달익( 1) 김병찬( 1) 김지훈( 1) 강보성( 2) 홍경식( 2) 현임종( 3) 김한주( 4) 부삼환( 5) 양후림( 5) 문종채( 6) 김봉오( 7) 신상순( 8) 강근수(10)

More information

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

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

¾Ë±â½¬¿îÀ±¸®°æ¿µc03ÖÁ¾š

¾Ë±â½¬¿îÀ±¸®°æ¿µc03ÖÁ¾š & 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 & 27 28 29 30 31 32 33 34 35 36 37 38 & 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 & 55 56 57 58 59 60 61 62 63

More information

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

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

Mango220 Android How to compile and Transfer image to Target

Mango220 Android How to compile and Transfer image to Target Mango220 Android How to compile and Transfer image to Target http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys

More information

딥러닝 첫걸음

딥러닝 첫걸음 딥러닝첫걸음 4. 신경망과분류 (MultiClass) 다범주분류신경망 Categorization( 분류 ): 예측대상 = 범주 이진분류 : 예측대상범주가 2 가지인경우 출력층 node 1 개다층신경망분석 (3 장의내용 ) 다범주분류 : 예측대상범주가 3 가지이상인경우 출력층 node 2 개이상다층신경망분석 비용함수 : Softmax 함수사용 다범주분류신경망

More information

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

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

1차내지

1차내지 1»` 1904.1.1 10:39 AM ` 1 1»` 1904.1.1 10:39 AM ` 2 1»` 1904.1.1 10:39 AM ` 3 1»` 1904.1.1 10:39 AM ` 4 1»` 1904.1.1 10:39 AM ` 5 1»` 1904.1.1 10:39 AM ` 6 1»` 1904.1.1 10:39 AM ` 7 1»` 1904.1.1 10:39

More information

lex-yacc-tutorial.hwp

lex-yacc-tutorial.hwp 컴파일러 구성을 위한 대표적 소프트웨어 도구인 Lex(또는 Flex)와 Yacc(또는 Bison) 입문: Windows 환경에서 김도형(성신여자대학교 IT학부) 0. 소개 (1) Lex와 Yacc은 무엇인가? 컴파일러의 구성을 도와주는 대표적인 소프트웨어 도구들이다. 원래 UNIX의 산실인 벨 연구소(AT&T Bell Laboratories)에서 UNIX 시스템의

More information

3차시.ppt

3차시.ppt [ 정보처리기능사필기] 1 과목 - 전자계산기일반 1 / 10 정보처리기능사 ( 필기 ) 1 과목. 전자계산기일반컴퓨터시스템의구성 2 1. 컴퓨터의기본구성 컴퓨터의기본구성 컴퓨터 = + (Hardware) 컴퓨터기계 (Software 를움직여주는프로그램 [ 정보처리기능사필기] 1 과목 - 전자계산기일반 2 / 10 2. (Hardware) -Hardware

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt AMESim Install Routine and License Manager Tel : +82-31-608-0434 Fax : +82-31-608-0439 E-mail :support@shinho-systems.co.kr http://www.shinho-systems.co.kr Ssangyong IT Twin Tower 702, Sandaewon-dong,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

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

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU

More information

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java(  혹은   에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을 안드로이드설치및첫번째예제 안드로이드설치 안드로이드개발킷은안드로이드개발자사이트 (http://developer.android.com/) 에서다운로드받을수있으며현재 1.5 버전으로윈도우즈, 맥 OS X( 인텔 ), 리눅스플랫폼패키지가링크되어져있다. 안드로이드개발킷을설치하기위해서는다음과같은시스템환경이갖추어져있어야한다. 플랫폼 Windows Mac Linux 지원환경

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 공개 SW 솔루션설치 & 활용가이드 시스템 SW > 가상화 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리 - 3-1.

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o

More information

Microsoft Word - FunctionCall

Microsoft 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

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조 운영체제실습 소프트웨어관리 2016. 6 표월성 passwd74@naver.com cherub.sungkyul.ac.kr 목차 Ⅶ. 소프트웨어관리 1. 소스코드컴파일을이용한소프트웨어설치 2. RPM패키지를이용한소프트웨어설치 3. YUM패키지를이용한소프트웨어설치 4. APT패키지를이용한소프트웨어설치 5. Telnet서버설치 6. ssh서버 (openssh) 설치

More information

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

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

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

Microsoft PowerPoint - ICCAD_Digital_lec02.ppt [호환 모드] IC-CAD CAD 실험 Lecture 2 장재원 주문형반도체 (ASIC * ) 설계흐름도개요 Lecture 1 REVIEW ASIC Spec. Front-end design Logic design Logic synthesis Behavioral-level design Structural-level design Schematic editor *Analog 회로설계시

More information

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E. ASF(Atmel Software Framework) 환경을이용한프로그램개발 1. New Project Template 만들기 A. STK600 Board Template를이용한 Project 만들기 i. New Project -> Installed(C/C++) -> GCC C ASF Board Project를선택하고, 1. Name: 창에 Project Name(

More information

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770>

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770> Windows 환경에서의 OpenSSL 설치 (Visual Studio 에서 OpenSSL 라이브러리사용하기 ) 문서최초작성일 : 2007-06-21 < Ver 0.1 > 문서작성자 : 정은석이메일주소 : EunSeok.Jeong@Gmail.com 본설치매뉴얼은 Windows 플랫폼상에서 OpenSSL를어떻게설치하고 Visual Studio에서이라이브러리를어떻게사용하는지알려주기위하여작성하였습니다.

More information

초보자를 위한 C++

초보자를 위한 C++ C++. 24,,,,, C++ C++.,..,., ( ). /. ( 4 ) ( ).. C++., C++ C++. C++., 24 C++. C? C++ C C, C++ (Stroustrup) C++, C C++. C. C 24.,. C. C+ +?. X C++.. COBOL COBOL COBOL., C++. Java C# C++, C++. C++. Java C#

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

망고100 보드로 놀아보자-5

망고100 보드로 놀아보자-5 망고 100 보드로놀아보자 -6 U-boot build 환경분석 U-boot build 환경분석 Board/$(Vendor)/$(BOARD)/Config.mk 파일분석 (U-boot 가실행하는주소정의 ) ifndeftext_base //TEXT_BASE = 0xc7e00000 :MMU 사용 TEXT_BASE = 0x2fe00000 # Physical Address

More information

Microsoft Word - Network Programming_01.docx

Microsoft Word - Network Programming_01.docx 1. Environment 4/35 1. Environment 본장에서는기본적으로네트워크프로그래밍을수행하기위한기본적인환경을구축하는실습을다루도록하겠다. 본실습에서는기본적으로프로그래밍플랫폼인리눅스의서비스중하나인 Samba Server와프로그래밍을구조적으로할수있게도와주는 Source Insight를사용하는방법을다루도록한다. 1.1 Samba Server 를통한 Linux

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

Microsoft PowerPoint - ARM 개발 환경.ppt

Microsoft PowerPoint - ARM 개발 환경.ppt ARM 개발환경 Yongjin Kim CASP Lab. Hanyang Univ. yjkim@casp.hanyang.ac.kr 1 대의 PC 를위한개발환경 (1) JTAG 1 Parallel cable 4 Host PC (Window 또는 Linux) 1. JTAG 2 Serial SMC S3C2410x Hardware 개발환경 3 NOR Flash (Boot

More information

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/2015 1. Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. 2. Installation 2.1. For Debian GNU/Linux 국내에서사용되는컴퓨터들의

More information

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도 1. 도구개요 소개 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도하는방향으로 정확히작동하는지검증할수있도록하는 Unit test Library Framework. 주요기능 C++ 프로그램의 unit testing

More information

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1 IP 심화 º 각 P 의게이트웨이는해당네트워크의마지막주소를사용한다. - P1 (210.220.10.1/26) 의게이트웨이 (5의 Fa0/0) : 210.220.10.63 /26 = 255.255.255.192 호스트비트수 : 32-26 = 6 비트 => = 64 그러므로 P1의 IP 210.220.10.1 중서브넷마스크에의거 26비트는변함이없고, 나머지 6비트가호스트비트로변하므로

More information

...... ....-....-155 09.1.20

...... ....-....-155 09.1.20 접지 접지 ISBN 978-89-6211-252-8 슈퍼컴퓨터가 만드는 디디컴 C M Y K 슈퍼컴퓨터가 만드는 C M Y K 슈퍼컴퓨터가 만드는 디디컴 uper 슈퍼컴퓨터가 만드는 발행일 슈퍼컴퓨터는 슈퍼맨처럼 보통의 컴퓨터로는 도저히 2008년 10월 3 1일 1쇄 발행 2009년 01월 30일 2쇄 발행 엄두도 낼 수 없는 대용량의 정보들을 아주 빠르게

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

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

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

More information

EA0015: 컴파일러

EA0015: 컴파일러 4 Flex 무엇을공부하나? " 어휘분석기 (lexical analyzer 혹은 scanner)" 는다음과같은과정을거쳐서프로그램된다. 1 토큰정의, 2 정규식으로표현, 3 NFA로변환, 4 DFA로변환, 5 프로그램작성 위과정은앞장에서배운바와같이기계적으로이루어질수있다. "Flex(Fast Lexical Analyzer)" 는컴파일러개발자를위하여위과정을자동으로처리해주는도구이다.

More information

슬라이드 1

슬라이드 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

Microsoft PowerPoint - DSD03_verilog3b.pptx

Microsoft PowerPoint - DSD03_verilog3b.pptx 한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 . 조합회로설계 2. 순차회로설계 3. FSM 회로설계 4. ASM 을사용한설계 한국기술교육대학교전기전자통신공학부 3 input clk 유한상태머신 (Finite State Machine; FSM) 지정된수의상태로상태들간의천이에의해출력을생성하는회로 디지털시스템의제어회로구성에사용 Moore 머신 :

More information

슬라이드 1

슬라이드 1 TCPdump 사용법 Neworks, Inc. (Tel) 070-7101-9382 (Fax) 02-2109-6675 ech@pumpkinne.com hp://www.pumpkinne.co.kr TCPDUMP Tcpdump 옵션 ARP 정보 ICMP 정보 ARP + ICMP 정보 IP 대역별정보 Source 및 Desinaion 대역별정보 Syn 과 syn-ack

More information

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

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

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 - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx 2.4 명령어세트 (instruction set) 명령어세트 CPU 가지원하는기계어명령어들의집합 명령어연산의종류 데이터전송 : 레지스터 / 메모리간에데이터이동 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈 논리연산 : 비트들간의 AND, OR, NOT 및 XOR 연산 입출력 (I/O) : CPU( 레지스터 ) 와외부장치들간의데이터이동 프로그램제어 : 분기, 서브루틴호출

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.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 information

04 Çмú_±â¼ú±â»ç

04 Çмú_±â¼ú±â»ç 42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.

More information

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap12-고급기능.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 information

제4장 기본 의미구조 (Basic Semantics)

제4장  기본 의미구조 (Basic Semantics) 제 4 장블록및유효범위 Reading Chap. 5 숙대창병모 1 4.1 변수선언및유효범위 숙대창병모 2 변수선언과유효범위 변수선언 Declaration before Use! 대부분의언어에서변수는사용전에먼저선언해야한다. 변수의유효범위 (scope) 선언된변수가유효한 ( 사용될수있는 ) 프로그램내의범위 / 영역 변수이름뿐아니라함수등다른이름도생각해야한다. 정적유효범위

More information

작성자 : 기술지원부 김 삼 수

작성자 : 기술지원부 김 삼 수 작성자 : 기술지원부김삼수 qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. (

More information

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx OOPT Stage 2040 - Design Feesual CPT Tool Project Team T8 Date 2017-05-24 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1. Activity 2041. Design Real Use

More information

Microsoft PowerPoint - 02-Development-Environment-1.ppt

Microsoft PowerPoint - 02-Development-Environment-1.ppt 개발환경 1 임베디드시스템소프트웨어 I 차례 개발환경 Host와 Target의연결 Host 및 target 사양 Toolchain이란, 설치방법 시험 Cross Compile Minicom 설정및사용방법 JTAG 설치및사용방법 Bootloader, kernel, file system flash 방법 개발환경 1 2 개발환경 Host 시스템 임베디드소프트웨어를개발하는시스템

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

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

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

PowerPoint Presentation

PowerPoint Presentation Lecture 01: Compiler Overview Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2019 강의정보 교과목명 : 컴파일러 개설학과 : 컴퓨터공학과 4학년 학점및시수 : 3학점 3시간 강의시간 :

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

Software Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현

Software Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현 Software Modeling < < OOAD Stage 1000 200611460 김정태 200611521 최정명 200611499 이낙원 200611481 송준현 Activity. 1001 Name?? Act 1001 Name?? Smart DJ Coffee Maker! Act 1001 Turn Table!! 연속적으로

More information

Computer Architecture

Computer Architecture 명령어의구조와주소지정방식 명령어세트명령어의형식주소지정방식실제명령어의형태 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 2 연산종류 (operation repertoire) CPU 가수행할연산들의수와종류및복잡도

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

10X56_NWG_KOR.indd

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

More information

1

1 04단원 컴퓨터 소프트웨어 1. 프로그래밍 언어 2. 시스템 소프트웨어 1/10 1. 프로그래밍 언어 1) 프로그래밍 언어 구분 각종 프로그래밍 언어에 대해 알아보는 시간을 갖도록 하겠습니다. 우리가 흔히 접하는 소프트웨어 들은 프로그래밍 언어로 만들어지는데, 프로그래밍 언어는 크게 2가지로 나눌 수 있습니다. 1 저급어 : 0과 1로 구성되어 있어, 컴퓨터가

More information

ÀÌ·¯´×_³»Áö1-1ÃÖÁ¾

ÀÌ·¯´×_³»Áö1-1ÃÖÁ¾ 2010년 기업학습 우수사례집 발간사 CONTENTS Section 1 MINI CASE 08 23 46 68 83 89 95 Section 2 103 Section 3 116 Section 4 138 154 Section 5 167 183 MINI CASE 205 SECTION 01 Mini Case Section 01 CONTENTS Section

More information

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기 Mango-IMX6Q mfgtool 을 이용한이미지 Write 하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document

More information