AfterDawn.com

Silvermont-arkitekturen


Vi er som sagt klar over, at Silvermont er baseret på en ikke-i-rækkefølgeafviklingsmotor, som får betydelige konsekvenser for ydeevnen i forhold til Saltwell. Bemærk, at Saltwell-arkitekturen allerede er konkurrencedygtig mod andre moderne SoC'er. Intel læner sig dog forsat op ad en makro-operationsafvikling, for at kunne opnå en mere effektiv håndtering af visse x86-instruktionskombinationer.


Saltwells afviklings-pipeline


Saltwells 23 nm afviklings-pipeline er 16 stadier lang, og fordi den er i en bestemt rækkefølge, er makrooperationer nød til at gå igennem alle stadierne, selv om de måske ikke har brug for cache-stadiet. Resultatet heraf er, at forgreningens fejlforudsigelse spilder 13 cyklusser. Med Silvermont kan operationerne omgå adgangsstadierne og blive afviklet, hvis cache ikke er nødvendigt - Fejlforudsigelserne spilder dermed kun 10 cyklusser.


Silvermonts afviklings-pipeline


Hver Silvermont-kerne har fået en række tweaks og forbedringer fra større grenforudsigelser til omstrukturerede afviklingsenheder og større caches. Meget arbejde er gået i identificeringsinstruktionerne, der var relativt langsomme i Intels Bonnell-design. Silvermont forbedrer meget af dette, hvilket reducerer latenstider og øger båndbredden. Decimalværdiers adderingsoperationer består hver i sær af færre cyklusser, pakkede SIMD-dobbeltresultater udrettes i fire clocks (i stedet for ni) og signerede multiplikatorer er betydeligt hurtigere. Intel hævder desuden, at IPC (inter-process communication) generelt er 50 % højere på tværs af et bredt udsnit af arbejdsopgaver. Overvej overgangen fra Sandy Bridge til Ivy Bridge, hvor vi så en etcifret IPC-forbedring sammenlignet med to CPU'er, der kører med samme clockfrekvens. En boost på 50 % er bogstaveligt talt massiv.


Silvermont blokdiagram


Atom dukker selvfølgelig typisk op i flerkernede konfigurationer. Processorfamilien blev oprindeligt lanceret med en single-core-chip. Intel introducerede dog kort tid efter en dual-core-model, som også var fremstillet med 45 nm. Ved overgangen til 32 nm, dukkede der kun dual-core versioner op. I takt med, at virksomheden gjorde fremskridt indenfor procesteknologier, blev mere paralleliserede konfigurationer realiseret. Silvermont kan faktisk skalere helt op til otte fysiske kerner.

L2-cachen er nu endnu tættere forbundet til kernerne, hvilket giver lavere latenstider og en højere båndbredde. Intels ingeniører vil dog ikke dele cachen imellem mere end to kerner. De valgte derfor en modulbaseret tilgang. Hver individuel byggeklods består af to kerner og 1 MB L2-cache delt imellem kerneparret (tidligere Atom-processorer havde 512 KB L2 per kerne). De individuelle kerner, L2-cachen og interfacet mellem kernerne og cachen kan alle strømreguleres. Kernerne i et modul kan endda køre med forskellige frekvenser, de vil dog som standard køre symmetrisk.


Silvermont modulærarkitektur


Modulerne kommunikerer via et integreret punkt-til-punkt-interface med uafhængige læse- og skrive-kanaler, hvilket erstatter den gamle frontsidebus-topologi. Intel identificerer sin IDI som et af nøglepunkterne bag deres modularitet af Nehalem/Westmere-generationerne. Det lader desuden til at meget af arbejdet fra de "store" kerner har påvirket den nye Atom-generation.

Intel tog også et nærmere kig på deres kernearkitektur, der var optimeret til enkelttrådet performance, samt dens modulære tilgang til skalerbarhed og valgte at droppe Hyper-Threading. Inkluderingen af teknologien ville have øget strømforbruget i enkelttrådet arbejdsopgaver. Virksomheden omgår dermed helt SMT til fordel for flere kerner, der kan forbedre ydeevnen i paralleliserede opgaver.

Intels ingeniører øgede samtidigt dens ISA (instruktionssæt-arkitektur) til 2010's Westmere-klasse – en fireårig fremgang fra det originale Atom-design's Merom-kompatibelt ISA. SSE4.1, SSE4.2 og POPCNT (som opererer på heltalsregistreringer) er en del af denne ISA-opdateringspakke, der forstærker Atoms performancepræstation. AES-NI-acceleration (Advanced Encryption Standard - New Instructions) og den såkaldte Secure Key-sikkerhedsnøgle (herunder RDRAND-instruktion og en digital generator af tilfældige tal) kom også med i det nye instruktionssæt.

Virtualiseringsacceleration har udviklet sig fra VT-x-support til teknologiens anden generation, der blev introduceret med Nehalem, og som understøtter EPT (Extended Page Tables). Virtuelle processor-ID'er i TLB'er og uregistreret gæst (tillader KVM-gæster, at køre såkaldt real- og unpaged-tilstandskode lokalt, når EPT er aktiveret) er en del af den samme evolution.

Skrevet af: Chris Angelini
Oversat af:: Martin Graversen