45214 Datamaskinarkitektur - Øvinger 1995


Løsning 8


Oppgave 1

a) Sammenlingning av CM-2 og CM-5:

    Processor CM-2 og CM-5 har forskjellige prosessorer. CM-2 er utstyrt med bit-slice beregningselementer, som kan kobles sammen til en 32-bits prosessor. CM-5 er utstyrt med en SPARC RISC-processor, noe som kan sies å være en mer grov-kornet implementasjon enn det CM-2 har.

    Minn CM-2 har minnet tett koblet til beregnings-elementene, mens CM-5 har en mer arbeidsstasjons-lignende arkitektur med minne-moduler koblet over en buss.

    Flyttalls-logikk Både CM-2 og CM-5 er utstyrt med flyttalls-prosessorer. CM-2 har en Weitek flyttals-prosessor mens CM-5 er mer velutstyrt med fire vektor-moduler med stor minne-båndbredde og beregnings-kapasitet.

    Sammenkoblings-nettverk CM-2 har et tett sammenkoblingsnettverk for hver gruppe av 16 beregningselementer, og hver gruppe er deretter koblet sammen vha. en hyperkube-arkitektur. Hyperkube-nettverk er som kjent relativt lite velegnet for skalering.

    CM-5 har flere nettverk for diverse kontroll-funksjoner. Dette gjør at CM-5 har en relativt skalerbar arkitektur, og maskiner fra 16 til 16K beregningsnoder kan konstrueres.

b) Nettverks-arkitekturen - [Hwang]

Nettverk-arkitekturen til CM-5 kan sies å være skalerbar ved at svært mange beregnings-noder kan kobles sammen uten at det oppstår vesentlige flaskehalser i arkitekturen. (Det er mulig å lage CM-5 maskiner med 16384 beregningsnoder ). Arkitekturen til CM-5 er optimalisert for data-parallelle beregninger av store og komplekse problemer. Data- og Kontrol-nettverket er skalarbart ved at det er få begrensinger på arkitekturen. Arkitekturen er ikke spesialisert for en type beregnings-model, men kan tilpasses forbedret teknologi etterhvert som den måtte komme.

    Data nettverk er et høy-ytelses punkt-til-punkt nettverk for data-kommunikasjon mellom bergenings-nodene.

    Kontroll nettverk Kontroll nettverket sørger for felles operasjoner, som f.eks. kringkasting (Eng. broadcasting), synkronisering, "scan" og rutiner for administrasjon av systemet.

    Diagnostisk nettverk tillater aksess til all maskinvare for testing, og for å finne og isolere feil.

c)

Hwang pp 465 - 468

Oppgave 2

a)Simultan aksess, S-aksess, for lav-ordens flettet minne-organisering er vist i figur 1a. Her blir alle minne-moduler aksessert simultant på en synkron måte. De høy-ordens (n-a) bittene velger samme data-ord fra alle moduler.

På slutten av hver minne-sykel (figur 1b) blir tex2html_wrap_inline62 etterfølgende ord simultant ``latchet'' inn i data-bufferene. De a lav-ordens bitene brukes så for å multiplekse ut de m ordene, en pr. sykel. Hvis del-sykelen tex2html_wrap_inline68 velges til 1/m av hoved-sykelen tex2html_wrap_inline72 , tar det to minne-sykeler for å aksessere m etterfølgende ord.

Hvis vi imidlertid overlapper aksess-fasen til den forrige aksessen med hente-fasen (figur 1b), kan m ord aksesseres i løpet av en minne-sykel. Hvis ``stride''-verdien er større enn 1, så vil ytelsen minke proporsjonalt med ``stride''-verdien.

b) Den m-veis lav-ordens flettede minne-organiseringen som er vist i figur 2a og 3, tillater m ord å bli aksessert samtidig på en overlappende måte. Denne samtidige (Eng: concurrent) aksess kalles C-aksess, som vist i 3b.

Aksessen til de forskjellige modulene veksler. De lav-ordens a bittene velger modul, og de høy-ordens b bittene velger ordet innen hver modul, hvor tex2html_wrap_inline62 og a + b = n er adresse-lengden.

For å aksessere en vektor med ``stride''-verdi på 1, blir etterfølgende adresser ``latchet'' inn i adresse-bufferen, med en adresse pr. sykel. Det trengs derfor m del-sykeler for å hente m ord, som tilsvarer en hoved-sykel tex2html_wrap_inline72 , som vist i figur 3b.

Hvis ``stride''-verdien er 2, trenger de etterfølgende aksesser to del-sykeler for å unngå aksess-konflikter. Minne-ytelsen blir derfor bare halvparten. Hvis ``stride''-verdien er 3, er det ingen modul-konflikter og vi får maksimum ytelse. Generelt kan vi si at vi får maksimal ytelse på m ord hvis ``stride''-faktoren ikke er delelig med m.

c) En minne-organisering hvor C-aksess og S-aksess kombineres, kalles C/S-aksess. Dette er vist figur 4, hvor n aksess-busser brukes med m flettede minne-moduler tilkoblet hver buss. De m modulene på hver buss har m-veis fletting for å tillate C-aksess. De n bussene opererer i parallell for å tillate S-aksess. I hver minne-sykel kan det hentes maksimalt tex2html_wrap_inline110 ord, hvis de n bussene benyttes fullt ut med samlebånds-minne aksess.

C/S-aksess metoden passer for bruk i vektor multiprosessor maskiner. Metoden gir parallell samlebånds-aksess til vektor-data med en høy båndbredde. Spesielle vektor-hurtigbuffere trengs innen hver prosessor for å håndtere jevn flyt av data mellom hovedlager og vektor-prosessorene.


Pauline Haddow(pauline@idt.unit.no)
Last modified: Wed May 1 16:41:14 MET DST 1996