Programmable ASIP-based DMA controller

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Electrical Engineering | Master's thesis

Department

Mcode

Language

en

Pages

51

Series

Abstract

Modern communication technology involves substantial computationally intensive signal processing and packet handling within the radio access network. Complex system-on-chips that integrate various processing units for specific tasks perform most of this processing. Fast data movement between components must be ensured to keep up with the demand. Direct memory access (DMA) is typically implemented to allow individual processor cores to access memory blocks and communicate with each other without involving a central processor. A DMA controller then handles the system’s internal data traffic. Many hardware DMA controller implementations lack the flexibility to efficiently support the transfer patterns required by various signal processing elements. This thesis presents a programmable DMA controller implemented as part of a RISC-V application-specific instruction-set processor (ASIP) scheduler. The scheduler with the DMA unit aims to replace a previous wrapper implementation with similar functionality. The DMA controller transfers data via an AXI interface, which supports up to 256-beat burst transactions initiated with custom instructions. During a transaction, the core is left available for other tasks. A custom compiler generated by the design tool uses the custom instructions to enable programmability of the DMA in a high-level language. AXI transactions can be combined in software to create larger memory transfers in various access patterns. The DMA controller achieves a typical data throughput 21% and 109% higher than two reference implementations and 1946% higher than that of a software algorithm on the base processor. The DMA hardware increases the processor’s area by 49% without affecting the maximum clock speed. The ASIP-based DMA offers greater flexibility than many other DMA implementations.

Nykyaikainen tietoliikenneteknologia sisältää laskennallisesti raskasta signaalinkäsittelyä ja pakettiliikennettä radioverkoissa. Monimutkaiset järjestelmäpiirit (SoC), jotka sisältävät useita prosessointiyksiköitä eri tehtäviin, suorittavat suurimman osan tästä laskennasta. Nopea tiedonsiirto komponenttien välillä on varmistettava, jotta koko järjestelmän suorituskyky ei laske. Oikosiirtoa (Direct Memory Access, DMA) käytetään usein antamaan yksittäisille ytimille suora pääsy muisteihin ja mahdollistamaan niiden välinen vuorovaikutus ilman keskussuoritinta. Tällöin DMA-ohjain vastaa järjestelmän sisäisestä tiedonsiirrosta. Monet DMA:n laitteistototeutukset ovat toiminnallisuudeltaan yksinkertaisia, eivätka täytä monien signaalinkäsittelyelementtien vaatimuksia useille siirtokuvioille. Tämä diplomityö esittelee ohjelmoitavan DMA-ohjaimen, joka on toteutettu osana RISC-V sovelluskohtaista käskykantaprosessoria (ASIP). DMA-yksiköllä varustellun prosessorin tavoitteena on korvata aikaisempi toteutus samankaltaisella toiminnalli- suudella. DMA-ohjain käyttää tiedon siirtämiseen AXI-liittymää, joka tukee enintään 256 lyönnin pituisia purskesiirtoja, jotka aloitetaan käskykantaan DMA-laajennyksen myötä lisätyillä käskyillä. Prosessoriydin on valmiina muihin tehtäviin siirron ollessa käynnissä. Suunnitteluohjelmiston luoma kääntäjä käyttää laajennettua käskykantaa, mikä mahdollistaa DMA:n ohjelmoitavuuden korkan tason ohjelmointikielellä. AXI-siirtoja voi yhdistellä ohjelmistossa luomaan suurempia ja monimutkaisempia tiedonsiirtoja. DMA ohjaimen tiedonsiirtonopeus on tyypillisesti 21% ja 109% suurempi kuin kahden vertailukohteen, ja 1946% nopeampi kuin ohjelmistototeutus alkuperäisellä prosessorilla ilman DMA-laajennusta. Laajennus kasvattaa prosessorin pinta-alaa 49%:lla, eikä vaikuta ytimen kellotaajuuteen. ASIP-pohjainen DMA on monipuolisempi kuin monet muut DMA-ohjaimet.

Description

Supervisor

Kosunen, Marko

Thesis advisor

Kivikunnas, Leo

Other note

Citation