Low-power techniques for processor bus design
No Thumbnail Available
Files
Jermilä_Nooa_2024.pdf (1.75 MB) (opens in new window)
Aalto login required (access for Aalto Staff only).
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2024-05-21
Department
Major/Subject
Elektroniikka ja sähkötekniikka
Mcode
ELEC3013
Degree programme
Sähkötekniikan kandidaattiohjelma
Language
en
Pages
36
Series
Abstract
A processor (CPU) is an essential element of a computer system. Without the CPU, the computer system would not function. The CPU communicates with other components using the system bus. The system bus consists of three different buses that are the address bus, the data bus, and the control bus. While operating, all of the computer system components will dissipate some amount of power. Currently, battery-powered devices have become more common, and because of that, the maximization of battery life has become a crucial design factor for electronics designers. The total power consumption of a CPU can be reduced by different methods, and one method is bus encoding. This thesis introduces and examines different bus encoding methods that aim to lower the overall power consumption of a system by reducing the transition activity in the system bus. This thesis is a literature review. The introduced bus encoding methods can be divided into three subgroups that are: algebraic codes, permutation codes, and probabilistic codes. The algebraic codes take multiple operands to encode the information of a bus. The decoding is performed by utilizing arithmetic or bit-level logic operations. The permutation codes are codes involving permutations of a set of source information. The probabilistic codes are codes utilizing different probabilistic methods to reduce the power consumption of a bus. All of the introduced bus encoding methods have been compared to each other in different applications. The comparison results indicate that all the bus encoding methods are not optimal in the same applications. Some bus encoding methods are better in some applications than others. The introduced bus encoding methods can be divided into two different subgroups. Some bus encoding methods are ideal for encoding the data bus, and others are ideal for address bus encoding. Furthermore, the comparison results indicate that the bus encoding methods can be an effective technique to lower the overall power consumption of a computer system. The implemented bus encoding methods have to be only chosen wisely.Prosessoria voidaan kutsua tietokoneen ytimeksi. Ilman prosessoria tietokonejärjestelmä ei toimisi. Prosessori kommunikoi toisten tietokonekomponenttien kanssa järjestelmäväylää käyttäen. Tämä väylä yhdistää kaikki komponentit toisiinsa. Järjestelmäväylä muodostuu kolmesta erillisestä väylästä, jotka ovat osoite-, tieto- sekä ohjausväylä. Prosessori operoi tekemällä kirjoitus- ja lukukäskyjä toisille komponenteille. Nämä käskyt välittyvät järjestelmäväylää pitkin komponenteille. Kaikki tietokonejärjestelmän operaatiot tapahtuvat binäärilukuina – nollina ja ykkösinä. Operoidessaan mikä tahansa tietokonejärjestelmän komponentti kuluttaa jonkin verran tehoa. Nykyisin akkukäyttöiset elektroniikkatuotteet ovat yleistyneet, minkä seurauksena laitteiden akunkeston maksimoimisesta on tullut tärkeä tavoite elektroniikkasuunnittelijoille. Kaikesta ylimääräisestä tehonkulutuksesta kannattaa päästä eroon akunkeston maksimoimiseksi. Prosessorin tehonkulutusta voidaan aleentaa monella eri tavalla. Yksi tavoista on väyilien koodaus. Tämän kandidaatintyön tavoitteena on tutkia erilaisia väylän koodaustapoja, joiden tavoitteena on minimoida bittilukujen muutokset väylillä. Bittilukujen muutoksien määrä on suoraan verrannollinen dynaamiseen tehonkulutukseen, joten väylien koodaus on tehokas tapa vaikuttaa prosessorin kokonaistehonkulutukseen. Tämä kandidaatintyö on toteutettu kirjallisuustutkimuksena. Väylän koodaus voidaan jakaa karkeasti kolmeen eri kategoriaan, joiden kaikki koodaustavat lähestyvät väylän koodaamista eri näkökulmista. Nämä kategoriat ovat algebraaliset koodit, permutaatiokoodit sekä todennäköisyyskoodit. Algebraaliset koodit käyttävät kahta tai useampaa laskettavaa tiedon koodaamiseen. Koodattu informaatio tuotetaan aritmeettisilla tai bittitason logiikkaoperaatioilla. Permutaatiokoodit ovat koodeja, jotka sisältävät lähdeinformaation permutaatioita. Todennäköisyyskoodit ovat koodeja, jotka nimensä mukaisesti käyttävät hyväkseen todennäköisyyslaskentaa. Esimerkiksi todennäköisyyskoodit voivat tavoitella datan entropian laskemista mahdollisemman pieneksi. Kaikkia tässä kandidaatintyössä esiteltyjä väylän koodaustapoja verrattiin toisiinsa erilaisissa käyttätarkoituksissa. Vertailussa käy ilmi, että kaikki koodaustavat eivät sovi samoihin käyttötarkoituksiin. Esitellyt koodit voidaan jakaa karkeasti kahteen eri ryhmään. Toiset koodaustavat ovat ideaalisia tietoväylän koodaamiseen, koska nämä kyseiset koodaustavat hyötyvät informaation satunnaisuudesta. Informaation satunnaisuus on enemmän tyypillistä etenkin tietoväylissä. Toisen ryhmän koodaustavat ovat tehokkaampia laskemaan prosessorin tehonkulutusta, kun näitä koodaustapoja käytetään osoiteväylän koodaamisessa. Tähän ryhmän kuuluvat koodaustavat käyttävät hyväkseen yleisesti tunnettua tietoa siitä, että prosessori hyvin todennäköisesti kutsuu vierekkäisiä osoitteita operoidessaan. Vertailussa käy myös ilmi, että väylän koodaus on parhaimmillaan erittäin tehokas tapa laskea bittiarvojen muutoksia ja täten prosessorin tehonkulutusta. Vaatimuksena on se, että käyttötarkoitukseen sopivat koodaustavat valitaan eri väylille.Description
Supervisor
Turunen, MarkusThesis advisor
Korsman, AleksiKeywords
low-power, system bus, power consumption, bus encoding