Vis enkel innførsel

dc.contributor.advisorTybell, Thomas
dc.contributor.advisorKnauserud, Øystein
dc.contributor.authorAdemi, Marvin
dc.date.accessioned2023-09-22T17:20:06Z
dc.date.available2023-09-22T17:20:06Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:143674355:99797717
dc.identifier.urihttps://hdl.handle.net/11250/3091476
dc.description.abstractStudiet er skrevet i samarbeid med Silicon Labs og fokuserer på å forbedre ytelsen til CV32E40X-prosessorkjernen ved å muliggjøre parallell utførelse av minneoperasjoner med andre operasjoner. Introduksjonen fremhever de økende kravene til moderne applikasjoner og viktigheten av å forbedre prosessorkjerner. CV32E40X-kjernen, basert på RISC-V-arkitekturen, er rettet mot dataintensive applikasjoner. Denne forskningen tar sikte på å øke kjernens ytelse uten å overstige en 20% økning i areal. Det ble gjort flere modifikasjoner pa ̊ CV32E40X-kjernen for å nå målet. En skid buffer introduserte variabel forsinkelse for LSU-en og påla mottrykk på OBI-grensesnittet. ID-, EX- og WB-stadiene ble modifisert for å muliggjøre parallell utførelse. En instruksjons- ID-sporer ble også implementert for å opprettholde programrekkefølgen. Test programmene, inkludert coremark, hello-world, ricv aritmetic basic test 1, og csr instr asm, ble utført på både grunnlinjen og modifisert design. Resultatene indikerer at grunnlinjedesignet overgår den modifiserte versjonen angående IPC. Den modifiserte designen kan ikke utføre coremark og hello-world fullt ut, noe som antyder potensielle ytelsesbegrensninger på grunn av uløste feil i funksjonaliteten av kjernen. Resultatene fra å kjøre csr instr asm og ricv aritmetic basic test 1 viste lignende ytelse mellom baseline og modifisert CV32E40X. I motsetning til dette, for coremark og hello-world, er grunnlinjen henholdsvis 12,5% og 3,1% bedre na ̊r det gjelder IPC. Feilanalyse avslører potensielle årsaker for de observerte feilene, for eksempel proble- mer med ready signaler i WB-stadiet, feilhåndtering av delt minneoperasjoner og overløp i utestående minnetransaksjoner. Instruksjonsloggen viser også inkonsekvenser i sporingsinstruksjonene, noe som påvirker verifikasjonsfasen og tolkningen av testresultater. Videre viser energi-, areal- og tidsanalyse en liten økning i energiforbruk og arealutnyttelse for den modifiserte designen sammenlignet med grunnlinjen. Men med tanke på de uløste feilene og potensialet for fremtidige forbedringer, gir den lille overheaden pa ̊ 2,6% og 3,3% i energi og areal rom for optimalisering. Konklusjonen fremhever behovet for feilløsning for fremtidig arbeid. Ytterligere ytelsesoptimaliseringer, grundig testing med ulike arbeidsbelastninger og utforskning av avanserte funksjoner ble også foreslått. A ̊ løse de identifiserte feilene, for eksempel de som pa ̊virker LSU, er avgjørende for å forbedre funksjonalitet og nøyaktighet. Gjennom denne innsatsen har den modifiserte CV32E40X-kjernen potensial til å oppnå forbedret ytelse.
dc.description.abstractThe study is written in collaboration with Silicon Labs and focuses on enhancing the performance of the CV32E40X processor core by enabling parallel execution of memory operations with other operations. The introduction highlights the increasing demands of modern applications and the importance of improving processor cores. The CV32E40X core, based on the RISC-V architecture, is aimed at compute-intensive applications. This research aims to increase the core’s performance without exceeding a 20% increase in area. Several modifications were made to the CV32E40X core to achieve the objective. A skid buffer introduced variable delay for the LSU and imposed backpressure on the OBI interface. The ID, EX, and WB stages were modified to enable parallel execution. An instruction ID tracker was also implemented to maintain program order during instruction commitment. The benchmark tests, including coremark, hello-world, ricv arithmetic basic test 1, and csr instr asm, were conducted on both the baseline and modified designs. The results indicate that the baseline design outperforms the modified version regarding IPC. The modified design cannot fully execute coremark and hello-world, suggesting potential per- formance limitations due to unresolved bugs. The results from running csr instr asm and ricv arithmetic basic test 1 showed similar performance between the baseline and mod- ified CV32E40X. In contrast, for coremark and hello-world, the baseline is 12.5% and 3.1% better in terms of IPC, respectively. Bug analysis reveals potential culprits for the observed bugs, such as issues with ready signals in the WB stage, mishandling of split memory operations, and overflow in out- standing transactions. The instruction log also exhibits inconsistencies in tracking instruc- tions, which affects the verification phase and test result interpretation. Furthermore, power, area, and timing analysis show a slight increase in power con- sumption and area utilization for the modified design compared to the baseline. However, considering the unresolved bugs and the potential for future improvements, the small over- head of 2.6% and 3.3% in power and area leaves room for optimization. The conclusion highlights the need for bug resolution for future work. Further per- formance optimizations, thorough testing with diverse workloads, and exploration of ad- vanced features were also suggested. Resolving the identified bugs, such as those affecting the LSU, is crucial to enhancing functionality and accuracy. Through these efforts, the modified CV32E40X core has the potential to achieve improved performance, reliability, and compatibility for a wide range of embedded applications.
dc.languageeng
dc.publisherNTNU
dc.titleEnhancing Performance through Parallel Memory and Arithmetic Operations in the CV32E40X Core
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel