Gå til innhold

Generellt om Flaskehalser.


kahorn03

Anbefalte innlegg

Videoannonse
Annonse

Beklager, men jeg mener at du er på feil spor her.

 

Forskjellige enheter stiller helt ulike krav til båndbredde, og minnets ytelse står ikke i direkte sammenheng med dem alle. At f.eks PCI-bussen ikke har imponerende båndbredde etter dagens standard er sjelden noe problem, fordi denne bussen knapt nok er i bruk i moderne systemer. En gang i tiden var det vanlig at hovedkortenes integrerte nettverk, lydkort, og SATA-kontrollere måtte konkurrere om de 133 MB/s som PCI tilbyr, men slik er det ikke lengre. Stort sett er det bare hvis man bruker tilleggs-kort, hvor TV-kort og særlig lydkort er de mest aktuelle, at bussen i det hele tatt brukes.

 

Minnet brukes som et midlertidig mellomlager for data som først og fremst prosessoren, men også grafikkortet vil trenge forholdsvis rask tilgang til. Når et program startes, overføres relaterte data fra harddisk til minne for å sikre kortere forsinkelse. Maskinen gjetter altså hvilke data prosessoren vil få behov for, og laster dem inn på forhånd. Minnet er altså et mye raskere, og mye mindre lager som fylles med de dataene som er mest relevante for oppgavene som skal løses i øyeblikket (dvs et bestemt program).

 

Man finner egentlig akkurat samme prinsippene om man sammenligner cache med RAM. De mest kritiske dataene veksler på å ligge i cachen, avhengig av hvilke data som prosessoren skal jobbe på. Ferdigbehandlede data skrives tilbake til minnet samtidig som "ferske" data hentes til cache. Hovedregelen er altså at jo "nærmere" prosessoren vi kommer, jo mindre og raskere er lagringsenhetene.

 

En annen fellesnevner er at prisen pr byte øker i takt med ytelsen. Harddisken har en enorm fordel når det gjelder kapasitet, og er også unik i det an den ikke krever konstant strømtilførsel for å kunne ivareta informasjonen som er lagret.

 

Jeg mener at båndbredden er mer enn bra nok, og fornuftig disponert mellom de forskjellige komponentene pr idag. Både CPU, skjermkort, nettverk, lyd, harddisker, PCI-express osv får som regel den båndbredden de trenger. Merk også at enkelte enheter, spesielt skjermkort, har eget minne som disponeres av sin "prosessor" (GPU), som ikke står i direkte sammenheng med grensesnittet som kobler det sammen med resten av systemet (PCIe / AGP).

Lenke til kommentar

Takk for et grundig svar!

Jeg har et par ting som likevel ikke er helt klart;

 

Gitt at man har satt opp et gigabit nettverk, men dataene kun har ATA/100 disker...da blir flaskehalsen harddiskene?

 

AGP systemet for skjermkort ble en flaskehals og produsentene gikk over til PCI-Express.

...antar at flaskehalsen var at pci express-x16 hadde høyere båndbredde enn AGP-X8 og agp standarden ikke kunne utvikles videre, eller?

Hvordan kan man da se når man bør oppgradere hele maskinen fremfor å bare kjøpe nytt AGP skjermkort?

 

EDIT:Finnes det noen kalkulatorer på når man bør oppgradere hovedkortet fremfor å kjøpe mer minne?

Endret av kahorn03
Lenke til kommentar

Hvis vi forutsetter at mesteparten av trafikken går direkte til/fra harddisker, f.eks. ved filoverføring mellom to maskiner, vil harddiskene i seg selv bli flaskehalsen. At en harddisk benytter ATA100 som grensesnitt betyr ikke at den er i stand til å lese/skrive 100 MB i sekundet. Det er ingen "vanlige" harddisker som er på det nivået når det gjelder overføringshastighet. En standard 7200RPM-disk ligger vanligvis på maks 50-80 MB/s ytterst på platene.

 

Når det gjelder generell harddisk-ytelse er det også sjelden at grensesnittet blir flaskehalsen, men det kan nok forekomme hvis man har to raske PATA-disker montert på samme kabel, og begge er involvert i store overføringer samtidig.

 

Forskjellige systemer (brikkesett) varierer i sin sammensetning av busser, båndbredde og kontrollere. For å ta noen eksempler:

 

Intel 875/865, lansert i 2003, hadde en nordside som besto av minnekontroller (inntil 6.4 GB/s teoretisk), AGP-kontroller (2.1 GB/s) og CSA (dedikert nettverksbuss med 266 MB/s). Bindeleddet mellom brikkesettets nordside og prosessoren er FSB, som også var på 6.4 GB/s.

 

Sørsiden besto av to PATA-100-kontroller (to kanaler à 100 MB/s), to SATA-kanaler (2x150 MB/s), lydkrets, USB 2, PCI-kontroller (133 MB/s) og annet "småtteri". Båndbredden mellom nord -og sørsiden var etter hva jeg husker på 266 MB/s, som kan høres lite ut. Men ettersom både AGP og nettverk befinner seg i nordsiden, og kan kommunisere med prosessoren gjennom den raske FSBen, vil det nokså beskjedne grensesnittet mellom nord og sør sjelden by på problemer. F.eks. er det jo sjelden at flere harddisker er aktive samtidig, og selv på dette nokså gamle brikkesettet var det såpass mange integrerte enheter at PCI-bussen nok var lite belastet i de fleste systemer (støtte for både SATA, Gigabit-LAN og 8 USB 2-enheter var integrert).

 

 

Intels neste generasjon brikkesett, 915/925, hadde ikke en dedikert nettverksbuss koblet til nordsiden, men benyttet istedet en PCI express-buss (PCIe 1x = 250 MB/s hver vei), hvor kontrolleren satt i sørsiden. Med denne implementasjonen, i tillegg til flere andre PCI express-kanaler blir sørsiden mer belastet, så behovet for båndbredde mellom nord og sør øker. Intel løste dette ved å firedoble båndbredden, fra 266 MB/s til 1.06 GB/s.

 

Dette var et eksempel på hvordan disponeringen av båndbredde mellom enheter kan variere avhengig av de forskjellige komponentenes plassering, og deres krav til båndbredde.

 

 

Angående AGP:

 

Sant å si er AGP 8X neppe blitt noen flaskehals enda, noe de ferske testene av ATi X1950Pro AGP bekrefter. Jeg utelukker ikke at grensen "endelig" er nådd med nVidias 8800-serie, men personlig mener jeg at overgangen til PCIe var unødvendig brå, og at produsentene burde ha gitt større prioritet til AGP.

 

Generelt kan man nok si at jo mer minne skjermkortet har, jo mindre båndbredde kreves. Med mye minne kan en stor del av 3D-modellene lastes inn på forhånd, mens et brett lastes fra harddisken, dermed behøver ikke denne trafikken forekomme under selve spillingen. Modellene kan da i større grad bevares i grafikkortets egne minne, slik at kommunikasjonen over AGP / PCIe hovedsaklig består av fysikk-beregninger. Prosessoren regner ut hva som skal skje, dvs hva grafikkortet skal "tegne", og denne informasjonen krever neppe veldig mye båndbredde.

 

 

På spørsmålet om når man vet at tiden er inne for total oppgradering:

 

Jeg mener den viktigste faktoren er hvorvidt plattformen er i ferd med å fases ut, og her er prosessor-sokkelen svært viktig. Se for eksempel på socket 939 - ytelsen til de beste prosessorene er fremdeles kurant, men noen fremtids-investering er den ikke. På den andre siden er det vel neppe nødvendig å oppgradere før maskinen yter betydelig dårligere til ditt bruk enn nyere alternativer. Når man kommer til det punktet hvor en klar oppgradering er tilgjengelig til fornuftig pris, og man har behov for bedre ytelse, er vel saken rimelig grei.

 

En sjelden gang kan det også være hensiktsmessig å kjøpe nytt hovedkort med samme sokkel som man har fra før - enten for å få et bedre brikkesett, eller for å skifte fra AGP til PCIe (hvis skjermkortet man ønsker ikke finnes til AGP). Nyere hovedkort kan også støtte flere prosessorer. Det er f.eks. mange eldre hovedkort med socket 775 som ikke støtter Core 2.

Endret av Quintero
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...