Thesis for the degree of Doctor of Technology Sundsvall Memory Modeling and Synthesis for Real-Time Video Processing Systems

Relevanta dokument
ASSESSMENT AND REMEDIATION FOR CHILDREN WITH SPECIAL EDUCATIONAL NEEDS:

Digitalteknik och Datorarkitektur 5hp

Parallellism i NVIDIAs Fermi GPU

Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power Networks

Goals for third cycle studies according to the Higher Education Ordinance of Sweden (Sw. "Högskoleförordningen")

Programvaruintensiva system

Kursplan. MT1051 3D CAD Grundläggande. 7,5 högskolepoäng, Grundnivå 1. 3D-CAD Basic Course

Examensarbete i matematik på grundnivå med inriktning mot optimeringslära och systemteori

Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

Collaborative Product Development:

The present situation on the application of ICT in precision agriculture in Sweden

Datavetenskapligt program, N1COS

Introduktion till Entity Framework och LINQ. Källa och läs mer

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

Scalable Dynamic Analysis of Binary Code

Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/ SE

4 grundregler. Minneshantering. Problemet. Windows minkrav

Isolda Purchase - EDI

Sara Skärhem Martin Jansson Dalarna Science Park

Alias 1.0 Rollbaserad inloggning

Second handbook of research on mathematics teaching and learning (NCTM)

Theory 1. Summer Term 2010

Hantering av hazards i pipelines

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

Anna Brunström. Hur kan man minska fördröjningarna över Internet? Karlstad University Computer Science

Datavetenskapligt program, N1COS

Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions:

SIMD i Intel s P5- baserade Pentium MMX

Programmerbar logik och VHDL. Föreläsning 1

Grafisk teknik. Sasan Gooran (HT 2006)

PowerCell Sweden AB. Ren och effektiv energi överallt där den behövs

A metadata registry for Japanese construction field

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

TRENDERNA SOM FORMAR DIN VERKLIGHET 2014 ÅRETS IT AVDELNING

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

openbim Stockholm 22 april 2013 Kraven på BIM är här

SweLL & legal aspects. Elena Volodina

Understanding Innovation as an Approach to Increasing Customer Value in the Context of the Public Sector

Processimulering --- I teori och i praktik

Model-Based Verification of Dynamic System Behavior against Requirements

Managing addresses in the City of Kokkola Underhåll av adresser i Karleby stad

Kundfokus Kunden och kundens behov är centrala i alla våra projekt

Image quality Technical/physical aspects

Pipelining i Intel 80486

Gradientbaserad Optimering,

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

Hört och lärt på NES2012 Session: Visual ergonomics

EBBA2 European Breeding Bird Atlas

OFTP2: Secure transfer over the Internet

Datorteknik och datornät. Case Study Topics

Beijer Electronics AB 2000, MA00336A,

Smart Industri Digitaliseringens möjligheter - Investering i Kompetens Göteborg Torsten Nordgren Director Future Factory and Business

Sri Lanka Association for Artificial Intelligence

Skill-mix innovation in the Netherlands. dr. Marieke Kroezen Erasmus University Medical Centre, the Netherlands

What Is Hyper-Threading and How Does It Improve Performance

Utrymningshissar och utrymningsplatser utifrån de utrymmandes perspektiv. kristin andrée

PEC: European Science Teacher: Scientific Knowledge, Linguistic Skills and Digital Media

Programinformation VT 2012 för

Creo Customization. Lars Björs

Stiftelsen Allmänna Barnhuset KARLSTADS UNIVERSITET

Anvisningar för ämnesansvariga vid LTV-fakulteten

Företagsekonomi, allmän kurs. Business Administration, General Course. Business Administration until further notice

The Intelligent Timer

Kursplan. IK1004 Java - Grafiska användargränssnitt med Swing. 7,5 högskolepoäng, Grundnivå 1. Java - GUI Programming with Swing - Undergraduate Level

Ansökan till Vinnova PROJEKTUPPGIFTER. Diarienummer. Inskickad. Utlysning

Spekulativ exekvering i CPU pipelining

IEA Task 41 Solar Energy and Architecture IEA SHC Solar Cooling and Heating programme

Lektion 3. Anteckningar

HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)


Minnet från processorns sida Datorteknik

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB

Course syllabus 1(7) School of Management and Economics. FEN305 Reg.No. EHVc 2005:6 Date of decision Course Code. Företag och Marknad I

Thesis work at McNeil AB Evaluation/remediation of psychosocial risks and hazards.

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Distribuerade affärssystem

Course Contents. Objektorienterad programmering. Goals. Buzzwords. Course overview (1) Book. Objektorienterad programmering d2. DAT050, 16/17, lp 2 1

Fujitsu Day Göteborg 8 oktober

QC i en organisation SAST

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Föreläsning 15: Repetition DVGA02

BOX SOLFALL. Anna Lamberg. 8 januari 7 februari

Pipelining i Intel Pentium II

Studieteknik för universitetet 2. Books in English and annat på svenska

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Kursplan. JP1040 Japanska III: Språkfärdighet. 15 högskolepoäng, Grundnivå 1. Japanese III: Language Proficiency

Det finns en handledning till kortet på hemsidan. AVR STK500.

Fysisk aktivitet och hjärnan

Business Intelligence: Magisterprogram 60 högskolepoäng

2.1 Installation of driver using Internet Installation of driver from disk... 3

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

HEVNEC Heavy Vehicle Network Communication. Lars Strandén, SP,

Utmaningar och möjligheter vid planering, genomförande och utvärdering av förändringsarbete i organisationer

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

En bild säger mer än tusen ord?

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Transkript:

Thesis for the degree of Doctor of Technology Sundsvall 2006 Memory Modeling and Synthesis for Real-Time Video Processing Systems Benny Thörnberg Supervisors: Professor Mattias O Nils Docent Bengt Oelmann Electronics Design Division, in the Department of Information Technology and Media Mid Sweden University, SE-851 70 Sundsvall, Sweden ISSN 1652-893X Mid Sweden University Doctoral Thesis 8 ISBN 91-85317-19-5

Akademisk avhandling som med tillstånd av Mittuniversitetet i Sundsvall framläggs till offentlig granskning för avläggande av teknologie doktorsexamen i elektronik torsdagen den 18 maj 2006, klockan 13.15 i sal O102, Mittuniversitetet Sundsvall. Seminariet kommer att hållas på engelska. Memory Modeling and Synthesis for Real-Time Video Processing Systems Benny Thörnberg Benny Thörnberg, 2006 Electronics Design Division, in the Department of Information Technology and Media Mid Sweden University, SE-851 70 Sundsvall Sweden Telephone: +46 (0)60 148917 Printed by Kopieringen Mittuniversitetet, Sundsvall, Sweden, 2006

ABSTRACT In this thesis, a new design methodology and new tools for modeling and synthesis of real-time video processing systems are presented. A real-time video processing system is a system that performs computations on a continuous sequence of images. Image processing is a memory intensive application. This, in turn, leads to the design challenge of bridging the classical gap of speed between memories and computational units. Several techniques exist for building memory hierarchies that exploit data- locality and reuse in order to overcome this memory gap. However, the support from tools to aid the designer in dataflow analysis and memory design is very modest. Additional constructs for modeling electronic systems enable well-known sequential programming languages such as C/C++ to be used for system modeling. Ocapi and SystemC, two object-oriented specification methods are compared in a case study. In this study, SystemC is found to be the most suitable specification method for video processing systems. Most operations invoked in video processing are neighborhood oriented. For a video system designer, this spatio-temporal collection of pixels represents a natural abstraction. In addition, the same pixel neighborhood reflects data dependencies that are crucial to system synthesis. An extended SystemC modeling methodology, called IMEM is presented. IMEM can be used to capture memory transactions and stream interfaces based on the pixel neighborhood as an abstraction. Two important steps towards synthesis of video systems onto Field Programmable Gate Arrays (FPGAs) are presented. These two steps are parts of a decomposition of the complete synthesis task. Firstly, the optimal sizes and placements of all FIFO-buffers in the memory system are optimized. Bit-widths, pipelining and possible sharing of FIFO-buffers among several data flow dependencies are considered at this step. Secondly, the set of FIFO-buffers are allocated onto a set of dual-ported fined grained memories. Both synthesis steps are formally modeled using network flow techniques and linear programming. In addition, a synthesis method that can automatically transform an IMEM model of a single spatial neighborhood into a multimedia processor implementation is presented. The cache and the instruction scheduler performance are both optimized by the tool. IMEM is an application specific methodology that provides the nonhardware skilled video designer with an easy programming model and an FPGA synthesis tool. Memory usage is modeled separately from computation. This is a key feature since memory usage is accepted as being the biggest design bottleneck for video processing. iii

SAMMANDRAG I denna avhandling presenteras en ny metod och nya verktyg för modellering och syntes av videobearbetande system i realtid. Ett videobearbetande system är ett system som utför beräkningar på en kontinuerlig ström av bilder. Bildbehandling är en minnesintensiv applikation. Detta i sin tur leder till en stor utmaning för konstruktören, nämligen att överbrygga en välkänd skillnad i hastighet mellan minnen och beräkningsenheter. Det finns ett flertal välkända tekniker att övervinna denna skillnad genom att utnyttja lokaliteten och återanvändningen av data. Stöd från befintliga verktyg som kan hjälpa konstruktören med dataflödesanalys och minneskonstruktion kan dock anses vara blygsam. Genom att tillföra mekanismer för modellering av elektroniska system, så kan traditionella sekventiella programmeringsspråk, så som C/C++ användas för modellering av system. Ocapi och SystemC är två objektorienterade specifikationsmetoder som jämförts i en fallstudie. I denna studie framstår SystemC som bäst lämpad för specifikation av videobearbetande system. De flesta bildbehandlingsoperationer arbetar på en lokal mängd av bildpunkter. För en bildbehandlingskonstruktör så framstår denna lokala mängd av bildpunkter som en abstraktion. Tillika representerar samma mängd bildpunkter de databeroenden som är avgörande vid syntes. I denna avhandling presenteras IMEM, en ny specifikationsmetod som kan användas till att modellera minnesanvänding och transaktioner genom att utnyttja en lokal mängd bildpunkter. Två betydelsefulla steg mot att med automatik kunna översätta en modell i IMEM till en implementation i en Field Programmable Gate Array (FPGA) beskrivs. Dessa två problemformuleringar är delsteg i hela syntesprocessen. I första steget optimeras placering och storlek av alla buffertminnen. Hänsyn tas härvid till bitbredd, pipelining och eventuell delning av buffertar mellan flera databeroenden. I det andra steget allokeras buffertminnen till en mängd små dubbelportade minnen. Båda syntesstegen modelleras formellt med hjälp av nätverksflöden och linjär programmering. Dessutom presenteras en syntesmetod som kan översätta en enkel IMEMmodell till en implementation i en mediaprocessor. Cache-minneshantering och schemaläggning av instruktioner optimeras av verktyget. IMEM är en applikationsspecifik metod för videosystem som tillhandahåller en enkel programmeringsmodell och ett syntesverktyg för FPGA-kretsar. Minnesanvändning modelleras separat från beräkningar. Detta är en viktig egenskap, eftersom i huvudsak minnestransaktionerna kommer att begränsa systemets prestanda. v