\documentstyle[a4,oving,block]{article-n}
\begin{document}

{\Large \bf L\o sningsforslag til \O ving 8:}

\Oppgave{% Problem 8.6, 8.9, Hwang

\begin{enumerate}

\item 8.6 a i Hwang

\item 

\item % 8.9 i Hwang

\end{enumerate}

}

\Oppgave{% Problem 8.3, Hwang

\begin{enumerate}

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

P{\aa} slutten av hver minne-sykel (figur 1b) blir $m = 2^a$
etterf{\o}lgende ord simultant ``latchet'' inn i data-bufferene. De
$a$ lav-ordens bitene brukes s{\aa} for {\aa} multiplekse ut de $m$
ordene, en pr. sykel.  Hvis del-sykelen $(\tau)$ velges til $1/m$ av
hoved-sykelen $(\theta)$, tar det to minne-sykeler for {\aa} aksessere 
$m$ etterf{\o}lgende ord.

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


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

Aksessen til de forskjellige modulene veksler.  De lav-ordens $a$
bittene velger modul, og de h{\o}y-ordens $b$ bittene velger ordet
innen hver modul, hvor $m = 2^a$ og $a + b = n$ er adresse-lengden.

For {\aa} aksessere en vektor med ``stride''-verdi p{\aa} 1, blir
etterf{\o}lgende adresser ``latchet'' inn i adresse-bufferen, med en
adresse pr. sykel.  Det trengs derfor $m$ del-sykeler for {\aa} hente
$m$ ord, som tilsvarer en hoved-sykel $(\theta)$, som vist i figur 3b.


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

\item 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{\aa} hver buss har $m$-veis fletting for {\aa} tillate
C-aksess.  De $n$ bussene opererer i parallell for {\aa} tillate
S-aksess.  I hver minne-sykel kan det hentes maksimalt $m \times n$
ord, hvis de $n$ bussene benyttes fullt ut med samleb{\aa}nds-minne
aksess. 

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


\end{enumerate}

}

\end{document}

