• 제목/요약/키워드: Instruction code

검색결과 145건 처리시간 0.021초

Exploiting Thread-Level Parallelism in Lockstep Execution by Partially Duplicating a Single Pipeline

  • Oh, Jaeg-Eun;Hwang, Seok-Joong;Nguyen, Huong Giang;Kim, A-Reum;Kim, Seon-Wook;Kim, Chul-Woo;Kim, Jong-Kook
    • ETRI Journal
    • /
    • 제30권4호
    • /
    • pp.576-586
    • /
    • 2008
  • In most parallel loops of embedded applications, every iteration executes the exact same sequence of instructions while manipulating different data. This fact motivates a new compiler-hardware orchestrated execution framework in which all parallel threads share one fetch unit and one decode unit but have their own execution, memory, and write-back units. This resource sharing enables parallel threads to execute in lockstep with minimal hardware extension and compiler support. Our proposed architecture, called multithreaded lockstep execution processor (MLEP), is a compromise between the single-instruction multiple-data (SIMD) and symmetric multithreading/chip multiprocessor (SMT/CMP) solutions. The proposed approach is more favorable than a typical SIMD execution in terms of degree of parallelism, range of applicability, and code generation, and can save more power and chip area than the SMT/CMP approach without significant performance degradation. For the architecture verification, we extend a commercial 32-bit embedded core AE32000C and synthesize it on Xilinx FPGA. Compared to the original architecture, our approach is 13.5% faster with a 2-way MLEP and 33.7% faster with a 4-way MLEP in EEMBC benchmarks which are automatically parallelized by the Intel compiler.

  • PDF

병렬유전알고리즘을 응용한 대규모 전력계통의 최적 부하배분 (Optimal Economic Load Dispatch using Parallel Genetic Algorithms in Large Scale Power Systems)

  • 김태균;김규호;유석구
    • 대한전기학회논문지:전력기술부문A
    • /
    • 제48권4호
    • /
    • pp.388-394
    • /
    • 1999
  • This paper is concerned with an application of Parallel Genetic Algorithms(PGA) to optimal econmic load dispatch(ELD) in power systems. The ELD problem is to minimize the total generation fuel cost of power outputs for all generating units while satisfying load balancing constraints. Genetic Algorithms(GA) is a good candidate for effective parallelization because of their inherent principle of evolving in parallel a population of individuals. Each individual of a population evaluates the fitness function without data exchanges between individuals. In application of the parallel processing to GA, it is possible to use Single Instruction stream, Multiple Data stream(SIMD), a kind of parallel system. The architecture of SIMD system need not data communications between processors assigned. The proposed ELD problem with C code is implemented by SIMSCRIPT language for parallel processing which is a powerfrul, free-from and versatile computer simulation programming language. The proposed algorithms has been tested for 38 units system and has been compared with Sequential Quadratic programming(SQP).

  • PDF

컴퓨팅 사고력 신장을 위한 SW 개발 프로세스 탐구 (A Study on SW Development Process for Increasing Computational Thinking)

  • 유인환
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제5권2호
    • /
    • pp.51-58
    • /
    • 2016
  • 최근 SW 교육의 중요성이 강조되고 있으며, 앱 인벤터는 SW 교육의 도구로써 주목받고 있다. 본 연구에서는 디자인기반학습 모형에 기반을 두고 여기에 컴퓨팅 사고력 계발을 위한 요소를 통합하여 앱 인벤터 학습 모형을 개발하였다. 그리고 이 모형에 따라 학생을 지도하고 학생이 작품을 제작한 과정과 변화를 분석하였다. 학생은 앱을 개발하는 과정에서 문제를 파악하고 해결하는 방안을 절차적으로 고안하고 이를 코드로 직접 구현하는 실제적인 경험을 통해 성취감과 자신감을 얻는 모습이 보였다.

학령전기 입원 아동의 보호자를 위한 QR 코드를 활용한 스마트폰 기반의 흡입요법 교육 자료 개발 (Development of Smart Phone-based Nebulizer Educational Material Using QR Cord for Parents of Hospitalized Preschool Children)

  • 조유리;황희전;조은진;황윤정;현정화;고우리;최소연;이종란
    • 부모자녀건강학회지
    • /
    • 제22권1호
    • /
    • pp.1-9
    • /
    • 2019
  • Purpose: The purpose of this study is to develop educational material for parents of hospitalized preschool children who receive nebulizer therapy treatment. The educational material is aimed at providing information on the correct use of nebulizer. Methods: The development of educational material was based on the ADDIE model and consists of an A4-sized leaflet and a video. Results: The leaflet included basic information, procedures, and cautionary information for nebulizer therapy, as well as frequently asked questions. The one minute and fifty second video is accessed via QR code and provides step-by-step instruction on nebulizer therapy. Conclusion: This study recommends that the educational leaflet and video developed for nebulizer therapy use be provided to parents of preschool children hospitalized in the pediatric ward.

Windows API 후킹 기법을 통한 C&C Zeus에 감염된 시스템의 탐지 (Detection of systems infected with C&C Zeus through technique of Windows API hooking)

  • 박철우;손지웅;황현기;김기창
    • 예술인문사회 융합 멀티미디어 논문지
    • /
    • 제5권2호
    • /
    • pp.297-304
    • /
    • 2015
  • Zeus는 전 세계적으로 널리 퍼진 멀웨어 중 하나이다. 일반적으로 인터넷 상에서 특정 바이너리 파일을 다운 받아 실행함으로써 감염이 되며, 감염이 되면 현재 실행 중인 프로세스들의 특정 Windows API에 후킹을 시도하여, 해당 프로세스가 API를 실행하면 Zeus의 특정 코드를 실행하도록 변조가 되어 개인 정보들이 유출되도록 구성되어 있다. 본 논문에서는 Zeus의 기초 버전인 C&C(Command and Control)방식을 중심으로 Zeus가 어떤 방식으로 Windows API를 후킹하는지, 그리고 어떤 방법으로 후킹이 되었는지 탐지할 수 있는지 제시하여 현대의 P2P Zeus 탐지에 도움이 되고자 한다.

낮은 복잡도의 Deeply Embedded 중앙처리장치 및 시스템온칩 구현 (Low-Complexity Deeply Embedded CPU and SoC Implementation)

  • 박성정;박성경
    • 한국산학기술학회논문지
    • /
    • 제17권3호
    • /
    • pp.699-707
    • /
    • 2016
  • 중앙처리장치를 중심으로 하는 각종 내장형 시스템은 현재 각종 산업에 매우 광범위하게 쓰이고 있다. 특히 사물인터넷 등의 deeply embedded (심층 내장형) 시스템은 저비용, 소면적, 저전력, 빠른 시장 출시, 높은 코드 밀도 등을 요구한다. 본 논문에서는 이러한 요구 조건을 만족시키는 중앙처리장치를 제안하고, 이를 중심으로 한 시스템온칩 플랫폼을 소개한다. 제안하는 중앙처리장치는 16 비트라는 짧은 명령어로만 이루어진 확장형 명령어 집합 구조를 갖고 있어 코드 밀도를 높일 수 있다. 그리고, 다중사이클 아키텍처, 카운터 기반 제어 장치, 가산기 공유 등을 통하여 로직 게이트가 차지하는 면적을 줄였다. 이 코어를 중심으로, 코프로세서, 명령어 캐시, 버스, 내부 메모리, 외장 메모리, 온칩디버거 및 주변 입출력 장치들로 이루어진 시스템온칩 플랫폼을 개발하였다. 개발된 시스템온칩 플랫폼은 변형된 하버드 구조를 갖고 있어, 메모리 접근 시 필요한 클락 사이클 수를 감소시킬 수 있었다. 코어를 포함한 시스템온칩 플랫폼은 상위 언어 수준과 어셈블리어 수준에서 모의실험 및 검증하였고, FPGA 프로토타이핑과 통합형 로직 분석 및 보드 수준 검증을 완료하였다. $0.18{\mu}m$ 디지털 CMOS 공정과 1.8V 공급 전압 하에서 ASIC 프론트-엔드 게이트 수준 로직 합성 결과, 50MHz 동작 주파수에서 중앙처리장치 코어의 논리 게이트 개수는 7700 수준이었다. 개발된 시스템온칩 플랫폼은 초소형 보드의 FPGA에 내장되어 사물인터넷 분야에 응용된다.

VLIW 기반 고성능 DSP에서의 SAD 알고리즘 최적화 스케줄링 (Optimal Scheduling of SAD Algorithm on VLIW-Based High Performance DSP)

  • 유희재;정수환;정선태
    • 한국콘텐츠학회논문지
    • /
    • 제7권12호
    • /
    • pp.262-272
    • /
    • 2007
  • SAD(Sum of Absolute Difference) 알고리즘은 동영상 인코더에서 가장 많은 시간이 소용되는 것으로 잘 알려진 움직임 추정에서 가장 자주 계산이 수행되는 알고리즘으로, 동영상 인코딩 수행시간을 줄이기 위해서 우선적으로 최적화 구현되어야 하는 알고리즘이다. 본 논문에서는 VLIW 기반 고성능 DSP 프로세서에서의 조건 분기를 갖는 SAD 알고리즘의 최적 스케줄링 구현 방법을 제안한다. 제안 방법은 먼저 조건 분기를 갖는 중첩 루프를 VLIW 구조가 제공하는 ILP(Instruction Level Parallelism) 능력을 잘 활용할 수 있도록 충분한 크기의 루프 몸체를 가지며 또한 빨리 루프를 탈출 할 수 있는 조건 분기를 갖는 단일 루프로 변환한 후에, 모듈로 스케줄링 기법을 적용하여 VLIW 기반 프로세서에서 최적화 스케줄링 구현을 한다. 제안된 구현 방안을 TMS320C6713에서 구현하고, 코드 크기 및 수행 시간에 대한 성능 분석을 하였다. 구현된 최적화 SAD 루틴은 코드 크기도 크지 않아 임베디드 응용에 적합하며, 이 SAD 구현을 사용한 H.263 인코더가 그렇지 않은 H.263 인코더보다 훨씬 좋은 성능을 보임을 실험을 통해 확인하였다.

행위 그래프 기반의 변종 악성코드 탐지 (Metamorphic Malware Detection using Subgraph Matching)

  • 권종훈;이제현;정현철;이희조
    • 정보보호학회논문지
    • /
    • 제21권2호
    • /
    • pp.37-47
    • /
    • 2011
  • 네트워크 및 컴퓨터의 발전에 따라 악성코드 역시 폭발적인 증가 추이를 보이고 있으며, 새로운 악성코드의 출현과 더불어 기존의 악성코드를 이용한 변종 역시 큰 몫을 차지하고 있다. 특히 실행압축 기술과 코드 난독화를 이용한 변종들은 제작이 쉬울 뿐만 아니라, 자신의 시그너쳐 혹은 구문적 특징을 변조할 수 있어, 악성코드 제작자들이 널리 사용하는 기술이다. 이러한 변종 및 신종 악성코드를 빠르게 탐지하기 위해, 본 연구에서는 행위 그래프 분석을 통한 악성코드 모듈별 유사도 분석 기법을 제안한다. 우리는 우선 악성코드들에서 일반적으로 사용하는 2,400개 이상의 API 들을 분석하여 총 128개의 행위로 추상화 하였다. 또한 동적 분석을 통해 악성코드들의 API 호출 순서를 추상화된 그래프로 변환하고 부분 그래프들을 추출하여, 악성코드가 가진 모든 행위 부분 집합을 정리하였다. 마지막으로, 이렇게 추출된 부분 집합들 간의 비교 분석을 통하여 해당 악성코드들이 얼마나 유사한지를 분석하였다. 실험에서는 변종 을 포함한 실제 악성코드 273개를 이용하였으며, 총 10,100개의 분석결과를 추출하였다. 실험결과로부터 행위 그래프를 이용하여 변종 악성코드가 모두 탐지 가능함을 보였으며, 서로 다른 악성코드들 간에 공유되는 행위 모델 역시 분석할 수 있었다.

오류분석에 기반한 NXC 로봇프로그래밍 지원시스템의 개발 (Development of NXC Robot Programming Supporting System Based on Types of Programming Error)

  • 남재원;유인환
    • 정보교육학회논문지
    • /
    • 제15권3호
    • /
    • pp.375-385
    • /
    • 2011
  • 컴퓨터 교육은 기능 중심의 교육에서 창의력과 문제해결력을 신장시킬 수 있는 방향으로 전환되며 프로그래밍이 새롭게 주목받고 있다. 그러나 기존의 프로그래밍 교육은 여전히 문법 위주의 언어 지식 교육에 치우쳐 있어 한계가 있었다. 로봇 프로그래밍은 그 자체가 문제해결과정이며 프로그래밍 결과를 로봇이라는 구체물을 통해 직접 확인할 수 있으므로 학습자들의 흥미와 동기유발에 도움을 줄 수 있다. 그러나 실제 로봇 프로그래밍 교육을 실시해 보면 학습자들이 여러 가지 오류 때문에 어려움에 직면하는 것을 볼 수 있다. 따라서 본 연구에서는 로봇 프로그래밍에서 학습자들이 발생시키는 오류들을 유형별로 나누어 분석하고 이를 기초로 오류 해결지원 도구를 개발하였다. 개발된 오류 해결 지원 도구는 발생되는 오류를 감소시키고 오류 해결을 쉽게 할 수 있도록 명령어의 세트화, 언어 및 오류 메시지의 한글화, 학습단계별 예제소스 및 도움말, 주요 코딩 오류 제거기능, 코드정렬 및 행번호 표시 기능 등을 제공하였다. 투입 결과 오류 해결 지원 도구는 오류 감소와 오류 해결에 도움이 됨을 확인할 수 있었다.

  • PDF

어셈블리어 코드 기반의 메모리 오류 가능성 검출 (Detection of Potential Memory Access Errors based on Assembly Codes)

  • 김현수;김병만;배현섭;정인상
    • 정보처리학회논문지D
    • /
    • 제18D권1호
    • /
    • pp.35-44
    • /
    • 2011
  • 메모리 사용에 관련한 오류는 해당 프로그램뿐 아니라 시스템의 오작동을 유발할 수 있다. 특히 발생 빈도가 매우 낮은 일부 메모리 오류의 경우 제대로 된 동작 테스트를 할 수 없어, 오류에 대한 파악 및 수정이 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블(Dis-Assemble)하여 만들어진 어셈블리어 코드를 구문 분석하여 명령어 전이도를 도출하고 이에 기반을 두어 메모리 사용 오류 가능성을 검출하는 방법을 제안하였다. 몇 가지 프로그램을 검사대상으로 선정하여 Local Memory Return Error, Null Pointer Access Error, Uninitialized Pointer Access Error를 검출하였으며 그 중 오픈 소스 프로젝트(Open Source Project)인 아파치 웹 서버와 PHP 스크립트 해석기에서도 메모리 사용 오류의 가능성이 있는 코드가 검출되었다.