Dragon System Architecture February 1988 1 BUS INTERFACE Common logical connection <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> << DynaBus Logical Interface>> <> << >> <> <> <> <> <> <> <> <> <> <> <> <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> · Each operation is atomic · Operations are serialized · Real Time ordering respected Single-Level Operation <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> · Invariants I1. > 1 cached copies => Shared is set in each I2. At most one cache has Owner set I3. Copy last written has Owner set I4. Cached copies have identical values Two-Level Operation <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> Invariants I1. Every copy in a cache is also in its parent I2. The parent of a copy has ExistsBelow set I3. >1 brother copies => Shared set in each I4. The son of a Shared copy has Shared set I5. The parent of an Owner copy has Owner set I6. At most one brother has Owner set I7. Copy last written by a processor has Owner set I8. Shared copies have identical values Functional Specifications: MemOps · PRead 32 bit address, 32 bit data · PWrite 32 bit address, 32 bit data · PByteWrite 32 bit address, 32 bit data 4 write enable bits any of 16 patterns allowed · CWS 32 bit address, 64 bit data Functional Specifications: CWS · CWS[addr, old, new] RETURNS [sample]= { sample _ addr^; IF sample=old THEN addr _ new } · Implemented in caches · No bus traffic for private data · No locks anywhere · Maximum possible overlap Functional Specifications: IO · Single common IO address space · Much like memory (ie. hit/miss) · Local locations (accessable via P or B) CWSOld (32) CWSNew (32) AidReg (32) FaultCode (32) InterruptStatus (32) InterruptMask (32) Operating Mode (32) Functional Specifications: Mapping · One address space at a time · Specified by AidReg · No data flush on space change · Writing to AidReg clears all VPValid · Demap[realPage] Cache initiates DeMap transaction On reply all caches match and ClrVPValid · Aliasing avoided automatically Match on RA before writing Cache Block Diagram <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> Speed - Hit Case · Nominal 2 micron CMOS · Match ~ 10 ns · Read/Write ~ 10ns · => ~ 30ns on chip access time achievable · Current design hampered by Dragon PBus · Three possible fixes Asynchronous Interface Synchronous with line buffer Cache in processor pipeline Yield Issues · Fully associative good for yield · Disable bad lines (fusing/shifting in) prevent virtual/real matches (force valid=0) force use=1 (performance hack) · Everything else works (frequent failures) >99% of transistors are in array Conventional Display Architecture <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> <> <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> <> <<[Artwork node; type 'ArtworkInterpress on' to command tool]>> <<>>