Embedded Computing and DSP

Embedded System * Embedded System * Application Specific * 사용 용도가 명확하고, 유저가 이를 바꿀 이유도 없음 * Reactive * Efficient * Specification * 가성비 추구 * Binary Compatibility 필요 x * General Processor와는 다르게 성능은 필요한 정도만 있으면 됨. 가격이 경쟁력 * 벤치마크 방법도 당연히 다름. * Features * Arithmatic / Datapath * Mem Arch * Add mode * Opt control * Special Purpose Peripherals * Arithmatic…

From Processor Customizations To HLS

HLS * 성능 올리려면 이제 비용이 너무 커짐. 다이 사이즈부터 전력까지. * 그래서 가성비가 중요해짐 * 임베디드에서는 바이너리 컴패티빌리티도 안 중요 * 걍 회로를 합성하자 * ISE ( Instruction Set Extension ) * 자주 쓰이는 복잡한 명령어 걍 하나의 Ad-hoc 명령어로 만들기 * HW 특징을 활용하면 cycle 수 단축 가능. * HW 특징 * Spatial Computation * 간단하게 패럴리즘 구현 가능 * No…

Statical ILP

VLIW & EPIC * compile time에 패럴리즘을 넣어봅시다 * 런타임에 패럴리즘 하는 건 비싸거든요 * 그리고 만들기 어렵기도 하고, 스케쥴링 로직에 의해서도 제한이 있음. * Scheduling Complexity 도 O(R^2)로 비싸요 * VLIW의 특징들 * cycles == instructions * latency dependent * Area와 Timing 에서 이득 * 단점: Binary incompatibility, code bloating Code Bloating Problem * 코드의 크기가 커지는 건…

Dynamical ILP

ILP(Instruction Level Parallelism) * Moore's Law가 붕괴되면서 필연적으로 나올 수 밖에 없는 개념 * Pipelining, Superscalar, VLIW and EPIC Pipelining * Simple Pipelining * 기본적인 파이프라이닝. * Control Hazard와 Data Hazard 존재 * Forwarding / Stalling * Rigid Sequencing. WB만 하고싶어도 MEM 사이클에 있긴 해야함 * 더 발전하기 위해 Dynamic Scheduling 도입 * Out of Order로 처리하자! Dynamically Scheduled…