aglew@mcdurb.Urbana.Gould.COM (05/17/89)
>>[Weicker] >>If the fixed-length and word-alignment assumption can be used, a wide >>bus that permits fast multi-word load instructions certainly does help; > >[Spencer] >Beware that there are alignment restrictions here too: you don't want >a multi-word load to cross a page boundary unless you are sure the string >crosses it too. Accessing the next page may cause a trap. What I usually assume when people talk about wide busses is strict alignment. Ie. you can read bytes at any byte address, 16 bits on even addresses only, 32 bits on mod 4 addresses only, 64 bits on mod 8 addresses only, 2^(N+3) bit quantities on mod 2^N boundaries only, etc. In these circumstances (which are the easiest to build - your memory boards do not need to shift data) then "bus-aligned" multi-word ops can be guaranteed never to cross a page boundary (unless the bus is wider than the page. Hmm...) Using such bus-aligned multi-word ops is legitimate for strings. Now, whether a multi-word access can use multiple bus transactions is another question, that can lead to page crossings.