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

54
C.P.U. Program Memory Workspace Memory Control Data Address

Upload: others

Post on 15-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

� ��� ������� � � ��������� ���������������! #"%$'&( *)�+-,.�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`

Page 2: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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�

Page 3: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

  ¡£¢*¤ ¢*¥¢�¦ §?¨�©2§ª¨�« ¬ ¨�¡�­�¥�®¯T¡�®%°�¨�¯ ±�²A¨ ³µ´¶¬ · ¸

Memory

Instruction

Addr

ALU

shiftDEST

Memory

Addr

Data

alignimm.

+4

PC

Registers

(to decoder)Instruction

S1

S2

¹Pº�»

Page 4: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

¼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Ü����

����

Page 5: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

���! #"�$�% &'")(+*,� - ./&'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£

Page 6: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

¤�¥!¦#§�¨�© ª'§)«+¬,¥ ­ ®/ª'¯+°

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Ì

Í�Î�Ï

Page 7: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

Ð ÑÓÒ:Ô Ò:Õ�Ò×ÖÙØ�Õ+ÚPÑOÛ�ÜZÝ,Ú Þ Ø�ÑwßPÕ>Ü�Û�Ñ'Ü)àÙØ�Û áZÝâØ ã�ÖäÞ å æ

Address MemoryData

Registers

PC

+4

imm.align

DESTshift

ALUIR

S2

S1

ç�èdé

Page 8: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

ê�ë!ì#í�î�ï ð'í)ñ+ò,ë ó ô/ð'õ+ö

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

Page 9: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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

Page 10: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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�/���Á�!���&�!Â��\� �!���.�

  ³  

Page 11: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

ÃÄ<ÅÇÆ_È�ÉÊÉËÅ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

Page 12: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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è

Page 13: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

é ê.ë�ì�í|î�îðïçë�ì~ñ ò�ë ó�ï<î�ò�ô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�

Page 14: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

����� �����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Å

Æ)Ç ¿

Page 15: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

È ÉËÊ�Ì Ê�ÍUʮΠϵÐ�ÑÄÏ�ÐÓÒ Ô Ð�É0ÕYÍ�ÖU×vÉQÖ;Ø�Ð�×

Registers

PC

+4

imm.align

Data

Addr

Memory

MDRinMDRout

DESTshift

ALUIR

Addr

Instruction

Memory

S2

S1

Ù)ÚwÛ

Page 16: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

Ü Ý`Þ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ñ

Page 17: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

ò ó`ô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

Page 18: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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=�

���,�

Page 19: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

�!��� �������"� � �����������

�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á

Page 20: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

â ã·äÐå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

Page 21: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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���

Page 22: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

���¡  ¢ £

BCU

ADD

Registers

imm.align

Data

Addr

Memory

MDRinMDRout

DESTshift

ALUIR

Addr

Instruction

Memory

nPC PC

+4

S2

S1

¤4¥�¦

Page 23: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

§ ¨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ý�ý

Page 24: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

þ ÿ������=ÿ��� �� ������

������������� ��!"����#%$'&

(*),+.-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

Page 25: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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�

Ñ�Ò�Ó

Page 26: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

Ô;ÕÈÖ × Ø

ADD

S2

S1

Registers

imm.align

Data

Addr

Memory

MDRinMDRout

DESTshift

ALUIR

Addr

Instruction

Memory

nPC PC

+4

Ù�ÚCÛ

Page 27: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

Ü Ý�Þ�ß�à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:\

Page 28: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

])^�_�` 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�

£[¤:¥

Page 29: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

¦F§�¨[©sª¬«®­,¯m© °)¦�± ² ³

Address MemoryData

ADD

Registersshift

ALUimm.align

MDRinMDRout

DESTshift

ALUIR

nPC PC

+4

S2

S1

´�µ�¶

Page 30: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

·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

È�É�È

Page 31: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

Ê Ë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

Page 32: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

[ \^]�\ _ \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¿

Page 33: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

À Á^Â�Á à Á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ö

����

Page 34: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

� ����� � �����������

�! "$# %'&)(+*),.-�/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

~��?�

Page 35: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

� ����� � ��������� ���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Ç

Page 36: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

È É�Ê�É Ë É�Ì�É�Í�Î Ï�Í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ðø����

Page 37: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

��� � �

ADD

Registers

ALU

shift

imm.align

Data

Addr

Memory

MDRinMDRout

DEST

IR

Addr

Instruction

Memory

nPC PC

+4

����

Page 38: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

� ����� � ��������� ����� ������! "#�

$&% ����' � ����� ( ���*) �����,+-"#.

/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��� 

Page 39: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

¡�¢£ ¤ ¥

ADD

Data

Addr

Memory

ALU

shiftRegisters

imm.align

MDRinMDRout

DEST

IR

Addr

Instruction

Memory

nPC PC

+4

¦c§S¨

Page 40: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

© ª¬«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

Page 41: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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é�Ó Õ�Ö�ç:ü

ý�þ»ÿ

Page 42: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

����������� ��� ������������

���������� !�"#�%$&���%' ("*)+�-,*"#$.�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�

Page 43: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

� �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ÇÉÈ

Page 44: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

ÊÌË�Í Î�Ï�Ë�Ð�Î Ê�Ñ�Ò{ÓÔÎ�Õ�ÕÖÒ�Ñ Ê Î?Ñ%×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

Page 45: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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á�ÞæáÐ'ï�ï

Page 46: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

ð<ñ�ò ó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

Page 47: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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�

Page 48: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

���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ù����êþ������ �þ"!$#&%'# ø���ø^ýÿþ

(�)�*

Page 49: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

+-,/. 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º�»

Page 50: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

¼-½/¾ ¿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

Page 51: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

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²

Ý�ò�ï

Page 52: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

ó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����

Page 53: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

�?� � �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£[�·´

Å�Æ^Ç

Page 54: C.P.U.bim/notes/ups/lecture/pdf/ups06.pdf · ./&'0+1 Fetch Instruction Calculate Expression Calculate Address Update Register Calculate PC Update PC Memory Read Update Register Memory

È?É Ê Ë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�[