c.p.u.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 fetch instruction calculate...

Post on 15-Oct-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

� ��� ������� � � ��������� ���������������! #"%$'&( *)�+-,.�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�� _«����(�¶��( V­Y�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£K­M¦^¡�¨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�[

top related