$ od -c -N 50000 [_CD8_]<doradodocs>DoradoB-WEverything.dm!1 0000000 377 \0 \0 D o r a d o B - W . P r e 0000020 s s \0 373 226 213 241 216 \0 \0 376 001 \0 K 253 T 0000040 h e D o r a d o : A H i g 0000060 h - P e r f o r m a n c e P e 0000100 r s o n a l C o m p u t e r T 0000120 h r e e P a p e r s C S L - 8 0000140 1 - 1 J a n u a r y 1 9 8 1 A 0000160 B S T R A C T T h i s r e p o 0000200 r t r e p r o d u c e s t h 0000220 r e e p a p e r s o n t h 0000240 e D o r a d o p e r s o n a 0000260 l c o m p u t e r . E a c 0000300 h h a s b e e n , o r w i 0000320 l l b e , p u b l i s h e d 0000340 i n a j o u r n a l o r 0000360 p r o c e e d i n g s . A P 0000400 r o c e s s o r f o r a H 0000420 i g h - P e r f o r m a n c e 376 0000440 001 \0 351 262 P e r s o n a l C o 0000460 m p u t e r , b y B u t l e 0000500 r W . L a m p s o n a n d 0000520 K e n n e t h A . P i e r . 0000540 A p p e a r e d i n P r 0000560 o c . 7 t h S y m p o s i u 0000600 m o n C o m p u t e r A r c 0000620 h i t e c t u r e , S i g A r 0000640 c h / I E E E , L a B a u l 0000660 e , M a y 1 9 8 0 , 1 4 6 0000700 - 1 6 0 . A n I n s t r u c t 0000720 i o n F e t c h U n i t f 0000740 o r a H i g h - P e r f o r 0000760 m a n c e P e r s o n a l C 0001000 o m p u t e r , b y B u t l e 0001020 r W . L a m p s o n , G e 0001040 n e A 376 001 \0 M a . M c D a n 0001060 i e l , a n d S e v e r o 0001100 M . O r n s t e i n . S u 0001120 b m i t t e d f o r p u b l i 0001140 c a t i o n . T h e M e m o r 0001160 y S y s t e m o f a H i 0001200 g h - P e r f o r m a n c e P 0001220 e r s o n a l C o m p u t e r 0001240 , b y D o u g l a s W . C 0001260 l a r k , B u t l e r W . 0001300 L a m p s o n , a n d K e n 0001320 n e t h A . P i e r . A 0001340 r e v i s e d v e r s i o n 0001360 w i l l a p p e a r i n I 0001400 E E E T r a n s a c t i o n s 0001420 o n C o m p u t e r s . T 0001440 h e f i r s t 376 001 \0 & \0 p a 0001460 p e r d e s c r i b e s t h 0001500 e D o r a d o ' s m i c r o 0001520 - p r o g r a m m e d p r o c 0001540 e s s o r , a n d a l s o 0001560 g i v e s a n o v e r v i e w 0001600 o f i t s h i s t o r y 0001620 a n d p h y s i c a l c o n 0001640 s t r u c t i o n . T h e 0001660 s e c o n d d i s c u s s e s 0001700 t h e i n s t r u c t i o n 0001720 f e t c h u n i t , w h i c 0001740 h p r e p a r e s p r o g r 0001760 a m i n s t r u c t i o n s 0002000 f o r e x e c u t i o n , a 0002020 n d t h e t h i r d d e a 0002040 l s w i t h t h e c a 376 001 0002060 \0 226 345 c h e , m a p a n d m 0002100 a i n s t o r a g e o f t 0002120 h e D o r a d o ' s m e m o 0002140 r y s y s t e m . c C o p y 0002160 r i g h t 1 9 8 1 b y X e 0002200 r o x C o r p o r a t i o n . 0002220 X E R O X P A L O A L T O R 0002240 E S E A R C H C E N T E R 3 3 0002260 3 3 C o y o t e H i l l R 0002300 o a d / P a l o A l t o 0002320 / C a l i f o r n i a 9 4 3 0002340 0 4 377 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0002360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0002460 \0 \0 \0 376 001 \0 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 0002500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0003060 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 003 s 356 \v 267 0003100 357 \ 215 p 002 364 \0 237 \b 356 \v 267 357 Y > 360 0003120 $ 356 \v 267 357 S Q 004 364 \0 200 006 356 \v 267 357 0003140 L 327 q \a 356 023 373 006 364 \0 X 004 356 \v 267 357 0003160 D o r \a 356 \v 267 357 A D s 003 364 \0 231 360 0003200 J 364 \0 232 \b 356 \v 267 357 ? 300 003 364 \0 200 360 0003220 + 356 020 255 357 < 225 q \0 364 001 - 360 ! 364 001 0003240 . 021 s \r 356 020 255 357 ; 021 006 364 \0 316 360 # 0003260 t 004 364 \0 317 031 356 020 255 357 9 215 \v s \0 364 0003300 \0 200 \b u 003 s 035 356 020 255 357 6 b q 001 364 0003320 \0 330 034 364 \0 331 360 # s 003 356 020 255 357 4 336 0003340 005 364 \0 336 035 364 \0 337 360 ' 356 020 255 357 3 Z 0003360 \v 356 020 255 357 0 / q 002 364 \0 256 360 - 364 \0 0003400 257 \b s \v 356 020 255 357 . 253 001 364 \0 225 360 ) 0003420 364 \0 226 360 ( 356 020 255 357 - ' v 003 t 364 \0 0003440 200 033 356 \v 267 357 ) 374 s 002 364 \0 330 360 H 364 0003460 \0 331 \b 356 \v 267 357 ( x \a 364 \0 203 376 001 \0 0003500 312 216 360 @ 364 \0 204 025 356 \v 267 357 & 364 004 364 0003520 \0 224 016 364 \0 225 360 H 356 \v 267 357 % p 002 364 0003540 \0 200 360 0 356 \v 267 357 037 355 w \0 x \0 u 360 0003560 $ 356 ) X 357 022 214 y 004 356 ) a 357 021 \b q 0003600 003 364 \0 X 024 356 ) a 357 017 312 r 003 364 \0 G 0003620 360 0 \0 \0 \0 \0 \0 \0 \0 \0 004 262 \0 \0 \0 \0 0003640 \0 \0 \0 \0 T V k ( \0 264 \0 \0 \0 \0 \0 \0 0003660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0004100 \0 \0 376 001 \0 352 275 2 T h i s p a g 0004120 e s h o u l d n o t a p p 0004140 e a r i n t h e p u b l i 0004160 s h e d r e p o r t . P l e a 0004200 s e n o t e t h a t t h e 0004220 p a g e s a r e n u m b e 0004240 r e d c o n t i n u o u s l y 0004260 f o r a l l t h r e e p 0004300 a p e r s , i n c l u d i n g 0004320 t h e t i t l e p a g e f 0004340 o r e a c h p a p e r , b 0004360 u t e x c l u d i n g t h e 0004400 t i t l e p a g e f o r 0004420 t h e e n t i r e r e p o r 0004440 t . P a g e s h a v e b 0004460 e e n l a i d o u t w i t h 0004500 t h e a s 376 001 \0 344 - s u m p 0004520 t i o n t h a t a n e v e 0004540 n p a g e a n d t h e n 0004560 e x t o d d p a g e w i l 0004600 l f o r m a d o u b l e - 0004620 p a g e s p r e a d . A l l 0004640 t h e t i t l e p a g e s 0004660 a r e o d d n u m b e r e 0004700 d , a n d t h e n e x t 0004720 ( e v e n ) p a g e i s t 0004740 h e f i r s t t e x t p a 0004760 g e , w h i c h s h o u l d 0005000 a p p e a r o n t h e r e 0005020 v e r s e o f t h e t i t 0005040 l e p a g e . A b l a n 0005060 k p a g e s h o u l d a p 0005100 p e a r o n t h e r 376 001 \0 9 0005120 \ e v e r s e o f t h e t 0005140 i t l e p a g e f o r t h 0005160 e e n t i r e r e p o r t . 0005200 P a g e 2 0 , a t t h 0005220 e e n d o f t h e f i r 0005240 s t p a p e r , i s b l a 0005260 n k s o t h a t t h e t i 0005300 t l e p a g e o f t h e 0005320 s e c o n d p a p e r w i l 0005340 l f a l l o n a n o d d 0005360 p a g e . 377 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0005520 \0 376 001 \0 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0006120 \0 \0 \0 \0 \0 \0 376 001 \0 331 E 356 \v 267 357 f 0006140 2 x \0 356 \v 267 357 _ 333 s 003 364 \0 200 365 \0 0006160 \0 360 0 356 \v 267 357 Y 205 005 364 \0 202 360 . 364 0006200 \0 203 360 * 356 \v 267 357 X 001 003 364 \0 202 \b 364 0006220 \0 203 360 Q 356 \v 267 357 V } 002 364 \0 235 023 364 0006240 \0 236 360 @ 356 \v 267 357 T 371 006 364 \0 201 360 G 0006260 364 \0 202 020 356 \v 267 357 S u 004 364 \0 241 360 S 0006300 356 \v 267 357 Q 361 006 364 \0 207 360 E 364 \0 210 025 0006320 356 \v 267 357 P m 001 364 \0 200 360 B 377 \0 \0 \0 0006340 \0 \0 \0 \0 \0 002 250 \0 \0 \0 \0 \0 \0 \0 \0 T 0006360 V k ( \0 M \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0006520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 001 \0 0006540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0007140 376 001 \0 023 | A P r o c e s s o r 0007160 f o r a H i g h - P e r f 0007200 o r m a n c e P e r s o n a l 0007220 C o m p u t e r b y B u t l 0007240 e r W . L a m p s o n a n 0007260 d K e n n e t h A . P i e 0007300 r J a n u a r y 1 9 8 1 A B S 0007320 T R A C T T h i s p a p e r 0007340 d e s c r i b e s t h e d e 0007360 s i g n g o a l s , m i c r 0007400 o a r c h i t e c t u r e , a 0007420 n d i m p l e m e n t a t i o 0007440 n o f t h e m i c r o p r o 0007460 g r a m m e d p r o c e s s o 0007500 r f o r a c o m p a c t 0007520 h i g h p e r f o r m a n c e 0007540 p e r s 376 001 \0 207 304 o n a l c 0007560 o m p u t e r . T h i s m a 0007600 c h i n e s u p p o r t s a 0007620 r a n g e o f h i g h l 0007640 e v e l l a n g u a g e e n 0007660 v i r o n m e n t s a n d h 0007700 i g h b a n d w i d t h I / 0007720 O d e v i c e s . I t a l 0007740 s o h a s a c a c h e , 0007760 a m e m o r y m a p , m a 0010000 i n s t o r a g e , a n d 0010020 a n i n s t r u c t i o n f 0010040 e t c h u n i t ; t h e s e 0010060 a r e d e s c r i b e d i n 0010100 o t h e r p a p e r s . 0010120 T h e p r o c e s s o r c a 0010140 n b e s h a r e 376 001 \0 \0 374 d 0010160 a m o n g 1 6 m i c r o c 0010200 o d e d t a s k s , p e r f o 0010220 r m i n g m i c r o c o d e 0010240 c o n t e x t s w i t c h e s 0010260 o n d e m a n d w i t h 0010300 e s s e n t i a l l y n o o 0010320 v e r h e a d . C o n d i t i o 0010340 n a l b r a n c h e s a r e 0010360 d o n e w i t h o u t a n 0010400 y l o o k a h e a d o r d 0010420 e l a y . M i c r o i n s t 0010440 r u c t i o n s a r e f a i 0010460 r l y t i g h t l y e n c o d 0010500 e d , a n d u s e a n i 0010520 n t e r e s t i n g v a r i a 0010540 n t o n c o n t r o l f 376 0010560 001 \0 372 n i e l d s h a r i n g 0010600 . T h e p r o c e s s o r 0010620 i m p l e m e n t s a l a r 0010640 g e n u m b e r o f i n t 0010660 e r n a l r e g i s t e r s , 0010700 h a r d w a r e s t a c k s 0010720 , a c y c l i c s h i f t 0010740 e r / m a s k e r , a n d a n 0010760 a r i t h m e t i c - l o g i 0011000 c u n i t , t o g e t h e r 0011020 w i t h e x t e r n a l d 0011040 a t a p a t h s f o r i n 0011060 s t r u c t i o n f e t c h i 0011100 n g , m e m o r y i n t e r f 0011120 a c e , a n d I / O , i n 0011140 a c o m p a c t , p i p e 0011160 l i n e 376 001 \0 314 220 d o r g a n 0011200 i z a t i o n . T h e m a c h 0011220 i n e h a s a 6 0 n s 0011240 m i c r o c y c l e , a n d 0011260 c a n e x e c u t e a s i 0011300 m p l e m a c r o i n s t r u 0011320 c t i o n i n o n e c y c l 0011340 e ; t h e I / O b a n d w 0011360 i d t h i s 5 3 0 m e g a 0011400 b i t s / s e c . T h e e 0011420 n t i r e m a c h i n e , i 0011440 n c l u d i n g d i s k , d 0011460 i s p l a y a n d n e t w o r 0011500 k i n t e r f a c e s , i s 0011520 i m p l e m e n t e d w i t 0011540 h a p p r o x i m a t e l y 0011560 3 0 0 0 M S I 376 001 \0 f 276 c o 0011600 m p o n e n t s , m o s t l y 0011620 E C L 1 0 K ; t h e p r o 0011640 c e s s o r i s a b o u t 0011660 3 5 % o f t h i s . I n 0011700 a d d i t i o n t h e r e 0011720 a r e u p t o 4 s t o r 0011740 a g e m o d u l e s , e a c 0011760 h w i t h a b o u t 3 0 0 0012000 1 6 K o r 6 4 K R A M s 0012020 a n d 2 0 0 M S I c o m p 0012040 o n e n t s , f o r a m a 0012060 x i m u m o f 8 m e g a b 0012100 y t e s . T h e t o t a l v 0012120 o l u m e , i n c l u d i n g 0012140 p o w e r a n d c o o l i 0012160 n g , i s a b o u t . 376 001 0012200 \0 c W 1 4 m 3 ( 4 . 5 f t 0012220 3 ) . A n u m b e r o f 0012240 m a c h i n e s a r e c u r 0012260 r e n t l y r u n n i n g . A 0012300 v e r s i o n o f t h i s 0012320 p a p e r a p p e a r e d 0012340 i n P r o c . 7 t h S y m 0012360 p o s i u m o n C o m p u t 0012400 e r A r c h i t e c t u r e , 0012420 S i g A r c h / I E E E , L a 0012440 B a u l e , M a y 1 9 8 0 0012460 , 1 4 6 - 1 6 0 . C R C A T 0012500 E G O R I E S 6 . 3 4 , 6 . 2 0012520 1 K E Y W O R D S A N D P 0012540 H R A S E S a r c h i t e c t u 0012560 r e , c o n t r o l l e r , 0012600 e m u 376 001 \0 Z 202 l a t i o n , 0012620 i n p u t / o u t p u t , m i 0012640 c r o p r o g r a m , p i p e 0012660 l i n e , p r o c e s s o r . 0012700 c C o p y r i g h t 1 9 8 1 0012720 b y X e r o x C o r p o r 0012740 a t i o n . X E R O X P A L O 0012760 A L T O R E S E A R C H C E 0013000 N T E R 3 3 3 3 C o y o t e 0013020 H i l l R o a d / P a l o 0013040 A l t o / C a l i f o r n 0013060 i a 9 4 3 0 4 \0 \0 \0 \0 \0 \0 \0 \0 0013100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0013200 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 023 300 356 \0 \0 0013220 357 M ' p \0 364 \0 200 020 356 \0 \0 357 I 330 360 0013240 " 356 \0 \0 357 E 005 q 001 364 \0 X 360 & 356 \0 0013260 \0 357 @ 2 \v 356 \0 \0 357 : E r \a 356 \0 \0 0013300 357 7 032 s 003 364 001 027 032 364 001 030 360 4 356 \0 0013320 \0 357 5 226 016 364 \0 342 360 2 364 \0 343 017 356 \0 0013340 \0 357 4 022 006 364 \0 323 \b 364 \0 324 360 @ t \0 0013360 s \0 t \0 356 \0 \0 357 2 216 s \a 364 \0 252 \b 0013400 364 \0 253 360 H 356 \0 \0 357 1 \n 004 364 \0 243 360 0013420 $ 364 \0 244 360 , 356 \0 \0 357 / 206 005 364 \0 344 0013440 \n 364 \0 345 360 C 356 \0 \0 357 . 002 \n 364 \0 232 0013460 \b 364 \0 233 360 G 356 \0 \0 357 , ~ 006 364 \0 323 0013500 360 ( 364 \0 324 360 ) 356 \0 \0 357 * 372 \t 364 \0 0013520 267 001 364 \0 270 360 N 356 \0 \0 357 ) v 002 364 \0 0013540 364 360 @ 364 \0 365 025 356 \0 \0 357 ' 362 005 364 \0 0013560 200 017 t \0 s \0 t \0 s 360 ' 356 \0 \0 357 $ 0013600 307 002 364 \0 274 \v 364 \0 275 360 E 356 \0 376 001 \0 0013620 376 317 \0 357 # C 005 364 \0 252 004 t \0 s \0 t 0013640 \0 s 360 D 364 \0 253 \a 356 \0 \0 357 ! 277 002 364 0013660 \0 216 360 < t 002 s 023 t 002 356 \0 \0 357 ; 0013700 s 003 364 \0 201 360 Y 356 \0 \0 357 036 267 003 364 \0 0013720 233 005 364 \0 234 017 t 002 s \t t 002 s 360 * 356 0013740 \0 \0 357 035 020 002 364 \0 317 360 . 364 \0 320 \v 357 0013760 035 235 t \0 357 035 020 s \a 357 035 235 t \0 357 035 0014000 020 s 016 356 \0 \0 357 033 214 \a 364 \0 200 026 356 \0 0014020 \0 357 030 a \0 364 \0 371 360 # u 036 364 \0 372 \f 0014040 s \0 356 \0 \0 357 026 335 \a t 003 s \0 364 \0 200 0014060 034 356 \0 \0 357 023 $ r \f 356 \0 \0 357 017 371 s 0014100 \t 356 \0 \0 357 \v m r 024 356 \0 \0 357 \b B s 0014120 360 U 356 \0 \0 357 002 277 v \0 w \0 t 360 $ 356 0014140 035 241 357 003 & x 004 356 035 252 357 001 242 q 003 364 0014160 \0 X 024 356 035 252 357 \0 d y 003 364 \0 G 360 0 0014200 \0 001 \0 \0 \0 \0 \0 \0 \a 262 \v 267 017 f \0 \0 0014220 \0 \0 376 001 \0 246 d H 237 [ 302 001 003 \0 \0 \0 0014240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0014620 \0 \0 \0 \0 \0 \0 \0 376 001 \0 001 \0 \0 \0 \0 \0 0014640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0015220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 p 0015240 > A P R O C E S S O R F O R 0015260 A H I G H - P E R F O R M A 0015300 N C E P E R S O N A L C O M 0015320 P U T E R 2 1 . I n t r o d 0015340 u c t i o n T h e m a c h i n 0015360 e d e s c r i b e d i n t 0015400 h i s p a p e r , c a l l e 0015420 d t h e D o r a d o , w a 0015440 s d e s i g n e d b y a n 0015460 d f o r t h e C o m p u t 0015500 e r S c i e n c e L a b o r a 0015520 t o r y ( C S L ) o f t h 0015540 e X e r o x P a l o A l t 0015560 o R e s e a r c h C e n t e 0015600 r . C S L h a s a p p r 0015620 o x i m a t e l y f o r t y p 0015640 e 376 001 \0 220 341 o p l e d o i n g 0015660 r e s e a r c h i n m o s 0015700 t a r e a s o f c o m p u 0015720 t e r s c i e n c e , i n c 0015740 l u d i n g V L S I d e s i 0015760 g n , c o m m u n i c a t i o 0016000 n s , p r o g r a m m i n g s 0016020 y s t e m s , g r a p h i c s 0016040 a n d i m a g i n g , o f 0016060 f i c e a u t o m a t i o n , 0016100 a r t i f i c i a l i n t e 0016120 l l i g e n c e , c o m p u t 0016140 a t i o n a l l i n g u i s t i 0016160 c s , a n d a n a l y s i s 0016200 o f a l g o r i t h m s . 0016220 T h e r e i s a h e a v 0016240 y e m p h 376 001 \0 l 177 a s i s 0016260 o n b u i l d i n g u s a b 0016300 l e p r o t o t y p e s y s t 0016320 e m s , a n d m a n y s u 0016340 c h s y s t e m s , b o t h 0016360 h a r d w a r e a n d s o 0016400 f t w a r e , h a v e b e e 0016420 n d e v e l o p e d o v e r 0016440 t h e l a s t s e v e n y 0016460 e a r s . M o s t a r e 0016500 p a r t o f a p e r s o n 0016520 a l c o m p u t i n g e n v 0016540 i r o n m e n t w h i c h i 0016560 s l o o s e l y c o u p l e 0016600 d t o o t h e r s u c h e 0016620 n v i r o n m e n t s , a n d 0016640 t o s e r v i c e 376 001 \0 037 0016660 f a c i l i t i e s f o r 0016700 s t o r a g e a n d p r i n 0016720 t i n g , b y a h i g h 0016740 b a n d w i d t h c o m m u n i 0016760 c a t i o n n e t w o r k [ 0017000 8 ] . T h e D o r a d o p r 0017020 o v i d e s t h e h a r d w 0017040 a r e b a s e f o r t h e 0017060 n e x t g e n e r a t i o n 0017100 o f s y s t e m r e s e a 0017120 r c h i n C S L . E a r 0017140 l i e r m a c h i n e s h a v 0017160 e l i m i t a t i o n s o n 0017200 v i r t u a l a d d r e s s 0017220 s i z e , r e a l m e m o 0017240 r y s i z e , m e m o r y 0017260 376 001 \0 234 N b a n d w i d t h , 0017300 a n d p r o c e s s o r s p e 0017320 e d t h a t s e v e r e l y 0017340 h a m p e r o u r w o r k 0017360 . T h e s i z e a n d 0017400 s p e e d o f t h e D o r 0017420 a d o m i n i m i z e t h e 0017440 s e l i m i t a t i o n s . 0017460 T h e p a p e r h a s s i 0017500 x s e c t i o n s . W e 0017520 b e g i n b y s k e t c h i 0017540 n g t h e h i s t o r y o 0017560 f t h e m a c h i n e ' s 0017600 d e v e l o p m e n t ( 266 2 0017620 ) . T h e n w e d i s c u s 0017640 s t h e d e s i g n g o a 0017660 l s f o 376 001 \0 034 305 r t h e 0017700 D o r a d o ( 266 3 ) , a n 0017720 d e x p l a i n h o w t h 0017740 e s e g o a l s a n d t h 0017760 e a v a i l a b l e t e c h n 0020000 o l o g y d e t e r m i n e 0020020 t h e h i g h l e v e l p 0020040 r o c e s s o r a r c h i t e 0020060 c t u r e ( 266 4 ) . N e 0020100 x t , w e p r e s e n t t 0020120 h e m o s t i m p o r t a n t 0020140 d e t a i l s o f t h e 0020160 p r o c e s s o r a r c h i t 0020200 e c t u r e ( 266 5 ) a n d 0020220 s o m e i n t e r e s t i n 0020240 g a s p e c t s o f t h e 0020260 i m p l e m e n t a 376 001 \0 002 312 t 0020300 i o n ( 266 6 ) . A f i 0020320 n a l s e c t i o n d e s c 0020340 r i b e s t h e m a c h i n 0020360 e ' s p e r f o r m a n c e 0020400 ( 266 7 ) . 2 . H i s t o r 0020420 y T h e D o r a d o i s a 0020440 d e s c e n d a n t o f a 0020460 s m a l l p e r s o n a l 0020500 c o m p u t e r c a l l e d 0020520 t h e A l t o , w h i c h 0020540 w a s d e s i g n e d a n d 0020560 b u i l t a s a n e x p e 0020600 r i m e n t a l m a c h i n e 0020620 i n C S L d u r i n g 1 0020640 9 7 3 [ 8 ] . T h e A l 0020660 t o w a s a f a i r l y 376 0020700 001 \0 L \r s i m p l e m a c h 0020720 i n e , b u t i t h a d s 0020740 e v e r a l f e a t u r e s 0020760 w h i c h t u r n e d o u t 0021000 t o b e i m p o r t a n t 0021020 : 267 a m i c r o p r o g r a m 0021040 m e d p r o c e s s o r t h 0021060 a t i s e f f i c i e n t l 0021100 y s h a r e d a m o n g a 0021120 l l t h e d e v i c e c o 0021140 n t r o l l e r s a s w e l l 0021160 a s t h e v i r t u a l 0021200 m a c h i n e i n t e r p r e 0021220 t e r ; 267 a f a i r l y h i 0021240 g h r e s o l u t i o n d i 0021260 s p l a y s y s t e m t h a 0021300 t u s 376 001 \0 260 P e s a f u 0021320 l l b i t m a p s t o r e d 0021340 i n t h e A l t o m a i 0021360 n m e m o r y ; 267 a d e v i c 0021400 e f o r p o i n t i n g a 0021420 t i m a g e s o n t h e 0021440 d i s p l a y ; 267 a n i n t e 0021460 r f a c e t o a h i g h 0021500 b a n d w i d t h c o m m u n 0021520 i c a t i o n n e t w o r k . 0021540 T h e m i c r o a r c h i t e 0021560 c t u r e a l l o w s a l l 0021600 t h e d e v i c e c o n t 0021620 r o l l e r s t o s h a r e 0021640 t h e f u l l p o w e r 0021660 o f t h e p r o c e s s o r 0021700 , r a t h e r t 376 001 \0 241 337 h a 0021720 n h a v i n g i n d e p e n 0021740 d e n t a c c e s s t o t 0021760 h e m e m o r y . A s a 0022000 r e s u l t , c o n t r o l 0022020 l e r s c a n b e s m a l 0022040 l a n d y e t t h e I / O 0022060 i n t e r f a c e p r o v i 0022100 d e d t o p r o g r a m s 0022120 c a n b e p o w e r f u l . 0022140 T h i s c o n c e p t o 0022160 f p r o c e s s o r s h a r 0022200 i n g i s f u n d a m e n t a 0022220 l t o t h e D o r a d o 0022240 a s w e l l , a n d i s 0022260 m o r e f u l l y e x p l a 0022300 i n e d i n 266 4 . A l 376 001 0022320 \0 344 ? t h o u g h t h e r e 0022340 a r e n o w m a n y h u n 0022360 d r e d s o f A l t o s a 0022400 t w o r k w i t h i n X e 0022420 r o x a n d e l s e w h e r 0022440 e , a n d t h e y f o r m e 0022460 d t h e h a r d w a r e b 0022500 a s e f o r C S L u n t i 0022520 l m i d - 1 9 8 0 , i t w 0022540 a s c l e a r b y 1 9 7 6 0022560 t h a t a l a r g e a n 0022600 d r a p i d l y i n c r e a s 0022620 i n g a m o u n t o f e f 0022640 f o r t w a s g o i n g i 0022660 n t o s u r m o u n t i n g 0022700 t h e A l t o ' s l i m i t 0022720 a t i 376 001 \0 206 215 o n s o f s 0022740 p a c e a n d s p e e d , r 0022760 a t h e r t h a n t r y i n 0023000 g o u t r e s e a r c h i 0023020 d e a s i n e x p e r i m e 0023040 n t a l s y s t e m s . C 0023060 S L t h e r e f o r e b e g 0023100 a n t o d e s i g n a n 0023120 e w m a c h i n e a i m e d 0023140 a t r e l i e v i n g t h e 0023160 s e b u r d e n s . D u r 0023200 i n g 1 9 7 6 a n d 1 9 7 0023220 7 , d e s i g n w o r k o 0023240 n t h e D o r a d o p r o c 0023260 e e d e d i n C S L a n d 0023300 t h e S y s t e m D e v e 0023320 l o p m e n t 376 001 \0 \a 206 D e p 0023340 a r t m e n t . R e q u i r 0023360 e m e n t s a n d c o n t r 0023400 i b u t i o n s f r o m p a r 0023420 t s o f X e r o x o u t s 0023440 i d e o f C S L a f f e c 0023460 t e d t h e d e s i g n c 0023500 o n s i d e r a b l y , a s 0023520 d i d t h e t e n d e n c y 0023540 t o w a r d g r a n d i o s i 0023560 t y w e l l k n o w n i n 0023600 s e c o n d s y s t e m s . 0023620 T h e m e m o r y b a n 0023640 d w i d t h a n d p r o c e 0023660 s s o r t h r o u g h p u t 0023700 w e r e s u b s t a n t i a l l 0023720 y i n c r e a s e d . I 376 001 \0 0023740 335 O n 1 9 7 7 , i m p l e m 0023760 e n t a t i o n o f t h e 0024000 l a b o r a t o r y p r o t o 0024020 t y p e f o r t h e D o r 0024040 a d o b e g a n . T h e 0024060 p r o t o t y p e p a c k a g i 0024100 n g a n d a d e s i g n 0024120 a u t o m a t i o n s y s t e 0024140 m h a d a l r e a d y b e 0024160 e n i m p l e m e n t e d , 0024200 a n d w e r e u s e d f o 0024220 r c o n s t r u c t i n g a n 0024240 d d e b u g g i n g D o r a 0024260 d o M o d e l 0 . A s 0024300 m a l l t e a m o f p e o 0024320 p l e w o r k e d s t e a d 0024340 i l 376 001 \0 250 \r y o n a l l a 0024360 s p e c t s o f t h e D o 0024400 r a d o s y s t e m u n t i 0024420 l s u m m e r o f 1 9 7 8 0024440 , w h e n t h e p r o t o 0024460 t y p e s u c c e s s f u l l 0024500 y r a n a l l t h e A l t 0024520 o s o f t w a r e . D u r 0024540 i n g t h e s u m m e r a 0024560 n d f a l l o f 1 9 7 8 0024600 w e u s e d t h e l e s s 0024620 o n s l e a r n e d i n d 0024640 e b u g g i n g a n d 377 \0 \0 \0 0024660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0024740 \0 \0 \0 \0 \0 \0 \0 376 001 \0 001 \0 \0 \0 \0 \0 0024760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0025340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 K 0025360 224 356 006 344 357 ^ 243 z \0 w 364 \0 X 365 \0 \0 0025400 \0 z \b w \0 z 002 w \0 z \0 w \0 z 003 w 0025420 \0 z \n w \0 z \a w \0 z \a 356 \0 \0 w \0 0025440 356 \0 \0 357 X L { 017 356 \0 \0 357 U ! w 002 0025460 364 \0 255 360 8 364 \0 256 360 ! 356 \0 \0 357 S 235 0025500 006 364 \0 264 \f z 002 w 360 + z 002 w 027 356 \0 0025520 \0 357 R 031 005 364 \0 254 034 364 \0 255 037 z 003 w 0025540 027 356 \0 \0 357 P 225 \n 364 \0 216 036 364 \0 217 360 0025560 : 356 \0 \0 357 O 021 \v 364 \0 274 017 364 \0 275 360 0025600 D 356 \0 \0 357 M 215 \a 364 \0 252 360 8 364 \0 253 0025620 034 356 \0 \0 357 L \t 004 364 \0 216 360 @ 364 \0 217 0025640 033 356 \0 \0 357 J 205 003 364 001 006 \r 364 001 \a 360 0025660 H 356 \0 \0 357 I 001 \f 364 \0 200 \f 356 \0 \0 357 0025700 E 326 002 364 \0 220 006 364 \0 221 360 J z 002 w \t 0025720 356 \0 \0 357 D R \a 364 \0 346 360 C 364 \0 347 016 0025740 356 \0 \0 357 B 316 \b 364 \0 217 \n 364 \0 220 360 K 0025760 356 376 001 \0 0 314 \0 \0 357 A J \v 364 \0 200 001 0026000 356 \0 \0 357 > 037 002 364 \0 213 027 364 \0 214 360 G 0026020 356 \0 \0 357 < 233 003 364 \0 315 \n 364 \0 316 360 K 0026040 356 \0 \0 357 ; 027 \b 364 \0 262 024 364 \0 263 360 C 0026060 356 \0 \0 357 9 223 003 364 \0 330 360 # 364 \0 331 360 0026100 7 356 \0 \0 357 8 017 \r 364 \0 200 360 C 356 \0 \0 0026120 357 3 < { \0 w \0 364 \0 X 001 { 006 356 \0 \0 0026140 357 0 021 w 002 364 \0 220 360 O 364 \0 221 \f 356 \0 0026160 \0 357 . 215 004 364 \0 201 036 z 002 w 360 ( 364 \0 0026200 202 023 356 \0 \0 357 - \t 001 364 \0 200 360 7 356 002 0026220 345 357 * 261 \0 356 004 366 \0 364 \0 234 360 . 364 \0 0026240 235 360 + 356 004 366 357 ) - 003 364 \0 200 360 $ 356 0026260 002 345 357 & 325 \0 356 004 366 \0 364 \0 310 036 364 \0 0026300 311 360 7 356 004 366 357 % Q 006 356 002 345 357 " 371 0026320 \0 356 004 366 \0 364 \0 200 360 . 356 002 345 357 241 0026340 \0 356 004 366 360 7 356 \0 \0 357 035 v 002 364 \0 300 0026360 360 7 364 \0 301 360 376 001 \0 313 245 ' 356 \0 \0 357 0026400 033 362 005 364 \0 207 360 & 364 \0 210 360 7 356 \0 \0 0026420 357 032 n 002 364 \0 310 \0 z \0 w \0 z \0 w 360 0026440 # 364 \0 311 360 3 356 \0 \0 357 030 352 \n 364 \0 200 0026460 360 ; 356 \0 \0 357 025 277 \a 364 \0 261 360 : 364 \0 0026500 262 027 356 \0 \0 357 024 ; 005 364 \0 264 026 z 002 w 0026520 360 % 364 \0 265 030 356 \0 \0 357 022 267 \t 364 \0 241 0026540 032 364 \0 242 360 < 356 \0 \0 357 021 3 005 364 \0 213 0026560 017 364 \0 214 360 * z 002 w 037 356 \0 \0 357 017 257 0026600 006 364 \0 273 \b 364 \0 274 360 J 356 \0 \0 357 016 + 0026620 \b 364 \0 211 003 z 002 w 364 \0 212 360 L 356 \0 \0 0026640 357 \f 247 004 364 \0 357 024 z 002 w 360 = 356 \0 \0 0026660 357 \v # \n 364 \0 214 360 R 356 \0 \0 357 \t 237 \f 0026700 364 \0 200 \n 356 \0 \0 357 006 t 001 364 \0 362 360 H 0026720 364 \0 363 \r 356 \0 \0 357 004 360 \b 364 \0 323 360 0 0026740 364 \0 324 036 356 \0 \0 357 003 l \v 364 \0 312 360 ! 0026760 364 \0 313 360 , 356 \0 \0 357 001 350 376 001 \0 327 \f 0027000 006 364 \0 263 360 + 364 \0 264 360 , 356 \0 \0 357 \0 0027020 d 003 364 \0 224 360 B 364 \0 225 030 377 \0 001 \0 \0 0027040 \0 \0 \0 \0 016 310 \v 267 \a 217 \0 \0 \0 \0 H 237 0027060 c 231 001 232 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0027100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0027400 376 001 \0 362 ( S E C . 2 H I S T O 0027420 R Y 3 m i c r o c o d i n g t 0027440 h e M o d e l 0 , t o g e 0027460 t h e r w i t h t h e s i 0027500 g n i f i c a n t i m p r o v 0027520 e m e n t s i n m e m o r y 0027540 t e c h n o l o g y s i n c 0027560 e t h e M o d e l 0 d e s 0027600 i g n w a s f r o z e n , 0027620 t o r e d e s i g n a n d 0027640 r e i m p l e m e n t n e a r 0027660 l y e v e r y s e c t i o n 0027700 o f t h e D o r a d o . W 0027720 e f i x e d s o m e s e r 0027740 i o u s d e s i g n e r r o 0027760 r s a n d a n u m b e r 0030000 o f a n 376 001 \0 341 ` n o y a n c 0030020 e s t o t h e m i c r o c 0030040 o d e r , s u b s t a n t i a 0030060 l l y e x p a n d e d a l l 0030100 t h e m e m o r i e s o f 0030120 t h e m a c h i n e , a n d 0030140 s p e e d e d u p t h e 0030160 b a s i c c y c l e t i m e 0030200 . D o r a d o M o d e l 0030220 1 c a m e u p i n t h e 0030240 s p r i n g o f 1 9 7 9 . 0030260 D u r i n g t h e n e x t 0030300 y e a r s e v e r a l c o 0030320 p i e s o f t h i s m a c 0030340 h i n e w e r e b u i l t 0030360 i n t h e s t i t c h w e l 0030400 d t e c h n o l o 376 001 \0 031 377 g 0030420 y u s e d f o r t h e p r 0030440 o t o t y p e s . S t i t c 0030460 h w e l d i n g w o r k e d 0030500 v e r y w e l l f o r p r 0030520 o t o t y p e s , b u t i s 0030540 t o o e x p e n s i v e f 0030560 o r e v e n m o d e s t q u 0030600 a n t i t i e s . I t s m 0030620 a j o r a d v a n t a g e s 0030640 a r e p a c k a g i n g d e 0030660 n s i t y a n d s i g n a l 0030700 p r o p a g a t i o n c h a 0030720 r a c t e r i s t i c s v e r y 0030740 s i m i l a r t o t h o s 0030760 e o f t h e p r o d u c t 0031000 i o n t e c h n o l o g y , 376 0031020 001 \0 026 353 v e r y r a p i d 0031040 t u r n a r o u n d d u r i n 0031060 g d e v e l o p m e n t ( t h 0031100 r e e d a y s f o r a c 0031120 o m p l e t e 3 0 0 - c h i p 0031140 b o a r d , a f e w h o 0031160 u r s f o r a m o d e s t 0031200 c h a n g e ) , a n d c o 0031220 m p l e t e c o m p a t i b i l 0031240 i t y w i t h o u r d e s 0031260 i g n a u t o m a t i o n s 0031300 y s t e m . A t t h e s a m 0031320 e t i m e , t h e d e s i 0031340 g n w a s t r a n s f e r r 0031360 e d t o m u l t i w i r e 0031400 c i r c u i t b o a r d s ; 0031420 t h e 376 001 \0 b 364 M a n h a t t 0031440 a n w i r e r o u t i n g a 0031460 n d l o w e r i m p e d a n 0031500 c e o f t h i s t e c h n 0031520 o l o g y s l o w e d t h e 0031540 m a c h i n e d o w n b y 0031560 a b o u t 1 5 % . D o r 0031600 a d o s a r e n o w a s s e 0031620 m b l e d w i t h v e r y 0031640 l i t t l e i n - h o u s e 0031660 l a b o r , s i n c e b o a 0031700 r d s a n d b a c k p a n e 0031720 l s a r e m a n u f a c t u 0031740 r e d a n d l o a d e d b y 0031760 s u b c o n t r a c t o r s . 0032000 W e d o 1 0 0 % c o n 0032020 t i n u i t y t 376 001 \0 " h e s 0032040 t i n g o f t h e b o a r 0032060 d s b o t h b e f o r e a 0032100 n d a f t e r t h e y a r e 0032120 l o a d e d w i t h c o m 0032140 p o n e n t s a n d s o l d 0032160 e r e d . C h e c k o u t 0032200 o f a n a s s e m b l e d 0032220 m a c h i n e i s s t i l l 0032240 n o n - t r i v i a l , b u 0032260 t i s a f a i r l y p r 0032300 e d i c t a b l e o p e r a t 0032320 i o n d o n e e n t i r e l 0032340 y b y t e c h n i c i a n s 0032360 . 3 . G o a l s T h i s s 0032400 e c t i o n o f t h e p a 0032420 p e r d e s c r i b e s 376 001 0032440 \0 316 361 t h e o v e r a l l d 0032460 e s i g n g o a l s f o r 0032500 t h e D o r a d o . T h e 0032520 h i g h l e v e l a r c h i 0032540 t e c t u r e o f t h e p 0032560 r o c e s s o r , d e s c r i 0032600 b e d i n t h e n e x t 0032620 s e c t i o n , f o l l o w s 0032640 f r o m t h e s e g o a l 0032660 s a n d t h e c h a r a c t 0032700 e r i s t i c s o f t h e 0032720 a v a i l a b l e t e c h n o 0032740 l o g y . T h e D o r a d o 0032760 i s i n t e n d e d t o b 0033000 e a p o w e r f u l b u t 0033020 p e r s o n a l c o m p u t 0033040 i n g 376 001 \0 323 345 s y s t e m . 0033060 I t s u p p o r t s a 0033100 s i n g l e u s e r w i t h i 0033120 n a p r o g r a m m i n g 0033140 s y s t e m w h i c h m a y 0033160 e x t e n d f r o m t h e 0033200 m i c r o i n s t r u c t i o 0033220 n l e v e l t o a f u l 0033240 l y i n t e g r a t e d p r o 0033260 g r a m m i n g e n v i r o n 0033300 m e n t f o r a h i g h - 0033320 l e v e l l a n g u a g e ; 0033340 p r o g r a m m i n g a t a 0033360 l l l e v e l s m u s t b 0033400 e r e l a t i v e l y e a s y 0033420 . T h e m a c h i n e m 0033440 u s t b e p 376 001 \0 001 217 h y s 0033460 i c a l l y s m a l l a n d 0033500 q u i e t e n o u g h t o 0033520 o c c u p y s p a c e n e 0033540 a r i t s u s e r s i n a 0033560 n o f f i c e o r l a b o 0033600 r a t o r y s e t t i n g , 0033620 a n d c h e a p e n o u g h 0033640 t o b e a c q u i r e d 0033660 i n c o n s i d e r a b l e 0033700 n u m b e r s . T h e s e c o 0033720 n s t r a i n t s o n s i z 0033740 e , n o i s e , a n d c o 0033760 s t h a v e a m a j o r 0034000 e f f e c t o n t h e d e 0034020 s i g n . I n o r d e r f o 0034040 r t h e D o r a d o 376 001 \0 0034060 _ I t o q u i c k l y b e c 0034100 o m e u s e f u l i n t h 0034120 e e x i s t i n g C S L e 0034140 n v i r o n m e n t , i t h 0034160 a d t o b e c o m p a t i b 0034200 l e w i t h t h e A l t o 0034220 s o f t w a r e b a s e . 0034240 H i g h - p e r f o r m a n c 0034260 e A l t o e m u l a t i o n 0034300 i s n o t a r e q u i r 0034320 e m e n t , h o w e v e r ; s 0034340 i n c e t h e e x i s t i n 0034360 g s o f t w a r e i s a l 0034400 s o o b s o l e s c e n t a 0034420 n d d u e t o b e r e p 0034440 l a c e d , t h e D o r a d 0034460 o 376 001 \0 ( 342 o n l y n e e d s 0034500 t o r u n i t s o m e w 0034520 h a t f a s t e r t h a n 0034540 t h e A l t o c a n . I n s 0034560 t e a d , t h e D o r a d o 0034600 i s o p t i m i z e d f o 0034620 r t h e e x e c u t i o n 0034640 o f l a n g u a g e s t h a 0034660 t a r e c o m p i l e d i 0034700 n t o a s t r e a m o f b 0034720 y t e c o d e s ; t h i s 0034740 e x e c u t i o n i s c a l 0034760 l e d e m u l a t i o n . 0035000 S u c h b y t e c o d e c 0035020 o m p i l e r s e x i s t f 0035040 o r M e s a [ 3 , 6 ] , I 0035060 n t e r l i s 376 001 \0 231 265 p [ 2 0035100 , 7 ] a n d S m a l l t a 0035120 l k [ 4 ] . A n i n s t 0035140 r u c t i o n f e t c h u n 0035160 i t ( I F U ) i n t h e 0035200 D o r a d o f e t c h e s b 0035220 y t e s f r o m s u c h a 0035240 s t r e a m , d e c o d e s 0035260 t h e m a s i n s t r u c t 0035300 i o n s a n d o p e r a n d 0035320 s , a n d p r o v i d e s 0035340 t h e n e c e s s a r y c o 0035360 n t r o l a n d d a t a i n 0035400 f o r m a t i o n t o t h e 0035420 p r o c e s s o r ; i t i 0035440 s d e s c r i b e d i n a 0035460 n o t h e r p a p e r 376 001 \0 331 0035500 240 [ 5 ] . F u r t h e r 0035520 s u p p o r t f o r t h i s 0035540 g o a l c o m e s f r o m 0035560 a v e r y f a s t m i c r 0035600 o c y c l e , a n d a m i 0035620 c r o i n s t r u c t i o n p 0035640 o w e r f u l e n o u g h t 0035660 o a l l o w i n t e r p r e 0035700 t a t i o n o f a s i m p l 0035720 e m a c r o i n s t r u c t i 0035740 o n i n a s i n g l e m 0035760 i c r o i n s t r u c t i o n . 0036000 T h e r e i s a l s o 0036020 a c a c h e w h i c h h a 0036040 s a l a t e n c y o f t w 0036060 o c y c l e s , a n d c a 0036100 n 376 001 \0 ) H d e l i v e r a 0036120 w o r d e v e r y c y c l 0036140 e . T h e g o a l o f 0036160 f a s t e x e c u t i o n a 0036200 f f e c t s t h e c h o i c 0036220 e s o f i m p l e m e n t a t 0036240 i o n t e c h n o l o g y , 0036260 m i c r o s t o r e o r g a n 0036300 i z a t i o n , a n d p i p 0036320 e l i n e o r g a n i z a t i 0036340 o n . I t a l s o m a n 0036360 d a t e s a n u m b e r o f 0036400 s p e c i f i c f e a t u r 0036420 e s , f o r e x a m p l e , 0036440 s t a c k s b u i l t w i 0036460 t h h i g h s p e e d m e 0036500 m o r y , 376 001 \0 001 * a n d h 0036520 a r d w a r e b a s e r e g i 0036540 s t e r s f o r a d d r e s 0036560 s i n g s o f t w a r e c o 0036600 n t e x t s . A n o t h e r m 0036620 a j o r g o a l f o r t h 0036640 e D o r a d o i s t o s 0036660 u p p o r t h i g h - b a n d 0036700 w i d t h i n p u t / o u t p 0036720 u t . I n p a r t i c u l 0036740 a r , c o l o r m o n i t o r 0036760 s , r a s t e r s c a n n e 0037000 d p r i n t e r s , a n d 0037020 h i g h s p e e d c o m m u 0037040 n i c a t i o n s a r e a l 0037060 l p a r t o f t h e r e 0037100 s e a r c h a c t i v 376 001 \0 , 312 0037120 i t i e s w i t h i n C S L 0037140 ; o n e o f t h e s e d 0037160 e v i c e s t y p i c a l l y 0037200 h a s a b a n d w i d t h 0037220 o f 2 0 t o 4 0 0 m e 0037240 g a b i t s / s e c o n d . F a 0037260 s t d e v i c e s s h o u l 0037300 d n o t s l o w d o w n 0037320 t h e e m u l a t o r t o o 0037340 m u c h , e v e n t h o u 0037360 g h t h e t w o f u n c t 0037400 i o n s c o m p e t e f o r 0037420 m a n y o f t h e s a m e 0037440 r e s o u r c e s . R e l 0037460 a t i v e l y s l o w d e v 0037500 i c e s m u s t a l s o b 0037520 376 001 \0 211 K e s u p p o r t e d 0037540 , w i t h o u t t y i n g 0037560 u p t h e h i g h b a n d w 0037600 i d t h I / O s y s t e m . 0037620 T h e s e c o n s i d e r 0037640 a t i o n s c l e a r l y s 0037660 u g g e s t t h a t I / O 0037700 a c t i v i t y a n d e m u 0037720 l a t i o n s h o u l d p r o 0037740 c e e d i n p a r a l l e l 0037760 a s m u c h a s p o s s 0040000 i b l e . A l s o , i t 0040020 m u s t b e p o s s i b l e 0040040 t o i n t e g r a t e a s 0040060 y e t 377 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0040100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0040120 \0 \0 \0 \0 \0 376 001 \0 001 \0 \0 \0 \0 \0 \0 \0 0040140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0040520 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 314 : 356 0040540 \0 \0 357 ^ [ z 003 364 \0 G 365 \0 \0 001 356 0 0040560 332 006 356 < 8 w \0 356 \0 \0 357 X 004 \n 364 \0 0040600 237 \t 364 \0 240 360 I 356 \0 \0 357 V 200 002 364 \0 0040620 246 032 364 \0 247 360 @ 356 \0 \0 357 T 374 001 364 \0 0040640 235 005 364 \0 236 360 W 356 \0 \0 357 S x \a 364 \0 0040660 216 360 N 364 \0 217 \a 356 \0 \0 357 Q 364 003 364 \0 0040700 200 033 356 \0 \0 357 N 311 005 364 \0 205 360 ^ 356 \0 0040720 \0 357 M E 002 364 \0 326 360 , 364 \0 327 360 . 356 0040740 \0 \0 357 K 301 005 364 \0 205 360 " 364 \0 206 360 = 0040760 356 \0 \0 357 J = 003 364 \0 320 023 364 \0 321 360 D 0041000 356 \0 \0 357 H 271 005 364 \0 334 \n 364 \0 335 360 H 0041020 356 \0 \0 357 G 5 \f 364 \0 200 360 # 356 \0 \0 357 0041040 D \n 001 364 \0 322 003 364 \0 323 360 V 356 \0 \0 357 0041060 B 206 006 364 \0 212 003 364 \0 213 360 R 356 \0 \0 357 0041100 A 002 002 364 \0 251 \r 364 \0 252 360 N 356 \0 \0 357 0041120 ? ~ 002 364 \0 226 \t 364 \0 227 360 S 356 \0 \0 376 0041140 001 \0 ] ? 357 = 372 003 364 \0 255 360 * 364 \0 256 0041160 360 / 356 \0 \0 357 < v \a 364 \0 200 360 D 356 \0 0041200 \0 357 7 243 { 001 364 \0 X 006 356 \0 \0 357 4 x 0041220 w 003 364 \0 333 360 R 364 \0 334 005 356 \0 \0 357 2 0041240 364 \v 364 \0 337 360 R 356 \0 \0 357 1 p 016 364 \0 0041260 200 034 356 \0 \0 357 . E 002 364 \0 214 360 P 364 \0 0041300 215 \r 356 \0 \0 357 , 301 005 364 \0 373 360 K 364 \0 0041320 374 005 356 \0 \0 357 + = \t 364 \0 234 360 U 356 \0 0041340 \0 357 ) 271 \t 364 \0 240 360 R 364 \0 241 003 356 \0 0041360 \0 357 ( 5 004 364 \0 223 002 364 \0 224 360 Z 356 \0 0041400 \0 357 & 261 004 364 \0 200 360 H 356 \0 \0 357 # 206 0041420 001 364 \0 255 360 1 364 \0 256 \r z 002 w 031 356 \0 0041440 \0 357 " 002 022 364 \0 257 360 K 356 \0 \0 357 ~ 0041460 \a 364 \0 252 360 L 364 \0 253 \v 356 \0 \0 357 036 372 0041500 004 364 \0 200 360 - 356 \0 \0 357 033 317 \a 364 \0 223 0041520 360 Z 356 \0 \0 357 032 K 003 364 \0 300 037 364 \0 301 0041540 \0 | \b w 376 001 \0 u 233 360 2 356 \0 \0 357 030 0041560 307 \b 364 \0 225 360 7 z 002 w 026 364 \0 226 \n 356 0041600 \0 \0 357 027 C 003 364 \0 236 360 F 364 \0 237 025 356 0041620 \0 \0 357 025 277 003 364 \0 203 016 364 \0 204 360 T 356 0041640 \0 \0 357 024 ; 004 364 \0 230 006 364 \0 231 360 U 356 0041660 \0 \0 357 022 267 001 364 \0 207 036 364 \0 210 360 D 356 0041700 \0 \0 357 021 3 001 364 \0 216 360 c 356 \0 \0 357 017 0041720 257 \r 364 \0 234 \v 364 \0 235 360 H 356 \0 \0 357 016 0041740 + 005 364 \0 230 360 H 364 \0 231 021 356 \0 \0 357 \f 0041760 247 \b 364 \0 200 360 " 356 \0 \0 357 \t | 006 364 \0 0042000 212 037 364 \0 213 360 ; 356 \0 \0 357 \a 370 \b 364 \0 0042020 330 360 ; 364 \0 331 030 356 \0 \0 357 006 t \t 364 \0 0042040 225 \a z 002 w 360 N 356 \0 \0 357 004 360 003 364 \0 0042060 214 360 Z 356 \0 \0 357 003 l 002 364 \0 225 360 U 364 0042100 \0 226 \b 356 \0 \0 357 001 350 002 364 \0 201 016 364 \0 0042120 202 \0 z \0 w \0 z \0 w 360 4 z \0 w \0 z 0042140 \0 w 026 356 \0 \0 357 \0 d 376 001 \0 276 320 005 364 0042160 \0 320 360 * 364 \0 321 360 . 377 \0 001 \0 \0 \0 \0 0042200 \0 \0 020 342 \v 267 \a 327 \0 \0 \0 \0 H 237 c Q 0042220 001 222 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0042240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0042540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 0042560 \0 } 362 A P R O C E S S O R F 0042600 O R A H I G H - P E R F O R 0042620 M A N C E P E R S O N A L C 0042640 O M P U T E R 4 u n d e f i n e 0042660 d d e v i c e c o n t r o l 0042700 l e r s i n t o t h e D o 0042720 r a d o s y s t e m i n a 0042740 r e l a t i v e l y s t r a 0042760 i g h t f o r w a r d w a y . 0043000 T h e m e m o r y s y s t 0043020 e m s u p p o r t s t h e s 0043040 e r e q u i r e m e n t s b 0043060 y a l l o w i n g c a c h e 0043100 a c c e s s e s a n d m a 0043120 i n s t o r a g e r e f e r 0043140 e n c e s t o p r o c e e d 0043160 i n 376 001 \0 321 8 p a r a l l e l 0043200 , a n d b y f u l l y s 0043220 e g m e n t e d p i p e l i n 0043240 i n g w h i c h a l l o w s 0043260 a c a c h e r e f e r e n 0043300 c e t o s t a r t i n e v 0043320 e r y c y c l e , a n d a 0043340 s t o r a g e r e f e r e n 0043360 c e t o s t a r t i n e 0043400 v e r y s t o r a g e c y c 0043420 l e ; t h i s s y s t e m 0043440 i s d e s c r i b e d i n a 0043460 n o t h e r p a p e r [ 1 ] 0043500 . A n y s y s t e m f o r 0043520 e x p e r i m e n t a l r e s 0043540 e a r c h s h o u l d p r o 0043560 v i d e a d e 376 001 \0 026 255 q u a 0043600 t e r e s o u r c e s a t 0043620 m a n y l e v e l s . F o 0043640 r t h e p r o c e s s o r , 0043660 t h i s m e a n s p l e n t 0043700 y o f h i g h s p e e d 0043720 i n t e r n a l s t o r a g e 0043740 a s w e l l a s a m p l 0043760 e s p e e d . H a r d w a 0044000 r e s u p p o r t f o r h a 0044020 n d l i n g a r b i t r a r y 0044040 b i t s t r i n g s , b o 0044060 t h l a r g e a n d s m a 0044100 l l , i s a l s o n e c e 0044120 s s a r y . 4 . H i g h l 0044140 e v e l a r c h i t e c t u r 0044160 e W e n o w p r o c e 376 001 \0 0044200 315 351 e d t o c o n s i d e r 0044220 t h e m a j o r d e s i g 0044240 n d e c i s i o n s w h i c 0044260 h s h a p e d t h e D o r 0044300 a d o p r o c e s s o r . 0044320 F o r t h e m o s t p a r t 0044340 t h e s e w e r e g u i d 0044360 e d b y t h e g o a l s 0044400 s e t o u t a b o v e , t 0044420 h e a v a i l a b l e i m p 0044440 l e m e n t a t i o n t e c h n 0044460 o l o g y , a n d o u r p 0044500 a s t e x p e r i e n c e . 0044520 I n t h i s s e c t i o n 0044540 w e s t a y a t a h i 0044560 g h l e v e l , r e s e r v 0044600 i n 376 001 \0 237 314 g t h e d e t 0044620 a i l s o f t h e a r c h 0044640 i t e c t u r e f o r t h e 0044660 n e x t . T h e D o r a d o 0044700 f i t s i n t o a v e r 0044720 y c o m p a c t p a c k a g 0044740 e , i l l u s t r a t e d i 0044760 n F i g u r e 1 a ; F i g 0045000 u r e 1 b i s a h i g h 0045020 - l e v e l b l o c k d i a g 0045040 r a m . C i r c u i t s a 0045060 r e m o u n t e d o n l a 0045100 r g e , h i g h d e n s i t 0045120 y l o g i c b o a r d s ( 0045140 2 8 8 1 6 - p i n D I P l 0045160 o g i c p a c k a g e s p l u 0045200 s 1 4 4 8 376 001 \0 5 035 - p i n 0045220 S I P r e s i s t o r p a 0045240 c k a g e s p e r b o a r d 0045260 ) . T h e b o a r d s s 0045300 l i d e h o r i z o n t a l l 0045320 y i n t o z e r o - i n s e 0045340 r t i o n - f o r c e c o n n 0045360 e c t o r s m o u n t e d i 0045400 n d u a l b a c k p a n e l 0045420 s ( " s i d e p a n e l s " ) 0045440 ; t h e y a r e . 6 2 5 0045460 i n c h e s a p a r t . T h i 0045500 s d e n s i t y m a k e s 0045520 i t p o s s i b l e t o r 0045540 e c o n c i l e t h e g o a 0045560 l s o f s i z e a n d c 0045600 a p a b i l i t y . 376 001 \0 217 0045620 354 C e r t a i n s a c r i f i 0045640 c e s a r e m a d e , h o w 0045660 e v e r . F o r e x a m p 0045700 l e , i t i s n o t p o 0045720 s s i b l e t o a c c e s s 0045740 e v e r y s i g n a l w i 0045760 t h a s c o p e p r o b e 0046000 f o r d e b u g g i n g a n 0046020 d m a i n t e n a n c e . 0046040 W e m a k e u p f o r t 0046060 h i s b y p r o v i d i n g 0046100 s o p h i s t i c a t e d d 0046120 e b u g g i n g f a c i l i t 0046140 i e s , d i a g n o s t i c s , 0046160 a n d t h e a b i l i t y 0046200 t o i n c r e m e n t a l l 0046220 y 376 001 \0 * 373 a s s e m b l e 0046240 a n d t e s t a D o r a d 0046260 o f r o m t h e b o t t o 0046300 m u p . T h e e n t i r 0046320 e m a c h i n e , i n c l u 0046340 d i n g d i s k , d i s p l 0046360 a y a n d n e t w o r k i 0046400 n t e r f a c e s , i s i m 0046420 p l e m e n t e d w i t h a p 0046440 p r o x i m a t e l y 3 0 0 0 0046460 M S I c o m p o n e n t s , 0046500 m o s t l y E C L 1 0 K ; 0046520 t h e p r o c e s s o r i 0046540 s a b o u t 3 5 % o f t 0046560 h i s . I n a d d i t i o n 0046600 t h e r e a r e u p t o 0046620 4 s t o 376 001 \0 202 231 r a g e 0046640 m o d u l e s , e a c h w i 0046660 t h a b o u t 3 0 0 1 6 K 0046700 o r 6 4 K R A M s a n d 0046720 2 0 0 M S I c o m p o n e n 0046740 t s , f o r a m a x i m u 0046760 m o f 8 m e g a b y t e s 0047000 . T h e t o t a l v o l 0047020 u m e , i n c l u d i n g p 0047040 o w e r a n d c o o l i n g 0047060 , i s a b o u t . 1 4 m 3 0047100 ( 4 . 5 f t 3 ) ; t h i s 0047120 i s w i t h o u t a n y 0047140 e n c l o s i n g c a b i n e 0047160 t , h o w e v e r , a n d 0047200 t h e o p e n m a c h i n e 0047220 i s q u i t e n o 376 001 \0 < 240 0047240 i s y . I n c l u d i n g 0047260 a n 8 0 m e g a b y t e r 0047300 e m o v a b l e d i s k , i 0047320 t r e q u i r e s a b o u t 0047340 2 . 5 K w o f A C p o 0047360 w e r . M o s t d a t a p a 0047400 t h s a r e s i x t e e n 0047420 b i t s w i d e . T h e 0047440 r e l a t i v e l y s m a l l 0047460 b u s s e s , r e g i s t e 0047500 r s , d a t a p a t h s , 0047520 a n d m e m o r i e s w h i c 0047540 h r e s u l t h e l p t o 0047560 k e e p t h e m a c h i n 0047600 e c o m p a c t . P a c k 0047620 a g i n g , h o w e v e r , 0047640 376 001 \0 035 255 i s n o t t h e 0047660 o n l y c o n s i d e r a t i o 0047700 n . C S L h a s a l a 0047720 r g e c l a s s o f a p p 0047740 l i c a t i o n s w h e r e 0047760 d o u b l i n g t h e d a t 0050000 a p a t h w i d t h i n c 0050020 r e a s e s p e r f o r m a n c 0050040 e o n l y a l i t t l e , 0050060 b e c a u s e s o m e o f 0050100 t h e b i t s c o n t a i 0050120 n t y p e c o d e s , f l 0050140 a g s o r w h a t e v e r 0050160 w h i c h m u s t b e e x a 0050200 m i n e d b e f o r e a n 0050220 e n t i r e d a t u m c a n 0050240 b e p 376 001 \0 025 s r o c e s s 0050260 e d . S p e e d d i c t a 0050300 t e s a h e a v i l y p i 0050320 p e l i n e d s t r u c t u r 0050340 e i n a n y c a s e , a n 0050360 d t h i s p a r a l l e l i 0050400 s m i n t h e t i m e d 0050420 o m a i n t e n d s t o c 0050440 o m p e n s a t e f o r t h 0050460 e l a c k o f p a r a l l 0050500 e l i s m i n t h e s p a c 0050520 e d o m a i n . K e e p i 0050540 n g t h e m a c h i n e p 0050560 h y s i c a l l y s m a l l 0050600 a l s o i m p r o v e s t h 0050620 e s p e e d , s i n c e p 0050640 h y s i c a l d i s 376 001 \0 301 036 t 0050660 a n c e a c c o u n t s f o 0050700 r a c o n s i d e r a b l e 0050720 f r a c t i o n o f t h e 0050740 b a s i c c y c l e t i m 0050760 e . F i n a l l y , p e r 0051000 f o r m a n c e i s o f t e 0051020 n l i m i t e d b y t h e 0051040 c a c h e h i t r a t e , 0051060 w h i c h c a n n o t b e 0051100 i m p r o v e d , a n d m a 0051120 y b e r e d u c e d , b y 0051140 w i d e r d a t a p a t h 0051160 s ( i f t h e n u m b e r 0051200 o f b i t s i n t h e c 0051220 a c h e i s f i x e d ) . R 0051240 a t h e r t h a n p u t t 376 0051260 001 \0 q \b i n g p r o c e s s i 0051300 n g c a p a b i l i t y i n 0051320 e a c h I / O c o n t r o 0051340 l l e r a n d u s i n g a 0051360 s h a r e d b u s o r a 0051400 s w i t c h t o a c c e s s 0051420 t h e m e m o r y , t h e 0051440 D o r a d o s h a r e s t 0051460 h e p r o c e s s o r a m o 0051500 n g a l l t h e I / O d 0051520 e v i c e s a n d t h e e 0051540 m u l a t o r . T h i s f u n 0051560 d a m e n t a l c o n c e p t 0051600 o f t h e a r c h i t e c 0051620 t u r e , w h i c h m o t i 0051640 v a t e s m u c h o f t h 0051660 e p r 376 001 \0 N = o c e s s o r 0051700 d e s i g n , w a s f i r s 0051720 t t r i e d i n t h e A 0051740 l t o . I t w o r k s f 0051760 o r t w o m a i n r e a s 0052000 o n s . 267 F i r s t , u n 0052020 l e s s a s y s t e m h a 0052040 s b o t h m u l t i p l e 0052060 m e m o r y b u s s e s ( i 0052100 . e . , m u l t i - p o r t e 0052120 d m e m o r i e s ) a n d m 0052140 u l t i p l e m e m o r y m 0052160 o d u l e s w h i c h c a n 0052200 c y c l e i n d e p e n d e 0052220 n t l y , t h e m a i n f 0052240 a c t o r g o v e r n i n g p 0052260 r o c e s s o r 376 001 \0 \n " t h 0052300 r o u g h p u t i s m e m o 0052320 r y c o n t e n t i o n . 0052340 P u t s i m p l y , w h e n 0052360 I / O i n t e r f a c e s 0052400 m a k e m e m o r y r e f e r 0052420 e n c e s , t h e e m u l a 0052440 t o r e n d s u p w a i t 0052460 i n g f o r t h e m e m o 0052500 r y . I n t h i s s i t 0052520 u a t i o n t h e p r o c e 0052540 s s o r m i g h t a s w e l 0052560 l b e w o r k i n g f o r 0052600 t h e I / O d e v i c e . 0052620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0052640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0052660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 0052700 \0 r 031 356 006 344 357 X 374 z \0 w 364 \0 X 365 0052720 \0 \0 \0 z \b w \0 z 002 w \0 z \0 w \0 z 0052740 003 w \0 z \n w \0 z \a w \0 z \a 356 \0 \0 0052760 w \0 356 \0 \0 357 R 245 \b 364 \0 327 006 364 \0 330 0053000 360 M 356 \0 \0 357 Q ! 005 364 \0 211 360 > 364 \0 0053020 212 033 356 \0 \0 357 O 235 001 364 \0 220 024 364 \0 221 0053040 360 M 356 \0 \0 357 N 031 004 364 \0 311 360 Y 364 \0 0053060 312 002 356 \0 \0 357 L 225 006 364 \0 200 \n 356 \0 \0 0053100 357 I j 002 364 \0 242 006 364 \0 243 360 U 356 \0 \0 0053120 357 G 346 \t 364 \0 306 360 B 364 \0 307 020 356 \0 \0 0053140 357 F b 006 364 \0 200 360 M 356 \0 \0 357 A 217 { 0053160 001 364 \0 X 030 356 \0 \0 357 > d w 001 364 \0 232 0053200 360 " 364 \0 233 360 9 356 \0 \0 357 < 340 002 364 \0 0053220 376 360 # 364 \0 377 360 2 356 \0 \0 357 ; \ \n 364 0053240 \0 212 030 364 \0 213 360 C 364 \0 200 \0 356 \0 \0 357 0053260 9 330 035 356 \0 \0 357 6 255 002 364 \0 262 360 ? 364 0053300 \0 263 035 376 001 \0 257 \r 356 \0 \0 357 5 ) 004 364 0053320 \0 302 360 P z 002 w 005 356 \0 \0 357 3 245 \a 364 0053340 \0 236 017 z 002 w \b 364 \0 237 360 ? 356 \0 \0 357 0053360 2 ! 016 364 \0 263 \n 364 \0 264 360 G 356 \0 \0 357 0053400 0 235 003 364 \0 247 360 = 364 \0 250 360 $ 356 \0 \0 0053420 357 / 031 004 364 \0 307 360 T 364 \0 310 003 356 \0 \0 0053440 357 - 225 \b 364 \0 232 360 ! 364 \0 233 360 6 356 \0 0053460 \0 357 , 021 \v 364 \0 200 360 R 356 \0 \0 357 ( 346 0053500 002 364 001 / 037 364 001 0 360 4 356 \0 \0 357 ' b 0053520 \f 364 \0 313 005 z 002 w 023 z 002 w 033 364 \0 314 0053540 020 356 \0 \0 357 % 336 \a 364 \0 246 031 364 \0 247 360 0053560 ) z 002 w \t z 002 356 \0 \0 357 $ Z w \n 364 0053600 \0 252 360 E 364 \0 253 \v 356 \0 \0 357 " 326 004 364 0053620 \0 202 005 357 # c } \0 357 " 326 w \a 357 # c 0053640 } \0 357 " 326 w 360 ? 364 \0 203 020 356 \0 \0 357 0053660 ! R 005 364 \0 200 360 P 356 \0 \0 357 036 ' 003 364 0053700 \0 332 360 [ 356 \0 \0 357 376 001 \0 261 002 034 243 \a 0053720 364 \0 266 360 ; 364 \0 267 030 356 \0 \0 357 033 037 \r 0053740 364 \0 244 001 z 002 w 360 1 364 \0 245 035 356 \0 \0 0053760 357 031 233 \n 364 \0 201 036 364 \0 202 360 : 356 \0 \0 0054000 357 030 027 001 364 \0 212 \b 364 \0 213 360 W 356 \0 \0 0054020 357 026 223 001 364 \0 211 360 " 364 \0 212 360 @ 356 \0 0054040 \0 357 025 017 001 364 \0 211 360 ' 364 \0 212 360 9 356 0054060 \0 \0 357 023 213 \a 364 \0 226 \b 364 \0 227 360 T 356 0054100 \0 \0 357 022 \a 006 364 \0 215 360 Y 356 \0 \0 357 020 0054120 203 002 364 \0 200 360 + 356 \0 \0 357 \r X 005 364 \0 0054140 220 360 , z \0 w \0 z \0 w 360 % 364 \0 221 \b 0054160 356 \0 \0 357 \v 324 001 364 \0 210 360 = 364 \0 211 004 0054200 z \0 w \0 z \0 w 031 356 \0 \0 357 \n P 003 364 0054220 \0 246 026 364 \0 247 360 D 356 \0 \0 357 \b 314 004 364 0054240 \0 200 360 5 356 002 345 357 006 t \0 356 004 366 005 364 0054260 \0 252 360 D 364 \0 253 \n | 002 356 004 366 357 004 360 0054300 w \a 364 \0 366 030 364 \0 367 360 / 356 004 376 001 \0 0054320 272 } 366 357 003 l \b 364 \0 201 \n 364 \0 202 360 ) 0054340 z \0 w \0 z \0 w 026 356 004 366 357 001 350 \n 364 0054360 \0 247 021 364 \0 250 360 < 356 004 366 357 \0 d 004 364 0054400 \0 200 033 z \0 w \0 z \0 w \t 377 \0 001 \0 \0 0054420 \0 \0 \0 \0 017 326 \v 267 \r 6 \0 \0 \0 \0 H 237 0054440 ] 362 001 251 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0054460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0054720 \0 \0 376 001 \0 343 204 S E C . 4 H I G 0054740 H L E V E L A R C H I T E C 0054760 T U R E 5 < = = < P r o c F i g 0055000 1 . p r e s s < 377 \0 \0 F r o n t 0055020 V i e w T o p V i e w + 5 0055040 V o l t - 5 V o l t - 2 V o 0055060 l t + 1 2 V o l t F a n F a n 0055100 q q q q q q q r . 6 2 5 i n r 0055120 4 . 5 i n . q r q 1 3 i n . 0055140 3 . 5 i n . q r 1 5 . 5 i n 0055160 q r r q P o w e r S u p p l i 0055200 e s 1 5 i n . < > P a n e l W 0055220 i r i n g S i d e S i d e W i r 0055240 i n g P a n e l - 5 - 2 + 5 + 1 0055260 2 V V V V x x x x 2 5 0 7 5 7 0 0055300 2 5 A A A A F i g u r e 1 a : 0055320 D o r a d o 376 001 \0 [ p c h a 0055340 s s i s S t o r a g e S t o r 0055360 a g e S t o r a g e S t o r * 0055420 a g e M e m o r y a d d r e 0055440 s s i n g I n s t r u c t i o n 0055460 f e t c h u n i t P r o c e 0055500 s s o r , h i g h b y t e P 0055520 r o c e s s o r , l o w b y 0055540 t e C o n t r o l s e c t i o 0055560 n M i c r o i n s t r u c t i o 0055600 n m e m o r y B a s e b o a r 0055620 d S t o r a g e S t o r a g e 0055640 D i s k / E t h e r n e t c 0055660 o n t r o l l e r D i s p l a y 0055700 c o n t r o l l e r I / O I / 0055720 O I / O I / O I / O 1 0 376 001 \0 o 0055740 262 . 5 i n P i p e , m a p 0055760 a n d s t o r a g e c o n t 0056000 r o l C a c h e d a t a , e 0056020 r r o r c o r r e c t i o n I 0056040 n s t r u c t i o n P r o c e s 0056060 s o r C a c h e S t o r a g e S 0056100 l o w i n p u t / o u t p u t 0056120 F a s t i n p u t / o u t p u 0056140 t E t h e r n e t D i s k D i s 0056160 p l a y K e y b o a r d F e t c 0056200 h U n i t 8 K - 3 2 K b y t e 0056220 s F i g u r e 1 b : D o r 0056240 a d o b l o c k d i a g r a 0056260 m < = = < < 2 6 5 M B i t s / 0056300 s e c 1 6 b i t s / 6 0 n s 0056320 2 6 5 M B i t s / s e c 1 6 0056340 b 376 001 \0 256 307 i t s / 6 0 n s 1 0056360 2 0 n s a c c e s s 5 3 0 0056400 M B i t s / s e c 2 5 6 b i t 0056420 s / 4 8 0 n s 1 . 7 u s a 0056440 c c e s s A i r p l e n u m B 0056460 o a r d A r e a 2 8 8 1 6 - 0056500 p i n D I P s ( l o g i c ) 0056520 a n d 1 4 4 8 - p i n S I P 0056540 s ( t e r m i n a t o r s ) p 0056560 e r b o a r d 5 1 2 K - 1 6 M 0056600 b y t e s \0 \0 356 \0 \0 357 f 027 z 003 0056620 364 \0 G 365 \0 \0 001 356 % z 026 356 < 8 w \0 0056640 356 036 t 357 \0 d 2 377 \0 001 \0 \0 \0 \0 \0 \0 0056660 \0 4 \v 267 \0 033 \0 \0 \0 \0 H 237 k \r \0 034 0056700 356 017 262 r 357 # 254 360 \n 356 6 227 357 # 254 360 0056720 \b 356 ' \b p 357 $ : 360 \a 356 ( 263 357 ' 002 0056740 376 001 034 \0 $ 356 376 001 \0 z 354 ) 317 357 & \t 0056760 376 \0 $ 001 034 356 ( 263 357 % 345 376 001 @ \0 $ 0057000 356 ( 263 357 % 345 376 \0 $ 001 @ 356 ( 263 357 V 0057020 < 376 001 034 \0 $ 356 ) 317 357 U C 376 \0 $ 001 0057040 034 356 ( 263 357 U 376 001 @ \0 $ 356 ( 263 357 0057060 U 376 \0 $ 001 @ 356 J \t 357 V < 376 001 034 0057100 \0 $ 356 K & 357 U C 376 \0 $ 001 034 356 J \t 0057120 357 U 376 001 @ \0 $ 356 J \t 357 U 376 \0 0057140 $ 001 @ 356 J \t 357 ' 002 376 001 034 \0 $ 356 K 0057160 & 357 & \t 376 \0 $ 001 034 356 J \t 357 % 345 376 0057200 001 @ \0 $ 356 J \t 357 % 345 376 \0 $ 001 @ 356 0057220 ' \b 357 V 203 360 \a 356 H 355 357 V 203 360 \a 356 0057240 H ^ 357 $ : 360 \b 356 1 227 357 U 256 376 006 035 0057260 \0 $ 356 7 263 357 T ' 376 \0 $ 001 253 356 1 227 0057300 357 T 003 376 006 @ \0 $ 356 1 227 357 T 003 376 \0 0057320 $ 001 316 356 < 263 357 U 256 376 006 253 \0 $ 356 C 0057340 ^ 357 T ' 376 \0 $ 001 253 356 < 376 001 \0 321 242 0057360 263 357 T 003 376 006 316 \0 $ 356 < 263 357 T 003 376 0057400 \0 $ 001 316 356 3 320 357 U 365 360 003 356 > 354 357 0057420 U 365 360 003 356 2 % | 357 O 305 360 001 356 3 320 0057440 357 O 305 360 001 356 5 z 357 O 305 360 001 356 = 320 0057460 357 O 305 360 001 356 ? { 357 O 305 360 001 356 A % 0057500 357 O 305 360 001 356 K 264 357 U 256 376 001 253 \0 $ 0057520 356 K 264 357 & s 376 001 253 \0 $ 356 K 264 357 Q 0057540 o 360 001 356 K 264 357 # Q 360 001 356 & z p 357 0057560 _ 256 360 \a 356 K 264 357 K 037 376 001 253 \0 $ 356 0057600 K 264 | 357 G 375 360 001 356 K & p 357 P 037 360 0057620 \a 356 K 264 | 357 F 341 360 001 356 K 264 357 + 031 0057640 360 001 356 K 264 357 ) 374 360 001 356 L B 357 > 302 0057660 376 \0 $ \f 200 356 L B 357 . ^ 376 \0 $ \r 235 0057700 356 K & p 357 < f 360 006 356 K & 357 * 020 360 0057720 \a 356 ) A 357 & P 376 ! z \0 G 356 ) A 357 0057740 & P 376 \0 G / 202 356 ) A 357 U 212 376 ! 236 0057760 376 001 \0 t 017 \0 G 356 J 227 357 & P 376 \0 G 0060000 / 202 356 & 235 357 ` 356 376 004 \a \0 $ 356 ( H 0060020 357 a | 376 \0 $ 001 253 356 ( H 357 ] . 376 \0 0060040 $ 002 9 356 ' 272 | 357 [ 005 360 001 356 ' 272 357 0060060 ] 360 360 001 356 \0 325 357 b u 376 002 200 \0 $ 356 0060100 \0 \0 p 357 P 212 360 \a 356 002 025 357 R 5 376 \0 0060120 $ 020 d 356 002 025 357 = 311 376 \0 $ 022 2 356 001 0060140 207 | 357 ^ 7 360 001 356 001 207 357 : 204 360 001 356 0060160 \0 325 357 & s 376 002 307 \0 $ 356 002 025 357 3 027 0060200 376 \0 $ \n 262 356 001 207 357 # Q 360 001 356 001 207 0060220 357 9 h 360 001 356 017 $ r 357 8 ; 360 016 356 8 0060240 A p 357 Y 003 360 006 356 ) A 357 X \n 376 \0 $ 0060260 002 307 356 J 227 357 X 231 376 \0 $ 002 9 356 ) A 0060300 357 Y 221 376 016 r \0 $ 356 ) A | 357 U 341 360 0060320 001 356 I { 357 U 341 360 001 356 K & 357 . ; 376 0060340 002 9 \0 $ 356 L B 357 Q _ 376 \0 $ 004 r 356 0060360 * 026 p 357 < 376 001 \0 223 \n 037 360 005 356 * 026 0060400 357 : t 360 006 356 * ] 357 K 037 376 \0 216 \0 $ 0060420 356 + z 357 K 037 376 \0 216 \0 $ 356 , 226 357 K 0060440 037 376 \0 216 \0 $ 356 - 263 357 K 037 376 \0 216 \0 0060460 $ 356 . 317 357 K 037 376 \0 216 \0 $ 356 / 354 357 0060500 K 037 376 \0 216 \0 $ 356 1 \b 357 K 037 376 \0 216 0060520 \0 $ 356 2 % 357 K 037 376 \0 216 \0 $ 356 3 A 0060540 357 K 037 376 \0 216 \0 $ 356 4 ^ 357 K 037 376 \0 0060560 216 \0 $ 356 5 z 357 K 037 376 \0 216 \0 $ 356 6 0060600 227 357 K 037 376 \0 216 \0 $ 356 7 263 357 K 037 376 0060620 \0 216 \0 $ 356 8 320 357 K 037 376 \0 216 \0 $ 356 0060640 9 354 357 K 037 376 \0 216 \0 $ 356 ; \t 357 K 037 0060660 376 \0 216 \0 $ 356 < % 357 K 037 376 \0 216 \0 $ 0060700 356 = B 357 K 037 376 \0 216 \0 $ 356 > ^ 357 K 0060720 037 376 \0 216 \0 $ 356 ? { 357 K 037 376 \0 216 \0 0060740 $ 356 @ 227 357 K 037 376 \0 216 \0 $ 356 A 264 357 0060760 K 037 376 \0 216 \0 $ 356 B 320 376 001 \0 210 321 357 0061000 K 037 376 \0 216 \0 $ 356 C 355 357 K 037 376 \0 216 0061020 \0 $ 356 E \t 357 K 037 376 \0 216 \0 $ 356 F % 0061040 357 K 037 376 \0 216 \0 $ 356 G B 357 K 037 376 \0 0061060 216 \0 $ 356 H ^ 357 K 037 376 \0 216 \0 $ 356 I 0061100 { 357 K 037 376 \0 216 \0 $ 356 H 355 357 . ; 376 0061120 \0 216 \0 $ 356 G 320 357 . ; 376 \0 216 \0 $ 356 0061140 F 264 357 . ; 376 \0 216 \0 $ 356 E 227 357 . ; 0061160 376 \0 216 \0 $ 356 D { 357 . ; 376 \0 216 \0 $ 0061200 356 C ^ 357 . ; 376 \0 216 \0 $ 356 B B 357 . 0061220 ; 376 \0 216 \0 $ 356 A % 357 . ; 376 \0 216 \0 0061240 $ 356 @ \t 357 . ; 376 \0 216 \0 $ 356 > 354 357 0061260 . ; 376 \0 216 \0 $ 356 = 320 357 . ; 376 \0 216 0061300 \0 $ 356 < 263 357 . ; 376 \0 216 \0 $ 356 ; 227 0061320 357 . ; 376 \0 216 \0 $ 356 : z 357 . ; 376 \0 0061340 216 \0 $ 356 9 ^ 357 . ; 376 \0 216 \0 $ 356 8 0061360 A 357 . ; 376 \0 216 \0 $ 356 7 % 357 . ; 376 0061400 001 \0 \0 026 376 \0 216 \0 $ 356 6 \t 357 . ; 376 0061420 \0 216 \0 $ 356 4 354 357 . ; 376 \0 216 \0 $ 356 0061440 3 320 357 . ; 376 \0 216 \0 $ 356 2 263 357 . ; 0061460 376 \0 216 \0 $ 356 1 227 357 . ; 376 \0 216 \0 $ 0061500 356 0 z 357 . ; 376 \0 216 \0 $ 356 / ^ 357 . 0061520 ; 376 \0 216 \0 $ 356 . A 357 . ; 376 \0 216 \0 0061540 $ 356 - % 357 . ; 376 \0 216 \0 $ 356 , \b 357 0061560 . ; 376 \0 216 \0 $ 356 * 354 357 . ; 376 \0 216 0061600 \0 $ 356 ) 317 357 . ; 376 \0 216 \0 $ 356 2 263 0061620 357 R | 376 \0 $ 001 253 356 4 ^ 357 R | 376 \0 0061640 $ 001 253 356 6 \t 357 R | 376 \0 $ 001 253 356 > 0061660 ^ 357 R | 376 \0 $ 001 253 356 @ \t 357 R | 376 0061700 \0 $ 001 253 356 A 264 357 R | 376 \0 $ 001 253 356 0061720 * 026 357 = 311 360 004 356 002 025 357 & 336 376 \0 $ 0061740 \n \0 356 E 336 357 = 202 360 004 356 E 336 357 : - 0061760 360 006 356 E 336 357 ; 330 360 005 356 < 263 357 Y 221 0062000 376 \r 344 \0 376 001 \0 245 234 $ 356 L B 357 K C 0062020 376 \0 $ 004 271 356 L B 357 + P 376 \0 $ 003 016 0062040 356 L B 357 & 227 376 \0 $ 003 016 356 020 @ 357 3 0062060 ; 360 002 356 020 @ 357 1 220 360 002 356 017 G 357 / 0062100 345 360 002 356 016 225 357 . ; 360 003 356 022 y 357 3 0062120 ; 360 001 356 022 y 357 1 220 360 001 356 022 y 357 / 0062140 345 360 001 356 022 y 357 . ; 360 001 356 024 $ 357 3 0062160 ; 360 001 356 024 $ 357 1 220 360 001 356 024 $ 357 / 0062200 345 360 001 356 024 $ 357 . ; 360 001 356 025 d 357 3 0062220 ; 360 003 356 026 026 357 1 220 360 002 356 026 026 357 / 0062240 345 360 002 356 026 026 357 . ; 360 002 356 030 226 357 3 0062260 ; 360 001 356 030 226 357 1 220 360 001 356 030 226 357 / 0062300 345 360 001 356 030 226 357 . ; 360 001 356 036 $ 357 0062320 345 360 031 356 021 307 357 S u 360 \b 356 021 307 357 Q 0062340 356 360 \b 356 021 307 357 P f 360 \b 356 021 307 357 N 0062360 337 360 \b 356 021 307 357 M X 360 \b 356 021 307 357 K 0062400 321 360 \b 356 016 r 357 G < 376 001 \0 \0 252 360 021 0062420 356 016 + 357 E 264 360 026 356 016 r 357 D - 360 024 0062440 356 016 r 357 B 246 360 023 356 017 216 357 A 037 360 017 0062460 356 \r U 357 ? 230 360 027 356 021 9 357 > 021 360 \t 0062500 356 004 334 357 ? Q 376 ! 017 \0 $ 356 004 334 357 @ 0062520 330 376 ! 017 \0 $ 356 004 334 357 B _ 376 ! 017 \0 0062540 $ 356 004 334 357 H | 376 ! 017 \0 $ 356 004 334 357 0062560 F 364 376 ! 017 \0 $ 356 004 334 357 E m 376 ! 017 0062600 \0 $ 356 004 334 357 C 346 376 ! 017 \0 $ 356 004 334 0062620 357 J 003 376 ! 017 \0 $ 356 004 334 357 K 212 376 ! 0062640 017 \0 $ 356 004 334 357 M 021 376 ! 017 \0 $ 356 004 0062660 334 357 N 230 376 ! 017 \0 $ 356 004 334 357 V < 376 0062700 ! 017 \0 $ 356 004 334 357 T 265 376 ! 017 \0 $ 356 0062720 004 334 357 S . 376 ! 017 \0 $ 356 004 334 357 Q 247 0062740 376 ! 017 \0 $ 356 004 334 357 P 037 376 ! 017 \0 $ 0062760 356 004 334 357 W 303 376 ! 017 \0 $ 356 004 334 357 Y 0063000 J 376 ! 017 \0 $ 356 004 334 357 Z 321 376 ! 376 001 0063020 \0 F 302 017 \0 $ 356 004 334 357 \ Y 376 ! 017 \0 0063040 $ 356 004 334 357 ] 340 376 ! 017 \0 $ 356 021 307 357 0063060 T 374 360 \b 356 021 307 357 V 203 360 \b 356 \r U 357 0063100 X \n 360 030 356 017 216 357 Y 221 360 022 356 023 r 357 0063120 [ 031 360 003 356 004 334 357 _ g 376 ! 017 \0 $ 356 0063140 004 334 357 ` 356 376 ! 017 \0 $ 356 023 r 357 \ 240 0063160 360 003 356 023 r 357 ^ ' 360 003 356 023 r 357 _ 256 0063200 360 003 356 023 r 357 a 5 360 003 356 004 225 357 & 227 0063220 376 \0 G < % 356 % 354 357 & 227 376 \0 G < % 0063240 356 & 235 357 _ g 376 004 \a \0 $ 356 004 334 357 b 0063260 u 376 ! 3 \0 G 356 004 334 357 = 246 376 ! 017 \0 0063300 G 356 004 225 357 & P 376 ! 236 \0 G 356 \0 371 357 0063320 = 246 376 002 200 \0 $ 356 \0 \0 357 1 m 360 \a 356 0063340 \v 034 357 H 303 360 035 356 \v 253 357 J J 360 034 356 0063360 035 \b 357 025 310 376 \b 344 \0 $ 356 % 354 357 017 A 0063400 376 \0 $ 006 253 356 035 \b 357 017 035 376 \t \a \0 $ 0063420 356 035 \b 376 001 \0 \r 246 357 017 035 376 \0 $ 006 316 0063440 356 035 \b 357 027 s 376 \0 $ 004 225 356 035 \b 357 027 0063460 s 376 \t \a \0 $ 356 % 354 357 027 226 376 \0 $ 004 0063500 r 356 035 \b 357 033 345 376 \b 344 \0 $ 356 3 320 357 0063520 025 310 376 \b V \0 $ 356 < % 357 017 A 376 \0 $ 0063540 006 253 356 3 320 357 017 035 376 \b y \0 $ 356 3 320 0063560 357 017 035 376 \0 $ 006 316 356 @ 227 357 006 9 376 \0 0063600 $ 006 316 356 @ 227 357 006 9 376 016 r \0 $ 356 N 0063620 346 357 006 ] 376 \0 $ 006 253 356 @ 227 357 \f 344 376 0063640 016 O \0 $ 356 035 226 r 357 032 : 360 \v 356 036 $ 0063660 357 022 s 360 \t 356 5 z 357 023 217 360 005 356 E \t 0063700 357 \n 253 360 \a 356 ' 226 357 022 s 376 \0 $ \a ] 0063720 356 \0 # 357 \t 001 376 @ P \0 262 356 > ^ 357 \t 0063740 $ 376 \0 k \t r 356 \0 261 357 024 035 360 021 356 005 0063760 262 357 006 310 360 021 356 026 353 357 \f 344 360 \b 356 021 0064000 026 357 \f 344 360 004 356 \t r 357 \f 344 360 \a 356 \0 0064020 261 357 \f 344 360 \b 356 026 376 001 \0 o 206 ] 357 016 0064040 217 376 \a 9 \0 $ 356 035 226 357 \f z 376 \0 $ 002 0064060 9 356 026 ] 357 \f V 376 \a ] \0 $ 356 026 ] 357 0064100 \f V 376 \0 $ 002 ] 356 020 @ 357 \f V 376 \0 $ 0064120 002 ] 356 020 @ 357 \f V 376 004 225 \0 $ 356 024 262 0064140 357 \f z 376 \0 $ 002 9 356 020 @ 357 016 217 376 004 0064160 r \0 $ 356 \t \a 357 016 217 376 006 035 \0 $ 356 017 0064200 $ 357 \f z 376 \0 $ 002 9 356 \t \a 357 \f V 376 0064220 006 @ \0 $ 356 \t \a 357 \f V 376 \0 $ 002 ] 356 0064240 004 \a 357 016 263 376 \0 G 003 344 356 022 y 357 016 263 0064260 376 \0 G 003 344 356 031 262 357 016 263 376 \0 G 003 344 0064300 356 \v 316 357 \t $ 376 \0 216 003 2 356 \v 316 357 016 0064320 263 376 \0 G 003 344 356 \0 261 357 022 , 376 034 V \0 0064340 k 356 \0 # 357 016 217 376 \a 307 \0 $ 356 \a 353 357 0064360 \f z 376 \0 $ 002 9 356 \0 # 357 \f V 376 \a 353 0064400 \0 $ 356 \0 # 357 \f V 376 \0 $ 002 ] 356 < % 0064420 357 022 O 376 002 9 \0 G 356 035 226 357 030 376 001 \0 0064440 372 346 217 360 \n 356 % 354 357 031 254 376 001 253 \0 $ 0064460 356 % 354 357 022 , 376 \r 344 \0 k 356 5 z p 357 0064500 021 V 360 006 356 6 \t 357 017 254 360 005 356 ! z 357 0064520 025 354 376 \0 k 001 253 356 034 y 357 002 344 360 356 0064540 ( % t 357 \0 d 361 005 356 017 262 p 357 024 254 360 0064560 \r 356 017 262 357 023 001 360 \r 356 ( % 357 024 254 360 0064600 \r 356 ( % 357 023 001 360 \r 356 ' 335 357 020 310 360 0064620 \r 356 ( % 357 \v 310 360 \r 356 ' 335 357 \n 035 360 0064640 017 356 ( % 357 \a V 360 \r 356 6 \t r 357 O 003 0064660 360 \n 356 5 z 357 E 221 360 \n 356 2 263 p 357 B 0064700 ; 360 027 356 8 320 357 @ 221 360 003 356 1 \b 357 > 0064720 346 360 034 356 7 % 357 = ; 360 \t 356 B 320 357 \a 0064740 344 360 016 377 \0 003 \0 \0 \0 4 \0 \0 003 l 002 006 0064760 \0 033 \0 \0 \0 \0 O - c ' 006 \0 \0 \0 \0 \0 0065000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0065040 \0 \0 376 001 \0 226 I A P R O C E S S 0065060 O R F O R A H I G H - P E 0065100 R F O R M A N C E P E R S O N 0065120 A L C O M P U T E R 6 267 S e c 0065140 o n d , w h e n t h e p r 0065160 o c e s s o r i s a v a i l 0065200 a b l e t o e a c h d e v 0065220 i c e , c o m p l e x d e v 0065240 i c e i n t e r f a c e s c 0065260 a n b e i m p l e m e n t e d 0065300 w i t h r e l a t i v e l y 0065320 l i t t l e d e d i c a t e 0065340 d h a r d w a r e , s i n c 0065360 e m o s t o f t h e c o 0065400 n t r o l d o e s n o t h a 0065420 v e t o b e d u p l i c a 0065440 t e d i n 376 001 \0 @ f e a c h 0065460 i n t e r f a c e . F o r 0065500 l o w b a n d w i d t h d 0065520 e v i c e s , t h e f o r c 0065540 e o f t h i s a r g u m e n 0065560 t i s r e d u c e d b y 0065600 t h e a v a i l a b i l i t y 0065620 o f L S I c o n t r o l l 0065640 e r c h i p s , b u t f o 0065660 r d a t a r a t e s a b o 0065700 v e o n e m e g a b i t / s e 0065720 c o n d n o s u c h c h i 0065740 p s e x i s t a s y e t . 0065760 O f c o u r s e , t o 0066000 m a k e t h i s s h a r i n 0066020 g f e a s i b l e , s w i t 0066040 c h i n g t h e p r 376 001 \0 7 0066060 g o c e s s o r m u s t b e 0066100 n e a r l y f r e e o f 0066120 o v e r h e a d , a n d d e v 0066140 i c e s m u s t b e a b l 0066160 e t o m a k e q u i c k 0066200 u s e o f t h e p r o c e 0066220 s s o r r e s o u r c e s a 0066240 v a i l a b l e t o t h e m 0066260 . M a n y d e s i g n d e c 0066300 i s i o n s a r e b a s e d 0066320 o n t h e n e e d f o r 0066340 s p e e d . R a w c i r 0066360 c u i t s p e e d i s a 0066400 b e g i n n i n g . T h u s 0066420 , t h e D o r a d o i s i 0066440 m p l e m e n t e d u s i n g 0066460 376 001 \0 363 Z t h e f a s t e s 0066500 t c o m m e r c i a l l y a 0066520 v a i l a b l e t e c h n o l 0066540 o g y w h i c h h a s a r 0066560 e a s o n a b l e l e v e l 0066600 o f i n t e g r a t i o n a 0066620 n d i s n o t t o o h a 0066640 r d t o p a c k a g e . 0066660 I n 1 9 7 6 , t h e o b v 0066700 i o u s c h o i c e w a s 0066720 t h e E C L 1 0 K f a m i l 0066740 y o f c i r c u i t s ; p 0066760 r o b a b l y i t s t i l l 0067000 i s . S e c o n d l y , 0067020 t h e p r o c e s s o r i s 0067040 o r g a n i z e d a r o u n 0067060 d t w o p 376 001 \0 \r q i p e l i 0067100 n e s . O n e a l l o w s 0067120 a m i c r o i n s t r u c t 0067140 i o n t o b e s t a r t e 0067160 d i n e a c h c y c l e , 0067200 t h o u g h i t t a k e s 0067220 t h r e e c y c l e t o c 0067240 o m p l e t e e x e c u t i o 0067260 n . A n o t h e r a l l o 0067300 w s a p r o c e s s o r c 0067320 o n t e x t s w i t c h i n 0067340 e a c h c y c l e , t h o 0067360 u g h i t t a k e s t w o 0067400 c y c l e s t o o c c u r . 0067420 T h i r d l y , i n d e p 0067440 e n d e n t b u s s e s c o 0067460 m m u n i c a t e w 376 001 \0 b 313 0067500 i t h t h e m e m o r y , 0067520 I F U , a n d I / O s y s 0067540 t e m s , s o t h a t t h e 0067560 p r o c e s s o r c a n b 0067600 o t h c o n t r o l a n d 0067620 s e r v i c e t h e m w i t 0067640 h m i n i m a l o v e r h e 0067660 a d . F i n a l l y , t h e 0067700 d e s i g n m a k e s t h e 0067720 p r o c e s s o r b o t h 0067740 a c c e s s i b l e a n d f 0067760 l e x i b l e f o r u s e r 0070000 s a t t h e m i c r o c o 0070020 d e l e v e l , s o t h a t 0070040 w h e n n e w n e e d s 0070060 a r i s e f o r f a s t p 0070100 376 001 \0 221 322 r i m i t i v e s , 0070120 t h e y c a n e a s i l y 0070140 b e m e t b y n e w m i 0070160 c r o c o d e . I n p a r t 0070200 i c u l a r , t h e h a r d 0070220 w a r e e l i m i n a t e s 0070240 c o n s t r a i n t s o n m 0070260 i c r o c o d e o p e r a t i 0070300 o n s a n d s e q u e n c i 0070320 n g o f t e n f o u n d i n 0070340 l e s s p o w e r f u l d 0070360 e s i g n s , e . g . , d e 0070400 l a y i n t h e d e l i v 0070420 e r y o f i n t e r m e d i 0070440 a t e r e s u l t s t o r 0070460 e g i s t e r s o r i n c a 0070500 l c u l a 376 001 \0 1 016 t i n g a 0070520 n d u s i n g b r a n c h 0070540 c o n d i t i o n s , o r p 0070560 i p e l i n e d e l a y s t 0070600 h a t r e q u i r e p a d d 0070620 i n g o f m i c r o i n s t 0070640 r u c t i o n s e q u e n c e s 0070660 w i t h o u t u s e f u l 0070700 w o r k . W e a l s o i 0070720 n c l u d e d a n a m p l e 0070740 s u p p l y o f r e s o u 0070760 r c e s : 2 5 6 g e n e r a 0071000 l r e g i s t e r s , f o u r 0071020 h a r d w a r e s t a c k s 0071040 , a f a s t b a r r e l 0071060 s h i f t e r , a n d f u l 0071100 l y w r i t e a b 376 001 \0 H 223 l 0071120 e m i c r o s t o r e , t o 0071140 m a k e t h e D o r a d o 0071160 r e a s o n a b l y e a s y 0071200 t o m i c r o c o d e . 5 0071220 . L o w l e v e l a r c 0071240 h i t e c t u r e T h i s s e 0071260 c t i o n d e s c r i b e s 0071300 i n s o m e d e t a i l t 0071320 h e k e y i d e a s o f 0071340 t h e a r c h i t e c t u r e 0071360 . I m p l e m e n t a t i o 0071400 n t e c h n i q u e s a n d 0071420 d e t a i l s a r e f o r 0071440 t h e m o s t p a r t d e 0071460 f e r r e d t o t h e n e 0071500 x t s e c t i o n ; r e a 376 0071520 001 \0 D 030 d e r s m a y w a n 0071540 t t o j u m p a h e a d 0071560 t o s e e t h e a p p l i c 0071600 a t i o n o f t h e s e i 0071620 d e a s i n t h e p r o c 0071640 e s s o r . A l o n g w i 0071660 t h e a c h k e y i d e a 0071700 i s a r e f e r e n c e 0071720 t o t h e p l a c e s i n 0071740 t h e p r o c e s s o r w h 0071760 e r e i t i s u s e d . 5 0072000 . 1 T a s k s T h e r e a r 0072020 e 1 6 p r i o r i t y l e 0072040 v e l s a s s o c i a t e d 0072060 w i t h m i c r o c o d e e 0072100 x e c u t i o n . T h e s e 0072120 l e v 376 001 \0 G B e l s a r e 0072140 c a l l e d m i c r o t a s 0072160 k s , o r s i m p l y t a s 0072200 k s . E a c h t a s k i 0072220 s n o r m a l l y a s s o c 0072240 i a t e d w i t h s o m e 0072260 h a r d w a r e a n d m i c 0072300 r o c o d e w h i c h t o g e 0072320 t h e r i m p l e m e n t a 0072340 d e v i c e c o n t r o l l 0072360 e r . T h e t a s k s h 0072400 a v e a f i x e d p r i o 0072420 r i t y , f r o m t a s k 0072440 0 ( l o w e s t ) t o t a 0072460 s k 1 5 ( h i g h e s t ) . 0072500 D e v i c e h a r d w a r e 0072520 c a n r e q u 376 001 \0 365 E e s 0072540 t t h a t t h e p r o c e 0072560 s s o r b e s w i t c h e d 0072600 t o t h e a s s o c i a t 0072620 e d t a s k ; s u c h a w 0072640 a k e u p r e q u e s t w i 0072660 l l b e h o n o r e d w h 0072700 e n n o r e q u e s t s o 0072720 f h i g h e r p r i o r i t 0072740 y a r e o u t s t a n d i n 0072760 g . T h e s e t o f w a 0073000 k e u p r e q u e s t s i s 0073020 a r b i t r a t e d w i t h 0073040 i n t h e p r o c e s s o r 0073060 , a n d a t a s k s w i 0073100 t c h f r o m o n e t a s 0073120 k t o a n o t h e r o c 376 001 0073140 \0 K w c u r s o n d e m a n 0073160 d , t y p i c a l l y e v e 0073200 r y t e n o r t w e n t y 0073220 m i c r o c y c l e s w h e 0073240 n a h i g h - s p e e d d 0073260 e v i c e i s r u n n i n g 0073300 . W h e n a d e v i c e a 0073320 c q u i r e s t h e p r o c 0073340 e s s o r ( t h a t i s , 0073360 t h e p r o c e s s o r i s 0073400 r u n n i n g a t t h e 0073420 r e q u e s t e d p r i o r i 0073440 t y l e v e l a n d e x e c 0073460 u t i n g t h e m i c r o c 0073500 o d e f o r t h a t t a s 0073520 k ) , t h e d e v i c e w 0073540 i l l 376 001 \0 031 327 p r e s u m a 0073560 b l y r e c e i v e s e r v 0073600 i c e f r o m i t s m i c r 0073620 o c o d e . E v e n t u a l l 0073640 y t h e m i c r o c o d e 0073660 w i l l b l o c k , t h u s 0073700 r e l i n q u i s h i n g t 0073720 h e p r o c e s s o r t o 0073740 l o w e r p r i o r i t y t a 0073760 s k s u n t i l i t n e x 0074000 t r e q u i r e s s e r v i 0074020 c e . W h i l e a g i v 0074040 e n t a s k i s r u n n i 0074060 n g , i t h a s t h e e 0074100 x c l u s i v e a t t e n t i 0074120 o n o f t h e p r o c e s s 0074140 o r . T h i 376 001 \0 243 b s a 0074160 r r a n g m e n t i s s i m 0074200 i l a r i n m a n y w a y 0074220 s t o a c o n v e n t i o 0074240 n a l p r i o r i t y i n t 0074260 e r r u p t s y s t e m . A n 0074300 i m p o r t a n t d i f f e 0074320 r e n c e i s t h a t t h 0074340 e t a s k s a r e l i k e 0074360 c o r o u t i n e s o r p 0074400 r o c e s s e s , r a t h e r 0074420 t h a n s u b r o u t i n e 0074440 s : w h e n a t a s k i s 0074460 a w a k e n e d , i t c o 0074500 n t i n u e s e x e c u t i o 0074520 n a t t h e p o i n t w 0074540 h e r e i t b l o c k 376 001 \0 0074560 004 006 e d , r a t h e r t h a 0074600 n r e s t a r t i n g a t a 0074620 f i x e d p o i n t . T 0074640 h i s a b i l i t y t o c 0074660 a p t u r e p a r t o f t 0074700 h e s t a t e i n t h e 0074720 p r o g r a m c o u n t e r 0074740 i s v e r y p o w e r f u l 0074760 . T a s k 0 i s n o t a 0075000 s s o c i a t e d w i t h a 0075020 d e v i c e c o n t r o l l 0075040 e r ; i t s m i c r o c o d 0075060 e i m p l e m e n t s t h e 0075100 e m u l a t o r s c u r r e 0075120 n t l y r e s i d e n t i n 0075140 t h e D o r a d o . T a s 0075160 k 376 001 \0 326 036 0 r e q u e s t 0075200 s s e r v i c e f r o m t 0075220 h e p r o c e s s o r a t 0075240 a l l t i m e s , b u t w 0075260 i t h t h e l o w e s t p r 0075300 i o r i t y . \0 \0 \0 \0 \0 \0 \0 \0 \0 0075320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0075560 \0 \0 \0 \0 \0 \0 \0 376 001 \0 001 \0 \0 \0 \0 \0 0075600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0076160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 243 0076200 377 356 006 344 357 ] 316 z \0 w 364 \0 X 365 \0 \0 0076220 \0 z \b w \0 z 002 w \0 z \0 w \0 z 003 w 0076240 \0 z \n w \0 z \a w \0 z \a 356 \0 \0 w \0 0076260 356 002 345 357 W w \0 356 004 366 006 364 \0 255 004 364 0076300 \0 256 360 L 356 004 366 357 U 363 \n 364 \0 261 360 J 0076320 364 \0 262 003 356 004 366 357 T o 003 364 \0 310 360 % 0076340 364 \0 311 360 - 356 004 366 357 R 353 \a 364 \0 213 \n 0076360 364 \0 214 027 z 002 w 360 / 356 004 366 357 Q g \r 0076400 364 \0 200 035 356 \0 \0 357 N < 001 364 \0 241 360 5 0076420 364 \0 242 360 + 356 \0 \0 357 L 270 002 364 \0 200 360 0076440 U 356 \0 \0 357 I 215 003 364 \0 230 360 J 364 \0 231 0076460 021 356 \0 \0 357 H \t 002 364 \0 364 037 364 \0 365 360 0076500 6 356 \0 \0 357 F 205 \t 364 \0 212 024 364 \0 213 360 0076520 E 356 \0 \0 357 E 001 z 002 w 364 \0 255 003 364 \0 0076540 256 360 [ 356 \0 \0 357 C } \t 364 \0 226 360 5 364 0076560 \0 227 360 & 356 \0 \0 357 A 371 \a 364 \0 241 034 364 0076600 \0 376 001 \0 235 220 242 360 < 356 \0 \0 357 @ u 005 0076620 364 \0 216 037 364 \0 217 360 % z 002 w 005 z \0 w 0076640 \0 z \0 w \b 356 \0 \0 357 > 361 001 364 \0 200 360 0076660 L 356 \0 \0 357 ; 306 \a 364 \0 204 360 W 364 \0 205 0076700 006 356 \0 \0 357 : B 001 364 \0 261 \r 364 \0 262 360 0076720 N 356 \0 \0 357 8 276 \n 364 \0 213 360 K 364 \0 214 0076740 \v 356 \0 \0 357 7 : 001 364 \0 350 360 C 364 \0 351 0076760 032 356 \0 \0 357 5 266 \n 364 \0 216 360 H 364 \0 217 0077000 020 356 \0 \0 357 4 2 \b 364 \0 325 016 364 \0 326 360 0077020 B 356 \0 \0 357 2 256 \t 364 \0 300 360 Y 356 \0 \0 0077040 357 1 * 005 364 \0 200 037 356 \0 \0 357 , W { 001 0077060 364 \0 X 027 356 \0 \0 357 ) , w 003 364 \0 227 360 0077100 D 364 \0 230 032 356 \0 \0 357 ' 250 002 364 \0 227 \a 0077120 364 \0 230 360 V 356 \0 \0 357 & $ 002 364 \0 226 360 0077140 & 364 \0 227 360 ; 356 \0 \0 357 $ 240 005 364 \0 200 0077160 360 # 356 \0 \0 357 241 | 002 364 \0 X 005 356 \0 0077200 \0 357 035 v w 004 376 001 \0 223 335 364 \0 205 026 364 0077220 \0 206 360 ? | \t w \0 356 \0 \0 357 033 362 001 364 0077240 \0 334 \a | 004 w 006 364 \0 335 360 C 356 \0 \0 357 0077260 032 n \a 364 \0 205 360 / 364 \0 206 360 / 356 \0 \0 0077300 357 030 352 001 364 \0 254 022 364 \0 255 360 L 356 \0 \0 0077320 357 027 f 003 364 \0 201 002 | \r w 024 364 \0 202 360 0077340 9 356 \0 \0 357 025 342 001 364 \0 245 360 ? 364 \0 246 0077360 \0 | 005 w 030 356 \0 \0 357 024 ^ 005 364 \0 200 360 0077400 Z 356 \0 \0 357 021 3 003 364 \0 264 360 J 364 \0 265 0077420 022 356 \0 \0 357 017 257 004 364 \0 213 360 G 364 \0 214 0077440 030 356 \0 \0 357 016 + \t 364 \0 247 036 | 004 w 005 0077460 364 \0 250 360 . 356 \0 \0 357 \f 247 004 364 \0 230 026 0077500 364 \0 231 360 K 356 \0 \0 357 \v # 002 364 \0 214 360 0077520 O 364 \0 215 021 356 \0 \0 357 \t 237 001 364 \0 240 024 0077540 364 \0 241 360 M 356 \0 \0 357 \b 033 003 364 \0 205 360 0077560 . 364 \0 206 360 3 356 \0 \0 357 006 227 001 364 \0 200 0077600 360 c 356 \0 \0 357 003 l 003 364 \0 376 001 \0 : 317 0077620 224 360 G 364 \0 225 027 356 \0 \0 357 001 350 \a 364 \0 0077640 210 016 364 \0 211 360 N 356 \0 \0 357 \0 d \b \0 001 0077660 \0 \0 \0 \0 \0 \0 020 R \v 267 \b d \0 \0 \0 \0 0077700 H 237 b 304 001 233 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0100220 376 001 \0 r 342 S E C . 5 L O W L 0100240 E V E L A R C H I T E C T U R 0100260 E 7 5 . 2 T a s k s c h e d 0100300 u l i n g W h e n e v e r r e 0100320 s o u r c e s ( i n t h i s 0100340 c a s e , t h e p r o c e 0100360 s s o r ) a r e m u l t i p 0100400 l e x e d , c o n t e x t s 0100420 w i t c h i n g m u s t o n 0100440 l y h a p p e n w h e n t h 0100460 e s t a t e b e i n g t e 0100500 m p o r a r i l y a b a n d o 0100520 n e d c a n b e r e s t o 0100540 r e d . I n m o s t m u 0100560 l t i p l e x e d m i c r o c o 0100600 d e d s y s t e m s , t h i 0100620 s r e q 376 001 \0 016 034 u i r e s 0100640 t h e m i c r o c o d e i t 0100660 s e l f t o e x p l i c i t 0100700 l y p o l l f o r r e q u 0100720 e s t s , s a v e a n d r e 0100740 s t o r e s t a t e , a n d 0100760 i n i t i a t e c o n t e x 0101000 t s w i t c h e s . A c 0101020 e r t a i n a m o u n t o f 0101040 o v e r h e a d r e s u l t 0101060 s . F u r t h e r m o r e , 0101100 t h e p r e s e n c e o f 0101120 a c a c h e i n t r o d u c 0101140 e s l a r g e a n d u n p 0101160 r e d i c t a b l e d e l a y 0101200 s i n t h e e x e c u t i 0101220 o n o f m i c r 376 001 \0 e % o 0101240 c o d e ( b e c a u s e o f 0101260 m i s s e s ) . A p o l l 0101300 i n g s y s t e m w o u l d 0101320 l e a v e t h e p r o c e 0101340 s s o r i d l e d u r i n g 0101360 t h e s e d e l a y s , e 0101400 v e n t h o u g h t h e w o 0101420 r k o f a n o t h e r t a 0101440 s k c a n u s u a l l y p 0101460 r o c e e d i n p a r a l l 0101500 e l . T o a v o i d t h 0101520 e s e c o s t s , t h e D 0101540 o r a d o d o e s t a s k s 0101560 w i t c h i n g o n d e m a 0101600 n d o f a h i g h e r p 0101620 r i o r i t y d e v i c e , 376 0101640 001 \0 255 d m u c h l i k e a 0101660 c o n v e n t i o n a l i n 0101700 t e r r u p t s y s t e m . 0101720 T h a t i s , i f a l o 0101740 w e r p r i o r i t y t a s 0101760 k i s e x e c u t i n g a 0102000 n d a h i g h e r p r i o 0102020 r i t y d e v i c e r e q u 0102040 e s t s a w a k e u p , t h 0102060 e l o w e r p r i o r i t y 0102100 t a s k w i l l b e p r 0102120 e e m p t e d ; t h e h i g 0102140 h e r p r i o r i t y d e v 0102160 i c e w i l l b e s e r v 0102200 i c e d w i t h o u t t h e 0102220 c o n s e n t o r e v e n 0102240 t h e 376 001 \0 006 266 k n o w l e d 0102260 g e o f t h e c u r r e n 0102300 t l y a c t i v e t a s k . 0102320 T h e p o l l i n g o v 0102340 e r h e a d i s a b s o r b 0102360 e d b y t h e h a r d w a r 0102400 e , w h i c h a l s o b e 0102420 c o m e s r e s p o n s i b l 0102440 e f o r r e s u m i n g a 0102460 p r e e m p t e d t a s k 0102500 o n c e t h e p r o c e s s 0102520 o r i s r e l i n q u i s h e 0102540 d b y t h e h i g h e r 0102560 p r i o r i t y d e v i c e . 0102600 A c o n t r o l l e r w i l 0102620 l c o n t i n u e t o r e 0102640 q u e s t a w 376 001 \0 332 ' a k 0102660 e u p u n t i l n o t i f i 0102700 e d b y t h e p r o c e s 0102720 s o r t h a t i t i s a 0102740 b o u t t o r e c e i v e s 0102760 e r v i c e ; i t t h e n 0103000 r e m o v e s t h e r e q u 0103020 e s t , u n l e s s i t n 0103040 e e d s m o r e t h a n o 0103060 n e u n i t o f s e r v i 0103100 c e . W h e n t h e m i c 0103120 r o c o d e i s d o n e , 0103140 i t e x e c u t e s a n o 0103160 p e r a t i o n c a l l e d 0103200 B l o c k w h i c h r e l e 0103220 a s e s t h e p r o c e s s 0103240 o r . T h e e f f e c t 376 001 0103260 \0 347 2 i s t h a t r e q u 0103300 e s t i n g s e r v i c e i 0103320 s d o n e e x p l i c i t l 0103340 y b y d e v i c e c o n t 0103360 r o l l e r s , b u t s c h 0103400 e d u l i n g o f a g i v 0103420 e n t a s k i s i n v i s i 0103440 b l e t o t h e m i c r o 0103460 c o d e ( a n d n e a r l y 0103500 i n v i s i b l e t o t h 0103520 e d e v i c e h a r d w a r 0103540 e ) . 5 . 3 T a s k s p e c 0103560 i f i c s t a t e I n o r d 0103600 e r t o a l l o w t h e 0103620 i m m e d i a t e t a s k s 0103640 w i t c h i n g d e s c r i b 0103660 e d 376 001 \0 s 332 a b o v e , t 0103700 h e p r o c e s s o r m u s 0103720 t b e a b l e t o s a v 0103740 e a n d r e s t o r e s t a 0103760 t e w i t h i n o n e m i 0104000 c r o c y c l e . T h i s 0104020 i s a c c o m p l i s h e d 0104040 b y k e e p i n g t h e v 0104060 i t a l s t a t e i n f o r 0104100 m a t i o n t h r o u g h o u t 0104120 t h e p r o c e s s o r n 0104140 o t i n a s i n g l e r 0104160 a n k o f r e g i s t e r s 0104200 b u t i n t a s k s p e 0104220 c i f i c r e g i s t e r s . 0104240 T h e s e a r e a c t u a 0104260 l l y i m p l 376 001 \0 224 325 e m e 0104300 n t e d w i t h h i g h s 0104320 p e e d m e m o r y t h a t 0104340 i s a d d r e s s e d b y 0104360 a t a s k n u m b e r . 0104400 E x a m p l e s o f t a s k 0104420 s p e c i f i c r e g i s t 0104440 e r s a r e t h e m i c r 0104460 o c o d e p r o g r a m c o 0104500 u n t e r , t h e b r a n c 0104520 h c o n d i t i o n r e g i 0104540 s t e r , t h e m i c r o c o 0104560 d e s u b r o u t i n e l i 0104600 n k r e g i s t e r , t h e 0104620 m e m o r y d a t a r e g 0104640 i s t e r , a n d a t e m 0104660 p o r a r y s t o r a g 376 001 \0 0104700 333 306 e r e g i s t e r f o r 0104720 e a c h t a s k . T h e 0104740 n u m b e r o f t h e t a 0104760 s k w h i c h w i l l e x 0105000 e c u t e i n t h e n e x 0105020 t m i c r o c y c l e i s 0105040 b r o a d c a s t t h r o u g h 0105060 o u t t h e p r o c e s s o 0105100 r a n d u s e d t o a d 0105120 d r e s s t h e t a s k s 0105140 p e c i f i c r e g i s t e r 0105160 s . T h u s , d a t a c 0105200 a n b e f e t c h e d f r o 0105220 m t h e h i g h s p e e d 0105240 t a s k s p e c i f i c m 0105260 e m o r i e s a n d b e a 0105300 v a 376 001 \0 230 374 i l a b l e f o 0105320 r u s e i n t h e n e x 0105340 t c y c l e . N o t a l l 0105360 r e g i s t e r s a r e t a 0105400 s k s p e c i f i c . F o 0105420 r e x a m p l e , C O U N T 0105440 a n d Q a r e n o r m a 0105460 l l y u s e d o n l y b y 0105500 t a s k 0 . H o w e v e r , 0105520 t h e y c a n b e u s e 0105540 d b y o t h e r t a s k s 0105560 i f t h e i r c o n t e n 0105600 t s a r e e x p l i c i t l 0105620 y s a v e d a n d r e s t 0105640 o r e d . 5 . 4 P i p e l i n 0105660 i n g T h e r e a r e t w o 0105700 d i s t i n 376 001 \0 207 G c t p 0105720 i p e l i n e s i n t h e 0105740 D o r a d o p r o c e s s o r 0105760 . T h e m a i n o n e 0106000 f e t c h e s a n d e x e c 0106020 u t e s m i c r o i n s t r u c 0106040 t i o n s . T h e o t h e 0106060 r h a n d l e s t a s k s 0106100 w i t c h i n g , a r b i t r 0106120 a t e s w a k e u p r e q u 0106140 e s t s a n d b r o a d c a 0106160 s t s t h e n e x t t a s k 0106200 n u m b e r t o t h e r 0106220 e s t o f t h e D o r a d 0106240 o . E a c h s t r u c t u 0106260 r e i s s y n c h r o n o u 0106300 s , a n d t h e r e 376 001 \0 341 0106320 026 i s n o w a i t i n g b 0106340 e t w e e n s t a g e s . T h 0106360 e i n s t r u c t i o n p i 0106400 p e l i n e , i l l u s t r a 0106420 t e d i n F i g u r e 2 , 0106440 r e q u i r e s t h r e e 0106460 c y c l e s ( d i v i d e d 0106500 i n t o s i x h a l f c y 0106520 c l e s ) t o c o m p l e t e 0106540 l y e x e c u t e a m i c 0106560 r o i n s t r u c t i o n . 0106600 T h e f i r s t c y c l e 0106620 i s u s e d t o f e t c h 0106640 i t f r o m m i c r o s t 0106660 o r e ( t i m e t - 2 t o 0106700 t 0 ) . T h e r e s u l t 0106720 376 001 \0 \t 320 o f t h e f e t 0106740 c h i s l o a d e d i n t 0106760 o t h e m i c r o i n s t r 0107000 u c t i o n r e g i s t e r 0107020 M I R a t t 0 . T h e 0107040 s e c o n d c y c l e i s s 0107060 p l i t ; i n t h e f i r 0107100 s t h a l f , o p e r a n d 0107120 f e t c h e s ( a s d i c 0107140 t a t e d b y t h e c o n 0107160 t e n t s o f M I R ) a r 0107200 e p e r f o r m e d a n d 0107220 t h e r e s u l t s l a t c h 0107240 e d a t t 1 i n t w o 0107260 r e g i s t e r s ( A a n d 0107300 B ) w h i c h f o r m i 0107320 n p u t s 376 001 \0 204 321 t o t h 0107340 e n e x t s t a g e . I 0107360 n t h e s e c o n d h a l f 0107400 c y c l e , t h e A L U 0107420 o p e r a t i o n i s b e g 0107440 u n . I t i s c o m p l 0107460 e t e d i n t h e f i r s 0107500 t h a l f c y c l e o f 0107520 c y c l e t h r e e , a n d 0107540 t h e r e s u l t i s l a 0107560 t c h e d i n r e g i s t e 0107600 r R E S U L T ( a t t 3 ) 0107620 . T h e s e c o n d h a 0107640 l f o f c y c l e t h r e 0107660 e ( t 3 t o t 4 ) i s 0107700 u s e d t o l o a d r e s u 0107720 l t s f r o m R E 376 001 \0 ^ 370 0107740 S U L T i n t o o p e r a n 0107760 d r e g i s t e r s . \0 \0 \0 \0 0110000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0110340 376 001 \0 356 203 356 \0 \0 357 X o z 003 364 \0 G 0110360 365 \0 \0 001 356 % 357 025 356 < 8 w \0 356 \0 \0 0110400 357 R 030 | 002 364 \0 X 017 356 \0 \0 357 N 355 w 0110420 \a 364 \0 336 360 ( 364 \0 337 360 - 356 \0 \0 357 M 0110440 i 005 364 \0 362 360 / 364 \0 363 360 " 356 \0 \0 357 0110460 K 345 \t 364 \0 330 360 % 364 \0 331 360 1 356 \0 \0 0110500 357 J a 006 364 \0 263 360 N 364 \0 264 \f 356 \0 \0 0110520 357 H 335 002 364 \0 261 360 O 364 \0 262 \f 356 \0 \0 0110540 357 G Y \a 364 \0 273 360 . 364 \0 274 360 ) 356 \0 0110560 \0 357 E 325 005 364 \0 221 360 % 364 \0 222 360 7 356 0110600 \0 \0 357 D Q 003 364 \0 310 360 O 364 \0 311 \t 356 0110620 \0 \0 357 B 315 006 364 \0 204 \f 364 \0 205 360 S 356 0110640 \0 \0 357 A I 002 364 \0 263 034 | \b w 360 $ 364 0110660 \0 264 024 356 \0 \0 357 ? 305 006 364 \0 241 034 364 \0 0110700 242 360 < 356 \0 \0 357 > A 002 364 \0 226 360 . | 0110720 \a w 025 364 \0 227 020 356 \0 \0 357 < 275 \v 364 \0 0110740 200 036 356 \0 \0 376 001 \0 316 326 357 9 222 \0 364 \0 0110760 253 360 $ 364 \0 254 360 = 356 \0 \0 357 8 016 006 364 0111000 \0 233 360 D 364 \0 234 026 356 \0 \0 357 6 212 002 364 0111020 \0 300 360 4 ~ 004 w 360 # 356 \0 \0 357 5 006 005 0111040 364 \0 251 360 I 364 \0 252 025 356 \0 \0 357 3 202 003 0111060 364 \0 200 360 M 356 \0 \0 357 / 203 | 002 364 \0 X 0111100 023 356 \0 \0 357 , X w 001 364 \0 215 360 = 364 \0 0111120 216 360 # 356 \0 \0 357 * 324 002 364 \0 204 360 . 364 0111140 \0 205 360 4 356 \0 \0 357 ) P \t 364 \0 241 360 8 0111160 | \f w \v 364 \0 242 \t 356 \0 \0 357 ' 314 \a 364 0111200 \0 245 360 + 364 \0 246 360 ) 356 \0 \0 357 & H 003 0111220 364 \0 366 360 : 364 \0 367 036 356 \0 \0 357 $ 304 \b 0111240 364 \0 243 360 * 364 \0 244 360 / 356 \0 \0 357 # @ 0111260 003 364 \0 352 360 8 364 \0 353 034 356 \0 \0 357 ! 274 0111300 \t 364 \0 220 360 Z 356 \0 \0 357 8 003 364 \0 200 0111320 360 R 356 \0 \0 357 035 \r 002 364 \0 244 360 " 364 \0 0111340 245 \r z 004 w 004 z \0 w 360 376 001 \0 T 252 " 0111360 356 \0 \0 357 033 211 \a 364 \0 200 360 U 356 \0 \0 357 0111400 027 212 | 002 364 \0 X \n 356 \0 \0 357 024 _ w 004 0111420 364 \0 310 360 J 364 \0 311 \f 356 \0 \0 357 022 333 021 0111440 364 \0 225 022 364 \0 226 360 > 356 \0 \0 357 021 W 003 0111460 364 \0 210 360 ' 364 \0 211 360 8 356 \0 \0 357 017 323 0111500 006 364 \0 200 \a 356 \0 \0 357 \f 250 002 364 \0 206 360 0111520 > 364 \0 207 \0 | 005 w 022 | \n w 003 356 \0 \0 0111540 357 \v $ \t 364 \0 201 360 W 364 \0 202 \0 ~ \0 357 0111560 \n 227 177 001 357 \v $ w 002 356 \0 \0 357 \t 6 ~ 0111600 \0 357 \b 251 177 \0 357 \t 6 w 001 364 \0 216 022 364 0111620 \0 217 360 4 z 002 w 003 ~ \0 357 \b 251 177 \0 357 0111640 \t 6 w 022 356 \0 \0 357 \a H 001 364 \0 206 360 G 0111660 364 \0 207 003 z 002 w 026 356 \0 \0 357 005 304 006 364 0111700 \0 230 \v ~ \0 357 005 7 177 \0 357 005 304 w 022 z 0111720 \0 w 004 z \0 w \v 364 \0 231 360 ) 356 \0 \0 357 0111740 003 326 003 364 \0 205 \v z 002 w 360 Q 364 \0 206 376 0111760 001 \0 265 | 003 356 \0 \0 357 002 R 005 364 \0 225 027 0112000 z 005 w 004 ~ \0 357 001 305 177 \0 357 002 R w 360 0112020 $ ~ \0 357 001 305 177 \0 357 002 R w 003 ~ \0 357 0112040 001 305 177 \0 357 002 R w 020 356 \0 \0 357 \0 d 006 0112060 364 \0 200 005 z 005 w 027 \0 001 \0 \0 \0 \0 \0 \0 0112100 017 036 \v 267 \r 303 \0 \0 \0 \0 H 237 ] e 001 256 0112120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0112360 \0 \0 \0 \0 376 001 \0 M e A P R O C E 0112400 S S O R F O R A H I G H - 0112420 P E R F O R M A N C E P E R S 0112440 O N A L C O M P U T E R 8 < = 0112460 = < P r o c F i g 2 . p r e s s 0112500 < < = = < P r o c F i g 3 . p r 0112520 e s s < T h e f i g u r e a 0112540 l s o s h o w s h o w t h 0112560 e p i p e l i n e o v e r l 0112600 a p p i n g i s a c h i e v 0112620 e d . A n e w m i c r o 0112640 i n s t r u c t i o n b e g i 0112660 n s a t e v e r y c y c l e 0112700 t i m e . T h e o p e r 0112720 a n d r e g i s t e r s a r 0112740 e u s e d i n t h e f i 0112760 r s t h a l f 376 001 \0 255 312 c y 0113000 c l e o f e v e r y c y c 0113020 l e t o f e t c h o p e r a 0113040 n d s f o r t h e c u r r 0113060 e n t i n s t r u c t i o n 0113100 ( d u r i n g t 0 235 t 1 ) . 0113120 T h e s e c o n d h a l f 0113140 o f e v e r y c y c l e 0113160 i s u s e d t o s t o r e 0113200 r e s u l t s f o r t h e 0113220 p r e v i o u s i n s t r u c 0113240 t i o n ( d u r i n g t 3 235 0113260 t 4 ) . F i g u r e 3 s 0113300 h o w s t h e t a s k a r 0113320 b i t r a t i o n p i p e l i 0113340 n e . T h i s p i p e l i 0113360 n e i s t w o s t a g 376 001 0113400 \0 { 310 e s l o n g , a n d 0113420 a l s o r e q u i r e s o n 0113440 e c y c l e p e r s t a g e 0113460 . A t t h e b e g i n n 0113500 i n g o f t h e p i p e l 0113520 i n e ( t 0 ) , w a k e u p 0113540 r e q u e s t s f r o m d 0113560 e v i c e c o n t r o l l e r 0113600 s a r e l a t c h e d i n t 0113620 o t h e W A K E U P r e g 0113640 i s t e r . D u r i n g t 0113660 h e f i r s t h a l f c y 0113700 c l e ( t 0 235 t 1 ) , a r b 0113720 i t r a t i o n i s p e r f 0113740 o r m e d a n d t h e h i g 0113760 h e s t p r i o r i t y t a 0114000 s k 376 001 \0 311 253 d e t e r m i n 0114020 e d . D u r i n g t h e 0114040 s e c o n d h a l f c y c l 0114060 e ( t 1 235 t 2 ) , t h e m 0114100 i c r o p r o g r a m a d d r e 0114120 s s f o r t h e h i g h e 0114140 s t p r i o r i t y t a s k 0114160 i s f e t c h e d f r o m 0114200 t h e t a s k s p e c i f 0114220 i c p r o g r a m c o u n t 0114240 e r T P C . T h e t a s 0114260 k n u m b e r , i t s T P C 0114300 , a n d t h e c o m m a n 0114320 d t o s w i t c h t a s k 0114340 s ( i f t h e h i g h e s 0114360 t p r i o r i t y t a s k 0114400 i s h i g h e 376 001 \0 030 227 r t 0114420 h a n t h e c u r r e n t l y 0114440 e x e c u t i n g t a s k ) 0114460 a r e l o a d e d i n t o 0114500 r e g i s t e r s a t t 2 0114520 . I n t h e s e c o n d 0114540 p i p e c y c l e , t h e 0114560 T P C i s u s e d t o f 0114600 e t c h t h e n e x t m i 0114620 c r o i n s t r u c t i o n f 0114640 r o m t h e m i c r o s t o 0114660 r e , t h e e n t i r e p 0114700 r o c e s s o r u s e s t h 0114720 e s e l e c t e d t a s k \0 0114740 \0 t - 2 t - 1 t 0 t 1 t 0114760 2 t 3 t 4 > M I R F e t c 0115000 h f r o m I n s t r u c 376 001 \0 0115020 221 357 t i o n m e m o r y o p e 0115040 r a n d f e t c h A B o p e r a 0115060 n d m o d i f i c a t i o n > > 0115100 > r e s u l t s t o r e f i r s 0115120 t c y c l e s e c o n d c y 0115140 c l e t h i r d c y c l e T 4 0115160 T 3 T 2 T 1 T 0 T 0 T 1 T 2 T 3 0115200 T 4 T 4 T 3 T 2 T 1 T 0 T 0 T 1 0115220 T 2 T 3 T 4 T 4 T 3 T 2 T 1 T 0 0115240 T 0 T 1 T 2 T 3 T 4 T - 2 T - 1 0115260 T - 1 T - 2 T - 2 T - 1 T - 1 T 0115300 - 2 T - 2 T - 1 T - 1 T - 2 < > 0115320 > > < < > > > > R e s u l t I n 0115340 s t r u c t i o n P i p e l i 0115360 n e T i m i n g O v e r l a p 0115400 F i g u r e 2 : I n s t r u 0115420 c t 376 001 \0 < & i o n p i p e l 0115440 i n e a n d t i m i n g o 0115460 v e r l a p < = = < < t 4 t 0115500 3 t 2 t 1 t 0 r e q u e s 0115520 t s a r b i t r a t e f e t c h 0115540 N e x t N e x t S w i t c h > > 0115560 > > > > > > W a k e U p T a s k 0115600 f e t c h N e x t t a s k 0115620 s p e c i f i c s t a t e f e 0115640 t c h N e x t m i c r o i n 0115660 s t r u c t i o n b r o a d c a 0115700 s t N e x t t a s k C u r r 0115720 e n t T a s k C u r r e n t < > 0115740 > < s e c o n d c y c l e f i 0115760 r s t c y c l e S t a t e F i 0116000 g u r e 3 : T a s k a r b 0116020 i t r a t i o 376 001 \0 363 > n p i 0116040 p e l i n e T P C B e s t N e x 0116060 t T P C t 0 o f f i g u r e 0116100 2 < = = < < \0 \0 356 006 344 357 ^ 177 z \0 0116120 w 364 \0 X 365 \0 \0 \0 z \b w \0 z 002 w \0 0116140 z \0 w \0 z 003 w \0 z \n w \0 z \a w \0 0116160 z \a 356 \0 \0 w \0 356 036 t 357 8 016 2 356 036 0116200 t 357 027 364 2 356 \0 \0 357 024 311 002 364 \0 224 360 0116220 [ 364 \0 225 002 356 \0 \0 357 023 E 004 364 \0 275 360 0116240 S 364 \0 276 \b 356 \0 \0 357 021 301 \a 364 \0 215 017 0116260 364 \0 216 024 ~ \0 357 021 4 177 \0 357 021 301 w \0 0116300 ~ \0 357 021 4 177 \0 357 021 301 w 360 3 356 \0 \0 0116320 357 017 323 006 364 \0 200 360 & ~ \0 357 017 F 177 \0 0116340 357 017 323 w \0 ~ \0 357 017 F 177 \0 357 017 323 w 0116360 003 356 \0 \0 357 \f 250 005 364 \0 210 360 \ 364 \0 211 0116400 003 356 \0 \0 357 \v $ 004 364 \0 227 016 364 \0 230 037 0116420 ~ \0 357 \n 227 177 \0 357 \v $ w 360 376 001 \0 X 0116440 N . 356 \0 \0 357 \t 6 006 364 \0 231 \t z 005 w 0116460 \t 364 \0 232 036 ~ \0 357 \b 251 177 \0 357 \t 6 w 0116500 \0 ~ \0 357 \b 251 177 \0 357 \t 6 w 036 356 \0 \0 0116520 357 \a H 002 364 \0 326 360 B ~ \0 357 006 273 177 \0 0116540 357 \a H w \0 ~ \0 357 006 273 177 \0 357 \a H w 0116560 001 364 \0 327 020 356 \0 \0 357 005 Z 006 364 \0 201 360 0116600 Q z 002 w 005 364 \0 202 004 356 \0 \0 357 003 326 006 0116620 364 \0 246 004 z 002 w 004 364 \0 247 360 M 356 \0 \0 0116640 357 002 R \b 364 \0 206 017 364 \0 207 035 ~ \0 357 001 0116660 305 177 \0 357 002 R w 360 ! z 002 w \n 356 \0 \0 0116700 357 \0 d 004 364 \0 315 360 M 364 \0 316 \r \0 001 \0 0116720 \0 \0 \0 \0 \0 004 324 \v 267 \a 263 \0 \0 \0 \0 H 0116740 237 c u \0 314 356 \0 G r 357 017 360 004 356 \v 0116760 d 357 017 360 004 356 027 017 357 017 360 003 356 $ 0117000 e 357 017 360 003 356 - I 357 017 360 003 356 8 0117020 364 357 017 360 003 356 C 202 357 017 360 003 356 001 0117040 362 376 001 \0 k 300 357 034 226 376 020 253 \0 G 356 001 0117060 362 357 023 263 376 020 362 \0 G 356 001 362 357 023 263 376 0117100 \0 G \t + 356 024 326 357 034 226 376 002 9 \0 G 356 0117120 027 017 357 023 372 376 \0 G \b 344 356 024 326 357 023 263 0117140 376 002 200 \0 G 356 024 326 357 023 263 376 \0 G \t + 0117160 356 022 235 357 030 % 376 002 9 \0 G 356 023 272 | 357 0117200 024 230 360 001 356 022 235 357 023 372 376 \0 G \b 344 356 0117220 025 e r 357 031 363 360 001 356 025 e 357 030 H 360 001 0117240 356 025 e 357 026 235 360 001 356 006 d 357 031 e 360 \n 0117260 356 003 235 357 027 272 360 022 356 031 H 357 034 226 376 006 0117300 253 \0 G 356 037 363 357 023 372 376 \0 G \b 344 356 031 0117320 H 357 023 263 376 006 362 \0 G 356 031 H 357 023 263 376 0117340 \0 G \t + 356 031 326 357 031 e 360 \a 356 032 363 357 0117360 027 272 360 005 356 ! 236 357 034 226 376 002 9 \0 G 356 0117400 # 327 357 023 372 376 \0 G \b 344 356 ! 236 357 023 263 0117420 376 002 200 \0 G 356 ! 236 357 023 263 376 \0 G \t + 0117440 356 ! 236 357 030 % 376 001 \0 w 261 376 002 9 \0 G 0117460 356 " , 357 031 363 360 001 356 " , 357 025 201 360 001 0117500 356 & 236 357 034 226 376 \r 344 \0 G 356 4 202 357 023 0117520 372 376 \0 G \b 344 356 & 236 357 023 263 376 016 + \0 0117540 G 356 & 236 357 023 263 376 \0 G \t + 356 + 020 357 0117560 031 e 360 \a 356 ) e 357 027 272 360 \f 356 037 363 357 0117600 032 ^ 376 001 253 \0 G 356 037 363 357 025 354 376 001 253 0117620 \0 G 356 201 | 357 026 321 360 001 356 201 357 022 0117640 _ 360 001 356 6 273 357 034 226 376 002 9 \0 G 356 8 0117660 364 357 023 372 376 \0 G \b 344 356 6 273 357 023 263 376 0117700 002 200 \0 G 356 6 273 357 023 263 376 \0 G \t + 356 0117720 5 236 357 024 230 360 001 356 4 202 357 030 % 376 002 9 0117740 \0 G 356 ; - 357 034 226 376 \b V \0 G 356 C 202 0117760 357 023 372 376 \0 G \b 344 356 ; - 357 023 263 376 \b 0120000 235 \0 G 356 ; - 357 023 263 376 \0 G \t + 356 < 0120020 330 r 357 031 e 360 006 356 < 330 357 027 272 360 005 356 0120040 030 , 357 021 301 376 \0 $ \r 344 356 376 001 \0 266 ( 0120060 001 d 357 021 301 376 \0 $ \r 344 356 D 237 357 021 301 0120100 376 \0 $ \r 344 356 . e 357 035 372 376 \0 $ 001 253 0120120 356 \r 017 357 035 372 376 \0 $ 001 253 356 \t + p 357 0120140 021 235 360 \v 356 . e 357 021 301 376 \0 $ 001 253 356 0120160 ! 020 357 021 235 360 \f 356 : 020 357 023 372 376 \0 $ 0120200 \v 253 356 6 273 357 021 235 360 \v 356 001 d 357 022 + 0120220 376 \a 9 \0 $ 356 031 H v 357 \v 310 360 002 356 024 0120240 372 357 \v 310 360 002 356 020 253 357 \v 310 360 002 356 \f 0120260 201 357 \v 310 360 002 356 \b V 357 \v 310 360 002 356 020 0120300 253 357 \n 253 360 002 356 024 372 357 \n 253 360 002 356 031 0120320 H 357 \n 253 360 002 356 035 272 357 \n 253 360 002 356 " 0120340 , 357 \n 253 360 002 356 + 020 357 \t 217 360 002 356 & 0120360 236 357 \t 217 360 002 356 " , 357 \t 217 360 002 356 035 0120400 272 357 \t 217 360 002 356 031 H 357 \t 217 360 002 356 " 0120420 , 357 \b r 360 002 356 & 236 357 \b r 360 002 356 + 0120440 020 357 \b r 360 002 356 / ^ 357 \b r 360 002 356 3 0120460 376 001 \0 037 ? 211 357 \b r 360 002 356 ; 337 357 \a 0120500 V 360 002 356 7 264 357 \a V 360 002 356 3 211 357 \a 0120520 V 360 002 356 / ^ 357 \a V 360 002 356 + 020 357 \a 0120540 V 360 002 356 3 211 357 006 9 360 002 356 7 264 357 006 0120560 9 360 002 356 ; 337 357 006 9 360 002 356 @ \t 357 006 0120600 9 360 002 356 D 4 357 006 9 360 002 356 026 ] 357 \n 0120620 362 376 002 244 \0 $ 356 026 ] 357 \f 017 376 002 244 \0 0120640 $ 356 032 254 357 \n 362 376 002 307 \0 $ 356 032 254 357 0120660 \t 326 376 002 307 \0 $ 356 037 036 357 \t 326 376 002 307 0120700 \0 $ 356 037 036 357 \n 362 376 002 307 \0 $ 356 # 220 0120720 357 \t 326 376 002 307 \0 $ 356 # 220 357 \b 271 376 002 0120740 307 \0 $ 356 ( 002 357 \b 271 376 002 307 \0 $ 356 ( 0120760 002 357 \t 326 376 002 307 \0 $ 356 , s 357 \b 271 376 0121000 002 307 \0 $ 356 , s 357 \a 235 376 002 307 \0 $ 356 0121020 \0 \0 357 \v 310 360 003 356 004 + 357 \v 310 360 003 356 0121040 002 026 357 \f 017 376 001 253 \0 $ 356 006 @ 357 \f 017 0121060 376 001 362 \0 $ 376 001 \0 267 r 356 016 226 357 \n 362 0121100 376 001 362 \0 $ 356 \f 201 357 \n 253 360 003 356 \b V 0121120 357 \n 253 360 003 356 020 253 357 \t 217 360 003 356 024 372 0121140 357 \t 217 360 003 356 027 017 357 \t 326 376 001 362 \0 $ 0121160 356 037 363 357 \b 271 376 001 362 \0 $ 356 033 201 357 \b 0121200 271 376 001 253 \0 $ 356 035 272 357 \b r 360 003 356 031 0121220 H 357 \b r 360 003 356 " , 357 \a V 360 003 356 & 0121240 236 357 \a V 360 003 356 $ e 357 \a 235 376 001 253 \0 0121260 $ 356 ( 327 357 \a 235 376 001 362 \0 $ 356 - I 357 0121300 006 200 376 001 253 \0 $ 356 / ^ 357 006 9 360 003 356 0121320 + 020 357 006 9 360 003 356 % 201 357 023 372 376 \0 $ 0121340 \v 253 356 001 d | 357 016 { 360 001 356 027 017 357 016 0121360 { 360 001 356 - I 357 016 { 360 001 356 C 202 357 016 0121400 { 360 001 356 030 , 357 016 { 360 001 356 . e 357 016 0121420 { 360 001 356 027 017 357 030 % 376 002 9 \0 G 356 # 0121440 327 357 032 ^ 376 002 307 \0 G 356 # 327 357 025 354 376 0121460 002 307 \0 G 356 8 364 357 030 % 376 001 \0 370 372 376 0121500 002 9 \0 G 356 : 020 357 024 230 360 001 356 % 201 357 0121520 026 321 360 001 356 % 201 357 022 _ 360 001 356 030 , 357 0121540 024 230 360 001 356 7 I r 357 033 017 360 001 356 7 I 0121560 357 031 254 360 001 356 7 I 357 030 217 360 001 356 7 I 0121600 357 027 , 360 001 356 7 I 357 025 310 360 001 356 7 I 0121620 357 024 d 360 001 356 033 201 357 " H 360 024 356 035 , 0121640 357 \r 272 360 016 356 * 202 357 022 + 376 \v 253 \0 $ 0121660 356 020 363 357 022 + 376 017 217 \0 $ 356 > 202 357 022 0121700 + 376 006 035 \0 $ 356 022 235 p 357 002 017 360 1 356 0121720 " 272 357 \0 d 361 005 356 \n $ 357 \f 017 376 002 ] 0121740 \0 $ 356 \n k 357 \n 362 376 002 025 \0 $ 356 016 + 0121760 357 \f 017 376 002 ] \0 $ 356 022 z 357 \f 017 376 002 0122000 ] \0 $ 356 022 z 357 \n 362 376 002 ] \0 $ 356 022 0122020 301 357 \t 371 376 002 025 \0 $ 356 = 255 357 006 200 376 0122040 002 9 \0 $ 356 5 4 357 \a 235 376 002 ] \0 $ 356 0122060 5 4 357 006 244 376 002 ] \0 $ 356 1 \t 357 \a 376 0122100 001 \0 227 ` 235 376 002 ] \0 $ 356 1 t 357 006 200 0122120 376 001 362 \0 $ 356 A 373 357 006 200 376 002 025 \0 $ 0122140 356 9 202 357 \a 235 376 002 9 \0 $ 356 9 _ 357 006 0122160 244 376 002 ] \0 $ 356 1 - 357 \b 271 376 002 025 \0 0122200 $ 377 \0 003 \0 \0 004 324 \0 \0 001 P \a q ? ] 0122220 \0 \0 \0 \0 E 337 # 211 003 I 356 B 037 r 357 031 0122240 363 360 003 356 / ; 357 031 363 360 003 356 037 254 357 031 0122260 363 360 003 356 017 217 357 031 363 360 003 356 002 9 357 031 0122300 363 360 003 356 \0 \0 357 026 z 376 002 9 \0 G 356 002 0122320 9 357 \t l 376 \0 G \r V 356 \0 \0 357 \t % 376 0122340 002 200 \0 G 356 \0 \0 357 \t % 376 \0 G \r 235 356 0122360 005 001 357 024 A 376 \n 217 \0 G 356 017 217 357 \t l 0122400 376 \0 G \v 035 356 005 001 357 \t % 376 \n 326 \0 G 0122420 356 005 001 357 \t % 376 \0 G \v d 356 006 253 357 016 0122440 327 360 \b 356 006 253 357 020 201 360 \t 356 021 310 357 024 0122460 A 376 005 216 \0 G 356 027 V 357 \r 336 376 \0 G 006 0122500 253 356 021 310 376 001 \0 005 T 357 \r 227 376 005 326 \0 0122520 G 356 021 310 357 \r 227 376 \0 G 006 362 356 022 345 357 0122540 022 272 360 005 356 022 345 357 021 020 360 004 356 032 036 357 0122560 026 z 376 005 216 \0 G 356 037 254 357 \t l 376 \0 G 0122600 \r V 356 032 036 357 \t % 376 005 326 \0 G 356 032 036 0122620 357 \t % 376 \0 G \r 235 356 032 036 357 022 \b 376 005 0122640 216 \0 G 356 032 036 357 \r 227 376 005 216 \0 G 356 033 0122660 : 357 \f 017 360 004 356 027 V 357 023 263 376 002 307 \0 0122700 G 356 030 s 357 \n 317 376 \0 G 005 G 356 030 s 357 0122720 017 320 376 001 253 \0 G 356 017 217 357 \n 317 376 \n 326 0122740 \0 G 356 032 254 357 017 e 360 006 356 031 001 | 357 020 0122760 ' 360 001 356 031 001 357 \f C 360 001 356 031 001 357 \a 0123000 C 360 001 356 003 344 357 \f C 360 001 356 002 9 357 017 0123020 320 376 002 307 \0 G 356 ! 345 357 026 z 376 026 310 \0 0123040 G 356 8 255 357 022 P 376 \0 G 004 r 356 ! 345 357 0123060 022 \b 376 027 017 \0 G 356 ! 345 357 022 \b 376 \0 G 0123100 004 271 356 ! 345 357 \t % 376 376 001 \0 370 \v \0 G 0123120 004 271 356 ! 345 357 \t % 376 027 017 \0 G 356 8 255 0123140 357 \t l 376 \0 G 004 r 356 ! 345 357 \r 227 376 026 0123160 310 \0 G 356 037 363 357 024 A 376 001 362 \0 G 356 037 0123200 363 357 \n 317 376 001 362 \0 G 356 311 357 020 265 360 0123220 001 356 311 357 \a C 360 001 356 : 346 357 026 z 376 0123240 006 253 \0 G 356 A 221 357 \t l 376 \0 G \r V 356 0123260 : 346 357 \t % 376 006 362 \0 G 356 : 346 357 \t % 0123300 376 \0 G \r 235 356 : 346 357 017 320 376 006 253 \0 G 0123320 356 8 255 357 024 A 376 002 9 \0 G 356 8 255 357 \v 0123340 ^ 376 002 9 \0 G 356 003 V 357 \a 3 376 \0 $ 022 0123360 V 356 311 357 \a 3 376 \0 $ 022 V 356 9 311 357 0123400 020 221 360 001 356 9 311 357 \a 255 360 001 356 \0 217 r 0123420 357 024 363 360 001 356 \0 217 357 023 I 360 001 356 \0 217 0123440 357 021 236 360 001 356 \0 217 357 017 363 360 001 356 \0 217 0123460 357 016 H 360 001 356 \0 217 357 \f 236 360 001 356 033 : 0123500 357 \n e 360 004 356 # 002 357 024 363 360 036 356 376 001 0123520 \0 340 023 # 002 357 022 272 360 033 356 & W 357 \n 363 0123540 360 023 356 0 W 357 027 336 376 \0 $ 001 253 356 ; t 0123560 357 \r 272 360 \a 356 < 221 357 \f 017 360 004 356 ; t 0123600 357 024 e 360 \a 356 020 254 357 \t l 376 \0 $ 020 035 0123620 356 311 | 357 003 355 360 001 356 B 037 357 003 355 360 0123640 001 356 037 254 357 003 355 360 001 356 003 V 357 003 355 360 0123660 001 356 , t p 357 \a 017 360 \f 356 \r 344 357 \a 017 0123700 360 \v 356 C ; 357 \a 3 376 \0 $ 022 V 356 < 221 0123720 r 357 022 272 360 005 356 025 254 357 \a 235 376 026 : \0 0123740 $ 356 5 346 357 \a 235 376 \r V \0 $ 356 026 310 p 0123760 357 002 017 360 # 356 022 345 r 357 017 e 360 003 356 033 0124000 : 357 025 : 360 004 356 033 : 357 023 327 360 004 356 033 0124020 : 357 022 s 360 003 356 = 255 t 357 032 311 360 005 356 0124040 = 255 357 031 254 360 \b 356 ! 345 p 357 \0 d 361 005 0124060 356 003 V 357 \a 235 376 \n \0 \0 $ \0 003 \0 \0 006 0124100 $ \0 \0 001 006 \b F 037 C \0 \0 \0 \0 D 020 033 0124120 301 001 325 376 001 \0 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 0124140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0124520 \0 \0 \0 \0 \0 \0 \0 \0 376 001 \0 R 330 S E C 0124540 . 5 L O W L E V E L A R C 0124560 H I T E C T U R E 9 n u m b e r 0124600 t o f e t c h t h e a p 0124620 p r o p r i a t e t a s k s 0124640 p e c i f i c i n f o r m a t 0124660 i o n , a n d d e v i c e 0124700 c o n t r o l l e r s a r e 0124720 t o l d w h i c h t a s k w 0124740 i l l h a v e t h e p r o 0124760 c e s s o r n e x t . F i 0125000 n a l l y , a t t 4 t h e 0125020 t a s k s w i t c h i s 0125040 c o m p l e t e , a n d t h 0125060 e n e w t a s k i s i n 0125100 c o n t r o l o f t h e p 0125120 r o c e s s o r ; t h i 376 001 \0 0125140 350 345 s t i m e c o r r e s p 0125160 o n d s t o t 0 o f t h 0125200 e f i r s t m i c r o i n s 0125220 t r u c t i o n e x e c u t e 0125240 d b y t h e n e w t a s k 0125260 . 5 . 5 M i c r o i n s t r u 0125300 c t i o n f o r m a t O n e 0125320 o f t h e k e y d e c i s 0125340 i o n s m a d e i n t h e 0125360 d e s i g n o f a n y m 0125400 i c r o p r o g r a m m e d p 0125420 r o c e s s o r i s t h e 0125440 f o r m a t a n d s e m a n t 0125460 i c s o f t h e m i c r o 0125500 i n s t r u c t i o n . T h 0125520 e D o r a d o ' s d e m a n 0125540 d 376 001 \0 027 215 f o r c o m p a 0125560 c t n e s s a n d p o w e r 0125600 a r e a t o d d s i n t 0125620 h i s c a s e . C o m p a 0125640 c t n e s s d i c t a t e s 0125660 t h a t a n e s s e n t i a 0125700 l l y v e r t i c a l s t r 0125720 u c t u r e b e u s e d , 0125740 w i t h e n c o d e d f i e 0125760 l d s s p e c i f y i n g m a 0126000 n y f u n c t i o n s i n 0126020 a f e w b i t s . T h e 0126040 d e t a i l s o f t h e 0126060 m i c r o i n s t r u c t i o n 0126100 f o r m a t a p p e a r i 0126120 n 266 6 . T h e m a j o r 0126140 f e a t u r e 376 001 \0 317 273 s o f 0126160 i n t e r e s t h e r e a 0126200 r e t h e c h o i c e o f 0126220 s u c c e s s o r i n s t r 0126240 u c t i o n e n c o d i n g , 0126260 a n d t h e s p e c i f i c 0126300 a t i o n o f a l a r g e 0126320 n u m b e r o f f u n c t 0126340 i o n s w h i c h m a y b 0126360 e e x e c u t e d b y t h 0126400 e p r o c e s s o r . I n a 0126420 c l a s s i c a l m i c r o 0126440 p r o g r a m m e d p r o c e 0126460 s s o r , e a c h i n s t r 0126500 u c t i o n c a r r i e s w 0126520 i t h i t t h e a d d r e 0126540 s s o f i t s s u c 376 001 \0 027 0126560 > c e s s o r , N E X T P C ; 0126600 t h i s a d d r e s s i s 0126620 l a t c h e d w i t h t h 0126640 e r e s t o f t h e i n 0126660 s t r u c t i o n , a n d t 0126700 h e n u s e d d i r e c t l 0126720 y t o a d d r e s s t h e 0126740 m i c r o s t o r e f o r f 0126760 e t c h i n g t h e n e x t 0127000 i n s t r u c t i o n . N 0127020 E X T P C m a y b e m o d 0127040 i f i e d b y s t a t e w 0127060 i t h i n t h e p r o c e s s 0127100 o r d u r i n g e x e c u t 0127120 i o n , b u t t h e b a s 0127140 i c i d e a i s t h a t 0127160 e 376 001 \0 253 ; n o u g h b i t s 0127200 m u s t b e p r e s e n t 0127220 i n e a c h m i c r o w o r 0127240 d t o a d d r e s s t h e 0127260 w h o l e m i c r o s t o r 0127300 e . T h i s r e s u l t s 0127320 i n a u n i f o r m s t 0127340 r u c t u r e f o r a d d r 0127360 e s s i n g , a n d a l l o w 0127400 s t h e n e x t i n s t r 0127420 u c t i o n f e t c h t o 0127440 p r o c e e d w i t h o u t 0127460 a n y d e l a y f o r d e 0127500 c o d i n g ; i t h a s t 0127520 h e d i s a d v a n t a g e s 0127540 o f i n c r e a s i n g t h 0127560 e s i z e 376 001 \0 202 313 a n d 0127600 c o s t ( a n d r e d u c i 0127620 n g t h e s p e e d ) o f 0127640 t h e m i c r o s t o r e . 0127660 T h e l a c k o f a n 0127700 y d e c o d i n g t i m e a 0127720 l s o m a k e s i t i m p 0127740 o s s i b l e t o s p e c i 0127760 f y a s u b r o u t i n e 0130000 r e t u r n o r o t h e r 0130020 m a j o r c h a n g e i n s 0130040 e q u e n c i n g , a n d h 0130060 a v e i t t a k e e f f e 0130100 c t i m m e d i a t e l y ( 0130120 b r a n c h e s c a n s t i 0130140 l l u s e t h e s c h e m 0130160 e d e s c r i b e d 376 001 \0 \f \b 0130200 b e l o w ) . T h e a l t e 0130220 r n a t i v e , u s e d i n 0130240 t h e D o r a d o , i s 0130260 t o d i v i d e t h e m i 0130300 c r o s t o r e i n t o p a 0130320 g e s , u s e a f e w b 0130340 i t s t o s p e c i f y a 0130360 n e x t a d d r e s s w i t 0130400 h i n t h e c u r r e n t 0130420 p a g e , a n d h a v e a 0130440 t y p e f i e l d w h i c 0130460 h c a n s p e c i f y b r 0130500 a n c h e s , c a l l s , r e 0130520 t u r n s , t r a n s f e r s 0130540 t o a n o t h e r p a g e 0130560 , o r w h a t e v e r . 0130600 376 001 \0 a , A t t h e s t a r 0130620 t o f a m i c r o c y c l 0130640 e , t h e p r o c e s s o r 0130660 d e c o d e s t h e t y p e 0130700 f i e l d a n d a c c e s 0130720 s e s o t h e r i n f o r m 0130740 a t i o n ( s u c h a s t 0130760 h e c u r r e n t p a g e 0131000 n u m b e r o r t h e r e 0131020 t u r n l i n k ) t o c o m 0131040 p u t e N E X T P C . I n 0131060 a d d i t i o n , s o m e 0131100 t y p e s c a u s e s i d e 0131120 e f f e c t s s u c h a s 0131140 t h e l o a d i n g t h e 0131160 r e t u r n l i n k . T h e 0131200 n e t 376 001 \0 274 } r e s u l t 0131220 i s s u b s t a n t i a l l 0131240 y f e w e r b i t s t o 0131260 c o n t r o l m i c r o s e q 0131300 u e n c i n g t h a n a h 0131320 o r i z o n t a l s c h e m e 0131340 w o u l d r e q u i r e ( i 0131360 n t h e D o r a d o , 8 0131400 b i t s i n s t e a d o f 0131420 a b o u t 1 6 ) . T h e 0131440 d i s a d v a n t a g e s a r 0131460 e , o f c o u r s e , t h 0131500 e c o s t a n d t i m e f 0131520 o r d e c o d i n g t h i s 0131540 f i e l d , a n d t h e 0131560 a d d i t i o n a l c o m p l 0131600 e x i t y o f a 376 001 \0 s Z n 0131620 a s s e m b l e r w h i c h 0131640 c a n f i t i n s t r u c t 0131660 i o n s o n t o p a g e s 0131700 a p p r o p r i a t e l y . C o 0131720 n d i t i o n a l b r a n c h 0131740 i n g i s a l w a y s a 0131760 p r o b l e m w i t h p i p 0132000 e l i n e d i n s t r u c t i 0132020 o n e x e c u t i o n . M 0132040 o s t d e s i g n s u s e o 0132060 n e o f t h e f o l l o w 0132100 i n g t w o s c h e m e s , 0132120 a n d t o l e r a t e i t 0132140 s d r a w b a c k s . T h 0132160 e f i r s t r e q u i r e s 0132200 t h a t a b r a n c h 376 0132220 001 \0 213 O b e s p e c i f i e d 0132240 o n e ( o r m o r e ) i n 0132260 s t r u c t i o n s b e f o r 0132300 e i t i s t a k e n . 0132320 A l t h o u g h t h i s s i 0132340 m p l i f i e s a n d s p e 0132360 e d s u p t h e h a r d w a 0132400 r e , i t i m p o s e s s 0132420 e v e r e c o n s t r a i n t 0132440 s o n t h e m i c r o c o 0132460 d e o r g a n i z a t i o n , 0132500 a n d o f t e n f o r c e 0132520 s e x t r a i n s t r u c t i 0132540 o n s t o b e e x e c u t 0132560 e d . T h e s e c o n d 0132600 s c h e m e d e t e c t s t 0132620 h e b 376 001 \0 w 263 r a n c h a 0132640 n d i n s e r t s a s y n c 0132660 h r o n o u s d e l a y o r 0132700 a n e x t r a c y c l e t 0132720 o a l l o w t i m e f o r 0132740 t h e n e w i n s t r u c 0132760 t i o n t o b e f e t c h 0133000 e d . T h i s o b v i o u 0133020 s l y s l o w s d o w n t h 0133040 e m a c h i n e . C o n d i t 0133060 i o n a l b r a n c h i n g 0133100 i n t h e D o r a d o i s 0133120 h a n d l e d b y a l l o 0133140 w i n g o n e o f e i g h 0133160 t b r a n c h c o n d i t i 0133200 o n s t o m o d i f y t h e 0133220 l o w o r d e 376 001 \0 < 277 r 0133240 b i t o f N E X T P C . 0133260 T h i s m o d i f i c a t i o 0133300 n ( B o o l e a n o r i n 0133320 t o t h e l o w o r d e r 0133340 b i t ) t a k e s p l a c e 0133360 a b o u t h a l f w a y 0133400 i n t o t h e i n s t r u c 0133420 t i o n f e t c h c y c l e 0133440 . T h e m i c r o s t o r 0133460 e i s o r g a n i z e d s 0133500 o t h a t t h i s b i t d 0133520 o e s n o t c h a n g e t 0133540 h e c h i p a d d r e s s , 0133560 b u t i n s t e a d s e l 0133600 e c t s a d i f f e r e n t 0133620 c h i p f r o m a s 376 001 0133640 \0 ; 344 e t o f c h i p s w 0133660 h o s e o u t p u t s a r e 0133700 t i e d d i r e c t l y t o 0133720 g e t h e r . S i n c e a 0133740 c c e s s t i m e f r o m 0133760 t h e c h i p s e l e c t 0134000 i s c o n s i d e r a b l y 0134020 f a s t e r t h a n f r o m 0134040 t h e a d d r e s s , t h e 0134060 l a t e a r r i v i n g b 0134100 r a n c h c o n d i t i o n 0134120 d o e s n o t i n c r e a s 0134140 e t h e t o t a l c y c l 0134160 e t i m e . F o r t h i 0134200 s t o w o r k , t h e a s 0134220 s e m b l e r m u s t p l a 0134240 c e 376 001 \0 022 025 e a c h f a l 0134260 s e b r a n c h t a r g e t 0134300 a t a n e v e n a d d r 0134320 e s s , a n d t h e c o r r 0134340 e s p o n d i n g t r u e b 0134360 r a n c h t a r g e t a t 0134400 t h e n e x t h i g h e r 0134420 o d d a d d r e s s . A n 0134440 a n n o y i n g c o n s e q 0134460 u e n c e i s t h a t s e v 0134500 e r a l c o n d i t i o n a l 0134520 b r a n c h e s c a n n o t 0134540 h a v e s a m e t a r g e 0134560 t ; w h e n t h i s c a s 0134600 e a r i s e s t h e t a r 0134620 g e t m u s t b e d u p l i 0134640 c a t e d . 376 001 \0 Y 017 E v e 0134660 r y t h i n g h a s i t s 0134700 p r i c e . A n o t h e r t r 0134720 a d e o f f o c c u r s i n 0134740 t h e m e c h a n i s m f 0134760 o r c o n t r o l l i n g t 0135000 h e f u n c t i o n s o f 0135020 t h e p r o c e s s o r a t 0135040 e a c h m i c r o c y c l e . 0135060 T h e D o r a d o e n c 0135100 o d e s m o s t o f i t s 0135120 o p e r a t i o n s ( o t h 0135140 e r t h a n r e g i s t e r 0135160 s e l e c t i o n , A L U o 0135200 p e r a t i o n s , s t o r i 0135220 n g r e s u l t s , a n d 0135240 m e m o r y r e f e r e 376 001 \0 0135260 350 G n c e s ) i n a n e i 0135300 g h t b i t f u n c t i o n 0135320 f i e l d c a l l e d F F 0135340 . T h i s i s \0 \0 \0 \0 \0 \0 0135360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0135660 \0 \0 376 001 \0 V d 356 \0 \0 357 \ 264 z 003 364 0135700 \0 G 365 \0 \0 001 356 % 357 025 356 < 8 w \0 356 0135720 \0 \0 357 V ] 005 364 \0 203 360 8 364 \0 204 360 ' 0135740 356 \0 \0 357 T 331 003 364 \0 272 030 364 \0 273 \r ~ 0135760 \0 357 T L 177 \0 357 T 331 w 360 4 356 \0 \0 357 0136000 R 353 006 364 \0 254 360 , ~ \0 357 R ^ 177 \0 357 0136020 R 353 w 002 364 \0 255 360 + 356 \0 \0 357 P 375 002 0136040 364 \0 200 005 356 \0 \0 357 L 376 | 002 364 \0 X 027 0136060 356 \0 \0 357 I 323 w 002 364 \0 221 031 364 \0 222 360 0136100 A 356 \0 \0 357 H O \b 364 \0 204 360 B 364 \0 205 0136120 024 356 \0 \0 357 F 313 003 364 \0 252 033 364 \0 253 360 0136140 D 356 \0 \0 357 E G \t 364 \0 227 004 364 \0 230 360 0136160 T 356 \0 \0 357 C 303 002 364 \0 337 360 Z 356 \0 \0 0136200 357 B ? \f 364 \0 200 360 G 356 \0 \0 357 ? 024 001 0136220 364 \0 362 033 364 \0 363 360 ? 356 \0 \0 357 = 220 \t 0136240 364 \0 216 \0 z 005 w 035 364 \0 217 360 7 356 \0 \0 0136260 357 < \f 006 364 \0 232 376 001 \0 332 313 360 % 364 \0 0136300 233 016 z 005 w 037 356 \0 \0 357 : 210 002 364 \0 302 0136320 360 $ 364 \0 303 360 7 356 \0 \0 357 9 004 \b 364 \0 0136340 214 360 ! 364 \0 215 360 9 356 \0 \0 357 7 200 005 364 0136360 \0 201 003 364 \0 202 360 [ 356 \0 \0 357 5 374 001 364 0136400 \0 324 360 = 364 \0 325 034 356 \0 \0 357 4 x \a 364 0136420 \0 270 022 364 \0 271 360 C 356 \0 \0 357 2 364 \n 364 0136440 \0 200 360 Y 356 \0 \0 357 / 311 002 364 \0 212 360 C 0136460 | 004 w 022 364 \0 213 \a 356 \0 \0 357 . E \0 364 0136500 \0 271 360 2 | 003 w 017 364 \0 272 030 356 \0 \0 357 0136520 , 301 \a 364 \0 222 360 0 364 \0 223 360 - 356 \0 \0 0136540 357 + = 002 364 \0 227 360 3 364 \0 230 360 , 356 \0 0136560 \0 357 ) 271 001 364 \0 216 \b z 005 w 360 2 364 \0 0136600 217 037 356 \0 \0 357 ( 5 002 364 \0 203 360 2 364 \0 0136620 204 360 / 356 \0 \0 357 & 261 006 364 \0 222 360 T 364 0136640 \0 223 \b 356 \0 \0 357 % - 003 364 001 004 034 364 001 0136660 005 360 8 356 \0 \0 357 # 251 \v 364 \0 376 001 \0 304 0136700 370 200 031 356 \0 \0 357 ~ \n 364 \0 230 035 364 \0 0136720 231 360 8 356 \0 \0 357 036 372 002 364 \0 234 360 : 364 0136740 \0 235 360 % 356 \0 \0 357 035 v \b 364 \0 230 360 / 0136760 364 \0 231 360 , 356 \0 \0 357 033 362 \b 364 \0 343 360 0137000 / 364 \0 344 360 % 356 \0 \0 357 032 n \v 364 \0 222 0137020 360 : 364 \0 223 032 356 \0 \0 357 030 352 001 364 \0 236 0137040 021 364 \0 237 360 M 356 \0 \0 357 027 f 002 364 \0 200 0137060 \b 356 \0 \0 357 024 ; \n 364 \0 301 360 # 364 \0 302 0137100 360 . 356 \0 \0 357 022 267 005 364 \0 240 025 z 005 w 0137120 035 { 001 w \b 364 \0 241 024 356 \0 \0 357 021 3 004 0137140 364 \0 240 023 364 \0 241 360 K 356 \0 \0 357 017 257 003 0137160 364 \0 260 003 364 \0 261 360 X 356 \0 \0 357 016 + 006 0137200 364 \0 213 360 T 364 \0 214 \v 356 \0 \0 357 \f 247 003 0137220 364 \0 212 360 R 364 \0 213 017 356 \0 \0 357 \v # 001 0137240 364 001 020 023 364 001 021 360 @ 356 \0 \0 357 \t 237 \f 0137260 364 \0 217 360 @ 364 \0 220 023 356 \0 \0 357 \b 033 006 0137300 364 376 001 \0 ) R \0 310 \v 364 \0 311 360 K 356 \0 0137320 \0 357 006 227 \n 364 \0 200 032 356 \0 \0 357 003 l 006 0137340 364 \0 267 360 5 364 \0 270 360 # 356 \0 \0 357 001 350 0137360 \n 364 \0 372 360 K 364 \0 373 \0 z 002 356 \0 \0 357 0137400 \0 d w \n 364 \0 221 024 364 \0 222 360 : ~ 001 w 0137420 \t 377 \0 001 \0 \0 \0 \0 \0 \0 021 : \v 267 \t ~ 0137440 \0 \0 \0 \0 H 237 a 252 001 262 \0 \0 \0 \0 \0 \0 0137460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0137700 \0 \0 \0 \0 \0 \0 376 001 \0 313 * A P R O 0137720 C E S S O R F O R A H I G 0137740 H - P E R F O R M A N C E P E 0137760 R S O N A L C O M P U T E R 1 0140000 0 q u i c k l y d e c o d e d 0140020 a t t h e b e g i n n i n 0140040 g o f e v e r y m i c r o 0140060 i n s t r u c t i o n e x e c 0140100 u t i o n c y c l e ( d u r 0140120 i n g t 0 - t 1 ) , a n d 0140140 i s u s e d t o i n v o k e 0140160 a l l o f t h e l e s s 0140200 f r e q u e n t l y u s e d 0140220 o p e r a t i o n s t h a t 0140240 t h e p r o c e s s o r c 0140260 a n d o : c o n t r o l l i 0140300 n g t h e I / O b 376 001 \0 344 207 0140320 u s s e s , r e a d i n g a 0140340 n d s e t t i n g s t a t e 0140360 i n t h e m e m o r y a 0140400 n d I F U , e x t r a c t i 0140420 n g a n a r b i t r a r y 0140440 f i e l d f r o m a w o r d 0140460 , r e a d i n g a n d l o 0140500 a d i n g m o s t r e g i s 0140520 t e r s , n o n - s t a n d a 0140540 r d c a r r y a n d s h i 0140560 f t o p e r a t i o n s , a 0140600 n d l o a d i n g v a l u e s 0140620 i n t o s m a l l r e g i 0140640 s t e r s . F F c a n a 0140660 l s o s e r v e a s a n 0140700 e i g h t b i t c o n s t a 0140720 376 001 \0 U 303 n t o r a s p a 0140740 r t o f a f u l l m i c 0140760 r o s t o r e a d d r e s s . 0141000 T h i s e n c o d i n g s 0141020 a v e s m a n y b i t s i 0141040 n t h e m i c r o i n s t r 0141060 u c t i o n , a t t h e e 0141100 x p e n s e o f a l l o w i 0141120 n g o n l y o n e F F - s p 0141140 e c i f i e d o p e r a t i o 0141160 n t o b e d o n e i n 0141200 e a c h c y c l e , e v e n 0141220 t h o u g h t h e d a t a 0141240 p a t h s e x i s t f o r 0141260 d o i n g m a n y s u c h 0141300 o p e r a t i o n s i n p a 0141320 r a l l e 376 001 \0 243 i l . 5 . 6 0141340 D a t a b y p a s s i n g R e 0141360 c a l l t h a t a m i c r 0141400 o i n s t r u c t i o n i s 0141420 i n i t i a t e d a t t h e 0141440 b e g i n n i n g o f e v 0141460 e r y c y c l e , b u t t 0141500 a k e s o n e c y c l e f 0141520