$ od -c -N 50000 [Indigo]<Daffodil>IBIP>Doc>OldIBIPSilDocumentation.dm!1>OldIBIPIFU47.sily 0000000 9 r \0 1 \0 4 \0 l \0 9 ` r 001 T \0 1 0000020 \0 4 \0 d \0 9 ` j 001 T \0 1 \0 4 \0 \ 0000040 \0 9 ` b 001 T \0 1 \0 4 \0 T \0 9 ` Z 0000060 001 T \0 1 \0 4 \0 D \0 9 ` J 001 T \0 1 0000100 \0 4 \0 < \0 9 ` B 001 T \0 1 \0 4 \0 , 0000120 \0 9 ` 2 001 T \0 1 \0 4 \0 4 \0 9 ` : 0000140 001 T \0 1 \0 # \0 260 \0 ' ` 264 001 S \0 1 0000160 \0 017 \0 260 \0 023 ` 264 001 S \0 1 \0 004 \0 260 0000200 \0 4 340 261 \0 1 \0 4 \0 \0 \0 5 340 260 \0 1 0000220 \0 001 \0 234 \0 006 ` 242 001 R \0 1 \0 001 \0 224 0000240 \0 006 ` 232 001 R \0 1 \0 001 \0 214 \0 006 ` 222 0000260 001 R \0 1 \0 001 \0 | \0 006 ` 202 001 R \0 1 0000300 \0 001 \0 d \0 006 ` j 001 R \0 1 \0 001 \0 l 0000320 \0 006 ` r 001 R \0 1 \0 001 \0 \ \0 006 ` b 0000340 001 R \0 1 \0 001 \0 T \0 006 ` Z 001 R \0 1 0000360 \0 001 \0 , \0 006 ` 2 001 R \0 1 \0 001 \0 4 0000400 \0 006 ` : 001 R \0 1 \0 001 \0 D \0 006 ` J 0000420 001 R \0 1 \0 001 \0 < \0 006 ` B 001 R \0 1 0000440 \0 001 \0 024 \0 006 ` 032 001 R \0 1 \0 001 \0 034 0000460 \0 006 ` " 001 R \0 1 \0 001 \0 \f \0 006 ` 022 0000500 001 R \0 1 \0 001 \0 004 \0 006 ` \n 001 R \0 1 0000520 \0 $ \0 l \0 3 s 003 Y B 0 \0 1 \0 $ 0000540 \0 d \0 3 k 003 Y B 1 \0 1 \0 $ \0 \ 0000560 \0 3 c 003 Y B 2 \0 1 \0 $ \0 T \0 3 0000600 [ 003 Y B 3 \0 1 \0 $ \0 D \0 3 K 0000620 003 Y A 0 \0 1 \0 $ \0 < \0 3 C 003 Y 0000640 A 1 \0 1 \0 $ \0 4 \0 3 ; 003 Y A 2 0000660 \0 1 \0 $ \0 , \0 3 3 003 Y A 3 \0 1 0000700 \0 004 \0 \0 \0 5 340 001 \0 1 \0 036 \0 250 \0 / 0000720 257 004 O E B ' \0 \0 1 \0 \n \0 250 \0 033 0000740 257 004 O E A ' \0 \0 1 \0 004 \0 \0 \0 005 0000760 340 260 \0 1 \0 \b \0 234 \0 ' 243 \a W E ' 0001000 / B L E \0 1 \0 \b \0 224 \0 032 233 004 W 0001020 E 2 ' \0 \0 1 \0 \b \0 214 \0 032 223 004 W 0001040 E 1 ' \0 \0 1 \0 \b \0 | \0 025 203 003 A 0001060 L E \0 1 \0 \b \0 l \0 022 s 002 B 0 \0 0001100 \0 1 \0 \b \0 d \0 022 k 002 B 1 \0 \0 1 0001120 \0 \b \0 \ \0 022 c 002 B 2 \0 \0 1 \0 \b 0001140 \0 T \0 022 [ 002 B 3 \0 \0 1 \0 \b \0 D 0001160 \0 022 K 002 A 0 \0 \0 1 \0 \b \0 < \0 022 0001200 C 002 A 1 A \0 1 \0 \b \0 4 \0 022 ; 0001220 002 A 2 \0 \0 1 \0 \b \0 , \0 022 3 002 A 0001240 3 \0 \0 1 \0 \b \0 034 \0 022 # 002 D 0 \0 0001260 \0 1 \0 \b \0 024 \0 022 033 002 D 1 \0 \0 1 0001300 \0 \b \0 \f \0 022 023 002 D 2 \0 \0 1 \0 \b 0001320 \0 004 \0 022 \v 002 D 3 \0 377 377 001 @ 002 ( 0001340 002 1 " 1 < a r r i v e s i n 0001360 s t a t e S 2 ( I D L E ) 0001400 j u s t a s P h a s e A i 0001420 s e n d i n g , t u r n i n 0001440 g 204 377 377 001 @ 001 324 002 2 ! 335 ; b y 0001460 t h e t i m e t h e b u s 0001500 s t a t e m a c h i n e l 0001520 a n d s i n s t a t e S 2 0001540 ( I D L E ) , 377 377 001 @ 001 L 002 > 0001560 ! U < S t a t e S 2 ( I D L 0001600 E ) , t h e b u s s t a t 0001620 e m a c h i n e w o u l d 0001640 s e e I B E m p t y a n d 276 0001660 377 377 001 @ 001 , 002 \t ! 5 0 M D R _ 0001700 o r _ M D u c l a u s e , 0001720 s o i t w o u l d a s s u 0001740 m e a s i n g l e h 377 377 001 @ 0001760 001 $ 002 ( ! + 7 t h a t t h e 0002000 m i c r o i n s t r u c t i o n 0002020 a f t e r t h e M A R _ 0002040 d i d n ' t h a v e a n 377 377 0002060 001 @ \0 P 001 t W \f I B R e f e r 0002100 e n c e . 340 377 377 001 @ \0 H 002 030 Q 0002120 4 f o r a n y P c h i p 0002140 b u s a c t i v i t y t o 0002160 c o m p l e t e a n d b e g 0002200 i n a n f 377 377 001 334 002 340 002 \f 002 351 0002220 \a 8 / 1 9 / 8 3 377 377 \0 0 001 214 \0 307 0002240 ! 225 & i n d i c a t e d b y 0002260 I B E m p t y ( I B I P S i m 0002300 4 5 . s i l y ) . 2 377 377 \0 0 001 204 0002320 001 005 ! 215 5 a n I B A c c e s s 0002340 ( S e e I B I P S i m 4 4 . 0002360 s i l y ) a n d t h e I B 0002400 i s e m p t y , 377 377 001 @ 001 220 0002420 001 Q ! 231 004 I B R q w 377 377 001 @ 001 200 0002440 002 024 ! 211 4 O n e m i g h t ( 0002460 a l m o s t c o r r e c t l y 0002500 ) t h i n k t h e I B R e 0002520 q u e s t i s : l 377 377 001 @ \0 364 0002540 002 1 375 ; I t i s i n t e r 0002560 e s t i n g t o n o t e t 0002600 h a t b e c a u s e a n I 0002620 B A c c e s s c a n s t o p 0002640 377 377 \0 254 001 \0 322 ! ' \t W D v V a 0002660 l i d ' 377 377 \0 254 001 020 \0 322 ! 027 \t W 0002700 D v V a l i d ' 377 377 \0 $ \0 354 001 002 0002720 365 6 b i t s h a v e r e a 0002740 c h e d v a l i d s t a t e 0002760 s a n d d i s a b l i n g 0003000 t h e w r i t e b 377 377 \0 $ \0 344 0003020 001 023 355 8 W e a s s u m e t 0003040 h e d e l a y s i n v o l v 0003060 e d i n b o t h d e t e c 0003100 t i n g t h e d a t a \0 377 377 0003120 001 @ 002 ` 001 356 " i + t r a n s i s 0003140 t o r s . i t i s s h o 0003160 w n o n t h e n e x t p 0003200 a g e . 377 377 001 @ 002 X 002 030 " a 3 s 0003220 c a r y ( t o t h e o l d 0003240 - f a s h i o n e d T T L d 0003260 e s i g n e r ) g a t e s a 0003300 n d 377 377 001 @ 002 P 002 034 " Y 5 T o 0003320 r e m e d y t h i s p r o b 0003340 l e m , w e i n s t a l l 0003360 a n a r b i t e r m a d e 0003400 o f 377 377 001 , 002 P 001 9 " W 003 2 3 . 0003420 377 377 001 @ 002 @ 002 9 " I ? t o n o 0003440 s t a t e a t a l l , e 0003460 f f e c t i v e l y d i s a b 0003500 l i n g b u s a c t i v i t 0003520 y f o r e v e r . 377 377 001 @ 002 8 0003540 002 4 " A < i n t h e b u s 0003560 s t a t e m a c h i n e . 0003600 I t c o u l d c o n c e i v 0003620 a b l y d e c i d e t o g 0003640 o 207 377 377 001 @ 002 0 002 ? " 9 = o f f 0003660 t h a t t e r m . T h i 0003700 s c o u l d c a u s e a 0003720 h a z a r d a n d g r e a t 0003740 c o n f u s i o n 377 377 001 @ 002 0003760 002 1 " ) : e l s e . T h e 0004000 p r o b l e m t h e n m a y 0004020 a r i s e i f t h e b u 0004040 s s t a t e m a c h i n e 200 0004060 377 377 001 @ 002 030 002 2 " ! : i g n o r 0004100 e t h e I B W i n d o w i 0004120 f b u s i s a l r e a d y 0004140 b u s y d o i n g s o m e 0004160 t h i n g 330 377 377 001 330 001 234 001 334 ! 245 0004200 001 ) 377 377 001 324 001 220 001 330 ! 231 001 ) 377 377 0004220 001 270 001 220 001 324 ! 227 006 P h a s e F ) 0004240 377 377 001 274 001 234 001 331 ! 243 006 P h a s e 0004260 A ) 377 377 001 260 001 220 001 265 ! 225 001 * 377 377 0004300 001 264 001 234 001 271 ! 241 001 * 377 377 001 214 001 234 0004320 001 260 ! 243 \b I B W i n d o w ) 377 377 0004340 001 @ 002 020 002 035 " 031 : I F U s e e 0004360 i t . I n f a c t , i 0004400 t i s m o s t r e a s o n 0004420 a b l e t o l e t t h e 0004440 I F U C 377 377 001 @ 002 \b 002 , " 021 9 s 0004460 t o p t h e E m u l a t o r 0004500 c l o c k o n e v e r y 0004520 I B W i n d o w j u s t t o 0004540 l e t t h e 377 377 001 @ 002 \0 002 > 0004560 " \t = t o p r o c e e d i n 0004600 p a r a l l e l w i t h a 0004620 n I B R e f e r e n c e . 0004640 H e n c e , w e c a n n o t 0004660 377 377 001 @ 001 370 002 % " 001 8 o f p r 0004700 o v i d i n g a n I B W i n 0004720 d o w c l a u s e i s t o 0004740 a l l o w t h e E m u l a 0004760 t o r 006 377 377 001 @ 001 360 002 & ! 371 6 T 0005000 h e I B W i n d o w t e r m 0005020 i s a n o t h e r s t o r 0005040 y . T h e w h o l e p u 0005060 r p o s e t 377 377 001 @ 001 344 001 h ! 353 0005100 \n t h i s t e r m . 8 377 377 001 @ 0005120 001 264 002 ! 273 : c o n t a i n s 0005140 a n I B A c c e s s . T h 0005160 i s i n d i c a t i o n i s 0005200 v a l i d i n P h a s e F 0005220 . 310 377 377 001 @ 001 254 002 ) ! 265 : p I B 0005240 A c c e s s i s t h e i n 0005260 d i c a t i o n t h a t t h 0005300 e n e x t m i c r o i n s t 0005320 r u c t i o n 201 377 377 001 204 001 234 001 211 0005340 ! 241 001 * 377 377 001 h 001 234 001 204 ! 243 006 I 0005360 B R o o m \0 377 377 001 d 001 234 001 h ! 245 0005400 001 ( 377 377 001 334 001 220 001 341 ! 227 001 + 377 377 0005420 001 210 001 220 001 256 ! 231 \t p I B A c c e 0005440 s s 377 377 001 200 001 220 001 205 ! 225 001 * 377 377 0005460 001 \ 001 220 001 ` ! 231 001 ( 377 377 001 ` 001 220 0005500 001 177 ! 231 \a I B E m p t y 377 377 001 T 0005520 001 220 001 Y ! 226 001 = 377 377 001 @ 001 314 002 2 0005540 ! 325 < i s h a p p e n n i n g 0005560 . S o l o n g a s t h 0005600 e I B E m p t y f l a g i 0005620 s c o r r e c t l y s e t \0 0005640 377 377 001 @ 001 334 002 030 ! 345 7 t h e I 0005660 n s t r u c t i o n F e t c h 0005700 u n i t w i l l s e e n 0005720 o l o g i c h a z a r d s 0005740 i n 377 377 001 @ 001 304 002 1 ! 315 ; a n d 0005760 w a i t f o r t h e I n 0006000 s t r u c t i o n F e t c h 0006020 l o g i c t o f i g u r e 0006040 o u t w h a t 377 377 001 @ 001 274 002 036 0006060 ! 305 7 A n I B A c c e s s o 0006100 f a n e m p t y I B w i 0006120 l l c a u s e t h e c l o 0006140 c k t o s t o p 377 377 001 , 001 200 0006160 001 9 ! 207 003 2 2 . 377 377 001 @ 001 l 002 0006200 ! u 6 e x e c u t e t h e I 0006220 B D i s p a n d _ M D m i 0006240 c r o i n s t r u c t i o n s 0006260 n o r m a l l y . 027 377 377 001 @ 001 d 0006300 002 , ! k 9 f a l s e a n d t 0006320 h e c l o c k w o u l d s 0006340 t a r t . T h e E m u l a 0006360 t o r w o u l d t h e n 377 377 0006400 001 @ 001 \ 002 ( ! e 9 c o m p l e t 0006420 e d , a F u l l b i t w 0006440 o u l d b e s e t , c a u 0006460 s i n g I B E m p t y t o 0006500 g o 377 377 001 @ 001 T 002 023 ! ] 4 I B A 0006520 c c e s s , s o i t w o u 0006540 l d s t a r t a n I B R e 0006560 f e r e n c e . W h e n i 0006600 t 377 377 001 @ 001 D 002 A ! M = t h e 0006620 d a t a w o u l d b e l 0006640 a t c h e d i n t h e M D 0006660 v r e g i s t e r . U p o 0006700 n e n t e r i n g 377 377 001 @ 001 < 0006720 002 3 ! E 9 a s y n c h r o n o u 0006740 s b u s s t a t e m a c h 0006760 i n e . A t t h e e n d 0007000 o f t h e f e t c h , 377 377 0007020 001 @ 001 4 002 017 ! = 1 w o r d f e 0007040 t c h . T h i s f e t c h 0007060 w o u l d b e c o m p l e 0007100 t e d b y t h e 377 377 001 @ 001 034 0007120 002 ; ! % = t h e I B D i s p 0007140 m i c r o i n s t r u c t i o n 0007160 . T h e b u s s t a t e 0007200 m a c h i n e w o u l d s 0007220 e e 377 377 001 @ 001 024 002 - ! 035 : m i c 0007240 r o i n s t r u c t i o n s . 0007260 T h e c l o c k c o u l d 0007300 b e s t o p p e d j u s t 0007320 b e f o r e 377 377 001 @ 001 \f 002 030 0007340 ! 025 4 c o n t a i n i n g a 0007360 M A R _ , a n I B D i s p 0007400 a n d a _ M D i n s u c 0007420 c e s s i v e \0 377 377 001 @ 001 004 002 8 0007440 ! \r : b y a n I B R e f e r 0007460 e n c e . C o n s i d e r 0007500 a s t a n d a r d s h o r t 0007520 M e s a r o u t i n e \0 377 377 0007540 001 @ \0 374 002 - ! 005 7 t h e c l o 0007560 c k , a n o r d i n a r y 0007600 m e m o r y r e a d c a n 0007620 b e " i n t e r r u p t e d " 0007640 377 377 001 , \0 364 001 9 373 003 2 1 . 377 377 0007660 001 @ \0 344 001 325 353 $ r e l e a s e 0007700 t h e s e c o n d m i c r 0007720 o i n s t r u c t i o n . \0 377 377 0007740 001 @ \0 334 002 / 345 ; m a c h i n e 0007760 w o u l d b e w a i t i n 0010000 g f o r t h e c l o c k 0010020 h o l d i n g c i r c u i t r 0010040 y t o 377 377 001 @ \0 324 002 ( 333 8 m 0010060 a c h i n e t o r e l e a s 0010100 e t h e b u s s o i t 0010120 c o u l d s t a r t a n d 0010140 t h e b u s 003 377 377 001 @ \0 314 002 032 0010160 325 8 I F U t o f i l l t 0010200 h e I B , t h e I F U w 0010220 o u l d b e w a i t i n g 0010240 f o r t h e b u s 375 377 377 001 @ 0010260 \0 304 002 4 315 = i n w h i c h 0010300 t h e c l o c k h o l d i n 0010320 g c i r c u i t r y w o u l 0010340 d b e w a i t i n g f o r 0010360 t h e 377 377 001 @ \0 274 002 " 305 7 b 0010400 e f o r e b e i n g e x e c 0010420 u t e d . T h i s w o u l 0010440 d r e s u l t i n a d e 0010460 a d l o c k 377 377 001 @ \0 264 002 036 275 0010500 7 m i c r o i n s t r u c t i o 0010520 n c o n t a i n s a n I B 0010540 A c c e s s , i t w o u l d 0010560 b e h e l d 377 377 001 @ \0 254 002 7 0010600 265 < m i c r o i n s t r u c t 0010620 i o n f o r t h e w r i t 0010640 e d a t a . I f , h o w 0010660 e v e r , t h a t s a m e p 0010700 377 377 001 @ \0 244 001 377 253 . m a c h i 0010720 n e m u s t w a i t u n t 0010740 i l t h e e n d o f t h 0010760 i s s e c o n d 377 377 001 @ \0 234 0011000 002 * 245 9 I f t h e o p e r 0011020 a t i o n i s a w r i t e 0011040 ( h a s a n M D R _ c l 0011060 a u s e ) , t h e b u s 377 377 0011100 001 @ \0 214 002 036 225 5 m i c r o i n 0011120 s t r u c t i o n i m m e d i 0011140 a t e l y f o l l o w i n g 0011160 a M A R _ o r M a p _ 377 377 0011200 001 @ \0 224 002 ( 235 5 d e f i n e s 0011220 t h e t y p e o f m e m 0011240 o r y o p e r a t i o n t o 0011260 b e p e r f o r m e d . 377 377 0011300 001 @ \0 204 001 377 215 / d i a g r a m 0011320 i n I B I P S i m 4 3 . s i 0011340 l y , o n e c a n s e e 0011360 t h a t t h e 377 377 001 @ \0 | 002 033 0011400 205 5 m i c r o i n s t r u c t 0011420 i o n . R e f e r r i n g 0011440 t o t h e b u s m a c h i 0011460 n e s t a t e 377 377 001 @ \0 t 001 363 0011500 { * a n M D R _ c l a u s 0011520 e a n d a n I B A c c e s 0011540 s i n t h e s a m e 377 377 0011560 001 @ \0 l 002 1 u < u s i n g t 0011600 h e I B . I n p a r t i 0011620 c u l a r , t h e m i c r o 0011640 c o d e r m a y n o t i n 0011660 c l u d e \0 377 377 001 @ \0 d 002 027 m 0011700 4 r e s t r i c t i o n o n 0011720 t h e t y p e o f b u s 0011740 a c t i v i t y a l l o w e d 0011760 w h e n \0 377 377 001 @ \0 \ 002 & e 0012000 : T h i s a c t o f w a i 0012020 t i n g f o r b u s a c t 0012040 i v i t y t o c o m p l e t 0012060 e i m p l i e s a \0 377 377 001 , 0012100 \0 \ 001 9 c 003 2 0 . 377 377 001 @ \0 @ 0012120 002 1 I A w i l l s t a r t . 0012140 I f t h e I n s t r u c 0012160 t i o n F e t c h U n i t 0012200 w a s i d l e , i t w i l 0012220 l w a i t 377 377 001 @ \0 024 002 6 035 0012240 ; T h e f o l l o w i n g d 0012260 i s c u s s i o n a s s u m e 0012300 s f P C A t E n d O f P a g e 0012320 i s n o t s e t . 377 377 \0 $ 0012340 002 264 \0 360 " 275 0 b e g i n n i n g 0012360 o f t h e b y t e c o d e 0012400 t h a t c a u s e d t h e 0012420 f a u l t . p 377 377 \0 $ 002 254 001 \b 0012440 " 265 6 t h e p a g e a r r i 0012460 v e s , t h i s p r o c e s 0012500 s m a y b e r e s t a r t 0012520 e d a t t h e p 377 377 \0 $ 002 244 0012540 001 \b " 255 7 t o s l e e p w h 0012560 i l e s c h e d u l i n g t 0012600 h e p a g e f a u l t p r 0012620 o c e s s . W h e n 377 377 \0 $ 0012640 002 < \0 364 " E 1 t h e c o r r e 0012660 s p o n d i n g r e a l p a 0012700 g e n u m b e r i s p u t 0012720 i n f P C p 377 377 \0 $ 002 4 \0 360 0012740 " = 2 I f t h e n e w v i 0012760 r t u a l p a g e i s a l 0013000 r e a d y i n r e a l m e 0013020 m o r y , a 377 377 \0 $ 002 234 001 036 " 245 0013040 < b e g i n n i n g o f t h 0013060 e b y t e c o d e , s a v e 0013100 s t h i s , a n d p u t s 0013120 t h i s p r o c e s s \0 377 377 0013140 \0 $ 002 224 001 \f " 235 7 T h i s t r 0013160 a p c o d e r e c o v e r s 0013200 t h e s t a t e o f t h 0013220 e m a c h i n e a t t h e 0013240 377 377 \0 $ 002 214 001 025 " 225 9 i s d e 0013260 t e c t e d , a n o t h e r 0013300 t y p e o f m i c r o c o d 0013320 e t r a p i s g e n e r a 0013340 t e d . 377 377 \0 $ 002 204 001 ! " 215 ; w 0013360 e k n o w a n e w p a g 0013400 e m u s t b e b r o u g h 0013420 t i n . W h e n t h i s 0013440 c o n d i t i o n 377 377 \0 $ 002 | 0013460 001 \r " 205 8 a n I B A c c e s s 0013500 , t h e I B i s e m p t 0013520 y a n d f P C A t E n d O f 0013540 P a g e i s t r u e , \0 377 377 0013560 \0 $ 002 t 001 003 " } 7 c e r t a i n 0013600 t h e n e w p a g e w i 0013620 l l b e n e e d e d . T 0013640 h u s , i f t h e r e i s 0013660 377 377 \0 $ 002 l 001 022 " u ; a n y w a 0013700 y . I t i s n o t l e 0013720 g a l t o c a u s e a p 0013740 a g e f a u l t u n t i l 0013760 w e a r e 377 377 \0 $ 002 d 001 \r " m 0014000 6 t h e E m u l a t o r a t 0014020 t e m p t s t o d i s p a t 0014040 c h o n t h e n e x t b 0014060 y t e c o d e \0 377 377 \0 $ 002 \ 001 031 0014100 " e 9 w a s n o t p r e s e 0014120 n t i n m e m o r y , t h 0014140 e m a c h i n e s t a t e 0014160 i s s a v e d a n d 377 377 \0 $ 0014200 002 T 001 \v " ] 7 t o d i s p a t 0014220 c h o n a n e w b y t e 0014240 c o d e . I f t h e n e 0014260 w v i r t u a l p a g e 377 377 0014300 \0 $ 002 L 001 034 " U 9 b e d o n e 0014320 s i n c e t h e t r a p 0014340 o c c u r e d w h e n t h e 0014360 E m u l a t o r e x p e c t 0014400 e d 377 377 \0 $ 002 D 001 037 " M = a n d 0014420 t h e c o d e d i s p a t 0014440 c h e s o n t h e n e x t 0014460 b y t e i n t h e I B . 0014500 T h i s c a n 377 377 \0 $ 002 , 0014520 001 024 " 5 9 I B D i s p T r a p 0014540 c o d e , t h e n e w v i 0014560 r t u a l p a g e n u m b e 0014600 r i s e x a m i n e d . 377 377 0014620 \0 $ 002 $ 001 001 " - 6 e a c h I B 0014640 D i s p e x e c u t e d c a 0014660 u s e s a m i c r o c o d e 0014700 t r a p . I n t h i s 0014720 377 377 \0 $ 002 034 001 037 " % @ t h i s 0014740 f l a g i s s e t , I B W 0014760 i n d o w c l a u s e s a r 0015000 e i g n o r e d . W h e n 0015020 i t i s s e t , \0 377 377 \0 $ 0015040 002 024 001 020 " 035 9 c a r r y o u t 0015060 o f b i t 0 , t h e f 0015100 P C A t E n d O f P a g e f l 0015120 a g i s s e t . W h e n 0015140 377 377 \0 $ 002 \f 001 017 " 025 9 i n c r e 0015160 m e n t e d b y 2 d u r i 0015200 n g e a c h I B R e f e r e 0015220 n c e . I f t h e r e i 0015240 s a 377 377 \0 $ 002 004 001 016 " \r : w 0015260 h e r e t h e n e x t v i 0015300 r t u a l p a g e i s i n 0015320 r e a l s p a c e . T h 0015340 e f P C d i s \0 377 377 \0 $ 001 374 0015360 001 \a " 005 6 e n d o f a m e 0015400 m o r y p a g e . T h i s 0015420 i s b e c a u s e i t d 0015440 o e s n ' t k n o w 377 377 \0 $ 0015460 001 364 001 020 ! 373 9 A n I B R e f e 0015500 r e n c e w i l l n o t s 0015520 t a r t i f t h e f P C d 0015540 h a s r e a c h e d t h e 0015560 377 377 001 , \0 024 001 9 033 003 1 9 . 377 377 0015600 \0 020 001 364 \0 035 ! 373 003 1 8 . 377 377 001 @ 0015620 \0 8 002 0 A = b i t w i l l 0015640 b e s e t , I B E m p t y 0015660 w i l l b e r e s e t a n 0015700 d t h e E m u l a t o r c 0015720 l o c k 377 377 001 @ \0 0 002 * 9 < I 0015740 B R e f e r e n c e i s a l 0015760 r e a d y i n p r o g r e s 0016000 s , i t w i l l c o m p l 0016020 e t e , a F u l l 277 377 377 001 @ 0016040 \0 ( 002 030 1 7 I B i s e m p 0016060 t y , t h e E m u l a t o r 0016100 c l o c k w i l l b e s 0016120 t o p p e d . I f a n 377 377 0016140 001 @ \0 002 ) ' 9 I f t h e 0016160 n e x t m i c r o i n s t r u 0016200 c t i o n c o n t a i n s a 0016220 n I B A c c e s s a n d t 0016240 h e 377 377 \0 $ \0 274 001 ) 305 A l a t 0016260 c h i n v o l v e s b o t h 0016300 a s e l e c t t e r m ( 0016320 g i v e n a b o v e o r i 0016340 n I B I P 4 6 . s i l y ) 377 377 0016360 \0 $ \0 304 001 $ 315 = a n d a t 0016400 i m i n g t e r m . L a t 0016420 c h e s r e c e i v i n g R 0016440 e s p u ' d a t a a r e e 0016460 n a b l e d 377 377 \0 0 001 340 \0 250 ! 347 0016500 035 I B W i n d o w c l a u s e 0016520 s i n t h e c o d e . 377 377 0016540 \0 0 001 330 001 \f ! 341 5 s e t , m i 0016560 c r o c o d e r s w i l l t 0016600 u n e t h e p e r f o r m a 0016620 n c e b y p l a c i n g 377 377 0016640 \0 0 001 320 001 025 ! 331 7 s t r u c t u 0016660 r e o f t h e m i c r o c 0016700 o d e a n d t h e c h i p 0016720 s e t t i m i n g s a r e 0016740 377 377 \0 0 001 310 001 034 ! 321 ; w i l l 0016760 p r o b a b l y b e u s e d 0017000 . I t i s e x p e c t e 0017020 d t h a t a f t e r t h e 0017040 b a s i c 377 377 \0 0 001 270 001 \0 ! 277 0017060 0 m i c r o c o d e r s h o u 0017100 l d u s e I B W i n d o w 0017120 w h e n t h e E m u l a t o 0017140 r 377 377 \0 0 001 300 001 032 ! 311 6 w o n 0017160 ' t b e u s i n g m e m o 0017200 r y f o r a w h i l e a n 0017220 d t h e b y t e s f e t c 0017240 h e d f 377 377 \0 0 001 260 001 001 ! 267 5 c 0017260 o n t r o l o f t h e t i 0017300 m e s a t w h i c h t h e 0017320 I B w i l l f e t c h . 0017340 T h e 377 377 \0 0 001 250 001 \f ! 261 7 a 0017360 n I B W i n d o w c l a u s 0017400 e . T h i s g i v e s t 0017420 h e m i c r o c o d e r e x 0017440 p l i c i t 377 377 \0 0 001 240 001 # ! 251 0017460 9 w o r d ( I B R o o m = 1 ) 0017500 a n d t h e c u r r e n t 0017520 m i c r o i n s t r u c t i o 0017540 n c o n t a i n s 377 377 \0 0 001 230 0017560 001 ! ! 241 ; B e g i n a f e t 0017600 c h i f t h e r e i s r 0017620 o o m i n t h e I B f o 0017640 r a n o t h e r d o u b l e 0017660 377 377 \0 $ 001 230 \0 - ! 241 002 b ) 006 377 377 0017700 \0 0 001 | 001 ! ! 205 9 B e g i n a 0017720 f e t c h w h e n e v e r 0017740 t h e n e x t m i c r o i n 0017760 s t r u c t i o n c o n t a i 0020000 n s 377 377 \0 $ 001 | \0 - ! 205 002 a ) c 0020020 377 377 \0 $ 001 p \0 = ! w 006 F e t c h 0020040 : \0 377 377 \0 $ 001 h 001 006 ! o 8 u n d 0020060 e r w h i c h t h e I n s 0020100 t r u c t i o n F e t c h u 0020120 n i t s h o u l d i n i t i 0020140 a t e a \0 377 377 \0 $ 001 T \0 ] ! [ 0020160 016 i n t h e B u f f e r . V 0020200 377 377 \0 $ 001 L 001 027 ! U 8 w h i l e 0020220 a t t e m p t i n g t o m 0020240 a i n t a i n a n a d e q u 0020260 a t e n u m b e r o f b y 0020300 t e s l 377 377 \0 $ 001 D 001 024 ! M : F 0020320 e t c h l o g i c s h o u l 0020340 d s t a y o u t o f t h 0020360 e w a y a s m u c h a s 0020400 p o s s i b l e . 377 377 \0 $ 001 ` 0020420 001 016 ! i : F o l l o w i n g t 0020440 h i s l i n e o f r e a s 0020460 o n i n g , w e d e r i v e 0020500 t w o c o n d i t i o n s . 0020520 377 377 \0 $ 001 < 001 ' ! E ? a n I B 0020540 R e f e r e n c e . T h e 0020560 g e n e r a l p h i l o s o p 0020600 h y i s t h a t t h e I 0020620 n s t r u c t i o n 377 377 \0 $ 001 4 0020640 001 \t ! = 7 W e a r e n o w 0020660 r e a d y t o d i s c u s s 0020700 t h e c o n d i t i o n s 0020720 t h a t i n t i a t e 377 377 \0 l 0020740 001 \0 246 ! ' 016 I B W r i t e S e 0020760 l e c t 1 ( 377 377 \0 l 001 030 \0 246 ! 037 0021000 016 I B W r i t e S e l e c t 1 ( 0021020 377 377 \0 $ 001 \0 d ! ' 017 I B W r i 0021040 t e E n a b l e 6 7 377 377 \0 $ 001 030 0021060 \0 d ! 037 017 I B W r i t e E n a b 0021100 l e 4 5 377 377 \0 $ 001 020 \0 d ! 027 017 I 0021120 B W r i t e E n a b l e 2 3 377 377 0021140 \0 d 001 \0 i ! & 001 = 377 377 \0 244 001 0021160 \0 251 ! % 001 * 377 377 \0 254 001 030 \0 322 ! 037 0021200 \t W D u V a l i d ' 377 377 \0 244 001 030 0021220 \0 251 ! 035 001 * 377 377 \0 d 001 030 \0 i ! 036 0021240 001 = 377 377 \0 d 001 020 \0 i ! 026 001 = 377 377 0021260 \0 l 001 020 \0 246 ! 027 016 I B W r i t e 0021300 S e l e c t 0 ( 377 377 \0 244 001 020 \0 251 0021320 ! 025 001 * 377 377 \0 254 001 \b \0 322 ! 017 \t W 0021340 D u V a l i d ' 377 377 \0 244 001 \b \0 251 0021360 ! \r 001 * 377 377 \0 l 001 \b \0 246 ! 017 016 I 0021400 B W r i t e S e l e c t 0 ( 377 377 0021420 \0 d 001 \b \0 i ! 016 001 = 377 377 \0 $ 001 \b 0021440 \0 d ! 017 017 I B W r i t e E n a b 0021460 l e 0 1 377 377 \0 $ \0 374 \0 215 ! 005 032 w 0021500 r i t e e n a b l e p u l s 0021520 e . T h u s : 377 377 002 034 002 340 0021540 002 + 002 351 002 4 7 1 377 377 001 030 002 340 001 ` 0021560 002 353 016 I B I P S i m 4 7 . s i l 0021600 y \0 377 377 \0 020 001 4 \0 035 ! ; 003 1 7 . 0021620 377 377 \0 $ \0 364 001 002 375 4 e n a b l 0021640 e s c o v e r s t h e d a 0021660 t a s e t u p t i m e t o 0021700 t h e e n d o f t h e 370 0021720 377 377 \0 $ \0 334 001 017 343 9 r e s e t 0021740 w h e n a l l d a t a b 0021760 i t s r e a c h e i t h e r 0022000 t h e 1 0 o r 0 1 s t 0022020 a t e . 377 377 \0 $ \0 324 001 021 335 9 d 0022040 a t a i n p u t s t o g o 0022060 t o t h e 1 1 s t a t e 0022100 . T h e w r i t e e n a 0022120 b l e s a r e 377 377 \0 $ \0 314 001 \r 0022140 325 7 w h e n t h e y a r e 0022160 s e l e c t e d a n d R e 0022200 s p u ' d r o p s c a u s i 0022220 n g a l l t h e 377 377 \0 $ \0 L 0022240 \0 272 S $ a f t e r t h e 0 0022260 1 o r 1 0 s t a t e i s 0022300 r e a c h e d . P 377 377 \0 $ \0 D 0022320 001 006 M 6 w i l l b e w r i 0022340 t t e n . W e a s s u m e 0022360 t h e y a r e w r i t t e 0022400 n v e r y s o o n 2 377 377 \0 $ 0022420 \0 < \0 377 E 4 t h e i n p u t 0022440 b i t s r e a c h t h e 0022460 0 1 o r 1 0 s t a t e s 0022500 b e f o r e t h e y t 377 377 \0 $ 0022520 \0 4 001 \a = 6 l a t c h e s r 0022540 e q u i r e t h a t b o t h 0022560 t h e w r i t e e n a b l 0022600 e s b e s e t a n d 377 377 0022620 \0 $ \0 , 001 005 5 < 0 1 = b i 0022640 t i s 0 , 1 0 = b i t 0022660 i s 1 , 1 1 = b i t 0022700 i s n ' t v a l i d y e t . 0022720 T h e y 377 377 \0 $ \0 264 001 \a 275 0022740 6 G e n e r a t i o n o f t 0022760 h e w r i t e e n a b l e 0023000 t e r m f o r a n y p a r 0023020 t i c u l a r \0 377 377 \0 020 \0 264 \0 035 0023040 273 003 1 6 . 377 377 \0 $ \0 244 \0 364 255 0023060 4 o p e r a t i o n s . T h 0023100 e I B i s w r i t t e n 0023120 o n l y i n I B R e f e r e 0023140 n c e s . < 377 377 \0 $ \0 234 \0 352 245 0023160 0 T h e M D v l a t c h i 0023200 s a c t i v a t e d f o r 0023220 a l l M A R _ o r M a p _ 0023240 o 377 377 \0 $ \0 224 001 031 235 ; T h e 0023260 M D u l a t c h i s a c 0023300 t i v a t e d o n l y o n 0023320 d o u b l e f e t c h o p e 0023340 r a t i o n s . 377 377 \0 $ \0 d 001 027 0023360 m < T h e f i r s t s e t 0023400 i s l a t c h e d w i t h 0023420 w h e n R e s p u ' r i s 0023440 e s . T h e s e c o n d \f 0023460 377 377 \0 $ \0 l 001 030 u < s e t i 0023500 s l a t c h e d w h e n e v 0023520 e r R e s p v ' r i s e s . 0023540 T h e f i r s t s e t 0023560 g o e s t o \0 377 377 \0 020 \0 224 \0 035 0023600 233 003 1 5 . 377 377 \0 $ \0 204 \0 225 215 0023620 033 I B a r r a y a n d t h 0023640 e M D v l a t c h . 377 377 \0 $ 0023660 \0 | 001 017 205 7 t h e M D u l 0023700 a t c h . T h e s e c o n 0023720 d g o e s t o t h e o d 0023740 d w o r d s o f t h e 377 377 0023760 \0 $ \0 t 001 006 } 5 t h e e v e 0024000 n w o r d s o f t h e I 0024020 n s t r u c t i o n B u f f e 0024040 r a r r a y a n d t o 377 377 0024060 \0 $ \0 \ 001 017 c 8 T h e r e a 0024100 r e t w o s e t s o f d 0024120 a t a b i t s l a t c h e d 0024140 f r o m t h e A P B u s 0024160 . s 377 377 \0 020 \0 \ \0 035 c 003 1 4 . 0024200 377 377 \0 020 \0 024 \0 035 033 003 1 3 . 377 377 0024220 \0 $ \0 $ 001 016 - 8 t h e e d g 0024240 e s o f t h e c h i p e 0024260 n c o d e e a c h d a t a 0024300 b i t o n t w o l i n e s 0024320 . \0 377 377 \0 $ \0 034 001 \b % 6 d e p 0024340 e n d i n g o n y o u r p 0024360 o i n t o f v i e w ) l a 0024400 t c h e s . T h e p a d s 0024420 o n \0 377 377 \0 $ \0 024 \0 365 035 3 T 0024440 h e I B m e m o r y c i r 0024460 c u i t s a r e i n t e r e 0024500 s t i n g ( o r s t r a n g 0024520 e , 377 377 001 l 002 340 001 271 002 353 016 G a r 0024540 n e r , D a v i e s ! 377 377 \0 t 0024560 002 350 \0 277 002 361 \r D o c u m e n t a 0024600 t i o n 377 377 \0 t 002 334 \0 347 002 345 027 I 0024620 n s t r u c t i o n F e t c h 0024640 U n i t : 377 377 \0 p 002 324 \0 233 * 333 0024660 \t R e f e r e n c e 377 377 \0 8 002 340 0024700 \0 T 002 353 005 D a i s y 377 377 \0 \b 002 330 0024720 \0 , 002 341 005 X E R O X 377 377 001 310 002 340 0024740 001 320 002 351 001 A 377 377 \0 020 002 344 \0 ! * 353 0024760 003 S D D 377 377 \0 \0 002 320 002 0 342 322 377 377 0025000 001 030 002 324 001 & * 333 004 F i l e 273 377 377 0025020 \0 4 002 324 \0 T * 335 \a P r o j e c t 0025040 377 377 001 h 002 324 001 214 * 335 \b D e s i g 0025060 n e r 374 377 377 001 304 002 324 001 324 * 333 003 R 0025100 e v 377 377 001 330 002 324 001 354 * 333 004 D a t 0025120 e R 377 377 \0 \0 002 364 002 0 342 366 377 377 002 0 0025140 002 320 002 2 342 366 377 377 \0 \0 002 322 \0 002 342 364 0025160 377 377 \0 0 002 320 \0 2 342 364 377 377 \0 h 002 320 0025200 \0 j 342 364 377 377 001 024 002 320 001 026 342 364 377 377 0025220 001 d 002 320 001 f 342 364 377 377 001 300 002 320 001 302 0025240 342 364 377 377 001 324 002 320 001 326 342 364 377 377 002 020 0025260 002 320 002 022 342 364 377 377 002 024 002 324 002 ) * 335 0025300 004 P a g e \0 0025306