Design and Implementation of SHA-256 Accelerator on FPGA for Edge Devices
Dit artikel presenteert een resource-geoptimaliseerde en energiezuinige SHA-256 hardwareversneller ontworpen voor edge-apparaten, die gebruikmaakt van 2X loop unrolling en clock gating om een doorvoer van 1,47 Mhps en een energie-efficiëntie van 13,37 Mhps/W te bereiken op een FPGA-platform.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je het internet voor als een enorme, bruisende stad waar miljarden apparaten constant met elkaar praten, geheimen delen en geld verplaatsen. Om deze stad te beschermen tegen dieven en leugenaars, gebruiken de inwoners een speciaal soort digitaal zegel genaamd een "hash". Denk aan een hash als een unieke vingerafdruk voor een stukje data: als je zelfs maar één letter anders typt, verandert de vingerafdruk volledig, wat bewijst dat het bericht is aangepast. Een van de meest vertrouwde zegels in deze stad heet SHA-256. Het is een complexe wiskundige puzzel die elk bericht verandert in een vaste reeks getallen. Hoewel computers goed zijn in het oplossen van deze puzzels, kunnen ze traag zijn en veel elektriciteit verbruiken, vooral bij kleine apparaten zoals slimme sensoren of IoT-gadgets die op batterijen werken. Als deze kleine apparaten te veel stroom verspillen aan het vergrendelen van hun data, gaan hun batterijen snel leeg en wordt het beveiligingsnetwerk van de stad donker.
Hier komt het verhaal van Gunjan Thakur en hun team in beeld. Zij stelden een simpele vraag: Kunnen we een piepkleine, super-efficiënte machine bouwen om deze SHA-256-puzzels op te lossen zonder de batterij leeg te trekken? Ze schreven niet alleen een computerprogramma om de wiskunde uit te voeren; ze ontwierpen een specifieke hardware-versneller voor Field Programmable Gate Arrays (FPGA's), die lijken op Lego-platen voor elektronica die naar wens kunnen worden aangepast voor elke taak. Hun doel was om een ontwerp te creëren dat snel genoeg is om het tempo van de stad te volgen, maar zachtzinnig genoeg qua stroomverbruik om de apparaten lang mee te laten gaan.
De belangrijkste ontdekking van het team is een slimme nieuwe manier om de wiskunde binnen deze hardware te organiseren. Stel je voor dat je een bakker bent die een specif kind type koekje maakt dat 64 stappen vereist. Normaal gesproken doe je één stap, wacht je, en doe je dan de volgende, enzovoort. De onderzoekers besloten een techniek genaamd "2X loop unrolling" te gebruiken. In hun ontwerp voert de machine niet gewoon één stap tegelijk uit; de machine grijpt twee stappen en voert deze gelijktijdig uit in één enkele hartslag. Het is alsof je een bakker hebt met twee paar handen die tegelijkertijd twee batches deeg kneden. Om ervoor te zorgen dat deze snelheid geen energie verspilt, voegden ze ook "clock gating" toe. Denk aan dit als een slimme lichtschakelaar die automatisch de stroom uitschakelt naar elk deel van de machine dat op dat moment niet werkt, zodat er geen energie wordt verspild aan stilstaande tandwielen.
Toen ze dit nieuwe ontwerp testten op een specifieke printplaat genaamd de Nexys A7, waren de resultaten veelbelovend. De machine draaide op een snelheid van 50 MHz en slaagde erin om 1,47 miljoen hashes per seconde te verwerken (1,47 Mhps). Misschien nog belangrijker is dat het dit alles deed met slechts 0,11 Watt aan vermogen. Wanneer je de hoeveelheid werk vergelijkt met de hoeveelheid energie die het gebruikte, bereikte het ontwerp een energie-efficiëntie van 13,37 Mhps/W. Wanneer de onderzoekers hun werk vergeleken met andere ontwerpen, zagen ze dat hoewel sommige andere machines sneller waren, ze stroom verbruikten als een sportwagen, en anderen weliswaar zuinig waren maar te traag. Hun ontwerp vond echter een "sweet spot", een gebalanceerde afweging die het geschikt maakt voor de wereld van edge-apparaten met beperkte middelen.
Het is belangrijk om op te merken dat deze resultaten werden behaald via simulaties en tests op de specifieke FPGA-kaart die werd genoemd, en niet door het apparaat te laten draaien in een echte stad vol onvoorspelbare variabelen. Het team heeft geverifieerd dat hun machine de juiste digitale vingerafdrukken produceerde voor 100 verschillende testberichten, waarbij de verwachte resultaten perfect werden nagevolgd. Ze toonden ook aan dat hun ontwerp relatief weinig middelen van de printplaat gebruikte, waarbij slechts ongeveer 3,92% van de beschikbare logische blokken werd ingenomen. Hoewel ze niet beweerden dat dit het absoluut snelste of krachtigste ontwerp ooit gemaakt is, hebben ze aangetoond dat het een zeer efficiënte oplossing is voor omgevingen met een laag vermogen. Door de "twee-tegelijk" verwerking te combineren met slimme energiebesparende schakelaars, bewezen ze dat het mogelijk is om edge-apparaten veilig te houden zonder op te offeren dat hun batterijduur afneemt.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.