신규강사모집 바로가기
자유게시판 바로가기
Q&A 바로가기
Live 방송 시청 및 Online 방송 시청 시
  • Live 방송 시청 시 시작일 4일 전까지 신청 하셔야 합니다.
  • Live 방송 시청 및 Online 시청은 Membership 내정보 / 강의보기 에서 신청하신 과정을 보실 수 있습니다.
  • Live 방송 및 Online 시청은 신청 인원에 제한이 없습니다.
강의 소개
컴파일러가 과거부터 현재까지 지속적으로 업그레이드 되어 왔음에도 불구하고 여전히 컴파일러를 최적화 하지 못하는 부분이 많이 있습니다. 또한 최적화의 문제를 떠나 인터럽트를 활성화 하거나 비활성화하는 특정한 동작을 지원하기 위해서는 어셈블리 프로그래밍이 필요합니다. 또한 컴파일러가 벡터 처리나 병렬 처리에 대한 부분을 완벽하게 자동화하지 못하므로 Codec(코덱)등에서 벡터 처리등을 수행하기 위한 NEON 어셈블리 프로그래밍에 대해서도 다룹니다.

[강의 요약]
C언어와 ARM 어셈블리 기본
리눅스 커널의 인터럽트 활성화 루틴 코드 분석
어셈블리 레벨에서 부동 소수점 처리
멀티미디어 제어를 위한 NEON 어셈블리

ARM 어셈블리 환경 구축

x86 인텔 머신에서 ARM 어셈블리를 즉각 테스트 해보고 디버깅 할 수 있는 환경을 구축합니다.

  1. 1) ARM 어셈블리 환경 구축
  2. 2) gdbinit 스크립트 구성
실제 하드웨어 장비 없이도 ARM 어셈블리에 대한 실습을 수행 할 수 있는 환경을 구축하여 ARM 어셈블리에 대해 학습하실 수 있습니다.

ARM Calling Convention

가장 기본적인 데이터 처리와 관련된 ARM 어셈블리 코드를 작성하고 Load/Store 아키텍처가 무엇인지 살펴보며 ARM 머신과 Intel 머신의 차이점을 살펴봅니다.

  1. 1) ARM 어셈블리 I
  2. 2) Load/Store 아키텍처
  3. 3) ARM vs Intel
본격적인 인라인 어셈블리를 작성하여 코드를 작성하고 Load/Store 아키텍처에 대해 살펴보고 Intel과 구체적으로 어떤 차별점이 존재하는지에 대해 살펴보실 수 있습니다.

C기반 행렬 프로그래밍

추가적으로 알아두면 좋은 ARM 어셈블리 코드를 작성하고 ARM에서 시스템 콜 처리(소프트웨어 인터럽트), 함수 호출등을 어떻게 하는지 학습하는 시간입니다.

  1. 1) ARM 어셈블리 II
  2. 2) 함수 호출 규약
본격적인 인라인 어셈블리를 작성하여 코드를 작성하고 이에 대해 ARM gdb와 gcc를 사용하여 빌드하고 분석하며 Calling Convention에 대해 학습하실 수 있습니다.

Vectorization(벡터화)와 병렬처리의 관계, CPU 발전사

벡터화란 무엇인지 벡터화와 병렬처리는 어떤 관계에 놓여 있는지 CPU는 어떤 흐름을 통해 발전했는지 학습합니다.

  1. 1) CPU 발전사
  2. 2) 벡터화와 병렬 처리 개요
해당 세션을 통해 현재까지 CPU의 발전 흐름에 대해 살펴보고, 벡터화와 병렬 처리와의 관계성에 대해 학습하실 수 있습니다.

NEON 어셈블리 기초

NEON이 제공하는 벡터화 어셈블리 기능들을 이론으로 살펴보고 실제 프로그래밍하여 활용법을 학습합니다.

  1. 1) NEON 어셈블리 기본
  2. 2) NEON 인라인 어셈블리 활용
NEON에서 지원하는 다양한 인라인 어셈블리 코드의 사용법에 대해 학습하고 실제 코드에 적용하는 시간입니다.

NEON 어셈블리를 활용한 영상 처리

실제 NEON의 병렬처리 어셈블리를 활용하여 영상 처리를 해보고 기존에 영상 처리하는 코드와의 성능 차이 벤치마크를 가볍게하여 NEON 어셈블리의 우수성을 확인합니다.

  1. 1) C/C++ 기반 영상 처리
  2. 2) NEON 어셈블리 영상 처리
  3. 3) 성능 벤치마크
C/C++로 작성한 영상 처리 코드와 NEON 어셈블리로 작성한 영상 처리 코드의 벤치마크를 통해 NEON 어셈블리의 우수성을 확인하실 수 있습니다.
강사 소개
이상훈대표
현) 에디로봇아카데미
약력 및 전문 분야
2020년 창조경제혁신센터 주관 사업 최우수 달성
에디 로봇 아카데미 운영
Binary Translator 컴파일러 개발
삼성전자 무선사업부 IoT 교육 외 다수 기업 교육
FPGA 기반 초고속 데이터 처리 서버 개발
차량용 임베디드 리눅스 시스템 개발
차량용 레이다 신호처리 S/W 개발
DC-DC 컨버터 설계
FPGA 기반 모터 제어 외주 개발
TMS570, STM32, NXP 펌웨어(RTOS포함) 개발
임베디드 마스터 과정 및 자율주행 과정 강의(비트교육센터, 한국아이티기술, 헤스트, 한국산업기술대 외 다수)
과학기술정보통신부 혁신성장 인공지능 전문 교육(비트교육센터)
웹 애플리케이션 개발 과정 교육(비트교육센터, KH정보교육원)
강의장 안내주소 : 서울 구로구 디지털로34길 43 (구로동, 코오롱싸이언스밸리1차) 405호
ARM 어셈블리 프로그래밍
일자
2021.08.19(목)~2021.08.20(금)
시간
9:30 ~ 14:30
강사
이상훈 대표
장소
서울 구로구 디지털로34길 43 (구로동, 코오롱싸이언스밸리1차) 405호
가격
790,000원
참여 방법 선택