Vædderens hardwareeksamen vil dække begreber, diagrammer, formler og applikationer relateret til de emner, der er lært i første halvdel af semesteret, dvs. forelæsninger frem til midtvejs. Eksamenen kan dække følgende emner og begreber:
1. Grundlæggende koncepter:
- Arkitektur af Væddersystemer.
- Blokdiagrammer og grundlæggende funktionalitet af Aries-chips (f.eks. VCU, FADU, DMA osv.).
2. VCU (Vector Computing Unit):
- VCU struktur, herunder vektor aritmetiske logiske enheder (VALU'er) og vektorregisterfiler (VRF'er).
- Vektoriseringsprincipper, datapakning og udpakning.
- SIMD (Single Instruction, Multiple Data) operationer.
- VCU programmeringsmodel, inklusive vektorinstruktioner og adresseringstilstande.
3. FADU (Flexible Arithmetic and Data Unit):
- FADU-struktur og funktionelle enheder (f.eks. ALU'er, multiplikatorer, skiftere osv.).
- Fixed-point og floating-point operationer.
- Datatyper og -formater, herunder heltals- og flydende komma-repræsentationer.
4. DMA (Direct Memory Access):
- DMA-oversigt og dets rolle i dataoverførsel mellem hukommelse og Vædder-chips.
- DMA-programmering, herunder opsætning af DMA-kanaler, konfiguration af overførselsparametre og håndtering af interrupts.
5. Afbrydelser og undtagelser:
- Kilder til afbrydelser og undtagelser (f.eks. VCU-overløb, FADU-undtagelser osv.).
- Afbrydelseshåndteringsmekanisme, herunder interrupt vektor tabel og interrupt service rutiner (ISR'er).
- Undtagelsestyper, årsager og håndteringsmekanismer.
6. Timere og realtidsapplikationer:
- Oversigt over timere tilgængelige på Aries hardware.
- Timer konfiguration og programmering til at generere afbrydelser med regelmæssige intervaller.
- Brug af timere til realtidsapplikationer, såsom PWM (Pulse Width Modulation).
7. Hukommelseshierarki og optimering:
- Oversigt over Vædderens hukommelseshierarki (registre, lokal hukommelse, off-chip hukommelse).
- Principper for hukommelsesoptimering, såsom datalokalitet og cache-udnyttelse.
- Teknikker til at forbedre hukommelsens ydeevne (f.eks. prefetching, vektorindlæsning/lagringsinstruktioner).
8. Fejlretningsteknikker:
- Brug af debuggeren (f.eks. QEMU GDB) til at gå gennem kode, inspicere hukommelse og indstille breakpoints.
- Fælles debugging strategier for Aries hardware udvikling.
9. Udviklingsmiljø og værktøjer:
- Vædderens softwareudviklingsmiljø (IDE), inklusive værktøjskæder, compilere og biblioteker.
- Opbygning, indlæsning og afvikling af programmer på Aries hardware.
10. Applikationer og eksempler:
- Enkel vektorbehandling og beregningseksempler.
- Programmer i den virkelige verden, der bruger Aries-hardware, såsom billedbehandling, signalbehandling og maskinlæringsopgaver.
Bemærk:De faktiske spørgsmål og emner, der er dækket i eksamen, kan variere afhængigt af det specifikke kursus pensum og instruktørens skøn.