� ��� ������� � � ��������� ���������������! #"%$'&( *)�+-,.�0/21*"�)�)�,43
5 ��76� 8�9���:6 � � ��������� ������� ;�� <�����7=?>@� �A� �B�����9'C
C.P.U.
Program
Memory
Workspace
Memory
Control
Data
Address
D�E &F"HGI�! *3IJK"%+-,43�LM�NJ7&F #+O"�JP+-QI�0"RQS)�"�)T�UJP,.V V ,43�)�"�+I,4$��WQF)�"�)T$X,Y���Z1*1YJP,YV [F,\3I"%3I+-)^]
_P`a`
b c�d e�f�gh�i j i�k�l�m�g�h�k�g�f�i�h�n�o�p�q!r#s%t'u(r*v�w-x.q0y2z*s�v�v�x4{
| } i'~ } i�� j i�k�l�m�g�hTk�g%fBi�h ��cAi ��h9i'm }?� b c�d e�f�gh�i��
Control
Data
Address
Program
MemoryC.P.U.
Workspace
Memory
��� uFsT��oq0��o�q0���MqN�7uFr#wOs��Pw-�Iq0s��Fv�s%v���r*t-tXs^q0s%{Ww.v�s�w-v8x\t�pW�Fv�s%v�tXxYq��Iq0x4�4q!o� oa{I����x.q!��v��Foa�Ks� s�� xYq�r#s%v^�
�P�a�
¡£¢*¤ ¢*¥¢�¦ §?¨�©2§ª¨�« ¬ ¨�¡��¥�®¯T¡�®%°�¨�¯ ±�²A¨ ³µ´¶¬ · ¸
Memory
Instruction
Addr
ALU
shiftDEST
Memory
Addr
Data
alignimm.
+4
PC
Registers
(to decoder)Instruction
S1
S2
¹Pº�»
¼a½¿¾ÁÀ�Â�à Ä�À%Å7Æ:½ Ç ÈÉÄ�Ê7Ë
ÌYÍ�Î�ÏFÐSÐFÍYÑ�ÒÔÓÉÒÖÕIÑNÍ4ÏF×4ÕFÐFÏFÒ�Í4Ø�Ù�Ú#ÛIÎ�ÒÖÑ0ÏFÜPÒ-Ú#Í4Û Ý�Þ�Ý^Ñ0ß Üàß�ÜPá*Ý�â�Ý�ã ÏFÎ�Ò�Ý%ÛIÎ�ÏIÑ0ÝäÒåÕ(ÓaÒ�ÛIÍçæWÏFÎÍ.ÑÔØXÏFÛIÜKÒOÚ#Í4ÛWÓaá\ÏSÛWÚ*Ò�Ú*Î�ÏFÎ�Ý%è�ã Í.ÑNÝéÒÖÕFÓZÛ�Í4ÛWÜPÝHÚ#ÛçÒÖÕFÝRÚ*ÛWÎ�ÒåÑNÏSÜKÒOÚ#Í4Û�Ü7ß�ÜPá#Ýëêì�í Ý%ÐFÓÑ!ÓaÒ-ÝRÚ*ÛWÜ7Ñ0Ý�ã Ý�ÛIÒ-Ý�Ñ�ØîÍ.ÑÔïSðÓZá*ÒÖÕFÍ\ÏF×4Õ�Ú#ÛIÎ�ÒÖÑ0ÏFÜPÒ-Ú*Í\Û Î�Ý%ÒÁÓZá#á*ÍYâ�ÎTØXÍYÑ�ÒåÕ(ÝéñäòSó Ò-Í@æWÝRÏFÎ�Ý%è ØXÍ.Ñ�è�ÓaÒ-Ó:Óaè�èSÑ0Ý�Î�Î�ÜPÓaá#ÜPÏIôá#ÓaÒ-Ú#Í4Û�ÓZÛIèçæ�Ñ�ÓZÛIÜ7Õ2Óaè�èSÑ0Ý�Î�ÎTÜPÓZá#ÜPÏFá*ÓZÒ-Ú*Í\Û
ìMõ ÐSÍYÑ!Ò'Ñ0Ý%×�Ú#Î�Ò-Ý�Ñ�öFá#ÝÓZá*á#Í.â�Î�ÒÖÕIÑ0Ý�ÝHÑ0Ý%ÓZèÁÎ�ÓZÛIè�Í4ÛWÝ÷â�Ñ!Ú*Ò-ÝHÚ#Û�ÓaÛ�ß�Í4ÛIÝRÜ7ß�ÜKá*Ý
ÌYÍ�Ú#á#á*ÏFÎ�ÒÖÑ!ÓaÒ-Ý�ÒÖÕFÝ�ÓZá#á*Í\ÜPÓaÒ-Ú#Í4Û Í4Ø�Ñ0Ý�Î�Í4ÏIÑ0ÜPÝ�Î�øSâ�Ý:Î�ÕFÓZá*áFè�ÚùÞ�Ú#èÁÝ:Í4ÏIѶÚ*ÛIÎ�ÒÖÑ0ÏFÜPÒ-Ú#Í4Û Ü7ß�ÜKá*Ý:Ú*ÛWÒOÍöIÞ�ÝRÐ(Õ(ÓaÎ�Ý�Î^úì�ûîüþýÿû ÛIÎ�ÒÖÑ0ÏFÜPÒ-Ú#Í4Û ü Ý%Ò-Ü7Õ��ì�û�� ýÖû ÛIÎ�ÒÖÑ0ÏFÜPÒ-Ú*Í\Û � Ý�ÜPÍ4è�Ý�����Ý%×�Ú#Î�Ò-Ý�Ñ ü Ý�Ò-Ü7Õ��ì���� ý��� Ý%ÜKÏSÒ-Ý��ì�� ��� ý�� Ý�ã Í.Ñ0ß��ì�� � ý�� Ñ�Ú#Ò-Ý � ÓZÜ����
����
���! #"�$�% &'")(+*,� - ./&'0+1
Fetch Instruction
Calculate AddressCalculate Expression
Update Register
Calculate PC
Update PC
Memory Read
Update Register
Memory Write
PhaseWrite BackPhaseMemoryPhaseExecutePhaseDecodePhaseFetch
Decode Instruction & Fetch Register Operands
243,5�687:9�7�;<5�;>=)?A@ 3CBD=E9�F�GH6I3�6KJ�=MLN3CBO=)GHJ+FP7�6K;>9�BD5�J�9�7:3�6�QSRH9�F�=UTPFV3XW�=E7�6K;>9�BD5�J�9�7:3�6I@ GZY�[8=J�3C@ \�W�=)9�=)? 7�6PG^]`_badc�egfOhiegjkhmlnhpo�hiegfrq
sutwv�xuykz�x|{~} }��D}�y�xu�M{>�m�m�D�|�|�dtw�g�)�|�bxu�d�S�b�gyk�����~�myk�d�D��t����H� �m{~�g�S���g{~���gyk�)�Ct<��y�xV�>����{~��{�xu�`z����|����x��Hv���d{~������t#��y�x��>�)�My�xN�k�|v�{>�m�K}��D}�y�xu�<{>� �m���|�
¡�¢d£
¤�¥!¦#§�¨�© ª'§)«+¬,¥ ®/ª'¯+°
Fetch Decode Execute
WorkspaceMemory
MemoryProgram
Address
Data
Data
Address
Clock
MemoryAccess
WriteBack
±�²´³�µ�¶�µk·~¸�¹Xº ¹X»O¼½³Vµ�¾�¿�¹X¾rÀAÁ Â�Ã>¼wÄ8µ�¿�¹XÅKÆ4µ)Å8¹XÂ�ÆX³ ¼�¹AÇH¾�¾�¹CÁ Á ¹�º#ÇH¼ÈµÉ¼½³Vµ�Ê4¹�·`Ã>¼O¾�Ç�Ã>µ¼�¸�Á ¸�ÅKÆ�Ã�»N¹C·�¼�³�µEÊ4¹C·~Ã>¼8¾�Ç�Ã>µË¸�ÅKÃ>¼�·DÂ�¾�¼�¸:¹�ÅwÌ
Í�Î�Ï
Ð ÑÓÒ:Ô Ò:Õ�Ò×ÖÙØ�Õ+ÚPÑOÛ�ÜZÝ,Ú Þ Ø�ÑwßPÕ>Ü�Û�Ñ'Ü)àÙØ�Û áZÝâØ ã�ÖäÞ å æ
Address MemoryData
Registers
PC
+4
imm.align
DESTshift
ALUIR
S2
S1
ç�èdé
ê�ë!ì#í�î�ï ð'í)ñ+ò,ë ó ô/ð'õ+ö
Decode Execute
Clock
Address Bus
Data Bus
Fetch MemoryAccess
WriteBack
÷�ø ùûú üCý�þ ÿ ������� ýDù�� � ÿ��� ���ÿ�ú ù�������ÿ��rùEø �����ÿ�����ù��Cÿ��� ÷���� þ �!��ù ��" ùký$#%� � ��ý%��!��ÿ�ü&�
')( þ �!��ù+*� � ù,��ü�����ýDü&����ùûý�-uù.�/� � ù �0� �Iÿ�� � ��ý%��!��ÿ:ü��-ÈýDüCú � � ù1��üCú ú ü��Iú ùûú ü�ýDþ32� � ùäÿ�� � ��ý%��!��ÿ:ü��Ùÿ � � � �4� � ù.�Ùÿ��5� � ù1�Kù76 8:9<;>=@?BA<CD=FEHG!9�I�JLK<EH;>=MJN?
')( þ �!��ùO�� � ù,� � � � � � � � ú � þ � �!��ù �>� � � � � ÿ��5� � ù1��ü�ú ú ü&�Iú ùkú üCýDþ32
*!�QP
R SUT�V T�WXT+YZ W\[]S_^�`ba�[ c Z<Sed]W>`X^0Sf`.gZ<^ hbaiZ jkY,c l m
Registers
PC
+4
imm.align
MDRinMDRout
DESTshift
ALUIR
Address MemoryData
S2
S1
n!oQp
qsrutwv�x<y zfv.{\|�r } ~�zf�\�
Clock
Address Bus
Data Bus
Decode Execute MemoryAccess
WriteBack
Fetch
������� �!���.���w�7�$�%���>�@�%���!�/���&��]���w� ���/���&���3�Q�%�.�<���>�/���B���X�%�,�%��� �����%� � �/���>�/���%�1�����/���%� � � ���3�/���%���>�����/��¡ �s� � �£¢ �%���<���>�/�7�����X�%�,��¤ � �3�/� � �3� �F¥¦����� � ��§��\� �!��� ¢©¨��ª�« �&���/¤����@¬ � ¥���§��/����&���/¤������3� � ® ¯�° �&���/¤����±�²�.�<���>�4�7�B�+�b�%����¤ � �s�/� � �3�±�@¥����� � ��§��\� �!���O³ ¨® ¯�° ���¡¤����´�²�.�<���>�4�7�����0��¤ � �3�4� � �3�´�@¥��1�.� � �&§��µ� �!���0¶ ¨
�]� · �.�/�/�������>�1�&§¡�b¸ �3����� · ���,�/��� �º¹]¥¦���%�O� �7� �£�%�)�s�!�»�.�>� � ���.�>�´¼�� � ��� �����s�/��)ª �s�/�\¥¦��������¸ ���½¥��.� � ���X�%�O� ���²���>���<����¾��!�s�¡�´§¿���À��¥����B�/���Á�!���&�!Â��\� �!���.�
³
ÃÄ<ÅÇÆ_È�ÉÊÉËÅiÄ Ã È�Ä ÌbÅiÄ´Í Î,Ï]Æ_È
Ð�ÑÊÒ.Ó Ô�ÕÁÖ!×&Ø¡Õ>Ù�ÚÊÒ�Û�Ó@Ü�Ò,Ý�Ò7Û�Þ¿×�Û%ß àsØ¡Ö!Ò1×&Þ�×�Ô¦ÛáÕ>Ùâß Ý�ã�Ò,ß à3Ö\Ü�Ù�Ø�Ò.Õ7ä
å æ.ç3èêéºësìîíkï ðbñwò ìóç.ô<õ�ìóö�æ ñ é1ësìîíð3ñwò ìóç.ô<õ�ìóö¿æ ñwò�÷ í»çOøë ò è
ù]ú Ü�Òüûóý<þDÿ������Dÿ���»ý<þ� �������7þ���� à3ã�Ô�Ò��)Ù�ã�ã��¡ÒÇÚÊÒ.Ó/Ò�Û%ß Ù�Ø¡Ò.Ú ��� Ó@Ü�Ò�Ý�×��)Ò�Û×&Þ$×�Ô�Û,Ù�Ø��Õ>Ó@Û%Ô�Ö!Ó/Ù�×&ØÕ>Ò�Ó�à3Ø�Ú Ü¦×�� �)Ò.ã�ã&Ù�Ó ß à3Ó/Ö\Ü�Ò.ÕÁÓ@Ü�Ò,Ó/àsÕ! uÓ/×"�¡Ò,Ý�Ò�ÛBÞ�×£Û%ß Ò�Ú$#
ð3ñwò ìóç�ô<õ�ìóö�æ ñ éºësìîí&%(' ö ÷�ò*) ï +�, æ�õ!è.-kçbí0/�ô´í ñ õ!12%(' 3 4 )+ 1 õ , í ò�÷ í»ç ð3ñwò ìóç.ô<õ�ìóö¿æ ñ
ù]ú Ü�Ò�5768�:9;�%þ<=�>��û:ý<þ>ÿ��?���>ÿ���!ý@� à3ã�Ô�Ò�Ù�Õ,à3Ø àA� Ò7ÛBàCB<Ò�×�� Ò�ÛÓ@Ü�Ò.�]Ü�×�ã�Ò+Ó/à3Õ! D#FE<×�Û Ó@Ü�Òß ×£ß Ò�Ø�ÓG�)Ò+Õ�Ü�à3ã�ã Ö!×�Ø�Õ>Ù�ÚÊÒ�Û Ó@Ü�Ù�ÕOÓ/×H�¡Òkà�Ö!×&Ø¡Õ>Ó4à3Ø�Ó(IÁÞ�×£Û�Ó@Ü�Òüß àsÖµÜ�Ù�Ø¡Ò.ÕJ�)ÒüÜ�àA� ÒÚÊÒ.Õ>Ö\ÛBÙ�¡Ò.ÚDK£àsã�Ó@Ü�×&ÔDB&Ü ×&Ý�Ó/Ùâß ÙMLQà3Ó/Ù�×�Ø�Õ0àXÛ%Ò1Ý�×&Õ>Õ>Ù�¡ã�Ò,Þ¿×�Û�Ó@Ü�ÒON+ÖP# ÝQ# ÙR#&àXÛ%Ö\ܦÙ�Ó/Ò.Ö»Ó4Ô�Û%Ò #
SUT�V?WQX�Y=Z\[^]_[^`;a>b�c=a�d a?ePcCfgePhiX*ekjlmanfpo�dm`;a�o&a�eqjMr?jfgXset�uCv
w xzy|{~} �������P�O�q�!{��q����{
��� ����������D���U���:�������:�� ¡0� ¢$£P��¤�¥§¦O¨ª© ¨m«�� ��¬ � �� ¦¯®°�s±�²D� ¬n³�´Mµ ¶��¸· � ¬ ¨ � ¨ © �q¨ � ²¹®°�|¥§¦ ��³��� �*®?¦º¥�®>© ¨ ¬ «��=»H¼ ��¬ «���¨ ¬ ¨ · �*®?¨ ¶ �.�U���!�(�����:�½ ¡�� ¢¾£¿�(¤O© ¨ µ À � � � ¬nÀ ¥ ¬ ³ �D� � � ³ ¥§¦��¬n�!³ ®>²D« ³�� ¥ ¬n� «��¹¥ � � ¬�³ �D�Á© ¨P � © ²n© �U���:�������:�� ¡0��¢$£P�(¤ ��� ±�²�¥ ³ � À »Ã �*®>�FÄ@�Á«0¨ ¬�³ ¨mÅ���Æ ÈÇ=� ³ ¥.© �q¨ ¬ Æ ¤�£*�� �=É�Ê;¤>�>�D�^�§ËÌ M�°£¿�� ¡���¡ÎÍ�Ï~��¡Ð��¤>�>��¡0�$Ñ=Ç=¤>¤�Ë=Ò ³ �D�Ó � �!³ Ä@�@«�¨ ¬ �D¥ � �@¦R¥�® ��� ¨ ¬ ��¬nÀG� «�¨ ³�� ¥ ¬ ¥8¦ ³ �D��®>� ´ ¨ ³��¸· � � �*®?¦º¥�®>© ¨ ¬ «��|¥§¦J© ¨AÔ«Õ� �¬ � �<� �D¨P® ��¬n¶Ö³ �D� � ¨P© � ��¬n�!³ ®>²D« ³�� ¥ ¬|� � ³ ¨ ¬×À ¨ �!� © ��´ ¨P®$¨P®>«�� �³ �q« ³ ²n®>� »
��Ø�Ù.Ú � ������@Û<� ´ ¨ ³��¸· � � ��D�<· ¨ ´ ²D�FÄܻݮ޻ ³ » ³ ¥ ØGÙ�Ú ß�ß=à�áPâmã »��� ���i��� Ó � ³�³ �s® Ó ² ³ Ä ��´�´C�!³���´´mÀ � � � ¬nÀ � ¬n³ ¥ ¬Ö³ �¹� ³ ¨ � Å�«��D¥ � � ¬ ¦R¥�® ³ �D�J«�¥�© � ¨P® �� ¥ ¬ »
�Öä � ¬ «��ש ¨P®�Å �¬×¶�@åO¥�© � � ³���³�� ¥ ¬ Ó � ³ Ä@�q� ¬Ö³ �D¥ � �kÄ��D¥æÄ�® ��³ � Ó � ¬ «��n© ¨P®�Å � ®°¥ ¶ ®�¨A© � ¨ ¬×ÀH³ �D¥ � �kÄ��D¥© ¥ ÀG� ¦ µ «�¥�© �D��´ �*® � ¨ ¬×À ¨A®°«�� ��³ �_« ³ ²n®>� �ç�¬ ¥�® À �*® ³ ¥Ö¨C«Õ� � � · �Á¦R¨ · ¥§²n®�¨ Ó ´ �Á®>� � ² ´�³�� »
ß�èCè
é ê.ë�ì�í|î�îðïçë�ì~ñ ò�ë ó�ï<î�ò�ôOõ2é ê�ö ÷øí|ùAï¾î�ú
ó"ï¾ûHí ïkëzùqò�ôüõ ôüùqí|î�ï ê�ý�ù_þÿï ó"ï<ûÖí ïçëzùqò�ôOõÖé ê�ö ÷|í|ùAï¾î����������� ����� ������������������� � ����!��"$#&%(')"*��� �+�-,���')%("*���.�0/132 ��"4'65187 ��')� �9�13: ,��;')%("*�18< �-� ��#>=@?8'A')�;���1CB #D��"*�FEG��')�
HI�;�(�;��"!�.�!')�F�J�K#L�;��'M5+�����"N#O%�'A"4��� �QP?R��"$5(�.%� 5S"$5(� �!#&� ')�����T���(�(�;�U#V�W���X5(��#&�;�"4��=Y����Z�%(�;�!"*���[��\&] "$5(��#&�^���_#O� �K� �J�K#I����� �`"*�[�����"*�ba�F�9� �!�F���Y�(�c#D�������;�JP
dJeVf�gihkj)lme>nofVprqsj�tvuwe&lweDtUu[x�j�tIpyh�eGgzj|{ l�}se>prqsj�tvj)~Upyh�e!l�nJe>�;q�j|��x�j)lwe&nofVprqsj�t�)�c�
����� �����M�@�M�Y�
�C� ����������Y�.�!�F�.�����D�[�*��� ����;�����&�F�$�(� �!�&�-����� �( k� �(�-�D���4��� �Y�(�� I¡)�K¢ �(£����*�;¤¦¥
§Y¨ £��N�©� �(� � �;��¡M� ���!¤G������¤9�(�[£9���! ��$�&�(¡)�*��� � ª+��£�£G�*��«��8�$�(�3 ��c¢ �3£��;�!���$� � �L�4��¢ �3�4�¡A�K¢ �(£����4��¬��F� �&�.�(�Y� �����! ��$�&�(¡)�*��� �! I¢ �c®��T¡A�K¢ �(£����4��¤������T¢ �(¡M�Y V�©�K�D�*�-�L�4��¢ �¤9�(�¯�*�8�����-�D£��[�°¥
§Y± �(�®���!¡M�&���[ ��®��� �����D���K�&¢ ���!¡)�²�c�D�� ��; F ����!¡)�^ª+�®�U�&�^¢ �[«����!��¢ �K�O�C���4³(¡)���;��G�( ���.�!� �!�¦�©�c�&¤(ª+�c�O�w¥w´ ���&� � �!�$�(�µ�(�c�O¤�ª+�U�&�F�� _«����(�¶��( VY�J�K�°¢ �K�&� � ��N�©�F�*�·¢ �w¥
§ � �F�(�U���F�`£���¢ ���*�;¤S���K�&¢ �.��¸�¹°º�¸�»8¼�¼�½�º�¸m¾
� ¨ ¿ ¡À¥Á�°¥Â�J¥¦ÃY�c�&���U�&¤ ¨ �&¡M�(���*�;¡)�*�!�&�²¡)���Ä��^¢ � ¤9��³(��¤ �4�Y�!�&�.¤G�(¡)�®� ¿ ��*�[���®�(���(�;£����!�¢ ��¡M�(���!�wÅ
Æ)Ç ¿
È ÉËÊ�Ì Ê�ÍUʮΠϵÐ�ÑÄÏ�ÐÓÒ Ô Ð�É0ÕYÍ�ÖU×vÉQÖ;Ø�Ð�×
Registers
PC
+4
imm.align
Data
Addr
Memory
MDRinMDRout
DESTshift
ALUIR
Addr
Instruction
Memory
S2
S1
Ù)ÚwÛ
Ü Ý`ÞcßFà8á â�ã�ä á�å�ãMæYá ç ßµè�é�ßµèÓê ë èÓìQíYã�Þcákì0Þ�î�èÓá
Registers
PC
+4
imm.align
Data
Addr
Memory
MDRinMDRout
DESTshift
ALUIR
Addr
Instruction
Memory
S2
S1
ï)ðKñ
ò ó`ôcõFö8÷ ø�ù�ú ÷�û�ùMüY÷ ý ú ÷�þ©õµô�ùMÿCü
IF ID EXE WBMEMIF ID EXE WBMEM
Instruction i
Instruction i+1
Instruction i+2
Instruction i+3
Instruction i+4
Instruction i+5
IF ID EXE MEM WB
Clock
IF ID EXE WBMEMIF ID EXE WBMEM
IF ID EXE WBMEM
��� ����� ������ ��������������������������� !���"��#$�� �%&��'�(�*)���%$��'�,+��-.���0/ 12�3�����4�5���6/ 7�'������98�#$�:7�1; <�������� �������������9��#$�= �%&��'�����)���%$�*'��5>?�@#$���>A12�"1B#$�� DC1E>?�5�(�4�(���5�F+G7H+I�J+
K�L,M
NPORQ S T
U V�W@X Y�Z�[:\�]�^�_�`�](Z�ab^4W�_$Y�`�]6c$Wde[fVg\�]�^�_�`�](Z�V�W�h?^�iEZVj_�]AiEZ�Zka�^�W_lV
IRalignimm.
WB controlMEM controlEXE controlID control
Decoder
m&](_�["_�n�iE_�_on�[p`�[�h?WV�_�[�`<Vrq4Z](\�s X a�V�_j`�[f\�[�W@c$[&\�](^�_�`�]�ZtV�Wh?^�iEZ�Vvu�`�]6X wlxvy{zb|}z i2^�d ~ �V�W^�\�[5W_�Vgu�]�a�`�Y�]6`<_�V9iB`�[5\�]�^�^�[�\*_l[fd!_�]AdeWuluJ[�`�[f^�_$YbWY�[�ZW�^4[5V�_�i2h?[fV=�
���,�
�!��� �������"� � �����������
�e�������=�$�b�@���=� �f�� ¡ �¢"£� �¤;�< ¡¤¥����¦ ���£� �����§� ���¢�� ��¨$����© §*ª�¢�§�«"§�©$§�ª�P§�¤E����¢� ¬4��� �� �¦"������� ������ ¢(®e�¯���® ¢6�°®e���±¢(²��=³k��§��� ��¢(� ¦&�ª�ª�¤E²�²���§* � �����¯���¤Eªe¢(�� �§�¢k� �µ´·¶��b§3� ¤p£�� l��¤E ���¢�� �£®e�f£�§��<�¸¬4�f®!¤E£g¤0¹kº»¹µ¼�½¾ºÀ¿?¼tÁBÂ�Ã�ÂÅÄ°Æ
ÇAÈ�É ¿�ÊËÄ É ½=Ì�Â�Ã�Â=ÄDƵ͡¤B�<��£��:²l�°¢6� o����Î��Î���ª�������Ï�¢�²�§�¢��� ���¢(ª� o�<¤E��£�²��=�����£� �����§� ���¢���£j¦"���§��� ¢(®.��²�©Ð o���5Ñ���¢(Ï(�<¤B� Ò0¢����� ����Ó´
ÇpÔ ÊËÄÖÕ?×�Ê�Õ(ÄDÂB½ØÌÙÂ�Ã*Â=ÄDÆ,Í�¤B�<��£��9²���¢6� ���f£�¢(����§���§�¢���Úe�§� �£e¦"�����°�g ����g��¤B��®b¦&¤B����§�¤E����¢� 6£���Î�ÛÎ�¢6�< � ����������$���@����� ���4 l£�¢(²4 o¦&¢Ü¢6¨$���<ª¤2Î�Î����Ïp���£� �����§� ���¢���£=´
ÇAÝ ÂBÊ�Â}Ì�Â�Ã�ÂÅİƵÍÞ¤;�<�£���¦"���f�"¤2�&���4£� o�°�b§* l�¢(��®e��Î��f��®e£}¢(�& o�������f£��bª �¢(²�¤PÎ����=¨$��¢���£0��Û£� �����§� ��¢(��¦"���§��Ð��¤2£���¢� �©$�f §*¢6� Î�ª��f l�f® ®.�b�R l¢Ü o����¢k¨$���<ª¤2Î�Î����4Ïp¢(²4����£� �����§� ��¢(��£=´
ß�àká
â ã·äÐåfæ�ãèç�é ê�ë�ê�æ?ì!í
îAï.ð�ñ$òbó}ô�õ(ö4ó�÷�ø.ð�ù�ñ�ú�ð5ðfû�û�ð�ô*ñõ�û�ü±ý$ù<üEö�ô�ú"õ�ö"õ(ò�ù�þ�÷þbðfÿ�÷ö�ð������������÷ö�ô�ð9ñ�ú�ð�� � ÷�ó�� õ�øe÷���ð�ø!üEñ?ñ�ú�ð5ð�ö4ø�õ�ûñ�ú�ð�� ��� ó�ñ�ü��?ð��&ð0ûJð�ñ�ô�ú"ñ�ú�ù°ð�ð5üEøeø.÷�ñ�÷õ(ö�üEÿò�ö��&üEö�ñ�ð�ø!÷ö�ó�ñ�ù�ò�ô�ñ�÷õ(ö�ójý4ðfû�õ6ù°ð5ñ�ú�ð0ý$ùÖüEö�ô�ú øeðfó�ñl÷ö�üEñ�÷�õ�ö"÷�ó�?ö�õ��&ö�
ii
iiii
-
++++
4
4812n
i+12PC i-4 i i+4 i+8 i+n
SUBcc R5,201,R0BE +n
IFIFID
IFID
EXE
IFID
EXEMEM
IFflushflushflushWB
IFID
EXEMEMWB
ID EXE
Clock
MEM
INST (unwanted)
(unwanted)
(destination )INSTINSTINST
(unwanted)
� � ò�ó�ñ��� "!$# þ�÷�þ�ð�ÿ÷ö�ð5õ(û4òbö%�&ü2ö�ñ�ðfø!÷�ö4ó�ñoù°òbô*ñl÷õ(ö4ó� ñ�ú�ðfó�ð:÷�ö�ó�ñ�ù�ò�ô�ñ�÷õ(ö�ógú�ü'&$ð:ö�õ�ðfû�û�ð�ô*ñó�÷ö�ô�ð5ñ�ú�ð)(Ðü;ù�ð:ô�üEò �(ú�ñ(ý4ð�û�õkù�ð5ñ�ú�ð�� � � üEö�ø* + ó�ñ�ü��?ðfó)
� �"ú�ð�ù�ð:ü:ô�õ(ö4øe÷ñl÷õ(ö4ü2ÿ,ý$ùÖüEö�ô�ú ÷�ó�ö�õ�ñ�ñ�ü��?ðfö�,µö�õ-�� "!$# õ(ô*ô�ò�ùÖó}ü2ö4ø!ð/.kðfô�ò�ñ�÷�õ�ö�ô�õ�ö�0ñ�÷ö�ò�ð�ó}ü2ótý4ð�ûJõ6ù�ð1
243%2
5 687:9<;=6?>�@ A�BCA�;EDGF
HJIKMLON PRQTSVUXWZY K�[%\^]_S`P4Yba KMS`]_cTWZd
e S`K�f�g`WZY K�hiQkj a c�KMhiW�lm]�d%hnWof8\$K<LpN PRKqWZY K-[%\r]_S`P4Y:a KMS`]_cTWZd:Q�hsWof�Pt]�c�PRN cT]_WoK�WZY K�LOKMhiWoQvuS`]_WoQTf�Sw]�LOL�\$K<hihKM]�\^c�Q�K/\yxz Q�W{YbWZY K�]_LpLOQTWoQ�f"S:f"g%]CLOKMLOQTPR]_WoKMLm|�\r]_S`P4Y:}�]_~�PRN ~T]_�oQTf��X���`QT��]�LOLpK)\ng�f�\�� } \$KM~�]��oQk�%KPRf��`�Z\$f"~%�Z\r]��`hig�K/\rhq���E�����m]_�`L ����� �E����lmK�PR]��mPR]_~TPt��~�]_��K��Z� K�[%\r]_�`P4��]�LOL�\$K<hih�Q����Z� K�o� hi�o]�UEK1x
SUBcc R5,201,R0BE +n
IFIFID
IDEXE
EXEMEM
WBMEMWB
Clock
4ii
i 4
-
+(destination )INST
INST (unwanted)
PC i-4 i i+4 i+n
ni+ IFflushIF
ID EXE MEM WB
�4���
���¡ ¢ £
BCU
ADD
Registers
imm.align
Data
Addr
Memory
MDRinMDRout
DESTshift
ALUIR
Addr
Instruction
Memory
nPC PC
+4
S2
S1
¤4¥�¦
§ ¨8©:ª<«=¨?¬� ®�¯C®�«E°G±
²p³µ´T¶·o¸M¹4³µº`´v»%¼ ¸�½"¾`¿O¼�¶^³µ´Tº`ÀJ´�º`¶i·ZÁ$¼ ¹R·o´T½�º`¶ÃÂw³ ¸<ºwÄ�Å%ÁrÄ�ºV¹4³m´T¶Æ·oÄ�ÇE¸<ºw´T¶ÆÄ�¹R·o¼ Ä_ÈTÈkÉ:Ä�¶i´kÊ Ë È�¸¾�½�Á$Ê ½"¾=Å%ÁrÄ_º`¹4³b˵Á̸MÍp´�¹R·o´�½"º�Î
Ï�Ð ·oÄ�·o´�¹sÅ%ÁrÄ�º`¹Ñ³wË`Á$¸MÍO´T¹t·�´�½"ºÓҵ˵Á̸MÍp´�¹R·"Å%ÁrÄ�º`¹Ñ³mº`½"·%·oÄ�ÇE¸<º²�Âm½8½�·Z³ ¸/Á¶i´kÊ Ë ÈT¸q¶i¹4³ ¸)Ê ¸M¶�¸/ÔÕ´T¶i·ÖÎ
Ï�× ÈvÂmÄ�É%¶¶i·oÄ�È�ÈØ ´�·{³Ù·{³µ´T¶�·o¸<¹4³ º`´k»%¼ ¸�Âm¸Ú¶i·�Ä_È�È`´TºV¶i·{Á̼�¹t·�´�½"º ¾�¸<·�¹Ñ³ ¼ º`·o´�È�Âm¸ÚÇEº`½� ·Z³ ¸CÅ%ÁrÄ_º`¹4³ ÍO¸M¶i·o´vÒº`Ä_·o´T½�º�Û�ÜE½�Á�Äq¹R½"ºVÍp´�·�´�½"ºVÄ�È'Å%ÁrÄ_º`¹4³:·Z³ ´�¶ÝÂm´TÈ�È�´kÊ Ë�½�¶i¸�Ä_ºÓÄ_ÍpÍp´�·o´T½�º`Ä_È�Íp¸<ÈTÄ�É8Âw³µ¸MºÓ·Z³ ¸Å%ÁrÄ_º`¹4³w´�¶º`½"·V·�Ä_ÇE¸MºÞÛ
Ï�ß ¸<ÈTÄ�É%¸MÍ�Å%ÁrÄ�ºV¹4³²O³ ¸q¶i´vÊ Ë ÈT¸<¶i·p¶i½�ÈT¼ ·o´T½�ºG½"¾ Ä_ÈTÈ�´T¶�·o½J´�º`¾�½�ÁàÊ ·Z³ ¸q¼ ¶i¸/ÁÆ·Z³ Ä_·µÂm¸�³ Ä�á%¸�Ä�â�ãiäæåÑç�ãèâJéÑêÌåìë%íàîïÛð Ä�¹4³Ù¹R½"º`·ZÁ$½�È`·ZÁrÄ�º`¶i¾�¸/Á�´�º`¶i·ZÁ$¼ ¹R·o´T½�º ´�¶�¾�½"È�ÈT½�Âm¸MÍ Å%ÉmÄñâ1ãiäæåÑçJòóäõô<öÖÛݲp³µ¸Ú´Tº`¶i·ZÁ$¼ ¹R·o´�½"º ´Tº·Z³ ´�¶�¶iÈT½�·`Âm´TÈ�È�ÅV¸q¸/Ô�¸<¹R¼ ·�¸<Í ÅV¸M¾�½�Á$¸�·{³µ¸¡Å%ÁrÄ_º`¹4³�´T¶�·oÄ_ÇE¸Mº�Û`²p³µ¸C¹t½�Ê Ë ´TÈ�¸/ÁÆÊ ¼ ¶i· ¸M´�·Z³ ¸/Á÷ È�È"·Z³ ¸-â1ãiäæåÑç8òiäõôMö�Âm´T·Z³m¼ ¶i¸M¾�¼ ÈE¹R½"ÍO¸�½�ÁnÂm´�·Z³wÄqøúù�û�´TºV¶i·{Á̼�¹t·�´�½"ºÞÛ
ü4ý�ý
þ ÿ������=ÿ��� �� ������
������������� ��!"����#%$'&
(*),+.-0/21�34+65879- (*):+8-0/91;-�<"303%+65.72-= > $?�A@CB�$EDF!"D > �6��$G!"D���DHDF!I�
J �,!"D > �6$LK0�M������� ��@C$0$G�ON�!�� P Q
= > $?�RDF!"D > �6��$G!"D���DHDF!I�
S #UTR�V&0WXWY$G��#%# Z Z[ !"#4�V&0!�D\K0�M������� QV],Z Q^]9Z _4`Ra J WYbJ �,!"D > �6$LK0�M������� ��@C$0$G�ON�!�� Z Q
Z�ced
f g�h�i�jLg�kl m�n m�j�o�p
qHrAsutwvVxzyX{ |Y}�s"~6�4��~6�����4�C���R��|��Fs"|Y�4����s"�\������}��%}�s��%�4��s��C}�sI�M���G�%�w�����%�0�4��~6�4���Fs"|8�� tw�4�����%s��Hs��%�^��|Y�%�w�qFr�s��4��|Y�'�9��~6�G�%�w�����C�4�%���R�%������� ��� ¡0¢X£0���4|X�O�U�R�V�0|Xs8¤�s"~6���Gs"��¥¦ ���§����~6�w���H�4�G�%�w���O�H¨0�M�O�©~�r�s"|§�4�ª�4|§���w�ª�H�4�G��~6���%�«��� ¬ ���s����w�C� ��|Ys��C�®�'r��4|��Fs"�4�V�|Y�4�C�¯¥��° }����4�C�©�O�w}A�,s"�H�4~6�L¨0�M����~�r �����s"�± ²0³�³ �4��|Y�'�9��~6�G�%�w��|ªr��^´0s����¶µ8·�·0¸E¹���s"�4�º¥»½¼H¼�¾À¿ÂÁ�à �Ä|Y�%�����4s��Fs"�4�V��|Y�4�C�0�%��|Y�'�9��~6�G�4�C���4|X�O�U�R�^�0|�s8¤�s"~Å���Gs��»½¼H¼�¾À¿ÂÁ�Æ �'r�s��Fs"�4�V��|Y�4�C���4��|Y�'�9��~6�G�4�C�R�%|XÇH��|�r�s�����r�sI�9sÈ�?rAsɨ0�M�O��~*r��4|�·�Ê"Ë0Ë%µ6Ì.Í2·�'r��4|X�%|º´0s8�2� s"�G��~6�4s"���0�����X|�r����M�0�%�w�C}�|���rA�%~�r�¬ �4�Cr��E�w�'r�sI�9�R�4|Ys;���M�^¬ �O�G�4~6�O�4�U��9sI��F��~6s�}��%}�s��%�4��s�}�sI�M�����2¬ ����~6sÎ¥
tw�%�©~6s �9s����%|Y�Gs8�u´0���%��s�|��V�,s§���C�F�V´0���%�4�"¨©�%sÄ���©���4���'r�s§Ï�ÐªÏ |Y�G����s§�C�����U¬ }��4sI¬ s"�©�����G�%�w� �4�E�~6�4���Hs"|8�� xz�H�F�%�G�4�C������|Y�%�����4s�~��0~Å�%s����U�R�V�0|X|Y�G�O�4�C�����X¡0¢�£0�
Ñ�Ò�Ó
Ô;ÕÈÖ × Ø
ADD
S2
S1
Registers
imm.align
Data
Addr
Memory
MDRinMDRout
DESTshift
ALUIR
Addr
Instruction
Memory
nPC PC
+4
Ù�ÚCÛ
Ü Ý�Þ�ß�àLÝ�áâ ã�ä ã�à�å�æ
ç�è�é�ê�ë�ì�í î�ï"ë�ê�ð%ñGò4ï"ó
ôeõYöø÷*ù§úYöüû"ý8þºöUöüõ:ô ôeõYöø÷*ù§úYöüû"ý�õ9ÿ��Cý ù������� � ��� � �
ý%÷��8õ�� ��û"ý�ý4÷��8õ�� ý4÷��8õ�� ��û�ý�ý%÷��.õ��������� � � ����������� �
� íAï é,ï��! �ì6ñGò#"CëRò%ëRî�é�"CìÅï"óYó$"�é«î�ïIé&%'"�é�( êOë�ìÅï)�! �ïÄñ*"�ì�"wë�ñ'é�"CðCíAê,+ÎêVé-�Hó/.Rò4ð4ð10©ï2�Hï�î�ï�ë3�Hï�ë�ñ"Cë�ñ'í�ïÈîAé-"Cî�"�éMñGò4"wë5"6%�ï87 ï"ì� �ñGï�� ò%ë�óYñ'é� �ì6ñGò#"Cë�ó9%�é�":( ñ'í�ï�ê�0;"=<0ï2>Cé�"6 �î�ó@?� íAï�êVé,ì�í�ò4ñ�ï�ì6ñA �é�ê�ð®ì�í�ê�ë3>�ï�óB.RïRí�ê,<0ïC( êD�Hï�í�êE<0ïF�Fï"ì�é9ï�êOóYï�� GIH�J�ê�ñ�ñ'í�ï�ï@7�î�ï"ë�óYï "K%ì�":( î�ð4ò%ìÅêOñGò4ë3> ñ'í�ï�ï�êVéMð4ò%ï8é óYñGêL>�ï�óM"K%®ñ'í�ï�î�ò4î�ï�ð%ò4ë�ïN? G�êVé,ï�%O �ðºê�ë�ê�ðQP0óYò4ó�"K%®ì*é�ò4ñGò%ìÅêOðºî�ê�ñ'í�ó.C"K �ð#�R0©ïué9ï@S� �ò é9ï�� ñ*"zóYï"ï�ò4%©ñ?íAï�ì6ð#"Cì�TU%�é,ï8S� �ï"ë�ìVPW( �óYñX0©ïué9ï��! �ì6ï��Y?
[Z:\
])^�_�` ab^�`F_3ced�f ceghce_�iFj
kmlonqpsr,n�t�rEn�u v�w4v�x�y4w#z3x|{6}E~M��� ��rD���;x�x�z u�x��$w#��z3x�u �Cw#�����Kl���rLz�� v��K�$�$w��;y4xU�$��n�l����Al3n�rDy��rE��rEn�u����K�Cxm��rLz�x�rD�$w4y�� w#y4y#l��$��n&rD�Ax|�$��n�l����Al3n&rLy!��rE�Nr,n�u��/���F���Kz3�$w#u!x@n�w#z3�CrMv�w4v�x�y4w#z3x)� r,��[��w#z3x��;rD�$x�u��Kz�����x2}3n&w4z;��x��A�KzCrEn��[��w#�Ax����Al3n�x��
�M� ��x�� x@� �=n��5� rE���;x�n�x8��l�w�n�x�u �O�=n��;�6����w#z3�$��n�l����Aw4�6z �'x��A�[� rDz3u u!rD�Ar�rL����x��$��w#z5����x�$rE� xh�V����y4xN�
Clock
IF ID EXE MEM WBIF ID EXE WBMEM
IF ID EXE WBMEM+++
48
12
iiiii+16
PC i i+4 i+8 i+12i+12 i+16
IF ID EXE WBMEMIF ID EXE MEM
INSTINSTINSTINST
ST R7,[R4+R1]
stallIF
�M� ��x�u!rD�Ar)rD����x��$� w#�/��w�t�x�zsv3n&w#�=n&w4���¡rLz3uC����x2w4z;�$��n-l¢���*w#�KzC�Ox��A�[�s� l¢�$�X�;x��$�ArDy4y#x�uY�
£[¤:¥
¦F§�¨[©sª¬«®,¯m© °)¦�± ² ³
Address MemoryData
ADD
Registersshift
ALUimm.align
MDRinMDRout
DESTshift
ALUIR
nPC PC
+4
S2
S1
´�µ�¶
·F¸º¹�» ¼ ½¿¾�À ÁeÂXÃ�ÁeÂ�¼ Ä)·�Å Æ Ç
PCnPC
MULTI-CYCLE ACCESSMain Memory
SINGLE CYCLEACCESS
DataCache
MDRinMDRout
InstructionCache
SINGLE CYCLEACCESS
ADD
S2
S1
Registers
imm.align
DESTshift
ALUIR
+4
È�É�È
Ê ËeÌEË Í Ë�ÎhËeÏÑÐ�Ò
ÓmÔDÕ*Ô�ÖsÔE×NÔ,Ø�Ù�Ú�ÔEØ�Û�ÜKÝ�Þ�Õ�ß�à�Û�Ú�á:â�ã�ä å�ä ãMâ æ ä ã�ä ç
è â�ã�ä é|ê�ëíì�î2ìðï�ñòë�ó�ô5ó&õ4ñ�ëíöWR x
TimeRD x
ã Ø�Û�ÔDÙ Ø�Û�ÕA÷3Ø&ø3Ú�Õ�ù�ÛWúsØ�Ü6ø3ûFü�ÔLý#÷�Û�Ú$þ#ø3ÿ�ÛUþ#Õ¬Ü6ÿ�ÿ�÷3Ø&Ú�ÜK÷�Õ�ÜKÝ�Ü:Ø�Ù!Û@Ø��;Û�ÝOÜ:Ø�ÛUÔWúsØ&þ4ÕAÛ Õ*ÜÕ�ù�Û�Ú$Ô�� Û2ý4Ü6ÿ�ÔLÕAþ#ÜKøºç
RD RD RD
WR WR WR
Clock
HAZARD HAZARD NO HAZARD
ã ê/ëíì�îUìðï�ñòë�ómô5ó&õ4ñ�ë�ù�ÔE×�ÔEØ�Ù þ4Ú2ÿ�ÔD÷�Ú$Û�Ù ��ß Ô��@ó��Kë��ë�Në �Kî�ë �����sÚ$þ4ø;ÿ�ÛMÕ�ù�ÛUÚ$Û�ÿ�Ü6ø3Ù þ#ø��Ú$Õ�Ø�÷�ÿ�ÕAþ#ÜKøRîNë��ë �Kî���ÜKøsÕ�ù�ÛIØ�Û�Ú$÷�ý4Õ3Ü6Ý3Õ�ù�Û��3Ø�Ú$Õðç
������� �!�#"%$��&�'"%�(��$�)*�!�,+-�'"%�."%$�/0$�132546��274689$�� �;:<�'"%�.=?>A@#BC>�D0BEDF��132&� 1��,1G�;HI��8�J7�'46�K�L1M$��'"%�;1N�#"%$O�5�'"%�P�K����#"%$��%Q�4?RS�;:N134?:��T�U�V$O�F� 1W13��1
X�Y7Z
[ \^]�\ _ \a`b\^cedgf
hji kml ngoqpsrutEv<w�x�tEv pzyVv�w�{Time
RD xWR x
k | }�~%��| }��C��|s���L�E�<}5��| ��������~7���<}��O������}�������~7����| }���}A��}A�g����~%�q���<�����<��|���}�|���|s����}�C���E�<}��O~� }�������~%�C�u���!¡
hji kFi ngoqpsrutEv�w�x�t¢v;p^o�p�rut¢vTime
WR xWR x
k ��~7���<}����£��������| | }A���C�¤�¥�<�T�¦~7�C}A� �O������}��E������|s�u�C}����C�§�E�<}��u����~%����������������|����T�<������|�¨�¦}�|9¡oqpsrut¢vPw�x�tEv p�y�v�w�{m~7�G� oqpsrutEvzw�x�tEv p*oqpsrutEv(�©~«ª�~«|����F~�| }���~%�<�O}�� ���¬�w�®6¯ v�°±v�²�v ³�{&v ³�´sr#v;¯I¡µ �<}a�©~«ª�~«|��§~�|����O}����C| �� �E�<}F| }�¨��<�O}5���N~5| }A�N�u�O�C}�|z|s~7�E�<}K|z�E�<~7�~%���m�¶|��T}��¦~7�C~5�¦}��<}���¨�¦}����·�«¡
¸ �u�G��}���}±�<�T�¦~7�C}±| }��N���O�C}�|s������� �g~7�¦�¶�©}j}A��� ���!~%� �u���O�E| �<���C������¹G����|^~�| �·�<���C}����C��| }º�u�����T��¨�E|s~7�C}��^��� oqpsrutEv�w»x�tEv p(¼%¼7¼%¼��<~�ª�~«| �¦�K¡ei }���}�}A� ����� ���������O�u�¦}�|���������| | }��G��}��^����y�v�w�{�w�x�t¢v poqpsrutEvI¡
½�¾7¿
À Á^Â�Á à ÁaÄbÁ^ÅeÆgÇ
È�É�Ê�Ë�Ì�Ë�Í�ÎEÊ ÏÐqÏsÑuÎEÊÒ^Ó�Ô�ÕOÖ�×�ØKÙ(ÚEÛ<Ø�Ü3Ó�Ý�ÝuÓ-Þ�ÖuÔ�ßmÕOØ�Ú�Ó�Ü�ÖuÔGÕOÚ¶Ù�àTáIÚ�Ö�Ó�ÔGÕKâ
Clock
IF ID EXE MEM WBIF+
+48
iiii+12
SUB R1,R3,R2AND R2,R5,R12
ADD R2,R2,R14IF ID EXE MEM
IF EXEID
ID EXE WBMEM
MEMWB
WBPC i i+4 i+8 i+12
OR R6,R2,R13
ã¦Û<Ø�äTåzæNç<èTé ê7Ô�× äPæ<æ ÖuÔGÕOÚ¶Ù�àTáIÚ�Ö�Ó�ÔGÕëÙ ØAê7× ìîíïGØ�Ü3Ó�Ù ØÖ�Ú(ÖuÕ�Þ�ÙsÖuÚCÚCØ�Ô ï�ð Ú¶Û©Øòñ�ó!ô Ö�Ô�õÕOÚEÙ à<á�ÚCÖ�Ó�Ô!öN÷�Ý�Ý-Ú¶ÛGÙ Ø�Ø�Ö�Ô�ÕOÚEÙ à<á�ÚCÖuÓ�Ô�Õ£Þ�ÖuÝ�Ý&Ù Ø�áIØ�Ö ø�ØbÚEÛ<Ø�Ó�Ýu×qø�ê%Ý�àTØÓ�Ü�ì(íùöã¦Û<Ø�ÕOØ5ì(÷Fú Û<ê�û�ê«Ù צÕ(ê�Ù ØLצØ�ÕOá·ÙsÖ#ïGØ�×�ê%Õ�ü Ê�ý!þNÊsÿ���� Ê Û<ê�û&ê�٠צÕ(ÕOÖuÔGá�Ø5ì(í*ÖuÕ�×�Ø��<Ô�Ø�× ï�ðÚEÛ<Ø�ñ�ó!ô ÖuÔGÕOÚ¶Ù�àTáIÚ�Ö�Ó�Ô ê7Ô�× àTÕOØA× ï�ð ÚEÛ<Ø�ä<åPæNç�è<é ê%Ô�× äzæ<æ Ö�Ô�ÕOÚEÙ à<á�ÚCÖuÓ�Ô�ÕKöëú اÕ�Û©ê7Ý�Ýá�Ó�Ô�ÕOÖ�×�Ø�Ù ÚEÛ<Ø�� Ó�Ù Ø�ê�Þ��Þ�ê«Ù ×�� Ë�Ì ÿ���� Ê Û<ê�û&ê�Ù ×�Õ Ýuê%ÚCØ�Ù9ö
����
� ����� � �����������
�! "$# %'&)(+*),.-�/0/1(32'"54'6748"�9.67:+"�%':+(;679�(32'"�<>=?(;=@6.&A=�BC=?679.=EDF97"HGI J -�KL-NMPO�ORQ),3QTSU,WVYX�Z\[�ZCV.,^]_"E"�48&`(3aT=1b�]\c�d+ce%8(Fc�dC<f=1(g"�ah"�i_6.&)(;"NajBC=?97%'"E&NG
i+8 i+8 i+8 i+12i+8i+4iPC
Clock
IF ID EXE MEM WBIF+
+48
iii IF ID EXE MEM
IF EXEIDi+12
SUB R1,R3,R2AND R2,R5,R12
ADD R2,R2,R14
ID EXE WBMEMOR R6,R2,R13 stall stall stall
stallstallstallID
IF
ID ID
IF IF
k 6.:Fb�"ml"`# 6.i�2'(nah"E=1&)c�:F=oDF90pq"Nrn4'"Eb�(_=1:q67:+&)(3ah%'b�(;6.ce:s(;ct<f"E4'"�:+<uc�:\(32'"vah"�&)%897(Cc�d_(32'"`4+ah"xwBC67c�%'&v67:+&)(3ah%'b�(;6.ce:zyn(32'"560# 4'=1b�(Cc�:uc�%+aA{�|'}+67&m<'aT=�# =1(g67b�G
~��?�
� ����� � ��������� ���C��������� �u�
�5��� �������>� ���_�v����� �v�t�)�>����� �q�)���
�f�� $¡+¢T£)¤+£)¤; E¥¦.£A¤;§t¨+§�¤; �¤3�'©1¤z¤3�' `¢h �£)ª8«7¤+¦7£j¬ �®¯¦7¨+¤;§t¤W�� $¢h E°_¦7£)¤; x¢A¡'«7 �©1¤_¤W�� ²±F �°_¦.¨+¨F¦.¨+°t§�¬¤3�' ´³ µ¶£)¤;©?°_ R·8¸¹¬�º @©?«7«7§»º ¤3�' ¼ª'¥'®f©1¤; E®¶¢h E°_¦7£)¤; x¢²¤g§q±F 5¤W¢T©1¨+£)¥'©�¢½ E¨+¤'¤3�' E¨uº 5¾�©1¨¯¬¹ E E®¤3�' $¢h �£)ª'«.¤'£)¤3¢T©?¦7°��'¤C¬g¢h§n¿ ¤3�' �³ µ¶£)¤;©1°_ 5¤g§À¤W�� �¸;Á £)¤g©1°_ H·
Clock
IF ID EXE MEM WBIF+
+48
iiii+12
SUB R1,R3,R2AND R2,R5,R12
ADD R2,R2,R14OR R6,R2,R13
PC i i+4 i+8 i+8
IF ID EXE MEMIF EXEID
ID EXE WBMEM
i+8 i+12
WBMEM
ID
IF
ID
IFstallstall
stallstall
³ $�'©�ÂC �¢h E®>ª'¾� E®¶¤3�' ��'©�ÃR©�¢h®¥' E¨+©1«7¤WÄ�¤;§\¤3º§q¾�ÄC¾�«7 E£N·Å�ÆHÇ
È É�Ê�É Ë É�Ì�É�Í�Î Ï�ÍCÐ�É�Í�Ï�Ñ ÒuÎ
ÓqÔ È É�Ê�É Õ�Ï�ÍzÖ É�Í_ζ×�ÒuØ
ÙfÚ�Û�Ü)Û�Ý�Þ�ßFà Ü)á;Û�â ã7Üvá;Þ\ß+Þ�á;Û¼á3Ú'ä1á+á3Ú'Û5åhÛEÜ)æ'ç7á8ã7ÜvßFÞ�á'Ü)á3åèã7Ý�á;ç0éuåhÛxêCæ'ã0åhÛEà¯ëCéuá3Ú'Û5Ü)æzëFÜ)ÛxêCæ'Û�ß+áã7ß+Ü)á3åhæ'Ý�á;ã.Þeß æ'ß+á;ã.çìá3Ú'Û!ëFÛEí_ã7ß+ß+ã7ß+í Þ�îAá3Ú'Û\ÛxïnÛ�Ý�æ'ágÛuÜ)á;ä1í_ÛHð\ñîjòÛ\â+åhÞ»óCã7àfÛ�ä?ß ä1àfà>ã.á;ã7Þ�ß+ä1çàfä1á;ä?â'ä1á3Ú òuÚ�ã.Ý�ÚëCéCâ8ä1Ü)Ü)ÛEÜôáWÚ�ÛõåhÛ�í_ã.Ü)á;ÛNå�ö'ç7Û�ä?ß+à á3Ú'Û�÷Fø�ä1ß+à ÷nùtåhÛEí_ã7Ü)á;ÛxåTÜ5áWÚ�ÛEß òÛ�ÝLä?ßîÛ�ÛEà á3Ú'ÛsåhÛ�Ü)æ'ç.á�îgåhÞnú á3Ú'Û�ëFÛ�í_ã.ß+ßFã.ß+í Þeîvá3Ú'Ûsû ü Ü)á;ä1í_Û¯á;Þ á3Ú'Û�ëFÛ�í_ã.ß+ßFã.ß+í Þeî`á3Ú'Ûuý8þÿýÜ)á;ä?í_ÛRð
IFID
Clock
IF ID EXE MEM WBIF+
+48
iiii+12
SUB R1,R3,R2AND R2,R5,R12
ADD R2,R2,R14OR R6,R2,R13
PC i i+4 i+8
ID EXE MEMIF EXEID
EXE WBMEM
i+8 i+12
WBMEM WBstall
stallstallEXE
ID
IF
û Û$Ú'ä�óCÛ�åhÛEà>æ'Ý�ÛEà¶á3Ú'Û�Ú'ä��Rä�åhàâ'ÛEß+ä1ç7áWé�á;Þ\Þ�ß+ÛôÝ�éCÝ�ç7ÛHðø����
��� � �
ADD
Registers
ALU
shift
imm.align
Data
Addr
Memory
MDRinMDRout
DEST
IR
Addr
Instruction
Memory
nPC PC
+4
����
� ����� � ��������� ����� ������! "#�
$&% ����' � ����� ( ���*) �����,+-"#.
/10 2436587 5:9;2=<>7 ?A@B5;CED�2GFH5;?AI JLK#D�2GI MN?O<PJL2�<Q@ @R2SFT24MT<Q?�7 FVUEK WXKZY[5:I\IX5:I\Y ?]M^FVUEK`_ aE_36FT2SY[KbFT?&FVUEKbI\KcJ dXe^2GI\@`dOf>7 gE9;FT5:hE9;KjiO?O<k3^2GF�FlUmK�WXKnY[5;I\I\5;I\Y&?]M\FVUEKba1opaq36FT2GY[Ksrst
Clock
IF ID EXE MEM WBIF+
+48
iiii+12
SUB R1,R3,R2AND R2,R5,R12
ADD R2,R2,R14IF ID EXE MEM
IF EXEID
ID EXE WBMEM
MEMWB
WBPC i i+4 i+8 i+12
OR R6,R2,R13
uNI#FVUE5;3vD�2G36KwJLK�UE2=x�KI\?yUE2�z�2�<Q@L2SF�2G9:9{t
|{}�~G�R�S���6�����k� �k��������~G���^���6�^�6���S��}����c���k���b�S��}����G���P�����[�^~�����~����n���S�{�P�]}�~G�E���n}8���s�{��}����������k�����Q�[��}8���{�k�}8���>�P�>���N�
e���
¡�¢£ ¤ ¥
ADD
Data
Addr
Memory
ALU
shiftRegisters
imm.align
MDRinMDRout
DEST
IR
Addr
Instruction
Memory
nPC PC
+4
¦c§S¨
© ª¬«B-®,¯ °�±³²&´Bµ�¶w·*¸ ¹�º » °�¼�° ½ °�¾�°�¿[®4À
Á ÂNÃZÃnÄ4Â{Å�ÆQÇLÈ=ÆÉÄqÂTÆQÅ�Ê ËVÌEÃ�ÍXÃnÎ[Ï;Ð\Ð\Ï;Ð\γÅAÂ�ËVÌEÃÒÑ Ó1Ñ Ô6ËHÈGÎ[ÃbÏ:ÔÕÐ\ÅAË�ÈSÖEÖ\ÆQÅ]ÖmÆ�Ï;ÈSËTÃÒÇ#ÌmÃjÆQÃ×ËVÌEÃÑ Ó1Ñ Ô6ËTÈSÎ[ÃØÏ;Ô^Ï;Ð4ËVÌEÃ�Ù-Æ�Ï;ËTÏ:Ù�ÈGÚ�Ö1ÈGËVÌÜÛÞÝ#ÃZÐ\Ù�ÃbÇLÃ�Ê È=ßLÔ6ËTÏ;Ú:ÚXÔ6ÃnÃØȳÄBÈGËHÈØÌEÈ�à�È�ÆQÄ ÈGÂNËTÃjÆáÈ âEãÏ;Ð\Ô6ËVÆQäEÙ�ËTÏ:Å]ÐåÛ
ID
EXE
IF
Clock
IF ID EXE MEM WBIF+
+48
iii+12
AND R2,R5,R12
ADD R2,R2,R14OR R6,R2,R13
PC i i+4 i+8
ID EXE MEMIF EXEID
EXE WBMEM
i+8 i+12
WBMEM WB
LD [R1+R3],R2
IFID stall
stallstall
i
ÁæÚ:ËVÌEÅ]ä1ÎAÌ Ô6Å�Ê ÃyÊ ÈGÙ-ÌEÏ;Ð\ÃnÔ×Ô6äEÖEÖEÅ�Æ�Ë�Èyçéèëê�ìëí�èîç#ê�ï-ì�ç�ð[Ç#ÌEÃcÆQóËlÌmÃ&Ð\ÃjÇ ñ�ÈSÚ;äEÃyÏ;Ôbä1ÐXÈ=ñ�ÈGÏ:Ú8òÈnÍXÚ:ÃLÂNÅOƳËlÌmÃ4Ð\ÃjóôË^Ï:Ð\Ô6ËVÆQäEÙ�ËTÏ;ÅAÐ*ðáËVÌEÃ`õ]ö�Á&÷vø ÆQÃcù�ä1Ï8ÆQÃZÔ È Ô6Ï;Ð\Î[Ú;ÃqÙ-ß�Ù�Ú:ÃLÔ6ËTÈSÚ;ÚúÏ;Ð Å�ÆQÄRÃjÆæËHÅÊ ÈSÏ;Ð\ËTÈGÏ:Ð#ÈGÔ6Ô6ÃjÊ4ÍXÚ8ßûÚ;ÈGÐ\Î[äEÈSÎ[Ã×Ô6ÃcÊ ÈSÐ\ËTÏ;Ù�Ô6üýÛ
þTÿ�������������ÿ � ���������������������������������! #"�$ �%�'&�()&+*'&-,.&0/1�'$2 ����#�����������435�6�����0��3-���87:9;�<���Oÿ�9�����=>35�����:?��<��9<@=A��� ?B35�C9<��@=D9<���� �B���B�E�F������9<������9�=G����H���� �
I�JKI
LNM�O�P'P'Q OSRUT VXWZY[Y\P^]_Q
`badc�e-fhgjike�l5mna o fpl5q+ade�qGr stlAujqwvAl5a�qyx l5z|{}f:zG~��� �1����8������h�������������:�K����� �����#� ���0����N���@� �4�!�y�����K����y���1� �K�|���0�%� �|�@�����������������:���h� ���������'�1�0����������4�
EXE
IF
ID
CC3 CC4 CC5 CC6 CC7 CC8 CC9 CC10CC2
IF ID EXE MEM WBIFAND R2,R5,R4
ADD R4,R2,R9OR R2,R6,R8 ID EXE MEM
IF EXEID
EXE WBMEMWB
MEM WB
LD [R1+20],R2
IFID stall
stallstall
CC1
SUB R6,R7,R1 MEMEXEIDIF WBTime
���X� �¡�j¢B£C¤��^¥G�����¦�1��¦§�¨d§ �'�!���D�¦���ª©'«�¬p#<®°¯±���²�%�0�³���´�!�U��µG�K��� �[<¶^¬�¯¸·�¹K©0®F��»ºk���0�}�4��� ��������1����[�'���:�����¼��½ ¾ ��¿ �U������ÁÀ §�À Â!¾ à ijÅ��»�°���������%�y�h� ��� ���K�|�!������B� Ƴ��Z�°�@�'��������[�Ç ¹ Ç�Ç <®È���¼� �¡��������É�U����^�[�����@�����n���[�1��ÉÀ §À �'�����D�����¼� �¡�ÉÊ £C¤ �^¥G�����B���������Ë�����K��K�'�'���|������[������ �1���� Ç ¹ Ç�Ç <®}���U�:�U�����'�1�0��������K�y�%�����h�����@� �����h�������t�³�����K���»� �ÍÌ
Î�ÏBÐ�ÑCÑ#Ò0Ó�Ô>Õ�ÖØײÙ�Ò�Ö�Ö�Ò�ÔAÔAÚ�ÛBÒ0Ô>Ü5Ó�ÝßÞpÒ�Þ@à�Þ�Þhá<Ò�Ô�âpÒ�Ó ÚãÞpÐ'Û:á�Ú>ähÕæå#ÑEÒ�Ö�à:ÔAÝ6Ö�çÉÑ�è�Ò4é�ÕæÓ Û:ÔDÔAÑEÐ�á�ákÐ'Ö�ÛªÞhà»Þ�Þhá<Ò4Ý<Ö@êÑ#Ò0Ó Ü5è�Ð'Ö�ç�Ò�Ð�Þhá�Ú�ëãìÕ�í8î�à:ÑEÒ�Ó�ïnÓ�ç�Ð'Ö@Ý�ð�Ð�ÑCÝ<Õ�Ö¦× ñnÒ�ÔAÝ<ç�Ö[ò<ó�Ý6çæà�Ó ÒÉô�ëöõ'÷ùøDÐ�ÑCÑ#Ò�í8î�Ñ�ÔËÑ#Õ8ÔAè�Õæé ÐãÞhà�Þ�Þ@á6Ò�Õ�Ö¦Ð'ÖÝ<Ö@ÔAÑCÓ�àkÜ5Ñ�Ý<Õ�Ö�Õ�Ó�Ý6Ò�Ö@Ñ#Ò�Ûªî�Ý�îkÒ�á�Ý6Ö�Ò�Û:Ý<Ð'ç�ÓúÐ�í ê�ûBè�Ý�ÔDÝ�ÔGé�Ó Õ�Ö�ç:ü
ý�þ»ÿ
����������� ��� ������������
���������� !�"#�%$&���%' ("*)+�-,*"#$.�0/ "#���1!2�%3465�798;:=<?>;:@>BADC=:@5EAGFH:=IKJMLNIPO QK7R:SO A�LUT;5E<�7RVM>07RVXW�VM7R7RVYO Z0:@7[8\VM5EA]^VMC@TEO 5�W�A_:@5EJ�IKC=C@VM]`I27RA_F>;AaL?>;:@>;A_C@:=5EA<�7bIKJ-Adc
LDLD
LDLD
LD
ANDOR
ADD
IF ID EXE MEM WB
ADD
ANDANDAND
OROR
ANDAND
OROR
OR
ADDADD
ADDADD
SUBSUB
SUBSUB
LD [R1+R3],R2LD
Key:
SUB SUB R6,R7,R1
ADD R2,R2,R14ADD
OR R6,R2,R13OR
AND R2,R5,R12AND
BUBBLESUB
Time
CC1
CC2
CC3
CC4
CC5
CC6
CC7
CC8
CC9
CC10
e�AaLfAg:=7H]^I25hW�Ai<�A_A_5 798;I27H798;Akj`lmjnjnoqp.:@<r<�:SO >;Cts�I25 AnO >;79s�>B:@>;A_C@:=5�Au<�7RIKJ-A�Z�8;:=]v8 IPLN:@<�A_<Z�8;AD5 798;Agw;xzy :=5E<�79LUT;]^7R:@VM5 :@<G<�7RI2C@C@A_F Z�8;:=C@A{7[8|A~};y :@5E<�79LUT;]^7R:=V�5 ]^VM5E7R:@5ET;A_<nc.�{5E]^A{]�LUAa�IK7bADFhI�j`lmjnjnoqp�Z0:=C@CdT;<�T;I2C@CtskI2F;�%I25E]`A.7[8�LUVMT;JM8�798;A�>;:=>;A�T;5E7R:=C�:@7MLUA_IK]�8;AD<1798;ArC@IK<�7m<�7RIKJ-ArIK<:@�E:=7-Z0IK<�Ii5EVYLUO IKCM:@5E<�79LUT;]^7R:=V�5�c-465�798;A��P���1]vs%]^C=A�Z0AG<�A_A�798;A+j`lmjnjnoqp?:=5�798;Ar� �h<�7RIKJ-Adc
�n�P�
� �u���D���������?� � �&� �?�������
�� �¡�¢R£K¤-¥g£2¦`¦^¡M§;¨E¢H¡M©�¢9ª;¥g«;¬=«;¥D=¬@¨E¥g¦^¡�® «;@¥a¯�¬@¢R¬=¥D°G¬@¨E¢9±U¡M²H§B¦`¥_² ³%´0ª;£Pµ¶£�±U² £P·%¡�¬=²H£2¨E¦`¥a¸£�±U¥_²H¥_°�¬@¹-¨�¡M©E¢9ª;¥�¦^¡�¨E¢9±U¡M�°�¢[±f§B¦`¢b§E±U¥i¬=°?±U¥aº%§;¬S±U¥_²¼»½ ¥G¨�¥_¥_² ¢R¡u±U¥n¾*¬@¨E¢9±U¡M²H§;¦^¥�£2¨�¥_@¥a® ¥_¨E¢;¡�©E¦^¥_¨�¢[±N£KM¦^¡�¨E¢9±U¡MÀ¿Á ¢9ª;¥Gª;£�µ¶£P±U²0²�¥D¢R¥_¦^¢R¬@¡M¨0§B¨�¬=¢%¬=°1±U¥D°�«;¡M¨E°�¬Â³�=¥�©À¡Y±¼«B¬@«;¥_@¬=¨�¥+ÃH§;°Äª0£2¨E²0°�¢R£2@Á ¢9ª;¥�²H£2¢R£�©À¡Y±UÅ0£�±U²�¬@¨E¹�§;¨E¬@¢m¦`¡M¨E¢9±U¡�=°&¢[ª|¥G²�£K¢R£�©6¡�±UÅ0£P±U²H¬=¨�¹u® §B@¢R¬=«;@¥a¯�¡�±N°
DataForwarding Unit
HazardDetection Unit
Control Unit
WB
Control Unit
MEM
Control Unit
EXE
Control Unit
ID
Control Unit
IF
ID control EXE control MEM control WB controlIF control ÆnÇÉÈ
ÊÌË�Í Î�Ï�Ë�Ð�Î Ê�Ñ�Ò{ÓÔÎ�Õ�ÕÖÒ�Ñ Ê Î?Ñ%×PÒ�Ñ%Ø ÙGÐ�ÓzÎ
ÚÜÛHÝ_Þ1ß;àgá^â�ã ä;å�æUÝÜÞ9ç;ÝÜäBÝnæNè6âYæUã åKéEá^Ýêâ�è?åêä;ë=ä;ÝDì=ë@éEÝ_í î�ï�ð�ñ?ò ó0ë@Þ[ç å�é�âMémôõäBë@ä;Ý_ì@ë=é�Ý_íö ÝnæÄà�ë@âMéø÷ù î�ë@éEá^ÝGÞ9ç;Ý�ë@éEà�Þ9æUß;á^ÞRë=â�éÌà�Ý_ÞRà.å�æUÝ�ë=íHÝ_éEÞRë@á^åKìYó0ÝGá^åKé�á^â�ã ä;å�æUÝ�Þ9ç;Ýaã âMé�ë@éEà�Þ9æUß;á^ÞRë@âMéæNåKÞRÝ+åKì@âMéEݶ÷
ú-ûmünü`ýKþ�û ÿ ��������� þ ��� ��������� ü����������������� þ ��� ��������� ü������ ��� �!�
��������� þ ��� ��������� ü#"%$ � û �'& ÿ (*) � ,+.- � ü�/_þmü � �01"%$ 2 3 &46587 ( 09 ) ü � ûmü �:��������� þ ��� ���ù î�ë@éEá^Ý�Þ9ç;Ýré�ß|ã<;�ÝnæzâMè%á>=%á^ì@Ý_à1ä;Ýaæ¼ë@éEà�Þ9æUß;á^ÞRë=â�é�ë=à1é�âMÞ-á^â�éEà�ÞRå2éEÞ-ó0Ý.ã ß;à�Þ%á^âMé�à�ë=íHÝaæÞ9ç;Ý�èRæUÝ@?%ß;Ý_é�á>=�âMèEë@éEà�Þ9æUß;á^ÞRë=â�éEà�ó0ë@Þ[ç|ë=é�Ý@A�ÝDá^ß;ÞbÝDí á^â�í�Ý'Bv÷
C DFE,GIHJGLK�M�GONPHQM�R HTSUD�GIH!R H�VWGIH�X#SUD�GYK�HQX�Z[DFM�\6S^]�E']�]�_�R R`H�DF]�H�E,aOS^D�VWGYR`_b]cGLS^E'D�VdX�_�R`S^DFePH!f�H�]�_�GYS^E'DgRWM�GYK�H!RGLK�M�DhGYK�H!SiRjVWGIM�GYS^]kE@]l]c_�R R H�DF]�HmNnSiGYKFS^DP]�E'X9Ho'prq
s<t�u vxw�t>yzv s|{~}*��vx���T}�{ s v�{��r}�{�� �:yz��v
�m���'�����[���>���m���@�O�[�,�k���[� �������%���k�,�����j���n�`�O� �9¡[¢¤£h¥8¦�§¨ª©«�¬�m�,�[�������® ¯,°± ��²�������@�Q���[²�������'�h�������%���k�,�����m���
³µ´.´ ³*´.´*�,�n¶·¹¸z¶·¹¸���� ³*´.´.º ³µ´.´.º»�,�h¶O·¹¸�º ¶O·¹¸�º»�,� º»¼ ± º»¼ ± �,�³µ½z´ ³µ½z´*�,�h³*½z´.½ ³*½z´.½¾�,�n¼ ± ¼ ± �,�n¼ ± ½ ¼ ± ½¾��� º�½¾¼ ± º�½¾¼ ± �,� ¿bÀ~Á¶jÂ�Âz¶ ± Âz¶ ± ³ ÃmÁ¶jÄ�ÅJÆzÇ È8Á
Â��jÉ��|�����O���6�������Ê�¬���������m���Â�´ Ë%���Ì�dÉ���É6ÍkÉrÎbÉF����Ï Ð>Ñ�ÁÂ�´ Ë�Ò¾���Ê;�dÉ���É6ÍkÉrÎbÉF����Ï Ñ�Á¶OÅ À~Á
Ó �m���%���jÔm�%��É������ �@���������%���k�,�����m���Ó ³¹Â� ¿8ÁÕcÖ ×k Ñ�Á¸����,��Ë�ØLÉ�Ï Ë%��É�Ù�[��Ï À~Á¸����,� Ë%�k����É�Ù�[��Ï ¿8Á¸����,�>ØYÉ Ë%�k����É�Ù�[��Ï ¿8Á
ÚYÛ Ü!ÝßÞLàâá�ã9ä,å^á�ÞæÜ�çná�èFç:Ü�éWÞLêië¤á�ÞIÜ�çgìIà ä,ë á�íFá�êiåUá!î�åUÜ�ç9á�ÞæáÐ'ï�ï
ð<ñ�ò óxô�ñ>õzó ð|ö~÷*ø�óxù�ùT÷�ö ð ó�ö�úr÷�ö�û ü:õzø�ó
ýPþ�ÿ������������� �� ��������������� ������� ��������������� ���� �! �"$#&%�')(+*-, �� ��������������� ���� �.���������� ����
/1020 /10201343657585 9;:=< > ?@�A�AB@�CDAB@�C / EF< > ?@�G.HJI ÿ K < > ?A 0 L �M�����N�PO��RQ;�S�T��U ?V>�< K ?A 0 L�W ���XOB�Y�Z�N�6O��RQ;�S�T��U >�< K [@�H :=< > ?ý / AYA 9�< [ ?\^] þ A >�< 9 [_ � 343�L�` �ZU L ����a+�� �U :=< [ ?_ � 343 Lcb �����a+�� �U 9�< [ ?_ � 343V` � Lcb �����a+�� �U 9�< [ [
9d5eESf ?�57?4?
?hgiE
jlknm�o�prq sutrpVkBs v w=xJyBprzRs{xJz�|}w=s ~Rj�w � j2� q ��w�pr��j1k
imm.align
Registers
PC
Data
Addr
Memory
MDRinMDRout
DESTshift
ALUIR
Addr
Instruction
Memory
+4
ADD
S2
S1
�h�Z�
���r� ���r�V�B� �}�=�1����������� � �u���R����� �P�B���
�������� �¡r¢X£T¤�¥4¢N��¦F �£¨§Z¢N�$��¡©¥4§�ª�¥-¤.ª�§�¢���« ¤.¡r�� �¬B§$®����¬F��¢N��« §S¯��°£¨§�¬+�2¦F±�¢X���$²�³�´�¯�§Zª�¤���¡�¦µ¯��°£§$¡r��¢�¦F±�£T��§�ªF¶�£T¦�¬F£·§S¸ ¡{¦�£�¹��� �¥V��¸ §S£·º+¡h»
¼6½�¾�¿�À!Á4ÂXÃ�Ä�Å�Ã-Æ�ÇRÈ�ÄrÉ)Æ�Ê+Á·É)ËÌ�È�Í·ÎNÍ�ÏÑÐÒÏÔÓ Õ ÖØ× ÙhÚ�Û Ü ÖØ× ÝhÛ Ü Ö1× Þ�Û Ü Þß× à¨ÖSÛ ÜÞß× ÖSÛ Ü ÖM× Ú�Û Ü áß× Ù�Û Ü Ù1× ÖSÛ Üáß× Ú�Û Ü á1× Ù�Û Ü áß× Ù�Û
Õ Ù�¾7Ý4â©¿2ã2Çä �å��§S¯��6§Z¡r¡r¤�¸ ��« ¢X��§�¢�¢X���P �¦� �æ�¶���¶��P§R£ç¥V����¢���¥4¢N¤�£T�6«�¦F��¡{ �¦�¢=®§�¡r¢N�6¥Vè�¥4ª���¡VéX騻
¼6½�¾�¿�À!Á4ÂXÃ�Ä�Å�Ã-ÆPÇ�È�ÄrÉ)Æ�Ê+Á·É)ËêÌ�ÈFÏÑÐÒÏÔÓ Õ àë× ÙhÚ�Û Ü àë× ÝhÛ Ü àë× Þ�Û Ü àë× à¨ÖSÛ Üáß× ÖSÛ Ü àì× Ú�Û Ü àë× Ù�Û Ü á1× ÖSÛ Üàë× Ú�Û Ü àì× Ù�Û Ü áß× Ù�Û
Õ àh¾íàhà�¿2ã2Ç������¡l¯�§�ª�¤.�}��¡î±¦�£M§ ¶�¤�£T��ïB§S£T¯�§R£T« �í¸ ¶�ª��°¸ �� �¢�§�¢N��¦� ð» ñ ³�£¨�� �¥-��¢N¦F �í¸ ¶.ª��°¸ �� �¢N§Z¢N��¦F ®¦F¤�ª�«���§S¯��P§$¬F£ç��§�¢��h£u²�³.´�«Y¤.�ì¢�¦Ø¡r¢ò£ç¤.¥-¢�¤�£¨§�ª���§Só!§S£T«�¡h»ôõôíöF÷�÷&øúù4û6üZýÿþ��íþ���������� ��� ø���ø^ý7þ��������Søúþ������!ùhþ����Sù����êþ������ �þ"!$#&%'# ø���ø^ýÿþ
(�)�*
+-,/. 021/,4350 +7698;:<02=$=>8?6 + 0@6BAC8?6BD EF35:G0
HJILKNMPORQ&S�T�U�VBW"UYX�O4ZS�M[T;\^]_Ua`"W�Tb`cMPd/UYdJM�e�\f]"ghd&U�i[UjT�OkgNd/UalmU5dn]_o�KhK@o�d/d/W�p U-\f]"o�\�\f]"UmORKNMPORQ eqT�U�VBWcU�X�ORghUYdMPe<\f]"U;\flmMrp o�O4]"ghX�UYdFo�T�U;\f]"Usd/o�p UutLvwX ewo�OR\$lmUxp ghy�]"\zU�i[`"UYOR\G\f]"UsX{M�X}|~`cgh`"UYKhgNX{UY�g�p `cKhUjp U�X�\�o�\�ghM�X5\�M&d/W"`"`cM[Tb\}o�ewo�d/\�UjT�ORKhM�ORQ&d/ghX�ORULgh\��$M�U�d/X}�h\�]"o��BUF\f]"ULM��BUjT�]"UYo��$d@M�e\f]"U�]_oC�'oCT��-oC�BMPgN��o�X{ORUFORg�T�ORW"gh\^T�Z�t
H&�P`"UYU��$W"`
���}�j�k����� � �;�h�Y�R�;��� �k�Y�}�k� �/���¡ ¢��£¤�¥}¦ ���u�R� ��§"�}� �©¨ �$§/ª � � � ª¬« � � �� ¢��£��;�h�Y�R�s��� �k�Y�}�k� �/�Y®b¯�®c�� ¢��£¤©¥B¦ ���u�R� ��§"�}� ��¨ �$§/ª � � � ª¬« � � ®b¯q®��¡ ¢��£
� ¤�¥}¦ ���u�R� ��§"�}� �©¨ �$§/ª � � � ª¬« � � ®b¯�®$�¡ ¢��£¤�¥}¦ ���'�R� ��§��}� �°¨ ��§±ª � � � ª¬« � � �¡ ¢��£
� ² ¦ ³�´ �xµx¨¶ ¦ ¶j¶ �xµx¨� ² ¦¸·
¹Yº�»
¼-½/¾ ¿2À/½4Á5¿ ¼7Â9Ã;Ä<¿2Å$Å>Ã? ¼ ¿@ÂBÆCÃ?ÂBÇ ÈFÁ5ÄG¿
É&Ê;Ë�Ì4Í"ÎhÏ�ÐYÌRÏ�Ñ�Ë�Ð�ÐYÒBÍ"Ó�Ò{ÌRÐjÔ ÐYÒ{ÏqÕÖ Ó�Ì4Í Ï�Î�Ô ÐmÓ�Ò ÐYÒBÍ"Ó�Ò{ÌRÐjÔ ÐYÒ{Ï�ÎNÕ;ÌR×�Ò{Õ/ÎNØ�ÐjË�Ð�Ø ÎhÏ�Ô ÑcÕ/Ï�Ù{Ð5Ë�ÐjÔ ÐjÔ-Ù{Ð�Ë�ÐYØ ÏfÍ"Ó�Ï�ÎhÏqÕÚÐYÛqÜÛÝÐYÌRÏzÞmÎNßhß}Ù{ÐsßhÎ�Ô ÎhÏ�ÐYØ ÙBàáÏ^Í_Ð&ÛqË�Ð�âBÑ"ÐYÒ�Ì4à ÞmÎhÏfÍ Þ5Í"ÎhÌ4Í Ð�Ò}Í"Ó�Ò�ÌRÐ�Ø ÎhÒ�Õ/ÏfË�Ñ"ÌRÏ�ÎN×PÒ�Õã×PÌRÌRÑ�ËÎhÒäË�Ð�Ó�ß�Ìk×�Ø$Ð'å
Éxæ ç è�é�êxë�ìîí7ïðé�ñ Õ/Ï�Ó�Ï�ÐYÕ�Ï^Í_Ó�ÏPÏ^Í_Ð�ò"ÐjËbÛw×[Ë�Ô Ó�Ò�ÌRÐLÎ�Ô ò�Ë�×[óBÐjÔ ÐYÒ{Ï�ÏqשÙ{Ðõô�Ó�ÎhÒ�Ð�ØöÛqË�×�ÔÑ"Õ/ÎhÒ�ô-Õ/×�Ô Ð;ÛwÓ�Õ/Ï�ÐjËLÔ ×PØ$Ð;×�ÛGÐj÷[Ð�ÌRÑ"Ï�ÎN×PÒ ÎhÕFßNÎ�Ô ÎNÏ�Ð�Ø ÙBà7ÏfÍ"ÐsÛ�ËbÓ�ÌRÏ�Îh×�Ò ×�ÛGÏfÍ"Ð;ÏqÎ�Ô ÐsÏfÍ"ÐÛÝÓ�Õ/Ï�ÐjË�Ô ×PØ$Ð�ÌRÓ�ÒøÙ{ÐFÑ"Õ/Ð�Øùå
ú?û}üký/þ�ÿ������öÿ����-ü����� úxû}üký/þ�ÿ������öÿ����-ü�������� �������'ýnÿ�������� ���"!$#%�'&(��*) �����uýnÿ������ ��"!$#%�'&(��+-, ü�ü�.�þ , ��"!$#��"&���0/
+-, ü�ü�.�þ , ú?û}üký/þ�ÿ������öÿ��1�áü �2���ú?û}üRý/þ�ÿ��1���öÿ��1�áü��3��
4� 465 �����uýnÿ��1���7��"!$#��"&��� / ) 8:9 #%&<;>=?�2�"@>ACB�D�ACEF@HGI'J ���C� J @>ACB�D�ACEF@>GK�L:K
MONP QSRNUTVQ MXWZY\[]QS^_^0Y`W M QaWcbdY`Wce fgTV[hQ
i j kmlonqpUrFs tulov wyx{z:|~} ����x����� x6|��_�����2����������|6���*�0���������y����$�����2�������2�q���y�*���� ¢¡¤£�¥�¦-§¨|d�$� � ���2x����2�¨�©x6ª«�����~���x�x������} �����2����������|��������V��x{�"�1�¬�$} |����x¯®c°�|���|����2�¬�o���Z±Z²
³«´ �y�2x�µ-x{�g} �7���2�����<° ������������x��g¶�·-¸ ���h�y�$����x����¬���2�¹} x��1�¬��ºc�������� �y�$����x������yµ |�yw��������|�2�����*»¼-½¿¾{¾�ÀÁ~½-Â�ÃÅÄ>ÆSÇÉȬÊ{Ë�Ì�Ì]Í ÎÏÑÐ�Ò Ó Ô�Õ×ÖØ Í Î{Ù?Ú{Û
³«´ �y�2x�µ-x{�Ü} �����������¹° �������7����x��XÝÞ¸ ���É�¨�©����x����¬�ß�2�¹} x �1�¬�\ª«�¬�$���y�$����x�������µ �y�$�¬wµ��'|~} »¼à½¿¾á¾�À�Á~½ ÂÃ�ÄHÆâÇgÈ:Ê{Ë�Ì�Ì Í Î
Û{Û Ò Ó ã ÖØ Í Î{Ù ÐáÐ{ä�_� ���¤|�y|��<°c���� � x������6���å�2��xáºc|�����|��2x¢� � xæ������èç�®�x���x�é��_���7|��Vx�� � |����xá} x����%² ´ �¿} |~°V|������$����xê�����y��¬} xæx�� � |�y��xá} x��y�2�a|����2��µ-x�� � xá�*ëì�����������xá�o|ê���*�0���������y����$�����2�����Vª � ��� � ���¿w�U�$x�|�x��í} �����2�����¹°î�7x{�'���¬�$} |��y��xm®c°�±ê®����y��|���x��¤|g￸ ���y�U�$x�|�xæ���ð��������ñ���xá�'�����o²
Ý�ò�ï
óOôõ öS÷ôUøVö óXùZú\û]öSü_ü0ú`ù ó öaùcýdú`ùcþ ÿgøVûhö
��� ��������� ����������������������� � ��������� �"!#��� �$�&%�� ��'(%")���%")��*�+�-,
.0/21 354*1 6 798 8 70: 6 .<;=1?>.@;�3
A ���+������BC���D������)���� ������EF�G'�H�IKJGL ����M ��%�BK�-�N�-O
P � �Q���SR=�T���UR=��� BV���W� �+������X����Y��B���'K'(���NB����ZBC���T� �"������+���Z%�����'����G���[��BV�+�G���\)^]=�N�Y���_������ B`� %���BV�������T� �������aB`���-EW��� �a���bM M �G�?ced-fhg �G'��\)�)��-ib���j%"BV��� ����� B`� %���BV������� k
P � �*����R=�&��� ��R=���[��� ���F� ���������\)���� B����S� ��!#�S���D'(���l����BV�����^�l��mR=��� �+�G�?� �������&��B����Q� �^no %��p� ���?R=�-�qEF�N�S� ��)mESO
r&sutYv-w�x�y{z0|�v-} ����)����Q%���BK� o %��Y��BV�+'VEB`������� �mM ��)��~��%")���O
d����
�?� � �2� �_�W� ���h�Z�9�2�[����� � ���=�S���=� �a�W�0�
� � � � ��� ��� �_���
���T� ���Y�V�*���������V �¡����Y¢b��¡�£�¤¥ �a��¡b¦ §� �¢+�-�<¦ ��¨ ������£[�-�©¨ �V�Y��£ � ¥ �a¨ �^¦ �Y���V +�j¨Q¡��ª� ¥ �D��«=�Y +¢��¬ª¢��$ +��¨ �`� �����V �¡���¨
���T� ���Y�V�*���Y¨ �U��¡G£[�¤¥ �®�j¡�¦ §� +¢��^�Z¦ �"¨ �¯�"�ª£[�^�N¨ �V�Y��£ � ¥ �#¨ §"����£ p¦ §�¢� +�j�\�V �¡���¨°¡G�±��¨ ���² £[ ��V���^�������T ��U³¨ �`� �����V �¡���¨-´µ ¡b�<§� �§"��¢+ ����a��� � ¥ +�V���j�K��� ��¨T� ¥ �a��¡b¦ §� �¢+�-��¨ ¥ ¡G�"¢�£?¡G§"�V p¦ m¶·�*��¡�£�a�V¡¸��«=¡� �£<¹º §� �§���¢� +���¯¨ �K�Y¢�¢º §� �§���¢� +���¯»[��¨ ¥ºW¼#½Z¾ ¿ ��W¢+¡G�\£?¡b��¬=�N�Y��� ¥ £[��¢���À¨ ¢�¡��VÁ
 � �\¢�¢[���Y¨ ��¨Ã +�ª¨ �C���"�j�K �¡��ª¨���� ��� ��¡�� £�^� ��£ ¿ ¨ � ¥ ��£��¢+��£[Á<�V¡ �_� ���\�V��� ¥ �°¦ ¡G¨ �����VÄ��� +�������¡G£[�·´
Å�Æ^Ç
È?É Ê Ë2Ì É_ÍWË È�ÎhÏZÐ9Ë2Ñ[Ñ�Ï�Î È Ë�Î=ÒSÏ�Î=Ó ÔaÍWÐ0Ë
ÕGÖ_×�Ø�Ù[Ú�Û+Ü�Ý�Þ°ß(à�á@ß�âYã ä�Ö�àGÙ[ØaàGÝ®å�æ�ç&èléªêìë�íî ã Ö_×�Ø�Ù[Ú�Û�Ø*Ú"ã Ø�ß�Ú�Û�ï=áNâ\ݪÖ_×WÙØ�Û�âSð�ã Û�à�äªÜ+Ý�ã ä`á Ú�Ö�äVÜ�à�Ý�ã
Ö�àGÝ�ã Ü�Ù[Ø^á@ä`×�Ø*Ümñ ò�âYÖ�äUàGÝWò�Ø^áNß�àbáqñ âYÝ�Ö�Ø*Ü�ß�â\Û�Û�ÙØ�Û�âSðóã Û+àGäKãlâSá�Ø~ôöõ0÷ªø
ù*úUû�üÃý�þ�ÿ������������ ��������þ���������������� � �! "$#�% & �! '$% & �! (�% & �! ��)*% &+ )�% & �, #�% & + "�% & "- )*% &+ #�% & + "�% & + "�%
� �-û."0/Tü212î â*3=à�Ü�Ù?Ù[âYäVâD×�â*4·âSá Ù#âYß�äVØ^á65�7î àGò"äVÜpñ Ü84·Ø*ß�à�á@Ö�àGÝ�Ù[Ü�äVÜ+àGÝ�â\Û\ï=áNâYÝ�Ö_×#äVâ:9�Ø�Ý; ×�Ø-á Ø=<-ë�ë?>�@·Ü�ã�Ú"ã Ø�Ù âDäVâA9�Ø�Ýï=áNâ\Ý�Ö5×WÜ�ã ß(â\ã äVØ-á�ä`×�â\ÝWâYÝÚ�Ý�äVâA9�Ø�ÝWàGÝ�ØCB
D ×�Ø�Ý ; áNÜ+äVÜ�Ý�Þ°â&Öjà�ñ ò�Ü+Û�Ø^á�ß(à�á@à�Ú�á�ò�á àGÖ�Ø�ã ã àbá ; Ø ; Ü+ã©×#äVà�øEGFIH JLK!HNMOEQP�JSR ETP?H R UWV V UGX
Y�Z�[