˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ...

83
Á°-µ¦¦³°µ¦Á¦¸¥ª·µ-µ{¥¦¦¤°¤¡·ªÁ°¦rÁºÊ°o´¦nµ ®oµ ¦´¦»¦´Ê¨nµ-» Ã¥Á¦·£·¦¤¥rÃ-£µ ¸ÉÎ µ -µ{¥¦¦¤°¤¡·ªÁ°¦r´ Ê ®¤µ¥¹Ã¦-¦oµÂ¨³µ¦Î µµ°Á¦º É°°¤¡·ªÁ°¦r æ-¦oµ°Ã¡¦Á-Á°¦r®nª¥¦³¤ª¨¨¨µµ¦Âo°¤¼¨¦³´Á¦º É°£µ¬µÁ¦º É°£µ¬ °-Á¤¨¸ -µ{¥¦¦¤Â¨³µ¦´µ¦¦³®nª¥ªµ¤Îµ µ¦ÁºÉ°¤n°¦³®ªnµÁ¦ºÉ° °¤¡·ªÁ°¦r¨³°»¦rn°¡nªnµÇ ¦ª¤¹Ã¦-¦oµµ¦Îµµ°¦³°¤¡·ªÁ°¦r µ°º ÉÇ ´ ʸ Ê Á¦µ-µ¤µ¦¨nµªÃ¥-¦»Åoªnµ -µ{¥¦¦¤°¤¡·ªÁ°¦r º° ªµ¤-µ¤µ¦ )XQFWLRQ ĵ¦Îµµ°Ã¡¦Á-Á°¦r ¹É¤¸ªµ¤®¤µ¥Ã¥´¥º° »Îµ-´ÉnµÇ ¸É á¦Á-Á°¦r-µ¤µ¦¦³¤ª¨¨Åo´ÉÁ° ÁºÊ°®µÄÁ°-µ¦»¸Êµ-nªÅo´¤µµ®´-º°-RKQ/+HQQHVV\'$3DWWHUVRQ v&RPSXWHU$UFKLWHFWXUH$4XDQWLWDWLYH$SSURDFK (GLWLRQw0RUJDQ.DXIPDQQV3XE ¨³µ-nªÁ}Áº Ê°®µ¸ ɤ¸µ¦°oµ°·Á¡· ɤÁ·¤µÂ®¨nªµ¤¦¼ o°º É Á¡º É°¦³°µ¦°·µ¥Ä®oÁoµ Änµ¥¥· ɹ Ê ´ ʸ Ê-µ{¥¦¦¤°¤¡·ªÁ°¦r¤¸µ¦¡´µ ¦´¦»Â¨³Á¨¸ ɥ¨°¥¼ n-¤Î É µÁ-¤° ¼o«¹¬µª¦oªoµÁ¡· ɤÁ·¤µÂ®¨nªµ¤¦¼ o°º ÉǦ³°oª¥ æ-¦oµÂ¨³-µ{¥¦¦¤°¤¡·ªÁ°¦r¸É°·µ¥ÄÁ°-µ¦»¸Ê ³°µ«´¥¡ºÊµµ ®nª¥¦³¤ª¨¨¨µ 0,36 Á}®¨´ ´Ê¸ÊÁºÉ°µ 0,36 Á}-µ{¥¦¦¤°¤¡·ªÁ°¦r ¦³Á£ 5,6& ¸ ÉÁoµÄÅonµ¥ Ťn´o° Á®¤µ³´µ¦«¹¬µÄ¦³´Áº Ê°o °µ¸ Ê°µ¤¸ µ¦Â¦Áº Ê°®µ°-µ{¥¦¦¤°º ÉÇ Á¡º É°¦³°µ¦°·µ¥Á¡· ɤÁ·¤oµ ´ ʸ ʹ Ê´ªµ¤n° ÁºÉ°Â¨³ªµ¤Á®¤µ³-¤°ÁºÊ°®µ µ¦«¹¬µÄª·µ-µ{¥¦¦¤°¤¡·ªÁ°¦r´Ê ¼oÁ¦¸¥ª¦¤¸´¬³Äµ¦°°Âª¦ ¦¦³ ®¦º° ª¦··°¨ Ã¥ªµ¤¦¼ oµª¦··°¨´ Ê ª¦³-µ¤µ¦°°ÂÅo´ ʪ¦Â -¤&RPELQDWLRQ/RJLF&LUFXLW¨³ª¦Â¨Î µ´6HTXHQWLDO&LUFXLW°µ¸ ʼ oÁ¦¸¥ ª¦¤¸¦³-µ¦r®¦º°Á¥«¹¬µ£µ¬µÂ°-Á¤¨¸°®nª¥¦³¤ª¨¨¨µ´ªÄ´ª®¹É¤µ æ-¦oµÂ¨³-nª¦³°°Á¦ºÉ°°¤¡·ªÁ°¦r ¦³°¤¡·ªÁ°¦rÃ¥´ÉªÅ´Ê ¤´¦³°oª¥®nª¥¦³¤ª¨¨¨µ .H\ERDUG ° £µ¡0RQLWRUÁ¦ºÉ°¡·¤¡r¦³0XOWLPHGLD¨³°ºÉ°¸¤µ¤µ¥´Ê¸Êæ-¦oµ´¨nµª-µ¤µ¦ 嵤µ¦Î µµÅoÁ} ®nª¥¦³¤ª¨¨¨µ&38 °·¡».H\ERDUG0RXVHHWFh

Transcript of ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ...

Page 1: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

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

����������������� ��������� ������ �� ���� !"#���$%�� ��&� ��'(� ������ ������� ���� &� �� )� )���*��+����#��","�"� -����!$�&���."�#�/ ��'(� ���0� ��'(� ���0!�� )�/"1� �����������!"#���2�����#//��+������2%��� ��� 3'(���+��#��+� ��'(� ������ ����!"#�4���5��+��+� �+� 6� ����� �� ���� ���$%�� ��&� �#//������ ����!//&����'(�6� $�� �1�� ���������"+�����4�7��+�� ����������������� ����� �'�� �����������*89:;<=>:-� ?����$%�� ��&� �� )� )���� )�( �1�������������'�� 34�%����( �+� 6� $1(�� )� )�����������#��","7���(� �

�'����?� �����34�1��/� �+��7�����2����� �'��@>A:�B�CD::DEEFG�HI�J�KL<<DME>:G�NO>PQ9<DM�JM;A=<D;<9MD�R�J�S9L:<=<L<=TD�JQQM>L;A�UQG�VW=<=>:XG�Y>MZL:�[L9\PL::E�K9]I�!"#/� �+�� �̂� �'����$1(�1������ �� ��(� ���2��!�"+ �����.��'(�� �'(���#��/����_�/��?�� &��?2 +����( &���� $�� �1������������������ �����1�����̀ ��� ���/��4 !"# �"1(��!�" ��.+��%(�� ����,.�a��0����������� ��(� ���2��!�"+ �����.��'(�6���#��/���

�� ���� !"#����������������� ����$1(�_�/��?� �����34�1�� 2#��a���'��b��2����+����#��","�"� � YcKd� �̂��"��� $�� �1� �'(� 2��� YcKd� �^������������������ ������# �$� ecdO� $1( &��?�7� +��� 7�+)�/)���� ���#��/���a��0�?��#�/ /'�� ���� ���2���1���2�1���!$�� �'����&� ������������'(�6� �'(���#��/����_�/�� ��(� ���/�� � $�� �1�&�����/�����+� �'(� !"#���� ���#��&� �'����

���a��0�?���3������������������ ��������� ,.� �1������1$��0#?�������!//� 2�����#� ��'�� � 2��2���"� ������.�$� � 2��2���"����� ���2#��������!//7�$�� � 2�!//,���*O>P]=:L<=>:�B>Z=;�O=M;9=<-�!"#�� 2�!//"%���/�*dDf9D:<=Lg�O=M;9=<-����2���1��,.� �1������1��#�/���5���'� ��a��0���0�!�� )�/"1&� ��+����#��","�"� ���?������( ���+��

!��������"#��� ������$������%������� �����

�#//������ �����$�(�7������ �����#��/�����+����#��","�"� � [DF]>LMW� 2�����Y>:=<>M� ��'(� �������#//�Y9g<=PDW=L�!"#�'(��1��������$�� �1��� ���� � �"+���������2%��!��������$%�� ��7� �̂�

• ��+����#��","�"� �*OKh-

• ����4��*[DF]>LMWG�Y>9EDG�D<;iI-

Page 2: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U���

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

• ��$��4��*H=EQgLFG�KM=:<DMG�D<;i-

• ��+������2%���*eLPG�H=Ej�HM=TDG�OHG�D<;i-

• �#// ��'�&+����+� 7��k����+����#��/�+� 6� �"+��1�2#�.� 3'(���+� &����/��+����#��","�"� � �

��a������'(����!"#��/�4��,+���#//�����ll�5�+� 6� *HL<L�QL<AG�O>:<M>g-� )�( ���$%�� ���+� 6� �"+��1� �̂���( $1(��� �"+���� ?������������������ ����

������������&'�(����%���)*+,-./,01*�23,�4-/50,3/,.-3

�����`��)�m�n!����$�(�7������,.���̀ ����'���!��� ��������2#��̀ ����!����?3���0�3����. * 3+�� ��0�� O-� 2��������!���2#�.�!�"����7� "��� �^���0�!�� )�/"1�!"#��!�����0�!�� )�/"1 �"+������ 2� �.�!�"�!�� )� /"� �^�� ��0� ��'(� � ��'�YL;A=:D�O>WD�?�$1(�4�*� !� ?����&�� "+� -

swap(int v[], int k)ı{int temp;ı temp = v[k];ı v[k] = v[k+1];ı v[k+1] = temp;ı}

swap:ı muli $2, $5,4ı add $2, $4,$2ı lw $15, 0($2)ı lw $16, 4($2)ı sw $16, 0($2)ı sw $15, 4($2)ı jr $31

00000000101000010000000000011000ı00000000100011100001100000100001ı10001100011000100000000000000000ı10001100111100100000000000000100ı10101100111100100000000000000000ı10101100011000100000000000000100ı00000011111000000000000000001000

Binary machineılanguageıprogramı(for MIPS)

C compiler

Assembler

Assemblyılanguageıprogramı(for MIPS)

High-levelılanguageıprogramı(in C)

Page 3: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

2��"��05#�����`��)�m�n!���� �"+��� �/�+���!���$1(�1���o/�/��0�)1 ��'���������� �'(��.�!�"�� ���7� "���� !"#� !�� )� /"�� !"��� ��0� ��'(� � �"+��2#�.��%��7���#��","���+����#��","�"� � ��2� ��2�"+��7��+��34�%����( �+� 6� �"+��1�� �̂������"� ?���� 3'(���+��#��+� p���!���� !"#� )�m�n!���� �'(�?����( ?�� ��'(� ������ ����$%�� �������!���$1(��� ���� �� �1��34�%����( �+� 6� ?���0�!�� )�/"1!"#��0� ��'(� � �"+��1��+�������������34�%����( � )�( 2#?3��_�/���� ����������?����$%�� ��&� ��+����#��","�"� �1�

?������`��)�m�n!���� � o��#��+� ��( )�m�n!����#//�,.���̀ ��2� ����1�����.� �1(����/�����������34�%����( �+� 6� �1�� �'(�$1(2#��������`��)�m�n!���7��7�+2%�� �^���� ��a�������.�$� ���p���!���� $�( �1���+����#��","�"� $1(�+� ���� ��2�1�����������34�%����( $1( ��'�����7�� )�( ��(����������+�)�m�n!���$1($%�� ��/��#//������ ���� ��'(� ���( � 2#������$%�� ��7�/��#//������ ����$4��#//$1(�1�� ���� �����������34�%����( ��'�����

��51�����`��p���!�������� ,.���`��p���!���� �1� ���!//�����������34�%����( �!"#���� � 2���#��"�?��������$%�� ��7���������������������7�+��� �%���� �� �����̀ ��)�m�n!���?6

!���+������� �� �� ����������������� �����?3�� �����������34�%����( �̂��"��� 2# �^���#�3��?������̀ ��)�m�n!����!"#�p���!����k����!�+/� ��51������̀ ��)�m�n!���!"#p���!����������/�����������34�%����( ��� ���7�� $%��?��7�+�������������'���`������������������� ����!//?��+6�&�����7�

,.���`��)�m�n!���

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

,.���`��p���!���

��� ����

��������

Page 4: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q���

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

6�� ����� #7#�#��

��+����#��","�"� ��'��OKh������ �^�a.����"� ?����$%�� ��&� �#//������ ����$4���( $1(�"+���� ?������������34�%����( ����� ��+����#��","�"� 2#��� �1����������$%�� ��7����$1(�#/47��� ��� ��1�/ $1�/��/�+� ��� ����2�"+��7��+���+����#��","�"� �̂���� ��40�� ���$�� �1����?���+����#��","�"� 2#��#��/7�r��

• ��+����#��","$� �5��a�����!"#$� ����#�*JBh-

• ��+����/�4��*O>:<M>g�h:=<-

• ��+������2%��3�(������*eDZ=E<DM-

• �#//�����ll�5�%�����/��� 3'(���+��+� 6�*shd- ��4$1(��+����#��","�"� 2%�� �^�2#��� �1����������?����2%������� �'(�?3���#��/

������%����5�+� 6� *)�( �'(� ��1�/ $1�/��/������%����5�+� 6� &� ��40��� 2#�/�+�������%����5&� ��40����� ?3�����2%�� 3+����� 3+���51���/�� "&!// k�6���� ����� ����%���Ut�� �����2#���?�� k��%��� U� 7��?�?2� 3.&������ �� ����!"����/�+�2���/� )�( 2#�/�+��1���?3�����2%����/�.+��/����%����5��� ���-

"89�6�':���:

�I ����������������� �����'��#7�UI �+����#��/&� ������ ������1�#7�/��

�I ?������`����!��������0�3����. � ���1&������?������̀ ����!����+� 6� �"+�������+� 7�

qI �����������34�%����( �'��#7�� ����"+���� �����������34�%����( � �"+��� �̂���#�3��?������`��)�m�n!���!"#p���!�����'�7�+���+� 7�

uI 2 ���� � 2�/�� "&$1(2#/�� "&&���U�]=<�!"#����$�1����/���!"��?���%����/ �̂�,""��_����������$

vI 2 ���� � 2�/�� "&!//��4����*dDM=Lg�JWWDM-�!//�Y>>MD�!"#�YDLgF�YL;A=:D

Page 5: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u���

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

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

��#��$_����� �'�� �����!"#��� ��1�/ $1�/���$%�� ��� $�� �1�?����a��0� �'(� ��#��$_����&� �#//������ ��������� ���4+ ����� ��22���+� 6� $1(�+ ,"��#$/�+����$%�� ��&� �#//������ ����� ��4+ ?�������� "'��?3�� ��'�� �.�2���������#��$_����&� �#//� �'(�?3��_�/��?���'����+����7��w�� �����̀ ����#��$_����&� �#//������ ���������_1����+� 6� ����� ?��,"$� �x�/���$1(1&�����+� 7�

��� �'�����:;�<��$��������� �����

�������#��$_����&� �#//������ ��������� ��?3� �"� �^��"��?������� ��#//������ ����$1(?3� �"�?����$%�� ����!������( 6� ������+�� 2#�1��#��$_���������+��#//������ ����$1($%�� ����!��� 1������ !�+?3� �"�?����$%�� �������+�� ��'� ����2�"+���1�������( 7��+����#��$_��������� �̂��+���"�/&� �"�

yKDM\>MPL:;Dz�{����yV|D;9<=>:�}=PDz

����"+���+��N ��'(� ������ �����~� �k���+� ��'(� ��� �̂��:� $+�X���'��N ��'(� ������ ����~��1��#��$_���� ��'����� ��'(� ��� �̂��:� $+�X�������������_�/�� �̂������7��+�

:�{�yKDM\>MPL:;D�;z���yKDM\>MPL:;D�\z

��'�

:�{�yV|D;9<=>:�}=PD�\z���yV|D;9<=>:�}=PD�[z

$�� �1� �'(� 2�� �"�?����$%�� ��&� �#//������ ����� �'(���#��","��!���?6��������2������ �"�?������/��� &� ��'(� ������ ��������6� *eDEQ>:ED� }=PD-� 3+�� �'(�,.�?3���( ?����!��������&���."� ��!���?3� �"���� $+�?� �"� 2�� ��(������� !"#� 7�,""��_�!� ������ ��'�� ��2������ � ����������?������#��"," ���+� 6� ?�3+� �"����( *}AM>9ZAQ9<-� 3+�� ��'(� ������ �������������#��","��!���7��U� ��!�������?� �"��������$1

Page 6: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v���

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

���2���1����� ���� ���#�����$%�� ��&� )�m�n!����+� 6����?� ��'(� ������ ����� ��2#�/�+�� ��'(� ������ ������22#7�+7�?3� �"�$�� ��7���/�����#��","� !�+ �"�/� �+����2�.l �1�7� �'(� 2�����$%�� ��&� p���!����+���'(�6� 3+�� ����+��&���."2����+������2%�����'��#//� c����'(�6� ?������ ���#��� eDEQ>:ED�}=PD���'��V|D;9<=>:�}=PD�2� ��2!/+ ���7� �̂�

• VgLQED� }=PD� �'� �"�?������#��","��!������( 6� &� �#//������ ����� )�( ����� �"�$1(?3�?�����+��&���."2���c���!"#���+������2%��

• OKh� }=PD� �'� �"�$1(� OKh� $%�� �� �'(���#��","��!������( 6� �7�+��/��� �"�2�������������$%�� ��2���4���5��+��+� $1(��.+��������+����#��","��"�

$�� �1�� ?��������#��$_����&� �#//������ ��������� ������������ OKh� }=PD� !$����������VgLQED�}=PD�$�� �1� �'(� 2����������#��$_�����?3��VgLQED�}=PD�?������� �� ��+�&� ��#��$_����$1(��7���2&�����.+��/���� �k�&� ��� &���� &���."?���+������2%��� ��'������ �k�?������/��� &� �4���5��+��+� �+� � $%��?���+�$1(��7�� �"+��� 7�+�������� ���#��," 3� ��1�/ $1�/����������&� ��+����#��","�"� 7��*2��&���."$� ������/�+�� �"�?������#��","&� ��!�������� �����+�� qu�� �^� �"�$1( �1���/���$%�� ��&� � c��� ��'�� �+���'(�6�)�( 7�+ �1(��&�� ��/���$%�� ��&� ��!���-

2��!��$� ?��������#��$_����&� �#//������ ����� �"+��� ��2#�/�+��������#��$_����&� �#//������ ��������2#��� ��a����!���$��/� *sD:;APLMj-�!"#�� �"�$1(?3�?����$%�� ���$�� �1���!���$1(2#?3�$��/���2 �̂���!���?6��k7��!�+���,.���̀ ��!�+"#���$%�����$��/��#��$_����&� �#//������ ����� �?3���!���$��/&� �� � � �"���'�,""��_�$1(7�2�����$��/� ��27�+������ ��1�/ $1�/���7�� � ����� 2� 7��1�������"4+�����#��+� ,.�,"����+����#��","�"� �+� 6� �'(��%������# �$&� )�m�n!���$1( ���#���%�����/�������#��$_����&� ��#//������ ����� *dKVO�sD:;APLMj�E9=<DE-�)�m�n!���?�34�dKVO������#��/���� )�m�n!���$1(?3�����������&� ��+����#��","�+��&�� �. � 3+�� ��!����� ���#��$� �5��a������ ��'�� ��$��a������ ���7� "���$1(�1�����������. � �̂����� � ����"# �1� ��(� ����������������7�2��� dKVO� sD:;APLMj� d9=<DE� )�( ,�!��+�� dFE<DP�KDM\>MPL:;D�VTLg9L<=>:�O>>QDML<=TD

Page 7: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

,.*&/0'2�����$"� �� �"�?������#��","&� ��+����#��","�"� � ?����$%�� ��&� �sD:;APLMj���!������( �,"$1(7� �^�� �1�

��'(� �J�?3� �"�?����$%�� ���U������$1 ��'(� �s�?3� �"�?����$%�� ���Uu�����$1

��'(� ������ ���� ��'(� ?�1��#��$_���������+�����!"#������+� �̂��1( $+�

��'(� �J��1��#��$_���������+� ��'(� �s� �'(� 2����������#��","��!���$��/7� �k���+�2��

:�{�yV|D;9<=>:�}=PD�\z���yV|D;9<=>:�}=PD�[z���{�Uu�U��{��IUu

∴� ��'(� �J��1��#��$_���������+� ��'(� �s���.+��IUu� $+�

���6�� #��=>?�@)AB�$��!��"�������C

?�$� �x�/�������� ��7�+����������'�2�/ �"�� OKh� }cYV� &� �����#��"��!����+� 6� 7�� ���# ��7�+$��/�+� �"�$1(?3�� �"+��� �^�� OKh� }cYV� ��'�� �^� �"����$%�� ��$1(��2��� c���� �����������OKh�}cYV�2� ��2$%��7�������#��5��'������/2%������%����( $1(?3�?������#��","�!"#���,"���&� �"�$1(?3�?������#��","�%����( $�� ��

,.*&/0' ��'(� ������ ���� ��'(� ���( �1 �"�?������#��","�%����( !�+"#�%����( �^�� �I�� ����$1�����%����!���$1(�12%������%����( � ��� �%����( ��$%�������#��","/� ��'(� � �"+��� 2#?3� �"�?����$%�� �� �̂� $+�7�

∴� �"�?����$%�� ��$�� ���{�������I�

��+� 7��k���� ���/�� �"�?������#��","&� �%����( !�+"#�%����( ����� 7�+����/�� �̂���+������$1� $�� �1� �'(� 2�� �"�?������#��","&� ��+����#��","����� 2#&�����.+��/��ll�5

Page 8: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

������$1(�r��?����/��+����#��","�����*Og>;j�eL<D-�)�( 3+� �"� �"+��1������ �1���+��<=;jE���'�;g>;j�;F;gDE��

yOg>;j�OF;gD�}=PDz�{�����yOg>;j�eL<Dz

3+����+����#��","$1(�1�Og>;j�eL<D� �^��Uu�YA��2#�1�Og>;j�OF;gD�}=PD� �̂��q�:E �̂����

���2���1������#��","�%����( !�+"#�%����( � ��2��7�?3� �"� �1� � �� Og>;j� OF;gD� }=PD� $+������2%������OF;gD�$1(?3�?������#��","!�+"#�%����( �*OF;gD�KDM�c:E<M9;<=>:���'��OKc-���2!���+� ���7�� 3+������#��","�%����( /����2?3� �"����OKc�!"#�����#��","�%����( �.5��2?3� �"�� �� OKc� � �������� ��+����#��","�"� � �"+��� �1�����1(��ll�5������ �^���u�YA�� �"�$1(?3�?����$%���%����( /���2# �̂��q�:E�*��q-�!"# �"�$1(?3�?����$%���%����( �.5 $+���/��U�:E�*��q-� �̂�

�'(��%��!��������$�� ������#��� &��������� ��������4� �^������!� ����������_��#��+� �"�$1(?3�?������#��","�!"#������1(��ll�5������7�� �1�

y �"�$1(?3�?������#��","!�+"#�%����( z�{�yOKc�&� �%����( ����z���yOg>;j�OF;gD�}=PDz

��'�

ydD;>:WE���KM>ZMLPz�{�yOg>;j�;F;gDE���c:E<M9;<=>:z���ydD;>:WE���OF;gDz

� ���� �"�?����$%�� ��&� �OKh�2# �̂�

yV|D;9<=>:�}=PDz�{�y2%������%����( z���y �"�$1(?3�?������#��","!�+"#�%����( z

2�������� �"+���/�+� �����������/��4 �"�?����$%�� ��!�+"#�%����( 7������"�+��OKc���'��"�+��Og>;j�OF;gD�}=PD���'��"2%������%����( " �� �1�

• Og>;j� OF;gD� }=PD� ��'�� Og>;j� eL<D� &�����.+��/�� ���� ���?�p���!���� !"#� $��"�1?����,"��

• OKc�&�����.+��/��� ���� ���?�p���!����!"#��� ���� �����������34�%����(

Page 9: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

• 2%������%����( � &�����.+��/� �� ���� �����������34�%����( !"#����������?����!�"!"#��Q<=P=�D�&� ���!�"��0�

,.*&/0' ��'(� ������ ���� ��'(� ���( �1�����1(��ll�5������� ���YA�� ?3� �"�?������#��","��!���$��/)�( �12%������%����( $�� ����� U���� "����%����( � �̂� �"�$�� ����� U�� ����$1����,.����!//��������`��?����+����#��","�"� ?3������1(��ll�5������ �^��U��� YA�� !�+?3�2%������ OKc� ���&��� �^�� �IU� $+�� ����%����!�����/�1���$��/?���+����#��","$1($%�������̀ ��� 2#?3� �"�?������#��"," �̂� $+�7�� *�%����?��!�+"#�%����( ?3�� �"�?������#��"," $+����-

�����1(��ll�5�����������YA���� �̂��Og>;j�OF;gD�}=PD�{���*�������-�ED;2���yOKh�}cYVz�{�y2%������%����( z���yOKcz���yOg>;j�OF;gD�}=PDz

�yOKcz�{�U����������U�������

∴�yOKcz�{���OF;gD�����̀ ����+����#��","�$%��?��?3�2%������OKc�?��+���&�����IU� $+�

∴�yOKcÄ®¤nz�{��IU�����{��IU�OF;gD �"�$1(?3�?������#��","��!���$��/�"� 2����̀ ����+����#��","�"�

yOKh�}cYVÄ®¤nz�{�U�������������IU�������*U��������-

∴�yOKh�}cYVÄ®¤nz�{��U�����$1

?�/� ��51 ������$1(2#�"+���� ���� �k�?������#��","$�(�7���?3���+���YcKd*Y=gg=>:�>\�c:E<M9;<=>:E�QDM�dD;>:WE-� 3+����!����1���$%�� ��$�� �����U���"����%����( ���?� �"��U������$1���2�"+��7��+������ �k�?������#��","&� ��+����#��","� �"+�� �^�U����U��{�����YcKd� �^�����)�( �1���������+����+����#��","� �"+����������#��","7������"����%����( ����?� �"��������$1

�D$���4EFG5H

?�������/��4 ��#��$_�����+�����( �+��?&� ������ ���������,"$1(7�2��������/��4 ���2��7��+ ?����#��$_����$1(7� ��(�&���!// 3� ���� 3+�� ��� ��(���#��$_����?����/�� "&&� ��+����#��","�"� ?�� �k�&���� U� $+�� ��7����������+� �'(��%����!���$��/ &��7�$"�

Page 10: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

��#��"�2#7���#��$_���� ��(�&��� �^��U� $+��$�� �1� �'(� 2�� �"�?������#��","$�� �������7�+?3+ �"�$1( ��&���2�����/�� "&����!�+��2 �̂�����.5 "&��������&���."���'����� ��1�/ $1�/$� ����#�k7�

��&� � JPWLAg� 7��%���������� dQDDW9Q� ��'���#��$_����$1( ��(�&���7���+�� ��� ����`��?���+�����( �+��?&� �#//�1�������������&���,"&� ��#��$_����$1( ��(�&���2��������/��4 �+�����( �+��?� �"+������� 2# �^�������+���#��+� ��#��$_�����"� ������/�+���#��$_�����+��������/��4

dQDDW9Q�{�y��#��$_�&� ��$�� ��� �'(��1�����̀ ��z���y��#��$_����&� ��$�� ��� �'(�7�+�1�����`��z

$�� �1� �"�$1(?3�?������#��","��!���$��/��"� 2��$1(7�$%�������̀ ������� ��������7�2������m� ��3��� �+�7��1�

yV|D;9<=>:�}=PD®¨´��µ¦�¦´��¦»�z�{yV|D;9<=>:�}=PD�n°��¦´��¦»��Ťn¤¸�¨�¦³���z�t�*yV|D;9<=>:�}=PD�n°��¦´��¦»��¤¸�¨�¦³���z���y����������̀ ��z-

3+�� ?����)'��&� ����� 2#��� �1� �"�7���/��� ��$� 7�!"#�"�/� ��� ��$1� !"#� �1� �"�7���/���)'��&� �!"#�3%���# ��?���������1������$1�� ��������,.�)'�������� ��$� 7� �k�&����U� $+���+��dQDDW9Q���'����#��$_����$1( ��(�&���2#������+��U� $+��)�( ���������%����57�� �1�

�"�$1(?3�?����)'��&� !�+ ���{������$1 �"�$1(?3�?����)'��&� �'(� �� �k�&����U� $+��{���t�*���U-�{�����$1� �����dQDDW9Q���'����#��$_����$1( ��(�&����{������{��IvUu� $+�

��&�

�'��b��?������ ���#��!"#����#��$_����&� ��'(� ������ ��������� �̂���( �%����l?����a��0��#//����������������� ����� $�� �1� �'(� 2��� �'(��1������!//��'����/��4 �#//������ ����!"���2#��� ���������.2�����'���� ���#��7��+��������/��4 � �"+��������+ ,"�+������`���#//������ ����?��1&���7���+� 7�� $�� �1�?���51 �̂�,.�?3���'� "'��)'��,"����5���+� 6� $� ������ ����� ,.�)'������1�����.����� &��?2 �'(��+���%��!�#�%������������6� $��/�� &��1&�� �1�� ��_1

Page 11: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

���$��/� �7�+�" �"��������/�%���05�3�� 3'(�� �'(�?�������� "'��?3� ���#//������ ����$1( ���#����/ ��&� ��� ��+����#��","�"� /� �������� ��2�1��#��$_����1 �'(���#��","$� �5��a�����!//2%����� �k�� !�+��2�1��#��$_����!�+ �'(���#��"," "&$a�������'���MLQA=;E

����� ���#����#��$_����?� 3� �x�/�������� ���2��2#��a�������.��'��b��� �"+��� �� ��� ��a�������.�$� ����� �'(� �'(���#��/����� ���#������ 3+�� ������+� o"1(�$� �5��a������������+� o"1(�p��������'�������>MPLg=�DW�,"���$��/� �'(�$%����� ��1�/ $1�/

"89�6�':���:

�I ��2#����#��$_����&� ��'(� ������ ����7���+� 7�UI $+�����+�� ��4? ��2� "'��?3��OKh�}cYV�?��������#��$_����&� �#//������ �����I ��22��?/�� �+ ,"��#$/�+���#��$_����&� ��'(� ������ ����qI �������� ��(���#��$_����&� ��'(� ������ ����7���+� 7�uI ��� �"1(��� OKh� ?��+$1(���� �k��. &���?�� 2� �̂����� ���/��4 � eDEQ>:ED� }=PD� ��'��

}AM>9ZA�K9<vI ���7� "����U�����$%�����!�"��!��� �̂���0� ��'(� �7�," �̂�34�%����( ?��"4+��J�s�!"#�

O�)�( �%����( ?�!�+"#�"4+��1�+��OKc� �̂���GUG�����"%���/���!���$1(7��1"��05#

� ��!���$1(7�2�����7� "���34$1(����1��%����( ��.+?��"4+��J�u"����%����( ��"4+��s���"����%����( �!"#��"4+��O���"����%����(

� ��!���$1(7�2�����7� "���34$1(�U��1��%����( ��.+?��"4+��J�v"����%����( ��"4+��s�U�"����%����( �!"#��"4+��O���"����%����(

��!���!�+"#34?3� �"� $+�?� ��!���34?�1��#��$_���������+����� ��� ��1�/ $1�/?���+���YcKd���!���34? �k���+����

Page 12: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����U���

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

������1� 2�3,/4��)567(�� .�'

�����������34�%����( � �'��������������0�$1(?3��%�����/�#//������ ����� ��'���0� ��'(� � $�� �1���0� ��'(� ���� �^���0������� ����$1(�1"��05#!���+� 2����0������� ����3����. �$�(�7������7�+�1�%����( �����/�4�� * 3+���A=gDG� \>MG� g>>Q� -� ?� �����34�1��4+ ��# k���?2$1(�����������34�%����( &� � YcKd� KM>;DEE>M� )�( �1���?3� ��/��#//� �=:<D:W>G� d=g=;>:��MLQA=;E�!"#�d>:F�KgLF�d<L<=>:�$�� �1� �'(� 2�� �̂������������$1(�134�4��( ���� &��?2 +�����( $1(��� �"+���� !"#�_�/��?���������������&� �#//������ ����$�(�7��������#��/���

• �%����( �+� 6�*)�( �����_�/�������0�!�� )�/"1-

• eDZ=E<DM���'�$1(���&���."�!"#�8gLZ�!� ����#

• �#//���2������+������2%��

• �.�!//�%����( ��0� ��'(� $�� �1��#//�����������34�%����( ����� �1����2%�� �^���+� ��( ?������`��p���!���&�

�#//������ �����!"#�)�m�n!����#//� �'(� 2�� �^�&����" $1(?3��#��+� ,.���`��p���!���!"#)�m�n!���� *� �"+��!"��?�/$$1(� �-� ��+� 7��k��������������34�%����( ��7����/�"4��� ��� &1����0�!�� )�/"1$�� ��� ���#?���0�!�� )�/"12#�1����%����� YL;M>� ��'���� �� �%��!��+ ?���+������2%������BL]Dg�!$�$1(������ �� ����JWWMDEE�&� ��+������2%��

6� '�(����%�"#��&'�(����%�

34�%����( �?���+����#��","�+� 6������$�(�7�������2%��!�����"��05#���$%�� �����'���� �1��?3� ���7� �̂������.+� �1�

• ����%����( $1( �1(����/��� �"'(������&���."� *HL<L� Y>TDPD:<-� ?3��%�����/����+��!"# &1��&���."2����+������2%��

• ����%����( �����#��","$� �5��a������*/���"/��.5����-

• ����%����( ���$%�� ��$� ����#

• ����%����( ��/�4�� �'(��%���� '(��7&&� ���$%�� ���%����( ��7�� 3+��c8II}CV����2���1�?��� )� )���/� ���� ��2�1����%����( �'(�6� ��'�34�%����( $1($%������$1(�� a0

�'(�6�$�� �1�2#!���+� ���7������ ���� !"#������!//&� ,.���̀ ��?������#��","!�+"#�%����( ����� ��+����#��","�"� 2#�1&������?����� �%����( 2��

��+������2%�� &���.+��+����#��","�"� � 2������2� $%�������#��","�+�7�*���"# �1� ��(� ���.?�/$$1(�u�!"#�v-�$�� �1��%����( $1(2#�.�� &��������2#�.��%������eDZ=E<DM��� a0)�( �1���+�

Page 13: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

KM>ZMLP� O>9:<DM� *KO-� ��'�� �� )� )���/� �����22# �1��� eDZ=E<DM� �� a0�1��+�� c:E<M9;<=>:�K>=:<DM�*cK-�� ����"��05#�� a0&� �%����( ��/�4��'�����������/ �"1(���KO�?��31�7��� �%����( �'(��)�( ��7� �̂��%����( $1(�����7� 3+�

]Df �E�G�E�G<DE<LWW �<�G�E�G�EU

<DE<R E9] �<�G�E�G�EU

�%����( �]Df� �^��%����( ��/�4�)�( 2#$%����� ��1�/ $1�/�+����?��eDZ=E<DM��E��!"#��E���� $+����2#7�$%�� ��$1(�%����( � E9]�!"#����7�+ $+����2#$%�� ��$1(�%����( � LWW�)�( �̂��%����( ��7�$1(�����

��� &1����!�������%����( �+� 6� ?���0�!�� )�/"1 �'(���( ?�� ��'(� ������ ����$%�� ������!�+"#�%����( 2#��#��/����#����%����( �*�Q;>WD-�!"#�����x�/�������*�QDML:WE-����Q;>WD� 2#/���� �%����( $1(��� ���$%��� !"#� ����x�/������/���� ��+������2%����'�� eDZ=E<DM� $1(?3�?����$%�� ���%����( ����6� 3+�

LWW �E�G�E�G�EUL:W �<�G�E�G�E�

LWW� !"#� L:W� ���� �̂�� �Q;>WD� $1(/��?��$��/�+��%����( $1(��� ���$%�� ���'�� LWW� !"#�����L:W����E�G�E�G�EUG�<�� �̂���QDML:W�$1(/��?��$��/�+��?���%���+�?��eDZ=E<DM��E��!"#�EU����/�����!"�� �k/7��$1(��E�� �̂����

34�%����( /�� YcKd� ����� �����#��","$� �5��a������+� 6� 2#�1� �QDML:W� �̂��eDZ=E<DM� $+������ ���QDML:W����!��2#?3�/���eDZ=E<DM�$1(?3� �k/,""��_��!"#��QDML:W������1��U����2#?3�/����QDML:W�$1( ��̂������ � 3+�

LWW �E�G�E�G�EU�1���������'��E��{��E�t�EU

� ������51$1(��`��)�m�n!��������0�3����. !"���1�����#��a��'�?3����!���+� 6�O>PQ=gDM���'����!�"��0�2#$%������JEE>;=L<D����!�"�+� 6���/�eDZ=E<DM

Page 14: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����q���

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

3+���0��O J�{�s�t�O�t�H�

V�{�8���J�

YcKd�O�HV LWW� �<�G��E�G��EULWW� �E�G��<�G��E�E9] �EuG��EuG��E�

�̂���� �'(� 2��� YcKd� �1�� )� )���?�� ��?3� �1� � �U� ��� $+������ �������?�)�m�n!���$1( ��

��`��2%�� �̂���� �1������ �� ���!�"�����+�� �U� ���� &���." �"+�����2#��� �.�2� �k/7��?���+������2%���!"#�1����+���+�&����� �'(���#��","� �'(� ��k2����!"���k/��$���"�/7��� ��+������2%�� 3+� ��� !"#�����+������2%���� 7�+�� �1� $1(2# �k/&���."� �"+��� ��22#��� /��$��&���." �"+�����" ?��c����+� 6� 3+��CLMW�H=Ej� �̂����

���I�'���6�� �� ��I(����A3E1-J�K-LG*0MG,01*

��+������2%������ �̂� ��'����/� JMMLF� �� ����&��?�l+� )�( 2#��� �� ���� JWWMDEE�%�����/�YcKd�2#?3�� JWWMDEE� ?������� �� ��+������2%��� �U�]=<� )�( ���������+��YcKd� 2#�1��+������2%��7�$�� ����� U���sF<D���'��q��=ZL]F<D� ?������� �� �� ��+������2%��������22# �̂������� �� ���� "#� �� sF<D� *sF<D� JWWMDEE=:Z-� ��'���� �� ���� "#� U� sF<D� *CLg\� �>MW�JWWMDEE=:Z-� ��'���22#��� �� ���� "#� q� sF<D� ��̂� �>MW� JWWMDEE=:Z� �k7�� $�� �1�&�����.+��/�.�!//�%����( !�+"#�%����( �$�� �1�&������#�� ?������� �� !//��>MW�!"#�CLg\��>MW�JWWMDEE=:Z��'���#//�s=Z�c:W=L:�!"#�B=<<gD�c:W=L:�)�( 2#!���+� ���7������ ���� &� �OKh�!�+"#����� �����+� !� ���2� �k/&���."��J�s�O�HA���'����v�q�v�q��" ?���+������2%��

�JA �sA �OA �HAJWWMDEE �� �� �U ��

�#//�s=Z�c:W=L:

Page 15: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����u���

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

�HA �OA �sA �JAJWWMDEE �� �� �U ��

�#//�B=<<gD�c:W=L:

$�� �1��OKh�YcKd�)�( �"+���� ?�/$ �1��2#�1�� ���� !//�s=Z�c:W=L:�?�&5#$1(�OKhc:<Dg���#�."�|�v�$1(�/$�(�7������2#?3��#//�B=<<gD�c:W=L:�� ����?������̀ ��)�m�n!���2� ���?3������#���#��

������������6�� �� ��I(����4FF-3++0*L�A1F3

������ �� ��+������2%��/�� YcKd� ����2#?3��#//� sLED� JWWMDEE=:Z� ������� �� �%��!��+ �.+��/�eDZ=E<DM� 3+��U�*�E�-�2#�%���+�?��eDZ=E<DM��E����/����/�U���+��2� 2#?3���� �� �%��!��+ �JWWMDEE� 3+�

g� �<�G��U*�EU-���&���."?��eDZ=E<DM�$1(��EU� �̂�������%����( � �"+��2#�%��&���."?��%��!��+ $1(���U���

�k/7��?��eDZ=E<DM��<����2���1��� �1������ �� !//� cPPDW=L<D� �'(��%��&���." �"+�����7�?3�$��$1(7�+2%�� �̂����

��� �� &���."2����+������2%��� 3+�LWW �<UG�E�Gq�1���������+��<U�{��E��t�q/��#//�� )� )����'(�6� ��2�1������ �� �%��!��+ ��+������2%��$1()�/)��������+��1��

3+���#//�sLED� c:WD|�JWWMDEE=:Z���'��#//�sLED� c:WD|�H=EQgL;DPD:<�)�( ��������� �� &���."?���+������2%��7��"���"���.�!//

�N�"�(����%��)*+,-./,01*�O1-EG,

�%����( ��0�!�� )�/"1$4��%����( 2#�.�!�" �^���0� ��'(� ����!�" �^���0� ��'(� �1�� ����1�.�!//���!�" $1( �^�!//!,�� )�( ��2# �1���.�!//$1(!�" 7��+� 6� �"+��1��+��c:E<M9;<=>:�8>MPL<� �'(� 2����0� ��'(� ����2#��/����s=<�KL<<DM:� �1� ���!"#��� $+�������.�!//�%����( $1(!�"2����0�!�� )�/"1 �^���0� ��'(� 2� ?3����!/+ � ]=<� ��� �^�3+� 6� !"���%������������?���]=<��+� 6���51&� �YcKd�������%����( $4��%����( 2#�1���������U�]=<E� $+������� *�� )� )���/� ���2#�1�%����( $1(�1���������� !�+� ����� ]F<D-� �1�.�!//�%����( $�� ����� �� �.�!// $+�������'��!//�eGc�!"#�@��!�+"#�.�!//2#�1����1�����+� ���7�����.�!//�%����(

Page 16: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����v���

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

Byte Halfword Word

Registers

Memory

Memory

Word

Memory

Word

Register

Register

1. Immediate addressing

2. Register addressing

3. Base addressing

4. PC-relative addressing

5. Pseudodirect addressing

op rs rt

op rs rt

op rs rt

op

op

rs rt

Address

Address

Address

rd . . . funct

Immediate

PC

PC

+

+

�����+� 3+����!�"�%����( �LWW��<�G�E�Gq

������ ����� ����� ����������������v�]=< u�]=< u�]=< �v�]=<

�Q;>WD eE e< �9P]DM

$�� �1�!�+"#�%����( !�+"#�eDZ=E<DM� 2#�.���� �� �������?&�����.+��/,.����!//!�+"#���2#�%����� *.���"# �1� ��(� ���7�2���.+�'��� ���� 34�%����( &� !�+"# ��'(� -� 3+��%����( � JWW���2!$����� ������� �%����( � E9]� ��2!$����� ������� �^����� ��"�� �5��?�����%���������+� 6������&�����.+��/!��$� ?�������!//� 2� �'(��1�����%����(

��&�

�����������34�%����( ����� �^�����b��$1(?3��'(��#��+� �����`��p���!���!"#)�m�n!��������)�/)���&� �%����( ����� �̂� �1� ��22�����( ?�������!// $+������$�� �1������%����( �1����)�/)������&������22#�+ ,"?���%����( ?��������6�?3��OKc����&����!"#�� 2�$1(�1&��?�l+$%��?��� 2�� �"+��7�+������?3�� Og>;j� eL<D� $1(�1�����1(�. � $�� �1���224/���� 7�+�1����b��??�����%�����+������������34�%����( ����1��+������������34�%����( �'(�6���'�7�+

Page 17: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

"89�6�':���:

�I �����������34�%����( �'��#7�� �1��( ?$1(��� �"+���� /�� � !"# �^���#�3��?������`��)�m�n!����!"#�p���!�����'�7�+���+� 7�

UI �Q;>WD�!"#��QDML:W��'��#7�

�I ����#//������ �����1������ �� ��+������2%���?3�� JWWMDEE�$�� ����� �U� ]=<� 2#��������� �� &���."!//��>MW�JWWMDEE�7�$�� �����1(��>MWI

qI �#//�s=Z�c:W=L:�!"#�B=<<gD�c:W=L:��1&��!���+� �����+� 7�

uI ���$1(��+����#��","�1�#//������ �� ��+������2%���"���"���.�!//� �^���#�3����'�7�+���+� 7�

vI ���$1(�c:E<M9;<=>:�8>MPL<�$4��.�!//�1��������%����( $+��������1&��1&�� �1���+� 7��I ��0�!�� )�/"1!"#�����������34�%����( �1&�� ��'����'�&��!���+� �����'�7�+���+� 7�

Page 18: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

������8�9�0*/���)*:;:�',��4�<:�(=!,> ,�-

������� ��+����#��","$� ����#!"#�5��a����� �'(�?3�?���+����#��","&�����/��G��v�/�����'���U�/���!//�'��b���������a���"��������� �JBh�&�����/���!"���%�����+��+� ���2�7�&��$1(��� ���� $�� �1�����������&� � JBh� 2#��� �1� ��$1(2#�� ��/���$%�� ��&� �����������34�%����( $1(2#�%��� JBh� � �"+��7�?3�?��#//��#��","� ��( $1(��� �%���� �� ?�������� � 2�$� �5��a������'�� �#//2%�����$1(2#?3�?������#��","� !"# '(��7&����%����5�+� 6� ����� ������� � 2�����#!// 3� ,��� *O>P]=:L<=>:Lg� B>Z=;-� ���?�/$�1�2#�"+���� �#//2%������ ���!$��+� "&�+� 6� ���?�� OKh� ���!$�2%����� �k�� ���!$� "&$a����� ���/���"/�!"#�����.5 "& /'�� ���

��I(��� ��"#����� �#

���!$��+��+� 6����?���+����#��","�����2#��#��/&���2��/�����'�� "&� ��!"#��� $+������ )�( �$�� 7� ������4�� ����/�#// "&b��� U� 3+�� ������ �1�+� �^�� UU��� ��'�� �u��� �1�+� $+���/��������+� 7��k��������� ���#��. ��2#�/�+����!$��+�� �"+���7�+������?3�/�� "&2%����� �k�"/���?���+����#��","7�� ���#?���+����#��","2#��#��/���� �� !"#� �� $+������ 7�+�1 ��'(� ����� N�N� �#//2%�����?�$1(�1�2� �4+ ���$1(���!$�&���."2%����� �k�/��!"#"/����?���+����#��","�"�

��_1���$1( +��$1(�4?����!$�2%����� �k�/��!"#"/���?���+����#��","�"� �'������%����/�� ��'(� �������'��#//�d=Z:�YLZ:=<9WD� 3+�������!$� "&�q�!"#������!$���q*?3�/��)����'��4!$� ��'(� ����� �� !$� ��'(� ����/��� !"#� �� !$� ��'(� ����"/-� !���+��#//� d=Z:� YLZ:=<9WD� 2#������?3�!$�2%�����/��!"#"/7��k���� !�+�k�1&�� �1�?�l+$1(7�+�������%���+�$1(�� ��'(� �����+� �����/��"/���7�� 3+�

d=Z:�YLZ:=<9WD "&b����������t������{����� *��-�t�*�-�{��U

2����l��� �"+��2� �1,.�������#//��:D�O>PQg=PD:<�&���� �'(�!����l�����/�� "&$1(�1 ��'(� �����+� ��������!$�2%�����"/�������c:TDM<�]=<�$4�/��� 3+��������1�+� �̂����2#?3�������!$��+��������$"� �%�� "&$1(�1 ��'(� �����+� �����/������2#7�,""��_�� �1�

Page 19: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

�:D�O>PQg=PD:< "&b����������t������{����� *��-�t�*�-�{��q

���2���1����/�� "&?��#//� �:D� O>PQg=PD:<� �� �1 '(��7& ��(� ����'�� ��51$1(���/���1���$ ��&���� ?���%�����$$1(7���/���"�/?��"����+��� )�( �� �1�����/��/��#//� �:D�O>PQg=PD:<�?�"��05#�1��+���:D�O>PQg=PD:<�OLMMF�JWW�JM>9:W� 3+�

�:D�O>PQg=PD:< "&b����������t������{������

/�����$����t�����{�����

*�q-�t�*��-�{��u

����� ���#�����/�� "&?��#//��:D�O>PQg=PD:<������2#�/�+��1�����#���#/��!"# ���#��?�������� �̂�� 2������+��#//�d=Z:�YLZ:=<9WD�!�+���/��)�( 2#��� ���� � 2�/��$1( �̂��OLMMF�JWW�JM>9:W������k�� � )�/)���!"#$%��?��� 2�$%�� ��7�3���!"# ���� �/�1��+�������!"#������2#!$��+�����!"#�t��)�( �1�+� $+�������� �̂��������� �"'� !"#)%���)���&� �#//2%�����

��� '(��7&����4+ ���&� �#//� �:D� O>PQg=PD:<� � �"+��$%��?���1,.����!�" �#//2%�����?��������$%�����/��7� +����( &���� !"#� 7�+�1���!$��+�)%���)���� �����%��2%�����"/?��#//��:D�O>PQg=PD:<�$4�2%�������/��������)�( "��_�$1(7��'��#//�}�>�O>PQg=PD:<� 3+���U�?��#//��:D�O>PQg=PD:<�2#!$���������� �'(�?3� �̂��#//�}�>�O>PQg=PD:<�2#!$���������� �^����� ���2���1����/��2%�����?��#//� }�>� O>PQg=PD:<� ����� �� $%��7��#�� ��'�����/���������� 3+�

}�>�O>PQg=PD:< "&b����������t�����{������

"#���$����

*�v-�t�*��-{���

?���224/����+����#��","�"� $1(�/2� ���?3����!$�2%����� �k����� �#//� }�>O>PQg=PD:<� ���#�����#��?�������� � 2���#��","

Page 20: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U����

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

?����@ ��A��B�A�� ��� C���D�EFG�E�� H���D�EFG�E��

����*�-����*�-����*U-����*�-����*q-����*u-����*v-����*�-

����*�-����*U-����*�-����*�-����*��-����*��-����*�U-����*��-

����*�-����*U-����*�-����*�-����*��-����*��-����*�U-����*��-

����*�-����*U-����*�-����*�-����*��-����*�U-����*��-����*�q-

���� ��1�/!$/�#//2%������+� 6�&�����]=<��&���� ����#//$1(�1���!� ��'(� ����$4��#//2#?3��]=<�)����'��4?����!�

��'(� ���� �����/��#//�}�>�O>PQg=PD:<��������51��� ��(�/��&� ���!� ,"&���."��'������"��

��'(� ����7��� /����7�� 3+������ �̂� "&���/���$1(!� �+��t��!"��������2# �̂� "&�q�/���$1(!� �+��t�� 3+�������'������ �̂� "&���/���$1(!� �+�����!"#������ �̂� "&�q�/���$1(!� �+����� 3+������ ���� ��������$%���E=Z:�D|<D:W�7��&���."�� � �+� ��

KP3-QH1R������ I��"#�7#���:

����� ���#//2%������+� 6�$1(?3�?��#//������ ����2#�/�+��$4��#//2%�����2#!$�&���."7��������&�����.+��/��22�����( �'��2%�����/��$1(?3� �k/� 3+���#//�}�>�O>PQg=PD:<�&����� ]=<� 2#!$�2%�����7���� !�+� �q� �� � t�� )�( ��7�+������!$�&���."� tu� " ?��#//� }�>�O>PQg=PD:<� &��� �� ]=<� 7�� �� �1�����!$�&���."$1( �������������&� �#//2%�����$1(?3��+���TDM\g>�

��� ��� �TDM\g>�� ���� �^�7�7�$4��#//2%����� �'(�2%������"��$1(?3�7�+ �1� ��?����!$��+�$1(7�����2���1���TDM\g>����2 ��&���7�2�����/��"/2%������ 3+�

}�>�O>PQg=PD:< "&b����������t�����{����� ��t�U�{�*��-

Page 21: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U����

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

2�������+� � �"+��2#�/�+�� ����� *�-� /����/� ����*�-� ���2#7��%����/ �̂�� �� !�+����������/��#//�}�>�O>PQg=PD:<��1�+� �^�� ���)�( �%����/$1(7�,��"�7��"��05# 3+��1�� �k �1���+���TDM\g>�� 3+����

,"��#$/2����� ����TDM\g>�� ?����/����'�"/2%������+� 6� ����� $%��?�������#��","$1(7�,��"�� � ����?�������!//��+����#��","�"� 2� ��� �1������2��/� �TDM\g>�2�������#��","�%����( �+� 6� !"#� �'��?����!���$��/� �'(��r� �������,��"�2�������#��","� $�� �1���� ��� �TDM\g>�� ��2�+ ,"��#$/�+��%����( ��# �$� @9PQ� ��'�� sML:;A� 7� ���#����@9PQ���'��sML:;A�!//�1 '(��7&���������a����� ��1�/ $1�/2%������ 3+��sML:;A�c\�J�BDEE�}AL:�s�2#�%���J���"/��/�s�!"�����2��/ ��'(� �����)�( ���7�+�� ���#���+����"/��������1��TDM\g>�� ��&�����'�7�+���2$%��?����!���$%�� ��,��"�7�

������2��/��TDM\g>�� �%�����/���/�� "&b���� ������������ ������$%��7������.���$�!"#��%�����/���/���#//2%������}�>�O>PQg=PD:<�$%��7��������2��/ ��'(� �����)�( '(��7&��� ����TDM\g>������� �̂�7�� �1�

• �TDM\g>�� 2�����/��� 2%����� �k�/��� ���� 2%����� �k�/��� !"��7�,""��_� �̂�2%����� �k�"/

• �TDM\g>��2�����/���2%����� �k�"/�����2%����� �k�"/�!"��7�,""��_� �^�2%����� �k�/��

• �TDM\g>�� 2�����"/� 2%����� �k�/��� ���� 2%����� �k�"/� !"��7�,""��_� �^��2%����� �k�"/

• �TDM\g>�� 2�����"/� 2%����� �k�"/� ���� 2%����� �k�/��� !"��7�,""��_� �^��2%����� �k�/��

� ����?�������!//� JBh� $1(�"��$1(�1����#�%����l���$1(�4� *)����'��4-� 2� ��� �1������2��/��TDM\g>��*$�� �1� �'(� 2�� ��'(� ����!� $1(/��)����'��4-

4S?��4-0,5E3,0/�S1L0/�?*0,

������� � JBh� &��� �� /������� ��2$%��7����a���'��b��2��������� � 2�����# 3� ,��$�(�7�� *O>P]=:L<=>:Lg� B>Z=;-� ���� &1������ !� �+����� �̂�2�� � *}M9<A� }L]gD-!"#�?3��[�YJK�?������,"���&� ����.5�*d9P�>\�KM>W9;<-�� �����+� �+�7��1�

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

Page 22: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����UU���

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

ALU

Op1

Op0

A

BS

�Q>���@ R d�� R J�J:W�s�� R J��M�s�� R �J�J:W���s�� R J�~>M�s

<�*�'������IJ��E�G�K���A�L������!//

�Q���Q�J�s d��������������������������������������������������������

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

��������

��

Page 23: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U����

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

$%������ �[�YJK�!"#��,""��_�

�Q�G�Q����J�s �� �� �� ���� � � � �

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

2�������+� � �"+��2#�/�+�� 2�$1(7�2#�1�����$1(�+��&�� )�/)���

<�*�'������IB�G �FG�M��LA B Op1 Op0

S

2�����2#�/�+�� 2�� �"+��� ������$%�� ��7� ��'����/� 2�$1(7�2��m� ��3��?�!��$� ������!//$1(� �� !�+���������!//7� +����+�� �������!//� 2�$1(������$%�� ��7����m� ��3��$1(�#//��������+��� 3+��J�J:W�sG�J��M�sG��J�J:W��s�!"#�J�~>M�s�2�������2� ?3�� �Qy�I�z� ��$%����� "'��,""��_�$1(��� ���� �'(�� �Qy�I�z� �̂�� ��� ,""��_�$1(� d� 2# �̂�� ,""��_�2��� J� J:W� s� )�( ��2# �1��� 2�$1($%����� "'�������ll�5,+���1��+�� B=:D� dDgD;<>M� ��'�Y9g<=QgD|>M����� � �����"������1�� ������������ �JBh� 7��#�����&���� *�"������1���������#�4���7���/������� � 2�����#$�(�7�-

��+� 7��k����JBh�$1(?3� ��������� �̂�2�� ��������2#�1� 2�/�� "&���'��89gg�JWWDM)�( �1����+ ,+�����$�� ����*OLMMF�c:�!"#�OLMMF��9<-�$%��?��������� �JBh�$1(������/�� "&7������1�����ll�5���&����� ���!� �JBh���s=<�$1(�/?��OKh�YcKd

Page 24: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����Uq���

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

0

2

Result

Operation

a

1

CarryIn

CarryOut

0

1

Binvert

b

��51���"/����� ��������?3����/��!$����"/7�� !�+���� � 2��%�����/���$%��O>PQg=PD:<�&�����!$�� 3+�����U��1�������� $+���/���t*�U-� �^�����$�� �1�?�/� ��51���2�1������� � 2�$1($%������$1("/��� �'(�?3� �����?�� OKh� �k7�� �7�+2%�� �̂���� $%����� �"1(�� ��'(� �����+���!�+2#7�+&��"+���� ?�$1(�1�

?�������� �JBh�$1(�1&��?�l+���&����������2$%��7������%���JBh�&�����s=<����+��+� ����� !� ?������2#��� $%�����"�������ll�5�%����( �� ����!"#�� �OLMMF��9<� &����/�OLMMF� c:� &� ��"����7�� ?���51$1( �̂��"���4$�������� 2#��� �1��� ��(� ���� 2��%�����/������2��/��TDM\g>�� &��7�r��

Page 25: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����Uu���

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

Seta31

0

ALU0 Result0

CarryIn

a0

Result1a1

0

Result2a2

0

Operation

b31

b0

b1

b2

Result31

Overflow

Binvert

CarryIn

Less

CarryIn

CarryOut

ALU1Less

CarryIn

CarryOut

ALU2Less

CarryIn

CarryOut

ALU31Less

CarryIn

2���'��b�������.�?� �'(� ������� 2�!//����#� $%��?�� ��$��/�+�� ��#�.����#*B>Z=;� �L<D-� �+� �k�1 �"���+� ?������#��","� *�L<D� HDgLF-� $�� �1� �"���+� ����&�����.+��/�2%���������4$�����%����?����L<D�$4�����1�HDgLF� �̂����:EG�Y9g<=QgD|>M��1��L<D�HDgLF� �̂�U�:E�!"#�89gg�JWWDM��1��L<D�HDgLF� �̂��q�:E� �'(��� ���#�� $1�/��/� 2��+�7��1�� ��2#�/�+��JBh� &��� �� /���1�2#��� ?3� �"�?������#��"," �^�� q�:E� ��51�����#��","�%����( � J:WG�M�!"#�2#?3� �"�����:E�?������#��","���/��)�( �1�:><�����!�+?���� ��1�/ $1�/ �"������ ��2#��� "'�� �"�$1(���$1(�4�*OM=<=;Lg�KL<A-���'�� "'��$� $1(?3� �"����$1(�4����� �̂� �"�?����$%�� ��&� � 2�� $�� �1� �'(�?��� 2���#��","$4�m� ��3��7��.���� � � ����?�$1(�1� ��2� �"+���+�JBh���/�������+� ?3� �"�?����$%�� �����:E

Page 26: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����Uv���

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

0

2

Result

Operation

a

1

CarryIn

CarryOut

0

1

Binvert

b

�'(��1����%��� JBh� �� /��� ���+��+� ��� �'(�?�� ��� JBh� &��?�l+� �k2#$%��?�� �"����$%�� ��&� � JBh� ���� ��(����&���7�r��� � ����2��#��57��+�����%��� JBh� � �"+�����+��+� ���� �U� /��� 2#?3� �"�?����$%�� ����#��5� ����U� ��'�� Uuv�:E� )�( 2#�+ ,"�+���ll�5������$1(?3���/��+����#��","$1(�1� JBh� ����1� �^��+����#��/���� 3+�� ���� JBh� ?3� �"�?����$%�� �� �̂�� Uuv�:E� ���������+�� OF;gD� &� ��+����#��","�1�2#��� �1�+���+� ���� �̂��Uuv�:E���'���1�Og>;j�eL<D���+� ��� �̂����Uuv�:E�{��I��II�YA�

?�$� ���/���2� �1������� � 2�/��$1()�/)�����( &��� ��(�?�� �"�?���������$2���"���+��������������" � 3+�� 2�� OLMMF� B>>j� JADLW� JWWDM� )�( 2#7�+&��"+���� ?�$1(�1�� $�� �1����,.� �1����?2������������� ��(� ���7�2����� �'��O>PQ9<DM�JM=<APD<=;�$�(�7�

����NT�"#�� �I��NT

����.5 "&������2$%��7�������".�/����'�������� � 2� �'(�$%������$1(?�����.5� o��#� $�� �1�?�$1(2#&��"+���� �1� ����.5 "&2%����� �k�/�� $+����������� ���a��0��#//����.5$1()�/)���!"#�� �k�?���������2����� �'�� O>PQ9<DM� JM=<APD<=;� �����.5?�$1(�1�2#��a���'��b��2������.5 "&$1( �1������� !�+3�����#��� 3+�

�������

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

��:E

U�:E

��:E

��:E

q�:E

U�:E

Page 27: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U����

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

$�� ?���� ���+�����.5 "&b���� &��� �� /�������%����/$1(7�2# �̂� "&b���� &��� v�/���*?�$%���� 1����/����.5 "&b������ 3+�����U���%����/$1(7��'���q���2# �k��+��%���"��&� �%����/��2 ��(�&���7��� � U� $+�-� � ����� �'(��1������� � 2� �'(�$%������.52� ��� ��1��$1(�%�����/ �k/,""��_�7��� U� $+� ���� ?���+����#��","�"� $�(�7�� ����?3� �2�� ����� U� ���?���� �k/,""��_�$1(7�2������.5,.*&/0'*'N�4�(O=<�������

Done

1. TestıMultiplier0

1a. Add multiplicand to product andıplace the result in Product register

2. Shift the Multiplicand register left 1 bit

3. Shift the Multiplier register right 1 bit

32nd repetition?

Start

Multiplier0 = 0Multiplier0 = 1

No: < 32 repetitions

Yes: 32 repetitions

64-bit ALU

Control test

MultiplierShift right

ProductWrite

MultiplicandShift left

64 bits

64 bits

32 bits

Page 28: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U����

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

��51��� ����%���������������,""��_�$1(7�2# �̂�� �1�;::.$"-�IPQ� L ,.*,.R'�IPQ� L�ST ,.*(O=�I8Q� L�TU

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

��(���������?���� ��$1(�/�����&� ����.5���� �̂����?���%��,""��_���/����/������ �!"# �k/7��$1(,""��_��2������$%������EA=\<� gD\<������� �!"#�EA=\<�M=ZA<�����.5���51$1(�/����� �̂����?��$%�����EA=\<�$��$1�$%�� 3+��1�7� �'(��2���/2%�����/���*��51�OKh� �^�!//�q�/����k?��$%���q����� -

$�� �1�� 2��.52#��� �1���$%�� �� �̂��d<L<D�YL;A=:D� ���a��� 2���/�4����� $%�� ���"���OF;gD���+� 7��k���&�� �1�&� � 2��.5?�"��05#�1��'�2#��� ?3�� �2�� ����$1(�1&�� �̂��U $+�&� 2%�����/��?��OKh��� �U�����!"#���� ?3��JBh�$1(��#��","7�2%�����/�� �^��U� $+� 3+�����2� �1,.��!�" � 2��.5� �"+��?����#$��������( &���,.*&/0'*'N�4�(O=<�������

��51��� ����%���������������,""��_�$1(7�2# �̂�� �1�;::.$"-�IPQ� L�TU ,.*(O=�I8Q� L�TU

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

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

�������� ���� ��(����?��.$1(/�����&� ����.5���� �̂����?���%������( /�&� ,""��_�/����/������ �2������

$%������dA=\<�e=ZA<�����.5!"#,""��_��/�����&� ����.5 �̂����?��$%������dA=\<�7�$��$1�$%�� 3+��1�7� �'(��2���+�2#��/2%�����/��$�� ���* 3+���51�����+� �̂��OKh�q�/��-

Page 29: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����U����

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

Done

1. TestıMultiplier0

1a. Add multiplicand to the left half ofıthe product and place the result inıthe left half of the Product register

2. Shift the Product register right 1 bit

3. Shift the Multiplier register right 1 bit

32nd repetition?

Start

Multiplier0 = 0Multiplier0 = 1

No: < 32 repetitions

Yes: 32 repetitions

MultiplierShift right

Write

32 bits

64 bits

32 bits

Shift right

Multiplicand

32-bit ALU

Product Control test

2���� ���� ?�"��05#� �"+��2#�/�+�� 2��.5?�"��05#�1�2#?3�$�������������+�!//!���!"#?3�� JBh�$1(�1&�� $+���/2%�����/��&� �OKh���+� 7��k���7��1,.�������!�" � 2��.5"��05#�1�?���1&�� "k�" 7��1�� � !� ?�� 2��.5!//$1(� �� )�( �̂�� 2��.5$1(?3�2%�����dA=\<�eDZ=E<DM�����$1(�4

Page 30: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

,.*&/0'*'N�4�(O=<�������

Done

1. TestıProduct0

1a. Add multiplicand to the left half ofıthe product and place the result inıthe left half of the Product register

2. Shift the Product register right 1 bit

32nd repetition?

Start

Product0 = 0Product0 = 1

No: < 32 repetitions

Yes: 32 repetitions

ControlıtestWrite

32 bits

64 bits

Shift rightProduct

Multiplicand

32-bit ALU

� 2��.5?�"��05#�1�2#�%������.5�� �k/7��$1(,""��_�3+��?����#����dA=\<�eDZ=E<DM�7��1���� ���� �1&�� "k�!"#?3�$�����������" 7��1�� $�� �1��"�����$%�� ��$4���+� �� � ��'����/� 2��.5!//$1(�U��'������ ��$1(/������+� �̂������'������� �̂����?��$%�����/���/�����( /���/������ �!"��2� $%������dA=\<�e=ZA<���� �̂����?��$%������dA=\<�e=ZA<�7�$��$1

Page 31: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

3+����51��� ����%���������������,""��_�$1(7�2# �̂�� �1�;::.$"-IPQ� L�TU

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

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

��������

��+� 7��k1� 7��1������!//!"#��̀ ��� 2��.5$1(�1���� �k������+��1�&����1� �̂�2%��������� $�� �1�� 2��.52#$%�� ��7��� �k�������� �1� ?&�����/������!//� !"#� JgZ>M=<AP� ?������̀ ��&� ,.������

���#$:U����

���!$��+� "&$a��������� ��2$%��7� ��'����/���/��"/2%����� �k�����!"����/�%��!��+ 24$a����� 3+���IUu�t���Iu����2$%��7�����/����Uut��u��)�( 7�,""��_� �̂�����u�2������2� $%����� ���24$a�����U��%��!��+ �"� ���!� ," �̂����I�u�*�#//� �"+������?3�?�����%����52%����� ��/� ��'(� �YL=:�8MLPD���'��#//������ �����4�!���)�( �� �1�����!$��+� "&$a����?�"��05#�1��+��KL;j�HD;=PLg-

$�� �1����!$��+�$a����� �"+��7�+ ���#��/����%����5$� �5��a�������'���$��a�����$1(��� ���?���1����%����5$1(�1����%����l�. � � ����2� �1����%�����!$� "&$a����?�"��05#� d;=D:<=\=;� YD<A>W� ��?3���/���!$��+�$a����?��#//������ ����� ���� �k/�+��!"#� "&31��%��"� !��2������ 3+�� ��u��I�U�qu� �'(���� �� �̂��#//� d;=D:<=\=;� 2# �k/ �̂���I�u���U�qu������� �̂����

!����� �"+���.��%����?3�?����!$��+� "&$a����/��#//������ ����)�( ����b��$1(����?3��'��cVVV�uq�)�( �%������������cVVV�����b��� �"+�������!/+ ���!$� "&$a����

Page 32: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����U���

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

/��#//������ ���� �̂��U��.�!//�'��d=:ZgD�KMD;=E=>:�!"#�H>9]gD�KMD;=E=>:�)�( 2#�1����"# �1�?���� �k/&���."�+� ���

• E=:ZgD�QMD;=E=>:R����]=<�D|Q>:D:<G�U��]=<�E=Z:=\=;L:<

• W>9]gD�QMD;=E=>:R�����]=<�D|Q>:D:<G�uU�]=<�E=Z:=\=;L:<

��1�"��?�������'��*��-VLJQ���*�t��Id=Z:=\=;L:<-���UH[SRQHQW�ELDV���%����?��/��

)����'��4 �̂�� /�� ��'(� ����� ]=LE� �1�+� �^�� �U�� !"#� ��U�� �%�����/� E=:ZgD� !"#� W>9]gD�QMD;=E=>:����"%���/

3+����� ��� �k/ "&���I�u "&b���U�2#�1�+� �̂����I�����'����I���U��

�+��D|Q>:D:<� $1�/��/�s=LE��'���Uv���'���������� &1�� �̂��cVVV�uq�!//�d=:ZgD�QMD;=E=>:�7��+�������������������������������

*��-����*�t��I�-���U�������

?���+����#��","�"� �"������ ����1� 2��� a0$1(�1����������?������#��"," "&$a�����������b���cVVV�uq���'��8g>L<=:Z�K>=:<�h:=<� 3+��YL<;A�O>QM>;DEE>M� �̂����

��&�

JBh�����$%������?������#��","$� �5��a�����!"#����#�)�( m� ��3��&� �JBh�����2#��� �� ��/�����������34�%����( &� �#//������ ��������6� ������!//� JBh� 2#��� ��a������ &��?2?��#//2%�����$1(?3�� ���!$��+�&� �#//� !"#�'��b��������!//� 2�����#$�(�7��$�� �1�,.����!//��� �%���� �� ��#��$_����&� �JBh� �^��"��� ���#����JBh�$%�� ��3��2#$%��?����+����#��","�"� $%�� ��3��

Page 33: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

"89�6�':���:

�I�2 ���+�&� 2%������+�7��1�?��#//�s=:LMFG�d=Z:�YLZ:=<9WDG��:D�O>PQg=PD:<�!"#� }�>�O>PQg=PD:<

• ��������

• ��������

• ��������

• ��������UI�2 !� ����%����5�+�7��1��?��#//���!$�2%����� �k�!//��:D�O>PQg=PD:<

• ���������t���������

• ���������t����������I�2 !� ����%����5�+�7��1��?��#//���!$�2%����� �k�!//�}�>�O>PQg=PD:<

• ���������t���������

• ���������t���������qI�2 �_�/�� '(��7&?���� ����TDM\g>��2�����/�� "&�U�2%������ �'(� �̂�!��$� ?�������� � 2�uI��#//�d=Z:�YLZ:=<9WDG��:D�O>PQg=PD:<�!"#�}�>�O>PQg=PD:<��1&��1&�� �1���+� 7��2 �_�/��vI�2 !� ������!//�JBh�&�����/������a���Y9g<=QgD|>M�)�( �1"��05#� �+�7��1�

�Q>����@

d��� ���� �><�J��� J��M�s��� J�J:W�s��� J�~>M�s��� J��� J�ts��� �

*?��?3�� 2��89gg�JWWDM�?����/��-

Page 34: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����q���

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

�I�����Y9g<=QgD|>M��1��L<D�HDgLF� �̂����:E�!"#��L<D��'(��1��L<D�HDgLF� �̂��u:E� �'(��%��,""��_�$1(7�2��������!//� JBh� ?�&��� v� ���+� �̂�� JBh� &��� �U� ]=<� !"��� JBh� � �"+��2#$%�� ��7���/��+����#��","�"� $1(�1�Og>;j�eL<D���+� ��� $+�?�I�2 !� ������!//� 2��%�����/���2��/ '(��7&��� ����TDM\g>��I� ���� JBh� &� $+���1� �v� ]=<� 2#������!$��+�2%����� �k�?�3+� ?7�/�� ?��#//� }�>�O>PQg=PD:<��I�2 !� ��� �k/��UIu�" ?��#//�cVVV�uq�!//�d=:ZgD�KMD;=E=>:

Page 35: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����u���

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

������V�9�0*/���)*:;:4:'�I�'+7!�%W&)O:<:� .XX=(*�(6)L

���$1(7�a��0��� �����������34�%����( �!"#������!//�JBh��+� +��!"�� �'�������?�/$�1�� 2# �^�����%��� ����#��/�+� 6� ����#��/ &�������� �'(����� ��+����#��","�"� ��2#�4+ ��# k��"+���� � ����#��/�+� 6� ?���+����#��","�"� � ������!//$� ��&���."� *HL<L� QL<A-� !"#������� ��ll�5 �'(���/�4�� ����#��/�+� 6� ?��$%�� ����/�4����"�� ���

���?���+����#��","�"� ������#��/&���2��� 2�7mmr��+� 6� )�( ��� ���� ���#��"��05#&� � 2�$1( �̂��+����#��/���?���+����#��","�"� ���"��05#&� ����$1(� ��2#������2%��!��� 2�7� �̂��U��"4+��'�

• � 2��%�����/�����#��","&���."���'��O>P]=:L<=>:Lg� B>Z=;� *� 2� 3� ,��-�)�( �^�� 2�$1($%������$1(������� �1����� ��'���#��","�+� 6� )�( ���� &���7����� [�YJK� * 3+�� JBh� � !� ?�/$�+�������1�-

• � 2��%�����/�����#��","!//"%���/���'��dDf9D:<=Lg�B>Z=;� *� 2� 3� "%���/-�)�( �̂�� 2�$1($%������$1(�%�������$%�� ��&� �+���+� 6�&� �#//?��$%�� �����&������$1( ���#��

����(��6�'I��6 �V����:(�����$�� �I�����#(��'�

2���'��b�������.�?�������!//� 2�����#� ��2#�/�+��1� ����#��/$1(�1����������?����22%���+�� ��. +�"���.�!//� )�( �1$�� !//?3���ll�5������ �^�����%����*dF:;AM>:>9E-� ��'�� 7�+�1��ll�5������� *JEF:;AM>:>9E-� )�( ������!//?�"��05#$1(�1��ll�5������ �̂����?��2� ��#����� ?���224/�� �̂�$1(����� �'(� 2�����������!//7� +����+�����2���1�?��#//������ ���������?3��H�8g=Q\g>Q������+����?3��BL<;A� �'(� 2���8g=Q\g>Q�2#$%�� ��$1(&�/&� ��ll�5������&�&�����'�&�" �?�&5#$1(�BL<;A�2#$%�� ��$1(�B>Z=;�������'�����*���"# �1� ��(� ���������a��0�7�2���'��b��� 2��2���" 3� "%���/���'��dg=WD���#��/���/�����-

"��05#���$%�� ���$�(�7�&� � 2� 3� "%���/&�������� 2#��a���+�����( �+��?&� ��ll�5������?����?��2� ��#� )�( ,.����!//�$�(�7�����?3�&�/��ll�5&�&���?����?��2� ��# �"1(������#���+� 7��k���&������#�� �'��?�������!//������������&� �Og>;j���'����/� *KDM=>W-� 2#��� �����$1(?3�?��� 2� 3� ,��$1(��.+�#��+� �"� ����$%�� �� ��k27�� ��� �"�����7�� ��2$%��?�������#��","$1(7�,��"�� *� !� ?������ �"����$%�� ��&� � JBh� ?�/$$1(�q-

Page 36: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����v���

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

Clock cycle

Stateıelementı

1Combinational logic

Stateıelementı

2

�������������C�<��V�6�� ����� #7#�#��

2��$1(�"+���� !"��?�/$$1(�����������?���+����#��","�"� ���#��/����JBh���+����/�4����+������2%��3�(������*eDZ=E<DM-�!"#��#//�����ll�5�+� 6� �̂��'��b������2���1��/����������������?��+�� �/�+��1�K=QDg=:DG�OL;AD���'���D;<>M�h:=<��1��)�( 2#�"+���� ?�/$��7�� ��+� 7��k���� JBh� !"#�#//�����ll�5�+� 6� ����� 2# �̂�� 2� 3� ,��� ?�&5#$1(eDZ=E<DM�!"#���+����/�4�2#�1� ����#��/�%�����/���2%������#� *� 2� 3� "%���/-� &���� �1(��&�� �����?�$1(�1�2#�"+���� �� ���� &� �+���+� 6��� ����JBh�)�( 7��"+���� 7�!"��?�/$$1(�q

�'(��� ���#���� � ����#��/�+� 6� $1(2%�� �̂��%�����/������!// �'(��� ��/�����������34�%����( &� � YcKd� ����$�� ����!� ��������� ��������!� �+���+� 6� 7�� ���&�� "+� ��� c:E<M9;<=>:� PDP>MF� 2# �^���+������2%��$1(?3� �k/��!���� KO� �'��12�� ����$1(?3�/���%��!��+ &� ��!���$1(��� ����+���JWWDM� ?3��%�����//���+��KO��12�� ���� �'(�?3�2%��&���."�JBh?3��%�����/�����#��","$� �5��a�����!"#����#� HL<L� PDP>MF� �^���+������2%��&���."�!"#� d=Z:� D|<D:W� �'(�?3�&��� ��'(� ������51$1(� �QDML:W� �̂�� cPPDW=L<D� &�� "k���+��&��&� �12�� ����� *���,.��+��7�+�������_�/��7��+� ��4?2� ��� �1� ����#�+� 6� �"+��1�� ?��"� �� ���#�� ��1�/ $1�/��/�����������34�%����( &� �YcKd�?�/$$1(����1����� ���( -

PC

Instructionımemory

Instructionıaddress

Instruction

a. Instruction memory b. Program counter

Add Sum

c. Adder

Page 37: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

ALU control

RegWrite

RegistersWriteıregister

Readıdata 1

Readıdata 2

Readıregister 1

Readıregister 2

Writeıdata

ALUıresult

ALU

Data

Data

Registerınumbers

a. Registers b. ALU

Zero5

5

5 3

16 32Signı

extend

b. Sign-extension unit

MemRead

MemWrite

Dataımemory

Writeıdata

Readıdata

a. Data memory unit

Address

��N! +,&�-�IY�A�� ��L�12�� ���������2#$%������$1(?�������&���."3�(������)�( �����?� ��'(� ���( 6�2#�1

�12�� ����?�� ��?3� ��7������+����( ���� ������� �� �12�� �����+� 6� ����� 2#�.��%������#���&� ��0� ��'(� �*� !� !"��?�/$$1(��-�� �����������!//�12�� ����2� ��a��������!// �̂��JMMLF�&� �H�8=gQ\g>Q���'��BL<;A��"��6����

$�� �1������ ���� �����������34�%����( &� �YcKd������!�+"#�%����( ������?3��12�� ����7�� U� ������������ ?�������!//�12�� ������51����+�� �'(�?3� ��� 2� ������$%��7�����?3�� Y9g<=QgD|>M� U� ���� ?���� "'���+� �'(��r�� �̂�����4�?����/� JBh� �+�7��*� !� ?����-

Page 38: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

Mıuıx

Register 0

Register 1

Register n – 1

Register n

Mıuıx

Read data 1

Read data 2

Read registerınumber 1

Read registerınumber 2

�%�����/��51��� &1���+������2#��a����ll�5���������'���ll�5��M=<D� �̂�����%������� &1���+�?����/�12�� ����� �+����/�HD;>WDM� �'(� "'���+��12�� �����$1(��� ��� &1��� )�( "��05#���$%�� ��������!� 7�� �.�� �"+��� 3+� �'(���� ��� &1���+��12�� ����$1(������&���."�UuU��������$%��7������r���+����$1(�eDZ=E<DM�:9P]DM�!"#��+��UuU��$1(�eDZ=E<DM�WL<L�2������2� ?��2� ��#��ll�5��M=<D�*)�( ���� 2��� 2���/�4�-

n-to-1ıdecoder

Register 0

Register 1

Register n – 1C

C

D

DRegister n

C

C

D

D

Register number

Write

Register data

0

1

n – 1

n

�'(��%���� ���� &� ����+��!"# &1��&���."� �"+������#��/������� �k2#7�eDZ=E<DM� 8=gD� $1(������%�����/���$%�� ��?���+����#��","�"� � ���2���1� ��2#�/�+�� ����+��!"#��� &1��&���."2���12�� ��������� ��������#$%��7������6� ���� �7�+$%��?�������#��","&���.",��"�

Page 39: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

Read registerınumber 1 Readı

data 1

Readıdata 2

Read registerınumber 2

Register fileWriteıregister

Writeıdata Write

:���'��$���N#��WG,GXG,5

$� ��&���."*HL<LQL<A-���'��]9E����?���+����#��","�"� ����� �^������ll�5���'�� $� $1(?3��+ ,+��&���."�#��+� � ����#��/�+� 6� ���?���+����#��","�"� � �?�������!//�����������$%��7������%��� ����#��/�+� 6����+��+� ���?��.�!//$1( ���#���!"#?3�� Y9g<=QgD|>M� �^���� "'��$� ��&� &���."� ��51$1(&���."� �"+���1$� "'��$1( �̂�7�7������+����( $� � 3+�� �+�� KO� )�( !� �� �%����( �+�7�$1(2#�.�� &�����$%�� ��� ��22#��.+����/�%����( ��224/���'��KOtq���'����22# �^��+��'(�6�$1( ��2������sML:;A�2� ?3��Y9g<=QgD|>M��%�����/��� "'��

PC

Instructionımemory

Readıaddress

Instruction

16 32

Add ALUıresult

Mıuıx

Registers

WriteıregisterWriteıdata

Readıdata 1

Readıdata 2

Readıregister 1Readıregister 2

Shiftıleft 2

4

Mıuıx

ALU operation3

RegWrite

MemRead

MemWrite

PCSrc

ALUSrc

MemtoReg

ALUıresult

ZeroALU

Dataımemory

Addressıı

Writeıdata

Readıdata Mı

uıx

Signıextend

Add

��+� 7��k�������$1(2# "'���+����2#�1�HL<LQL<A� 3'(���+��#��+� 24?24���( �� ������������ 2#��2��5����a�������������34�%����( �̂��"��� ���2��5�2���JWWMDEE=:Z�Y>WD!"#� 34�%����( �+�!�+"#�%����( ����2#��� ?3�� ����#��/?/�� � !"#� &���."$1(��� ���?3�?������#��"�%����( ����6� 7���2��!�"+ ?/�� � 3+���%����( �+� 6�2#��#��/�����QDML:W�)�( ��2��

Page 40: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q����

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

eDZ=E<DM� ��'�� ��2���%����( ��� � � ����� 2� ��� �1$� ��&���." �'(��%��&���."2���12�� ����7��r�� �^�,""��_�?����/� JBh� !"#� $� ��&���."$1(2#�%��&���."?���51$1(� �QDML:W� ��.+?��%����( 7��r��?����/�JBh���� 3+����

��YY�T� �&���=1*,-1H

����� ��$1($� ��&���."$1(�1����%����7�����!,����� �"+��&�� ���!"��� ��2#�/�+��1� Y9g<=QgD|>M� )�( ?3�?���� "'����ll�5�+� 6� ��.+�������"��!�+ � ���ll�5$1(2#?3��r��?����/� Y9g<=QgD|>M� �'(� "'��$� ��&� &���."� �"+���k�'���ll�5��/�4����� � � $1(��&� ��ll�5��/�4��'������1�����%����( $1(�+��&�����2���c:E<M9;<=>:�PDP>MF� �'(�?3� "'��$� ��&���."�%�����/���$%���%����( ����6� 3+���%����( � LWW���G� ���G� ����)�( �'(�!�" �̂���0� ��'(� 2#7��+�� �1�

c:E<M9;<=>:�8>MPL<000000 10001 10010 01000 00000 100000Op rs rt Rd shamt funct

�+��ME�!"#�M<�2#�.�?3� �'(��r��?����/��12�� ���� �'(� "'���+��12�� ����$1(��� ����r�� �̂������� ?����/�JBh�?�&5#$1(�MW�2#?3��r��?����/�JBh� �'(� "'���+��12�� ����$1(��� ��� &1����+���\9:;<2#?3��r��?����/�JBh� �'(���( ?��$%�����/��

��+� 7��k���� ?��"��6� ��51 ��7�+������$1(2#�%���+�$1(7�2��34�%����( 7�?3� �^���ll�5��/�4�7���� � �'(� 2��34�%����( �����1����)�/)������� 3+�� ��51&� �%����( � g>LW��'��E<>MD�*g�GE�-�� �����+� �+�7��1�g����G����*�U-

100011 00010 00001 0000000001100100Op rs rt 16 bit offset

JBh�;>:<M>g�=:Q9<���� JHH��� �e��� LWW��� E9]<ML;<��� ED<�>:�gDEE�<AL:

Page 41: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q����

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

2#�/�+�� 7�+�1&���."�+��?$1(�����2#�%���� �̂�����r��?����/� JBh� �'(�$%�����/�� "��� ����2� 2#��� �1������������'�,+��� 2��1���� �'(����+��%�����/?3��r�� �̂���ll�5��/�4�?����/�JBh���'�$� ���+� 6�� !� 7�������� &�� "+� �+�7��1�

�� ��� ����H@F�

00 = lw, sw01 = beq,11 = arithmetic

ALUOp Funct field OperationALUOp1 ALUOp0 F5 F4 F3 F2 F1 F0

0 0 X X X X X X 010X 1 X X X X X X 1101 X X X 0 0 0 0 0101 X X X 0 0 1 0 1101 X X X 0 1 0 0 0001 X X X 0 1 0 1 0011 X X X 1 0 1 0 111

�'(���#��"��ll�5��/�4�$1(?3���/�4�� JBh� &����/��ll�5��/�4�$1(?3� "'��$� ��!"��� "��05#�� ���� ���?���+����#��","�"� 2#)�/)�����( &����2#�1� 2� �'(���������ll�5��/�4�����%����( $1(�+��7����#��/&��� �'(�?3� "'���Y9g<=QgD|>M��+� 6

PC

Instructionımemory

Readıaddress

Instructionı[31– 0]

Instruction [20– 16]

Instruction [25– 21]

Add

Instruction [5– 0]

MemtoReg

ALUOp

MemWrite

RegWrite

MemRead

BranchRegDst

ALUSrc

Instruction [31– 26]

4

16 32Instruction [15– 0]

0

0Mıuıx

0

1

Control

Add ALUıresult

Mıuıx

0

1

RegistersWriteıregister

Writeıdata

Readıdata 1

Readıdata 2

Readıregister 1

Readıregister 2

Signıextend

Shiftıleft 2

Mıuıx

1

ALUıresult

Zero

Dataımemory

Writeıdata

Readıdata

Mıuıx

1

Instruction [15– 11]

ALUıcontrol

ALUAddress

Page 42: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����qU���

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

$�� �1�"��05#&� ��ll�5$1(?3���/�4�$� ��&���."� �k2#��� ,+��� 2��%�����/�����������'��1���� 3+����������1�����1�2#&�����/�JWWMDEE=:Z�Y>WD�!"#�"4+�&� �%����( $1(?3�

c:E<M9;<=>: eDZHE<

JBhdeO

YDP<>�eDZ

eDZ�M=<D

YDPeDLW

YDP�M=<D

sML:;A JBh�Q�

JBh�Q�

e�8>MPL< � Z Z � Z Z Z � Z

B� Z � � � � Z Z � Z

d� [ � [ Z Z � Z � Z

sVS [ Z [ Z Z Z � Z �

)�( ����2���� � 2������� �'(����� ��ll�5��/�4�7�2����� &1������ �+�����2�� �!"#��[�YJK��)�( ,""��_�$1(7����22# �̂�� 2�?�"��05#� �+�7��1�

Operation2

Operation1

Operation0

Operation

ALUOp1

F3

F2

F1

F0

F (5– 0)

ALUOp0

ALUOp

ALU control block

R-format Iw sw beq

Op0

Op1

Op2

Op3

Op4

Op5

Inputs

Outputs

RegDst

ALUSrc

MemtoReg

RegWrite

MemRead

MemWrite

Branch

ALUOp1

ALUOpO

Page 43: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q����

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

6�� ����� #7#�#��"�20*LH3�=J/H3

�'(� ��7�$� ��&���."!"#�%����ll�5��/�4����+��+� ������!"��� �k�%������#��/��/��ll�5������� �'(�?��2� ��#?����$%���%����( �+� 6� $�� �1�� &������#�� �'� �"�$1( ��� �'(�?��� 2� 3� ��#��7�$%�� ��2%����� ��� �1� �� �'(�?��$4���+� $%�� �� ��k2����� �� 3+������ JBh� ��22#$%�� ��,��"����'���� &1��&���."��22#7�+��/.�5�

Clock cycle

Stateıelementı

1Combinational logic

Stateıelementı

2

MemtoReg

MemRead

MemWrite

ALUOp

ALUSrc

RegDst

PC

Instructionımemory

Readıaddress

Instructionı[31– 0]

Instruction [20– 16]

Instruction [25– 21]

Add

Instruction [5– 0]

RegWrite

4

16 32Instruction [15– 0]

0Registers

WriteıregisterWriteıdata

Writeıdata

Readıdata 1

Readıdata 2

Readıregister 1Readıregister 2

Signıextend

ALUıresult

Zero

Dataımemory

Address Readıdata Mı

uıx

1

0

Mıuıx

1

0

Mıuıx

1

0

Mıuıx

1

Instruction [15– 11]

ALUıcontrol

Shiftıleft 2

PCSrc

ALU

Add ALUıresult

�����+������2%��$%�� �����:E�JBh�!"#��12�� ����$%�� ���u:E�!"��� ��2#�/�+���+����#��","�"� � �"+��2#?3� �"�?����$%�� ������%����( ���#��5��u:E���'��� �̂��;g>;j�ML<D��#��5���*�u�����-�C�

��+� 7��k�������� ���#��$1(���$%�� ��&� ��+����#��","�"� ?��.�&r� ���� ��2#�/�+������#��","!�+"#�%����( 2#��� ?3� �"�?����$%�� �� $+�����'�� �u:E� $�� $1(� ?�/� �%����( ����������$%�� ��k27����?� �"� �1� � Uu:E� ��'�� ��� :E� $+������ 2� 7��1���������� �'(�" �"�?����$%�� ��� �"+��� !"#� 2���� ���� $1(!� �1��� �/�+��1� ����#��/�"����+� $1($%�� ��)%������� 3+�� JBh� !"#� JWWDM� ����� �+�2#������$%�� ��!$����7�� ��'�� c:E<M9;<=>:�PDP>MF� !"#� HL<L� PDP>MF� �+�2#������?3�� ����#��/3��� 1�����7�� $�� �1� �'(�?����+����#��","�"� $1(7��1&�� "k�" � 2� ��!��$� ?�������!//��+����#��","�"� ?��.�

Page 44: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����qq���

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

!//�'(�6� �1�������� �'(�$1(2#?����+����#��","�"� �1&�� "k�" � ��'�� �1���� �k�?������#��","���&���

6�� ����� #7#�#��"�A.H,0�=J/H3

"��05#������!//��+����#��","�"� !//� Y9g<=� OF;gD� ����� 3+��?�� ����������`����+����#��","�"� $1(�1&�� "k�" � ���#������?3�� ����#��//� ��+� �+�����7�����a��3+� �"'(��&� �"�� 3+����� �� ��1�/ $1�/�JBh�!"#�JWWDM���/ ��'(� �� "&� �'(��1��� U� ��� ��� ���?3� ��'(� �� "&�%�����/�����#��","������( � ��� ���?3� ��'(� �� "&�%�����/���/���!"#��1������( ?3� ��'(� �� "&�%�����/����%����5$�(�7�����$�� �U���7�+�1����2%�� �^���� ?3� ��'(� �� "&��������� ��2#�/�+�� ��'(� �� "& �1� ��� ��'(� �k �1� ���%�����/���?3� ��&� ��� U� ���1�� �����"�����+ ��'(� �� "&7����#��+� ��� U� ��� ���2���1���� ��!/+ �����#��","�%����( ����%����( ��� �̂�3+� �+��6� ����22#������&���&������/� &���$1(7�+2%�� �^�?����$%�� ������6� 7�� �'(�?�����$%�� �� �k�&���� ��( 7���+�����������!//� 2� �'(�$%�� ��?�3+� ��l��$1(!�/" ��� ������!��7&!"#���2��/7� +����+�������!//� 2�&��?�l+

2��!��$� ?�������!//�?3���+����#��","/� �+���+������ !"#������!// �'(�?�������#��",","�%����( ���( �%����( $%�� ���?3��"��� OF;gD� &� ��ll�5������� 2� 2%�� �^���� �1��� ��(��12�� �������?�/� ��� �'(�?3�?�����+ ,+���+��#��+� � OF;gD� $%��?��"��05#&� $� ��&���."�����.� �"1(��7�� !� 7�� ����+�7��1�

Shiftıleft 2

PC

Memory

ı

MemData

Writeıdata

Mıuıx

0

1

RegistersWriteıregister

Writeıdata

Readıdata 1

Readıdata 2

Readıregister 1

Readıregister 2

Mıuıx

0

1

Mıuıx

0

1

4

Instructionı[15– 0]

Signıextend

3216

Instructionı[25– 21]

Instructionı[20– 16]

Instructionı[15– 0]

Instructionıregister

1 Mıuıx

0

3

2

Mıuıx

ALUıresult

ALUZero

Memoryıdataı

register

Instructionı[15– 11]

ıA

B

ALUOut

0

1

Address

%.R�,&�\�4����)*:;:(�� .�'?������#��","�%����( !�+"#�%����( ����� ��������!/+ ���$%�� ����� �̂�&�������+��

7���#��5�u� &������$�� �1�&�����.+��/�� ���� ����������������� ����� !"#������������34

Page 45: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����qu���

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

�%����( $1(7�$%��������!//7��� )�( ?���51&� � YcKd� ����� ���� �����������34�%����( ?�$1(�1��������_�/��7�� �1�

�I c:E<M9;<=>:�8D<;A��'����� �%����( 2����+������2%���*YDP>MF-��%��!��+ $1(31���KO� &���.+��+����#��","�"� ��������//���+��KO�?��31�7��� �%����( ��7�

UI c:E<M9;<=>:�HD;>WD� !"#�eDZ=E<DM� 8D<;A� �'�����1�����%����( $1(�.��+�� &����!"��� �'(����� ��ll�5��/�4��+���+� 6�!"#� ��1��&���."?��eDZ=E<DM�?��������%�����/�r��?����/�JBh��+�7�

�I V|D;9<=>:G� YDP>MF� JWWMDEE� O>PQ9<L<=>:� ��'�� sML:;A� O>PQgD<=>:� $�� �1����$%�� ��� V|D;9<=>:� 2#!���+� ���7�&�����.+��/�%����( $1(�+��&�����7�� 3+���51�%����( $1(�+��&�����7� �̂��%����( �1(������%����5� JBh� �k2#$%������%����5�+�����%����( � ��51 �^�����+��&���."� JBh� �k2#$%������%����5�%��!��+ &� ��+������2%��$1(��� ����+��&���."�!"#���51����sML:;A�JBh��k2#�%����5$1(��.+&� �%����( �+�7��*KO-

qI YDP>MF�J;;DEE���'��e�<FQD�c:E<ME<M9;<=>:�O>PQgD<=>:���51$1(�%����( )�( �+��&�����7����� �^��%����( �1(����/����+�� &1��&���."2����+������2%��� ?�&�������1�2#�1����+�� &1��&���."� !"#?���51�%����( $1(�+��&�����7�� �̂��%����( ?�����%����5 �1(������12�� �����?�&����1�2#$%������%��,""��_�$1(7�7� �k/?��12�� ����

uI �M=<D� ]L;j� )�( 2# ��&��� o��#��51����+��&���."2����+������2%��� �'�����%��&���."$1(�+��7�7� �k/?��12�� ����

2�����$%�� ��?�� u� &������� �"+��&�� �������� ���� 7�+������$1(2#�%��7����� ��+����/�4�7�$��$1� $�� �1� �'(� 2���"�����$%�� ��&�� �����7��_�/���� $1(��&� &���."!�+"#3+� �"# �1�� � ���#�� ��7�!� ?��$��/�+�2#��� �%��/��?&� �%����( $1(�+��&�����?��?3���� �� � ��'���%��&���."$1(7�7� �k/$1(�12�� ����?� �̂����� ?�������!// ��2� �����_�/�����$%�� �����a�����0��"� $1(�1����������?����!��!�#!2�!2 ���$%�� ��7�?��#�/�12�� ����� ��'�eDZ=E<DM�}ML:E\DM�BL:Z9LZD�*e}B-�)�( �e}B�� �"+���1��������_�/�����$%�� ��$�� �u�&������&�� ���7�� �1�

�I�c:E<M9;<=>:�8D<;AY�]�B�E��@^_D`a_D�]�_D�b�8a

)�( �1���������+�� �%��&���."���2����+������2%���%��!��+ $1(31��� KO��� �k/7��$1(� �12�� �����ce�!"#��%���+��KO�/����/�q������6����

Page 46: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����qv���

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

UI�c:E<M9;<=>:�HD;>WD�!"#�eDZ=E<DM�8D<;A��]�Y�A^Y^�VT��``;?�]�Y�A^Y^�ZT�c``a�deC� �]�_D�b�I��A�T�M ���IY^�VTZ`L�SS��La

�I������#��",")�( !���+� ���7�?�!�+"#�%����( YDP>MF�eD\DMD:;DR

�deC� �]���b���A�T�M ���IY^�VTZ`Lae�<FQDR

�deC� �]����F�?asML:;AR

���I�]]?L�_D�]��deC� a

qI�YDP>MF�J;;DEE���'��e�<FQD�c:E<ME<M9;<=>:�O>PQgD<=>:B>LWE�L:W�E<>MDE�L;;DEE�PDP>MF

BKY�]�B�E��@^�deC� `a��'�

B�E��@^�deC� `�]�?ae�<FQD�=:E<M9;<=>:E�\=:=EA

Y�A^Y^�VT��``�]��deC� auI��M=<D�sL;j

Y�A^Y^�ZT�c``]�BKYa

�'(��%��$4�&��������������!"#2%��!��� e}B� ���"��05#&� �"4 +��%����( $1($%�������#��","!"���e}B�� �"+���2#������!� 7�� ���� �+�7��1�

Step nameAction for R-type

instructionsAction for memory-reference

instructionsAction for branches

Action for jumps

Instruction fetch IR = Memory[PC]PC = PC + 4

Instruction A = Reg [IR[25-21]]decode/register fetch B = Reg [IR[20-16]]

ALUOut = PC + (sign-extend (IR[15-0]) << 2)

Execution, address ALUOut = A op B ALUOut = A + sign-extend if (A ==B) then PC = PC [31-28] IIcomputation, branch/ (IR[15-0]) PC = ALUOut (IR[25-0]<<2)jump completion

Memory access or R-type Reg [IR[15-11]] = Load: MDR = Memory[ALUOut]completion ALUOut or

Store: Memory [ALUOut] = B

Memory read completion Load: Reg[IR[20-16]] = MDR

Page 47: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q����

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

2�������.� ��?�������!//� 2� 3� "%���/� ��2# ��(����������!//�������� !,��������#�*d<L<D�H=LZMLP-���'����� &1���JdY�OALM<� �'(�!� ��� �"'(��7��!"# '(��7&?���� �"1(������#�+� 6� ���� m� ��3�� ��$��4�� !"#� m� ��3����� �"1(������#� )�( !,��������#� �"+��&� ��+����#��","�"� �1��������!� 7�� �1�

PCWriteıPCSource = 10

ALUSrcA = 1ıALUSrcB = 00ıALUOp = 01ıPCWriteCondı

PCSource = 01

ALUSrcA =1ıALUSrcB = 00ıALUOp= 10

RegDst = 1ıRegWriteı

MemtoReg = 0

MemWriteıIorD = 1

MemReadıIorD = 1

ALUSrcA = 1ıALUSrcB = 10ıALUOp = 00

RegDst = 0ıRegWriteı

MemtoReg =1ıı

ALUSrcA = 0ıALUSrcB = 11ıALUOp = 00

MemReadıALUSrcA = 0ı

IorD = 0ıIRWriteı

ALUSrcB = 01ıALUOp = 00ı

PCWriteıPCSource = 00

Instruction fetchInstruction decode/ı

register fetch

Jumpıcompletion

BranchıcompletionExecution

Memory addressıcomputation

Memoryıaccess

Memoryıaccess R-type completion

Write-back step

(Op = 'LW') or (Op = 'SW') (Op = R-type)

(Op

= 'B

EQ')

(Op

= 'J

')

(Op = 'SW

')

(Op

= 'L

W')

4

01

9862

753

Start

)�( ����2#2#�%��!,��������#� �"+�������!// �^�� 2�7�����?3�� 2� 3� ,���e�Y���'��KBJ��k7��$�� �1�&�����.+��/,.����!//�)�( "��05#&� ��+����/�4�$1(7��2#�1����4� �̂�� c:E<M9;<=>:� eDZ=E<DM� !"#����#&� ��+����/�4�� �+�� ��$��4�2# �̂���ll�5�%�����/��/�4�� Y9g<=QgD|>M� !"#� JBh� �������/��� �"1(������#� )�( "��05#&� ��+����/�4��1�������!� 7�� ���� �?�$1(�1�2#7�+&��"+���� ���"# �1�?�������!//������� ���,.��+����?2 ��(� ���������a��0�7�2��������!//� 2�����# 3� "%���/$�(�7�

Page 48: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q����

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

PCWrite

PCWriteCond

IorD

MemtoReg

PCSource

ALUOp

ALUSrcB

ALUSrcA

RegWrite

RegDst

NS3NS2NS1NS0

Op5

Op4

Op3

Op2

Op1

Op0

S3

S2

S1

S0

State register

IRWrite

MemRead

MemWrite

Instruction registerıopcode field

Outputs

Control logic

Inputs

A0/-1X-1L-GEE0*L

��+� 7��k���� !���+�2#�1!��$� ������!//����?3�� e�Y� ��'�� KBJ� !"��� !�+������!//��'�!��7&��+����/�4��k�� � $%��7����"%��/��� � ����2� ��!��$� ?�������!//�+����/�4�&� ��+����#��","�"� ?�"��05#&� ��� &1����!���� )�( 3+���%�������/�#��?����!��7&��l��!"#���2��/&��,��"��#��+� ������!//� ���� &1��P=;M>=:E<M9;<=>:�$%�����!�"����P=;M>LEEDP]gDM�!"��$%������"" �.+��+����#��","�"� �)�( ���2��2#�%����������#��?�������!//!"��� �� 3+��?�� ��������$1(2#���/��4 ��'�2%��"� ��+����#��","�"� ?��$%�� ��!$���+����#��","�"� $1(�1�����������!//�'(�6�7�� +���1����� $�� �1����,.��+���1������?2?�������!//��+����#��","�"� ����?3��Y=;M>QM>ZMLP�������a��0� ��(� ���7�2�� �����&� ,.�,"���+� 6�7�$�(�7�

Initialırepresentation

Finite stateıdiagram

Microprogram

Sequencingıcontrol

Explicit nextıstate function

Microprogram counterı+ dispatch ROMS

Logicırepresentation

Logicıequations

Truthıtables

Implementationıtechnique

Programmableılogic array

Read onlyımemory

Page 49: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����q����

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

"89�6�':���:

�I�2 �_�/���+����#��/�+� 6����?���+����#��","�"� UI�2 �_�/��&������?������#��","�%����( ���( �%����( &� ��+����#��","�"� �I�������!//��+����#��","�"� �?3��d=:ZgD�OF;gD�!"#�Y9g<=�OF;gD�JQQM>L;A��1&��1&�� �1��+� �����+� 7��2 �������+� ��#��/qI�HL<L�QL<A��'���#7��!"#�O>:<M>g��'��#7���1���� ��'����'��1����������_������'�7�+���+� 7�uI�?������#��","�%����( !�+"#�%����( �������+����#��","�"� �1&������?����$%�� ����+� 7�vI 2����0�!�� )�/"1� �"+��

g���<UG��*�<�-g���<�G�q*�<�-]Df��<UG��<�G�D:W�QM>ZMLP �LEE9PD�:><LWW��<uG��<UG��<�E���<uG��*�<�-

D:W�QM>ZMLPR iI ��D:W�>\�QM>ZMLP��� �����!//��+����#��","�"� ?��$%�� ��!//�Y9g<=�OF;gD�2 ��/�%������+�7��1�

vI�I ���$%�� ��?�!�+"#�%����( 2#?3� �"��1(�OF;gDvIUI $1(�OF;gD�$1(�����+����#��","�"� �%��"� $%�� ���#7���.+vI�I ��!���� �"+��&�� ���2#?3� �"�?����$%�� ��$�� �����1(� OF;gD� !"#�� �̂��1(����$1�

����OF;gD�}=PD� �̂��q�:E�I�������!//��+����#��","�"� ����?3��P=;M>QM>ZMLP��1&��1&�� �1���'�7�+���+� 7���

Page 50: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u����

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

������c�4�+$!�)��� !�"!#$7W*/�_�F�G���

���$%��� K=QDg=:D� ���� �^���� ��(���#��$_�?����/��+����#��","�"� ?�"��05#&� ��� ��(�� }AM>9ZAQ9<� �"+���'�� �1���$%�� ���"���%����( ��������?� �"����( 6� �����+� 3+�����4���+���� ��1��&���������#��/���&�������+�����&�����'��&���$1(�������+��&��� �"'�� �'(�����( !�"��"�����$1(������/&��� �"'���&���$1(�U��%��&��� �"'��$1(7�2��&���!�����%�� �'(�?�� �"k&����"4���2�� �"'��&���� !"#� &���$1(� �� $%�����!�� �"'��&������� �'(�?�� �"'�!�+ �"k&�������� ���1��#� �%�����/�+��!����( �"����?�&���$1(�����.+ �1� ��������1�����# '(� �%�����/�%��?�� �"k&���!�����2�� �"'�� �1� � �� ���� !"#� �1��3�#�%�����/$%�����!�� �"k&������2�� �"'��&��� �1� ���������� ���1��$%�� �� �1� ��������22#��� ?3� �"�?����$%�� ��$�� �����3�(�� � !�+��� ���1��$%�� ��� �� ��� !/+ ���$%�� ��?�!�+"#&������� !"���+ �+�� ��22#?3� �"�?����$%�� �� �1� � �� 3�(�� ���( � $�� �1� �'(� 2������1��$%�� �� �1� � �� ��� 2#��� !����( �"����?�� ��k2�+���2������2� 2#$%������%�� �'(�?�� �"k&������2�� �"'��&���� !"��2� ��!��$�� � U� �+�����2������ !�+����1��$%�� ��� �� ��� �'(���!��!����( �"����� !"���+ &��� �"'��$1(!��7����?����$1(� U� �%������� ��!���k������$1(2#!��&��� �"'��7��+�7�� �������/$1(��$1(� U� �%��"� �%��&��� �"'���!"# �'(���$1(�U��%��&��� �"'�� ��k2!"���+ ?����$1(���!�� �"k&���!"# �"'��&������$1(� U� �k�����$1(2#��/&��� �"'��$1(!����( �"����!"��2����!����$%�� ���+�7�� �+ ,"?�� ��$4�&������������$%��7�7������6����� �^����

?���+����#��","�"� �������� ��(��}AM>9ZAQ9<�����$%���K=QDg=:D��k��.+?�"��05# 1������ �'�� �'(��%����( !���.�� 8D<;A� &���� !"#� �.��+ 7�$%������ HD;>WD� ?�3+� �"��1���+����#��","�%�����/���� 8D<;A� �k�%��"� � 8D<;A� �%����( ��7�&������� !"# �'(��%����( !��$%�����V|D;9<D��%����( $1(�U��k��+� �#��+� ����HD;>WD�!"#���+���8D<;A��k�%��"� $%������8D<;A��%����( $1(���&������)�( �+ ,"?���1�%����( $1(�.�$%�� �����+����#��","�"� �����+����( �%����( ?� �"� 1������� !� ?����

2�����2#�/�+����$%�� ��� �� �%����( ��517�+�1� K=QDg=:D� ����� 2#?3� �"�?����$%�� ���� �Uq� ��+�� �"�� ?�&5#$1( �'(��1���$%��� K=QDg=:D� 2#?3� �"� �1� � �q� ��+�� �"� $+������ ��+� 7��k����2#�� ��7��+��!�+"#�%����( 7�+�������8D<;A���'��.��+��&�������������7��$�� �1� �'(� 2��!�+"#��+��&� ��+����#��","�"� ������?��/�����7� �1� ���( �%����( ?� �"����( 6� $+�����

Page 51: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u����

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

Instructionıfetch

Reg ALUDataı

accessReg

8 nsInstructionı

fetchReg ALU

Dataıaccess

Reg

8 nsInstructionı

fetch

8 ns

Time

lw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

2 4 6 8 10 12 14 16 18

2 4 6 8 10 12 14

...

Programıexecutionıorderı(in instructions)

Instructionıfetch

Reg ALUDataı

accessReg

Time

lw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

2 nsInstructionı

fetchReg ALU

Dataıaccess

Reg

2 nsInstructionı

fetchReg ALU

Dataıaccess

Reg

2 ns 2 ns 2 ns 2 ns 2 ns

ı

Programıexecutionıorderı(in instructions)

�'����$1(�"+���� ?�/$�1�2#�"+���� �1� ������� �#//� K=QDg=:D� !// +��� ���.+/����4��b��$1(�+��%����( $4��%����( �1������� $+������1�.�!//�%����( $1(2%����� *�� �.�!//-� !"#�1�%����( $1( �1(��&�� ��/��+������2%�� �1� � B>LW� !"#� d<>MD� $+������ $�� �1����,.��+����� ���$��/)�( �����������$1()�/)���� ���������+��7����� eD\DMD:;D� &� ,.�,"����+����#��","�"� $�(�7�

��������#%���WG,GXG,5�"#��=1*,-1H����%����:(���>0X3H0*3

��� ���� ���#�����$%�� ��?�"��05#&� � K=QDg=:D� ?��12#�/�+����$%��� K=QDg=:D� �����2#��#$%��7��k!�+ �'(� ��?�!�+"#&������!�� �^�����#2�����7�� � ����?�������!//��+����#��","�"� ?��������$%�� ��!//� K=QDg=:D� 7������ ��l����+� !���'����$%��?�� ��?�!�+"#&������ �^�����#2������ 3+���51&� ��� ��1��&����������&������$1(���!"#&������$1(������ ?3���#� ��'������!�+ ���1��#� �1� ������ $+������ 3+��1�!"����k� 7�+������$1(2#!/+ ������$%��?�"��05#&� �K=QDg=:D�7����l��?�"��05#� �"+���1� �1���+��d<M9;<9MLg�CL�LMW�*� 2#�"+���� ��(� ���?����&����7�-� ��� ��4�1���22��!���'����!��?��!�+"#&������������$%�� ��7� �̂�����#2������ $%��?���� ���� ���?�&� � OKh� $1(2#$%��� K=QDg=:D� �����1�4���5�$1(���&���� !"#$%�� ��)%���)������/�� � *)�( !��$� ���?3��4���5�$1()%���)�������1�� 2#&�!�� ��/!��$� ?�������!//��+����#��","�"� !//� Y9g<=�;F;gD� ?�/$$1(� u� ��� �̂����"�4���5�)%���)��� �'(�?��OKh��1&�� "k�-�$�� �1� �'(� 2���4���5�$4�3������ $%�� ������������ !� 7�� ���

Page 52: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����uU���

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

Instructionımemory

Address

4

32

0

Add Addıresult

Shiftıleft 2

Instruction

Mıuıx

0

1

Add

PC

0Writeıdata

Mıuıx

1Registers

Readıdata 1

Readıdata 2

Readıregister 1

Readıregister 2

16Signı

extend

Writeıregister

Writeıdata

ReadıdataAddress

Dataımemory

1

ALUıresult

Mıuıx

ALUZero

IF: Instruction fetch ID: Instruction decode/ıregister file read

EX: Execute/ıaddress calculation

MEM: Memory access WB: Write back

��� ���� ���#���� $� ��&���."$1( 3'(���+��#��+� �4���5� ��(� ���� �� �/�1��+����$%�� ��?�/�� �.�!//� ��'�� /� �%����( &� ��+����#��","�"� 2# �^��4������+����$%��K=QDg=:D��1�� 3+�����$%�� ��&� �%����( �sML:;A�!"#���� &1��&���."�"�/7�?��eDZ=E<DM� *���2#�� ?����&����7�-� ��+� 7��k�����22����+� !��$1(��� �%���� �� �'����?��&���.")�( $%�� ��?�!�+"#&������&� !�+"#�%����( � 7�+�#������ �� 3+����� ��2#7�+$��/�+�&���."?����&5#����� �^�&� �."���$%�� ��&� �%����( ?� ��� ��4�1�?� /'�� ����#//� HL<L� KL<A� &� � K=QDg=:D� 2� ��� �1���?�+s9\\DM� ?��!�+"#�+��)�( ��#��","?�!�+"#&������&� �%����( �̂�����#!��2������ � !� 7�� ���

Instructionımemory

Address

4

32

0

Add Addıresult

Shiftıleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mıuıx

0

1

Add

PC

0

Address

Writeıdata

Mıuıx

1Registers

Readıdata 1

Readıdata 2

Readıregister 1

Readıregister 2

16Signı

extend

Writeıregister

Writeıdata

Readıdata

Dataımemory

1

ALUıresult

Mıuıx

ALUZero

ID/EX

Page 53: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u����

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

�'(�!��$� ��&���."?�� �^�����#2�����7�!"��� �4������1���+� ���( �'�� ���!����ll�5��/�4�&� !�+"#�%����( ?�� �^�����#2������ � 2#�� ��7�2�����)�( �/�+���ll�5��/�4�$1(?3�!�+"#&����������� !�+ ���.���/��� �^�3��� 1������ 7�+������!�����2�����7�� �'(�?����ll�5��/�4�?�!�+"#&������!�� �^�����#2�����7�� 2� ��� �1����+ ,+����ll�5��/�4�$1(�HD;>WD�7�&� !�+"#�%����( 7���/!�+"#&������&� �K=QDg=:D������ !� ?� ���$� �1���&� ���� ��+� 7��k�������� ��?����2#�/�+�� ��ll�5��/�4�/� ��+� ���� �̂�&� �%����( �+��6� )�( ��+� ?�� K=QDg=:D� �+�������%����( ��224/��� !�+�.��r���"�/��?3��%����( ��224/��� 3+����ll�5�eDZ=E<DM��M=<D���'����ll�5 "'���KO� �̂����

PC

Instructionımemory

Inst

ruct

ion

Add

Instructionı[20– 16]

Mem

toR

eg

ALUOp

Branch

RegDst

ALUSrc

4

16 32Instructionı[15– 0]

0

0

Mıuıx

0

1

Add Addıresult

RegistersWriteıregister

Writeıdata

Readıdata 1

Readıdata 2

Readıregister 1

Readıregister 2

Signıextend

Mıuıx

1

ALUıresult

Zero

Writeıdata

Readıdata

Mıuıx

1

ALUıcontrol

Shiftıleft 2

Reg

Writ

e

MemRead

Control

ALU

Instructionı[15– 11]

6

EX

M

WB

M

WB

WBIF/ID

PCSrc

ID/EX

EX/MEM

MEM/WB

Mıuıx

0

1

Mem

Writ

e

AddressDataı

memory

Address

�'(� �^������#��?�����_�/��� K=QDg=:D� ?�$� �x�/���2� ����?3��.����?�����_�/��!$�� �!�+"#� sg>;j� !� ���$%�� ��&� � K=QDg=:D� ?�!�+"#�+��)�( 2#&������� s9\\DM!"#� ���$1(�1���!� �$� ���)���2#!� �� ��� &1��&���."� �+�����$1(�1���!� ����&��2#!� �� ����+��&���."� �+��� ����#��/?$1(�1���?3� �� �'(���#��","$�� ��2#!� �$�� ���!"#� ��51$1(� ����#��/?7�+�1���?3� ��2#!� �1� �+����#��/ $+������ �7�+�1���!� �?6�$�� ����

Page 54: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����uq���

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

IM Reg DM Reg

IM Reg DM Reg

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6

Time (in clock cycles)

lw $10, 20($1)

Programıexecutionıorderı(in instructions)

sub $11, $2, $3

ALU

ALU

3+�� ��51&� �%����( � g�� � ���GU�*��-� 2#�1���� 8D<;A� ��'�� �+���%����( 2��� c:E<M9;<=>:�YDP>MF� �1����+��&���."2�� �2�� ����$1(� �� ?�� OF;gD� $1(� U� ?3�� JBh� ��#��","!"#�+��&���."2���HL<L�YDP>MF�?��OF;gD�$1(�q� �̂����

��Y6�:%��Z��&�����������:(���>0X3H0*3

?����$%��� K=QDg=:D� �1��l���"��$1( �^��4������+���#��$_����!"#���$%�� ��&� K=QDg=:D�$�� ��������# k���'����l����51�� ���� &� �#//��'��eDE>9M;D��+� 6���� ?3� ���+������ *d<M9;<9MLg� CL�LMW-� ��l��&� �����#��","&���.")�( �1���� �1(�� �'(� ���� *HL<L�CL�LMW-� !"#� ��l��������%����( ��7�&� �#//?���51���� @9PQ� ��'�� sML:;A� *O>:<M>g�CL�LMW-� )�( ?�$1(�1�2#�"+���� ��l��!�+"#���!"#���!����l����+��6� �?3���_1����'��b��� � �+�7��1�� ��� ���G���f���

d<M9;<9MLg� CL�LMW� �^���l��$1( ��2���� ���� &� �#//7�+�� ��/���$%��� K=QDg=:D 3+����51&� ��+������2%��)�( $%������$1( �^�$�� �c:E<M9;<=>:�YDP>MF�!"#�HL<L�YDP>MF������6��������� ����2��5����&�� "+� !"#"� �� ���#���+�2#�/�+�$1(�OF;gD�$1(�q������YDP>MF�2#�.�?3� �� �^��c:E<M9;<=>:�YDP>MF� �'(�$%������8D<;A�!"#�HL<L�YDP>MF� �'(�$%������+��&���."��������� )�( ��l���1���22#!��7����� ��(�� c:E<L:;D� &� � ����#��/����6� ?��������?��/����������6� ���7�� ?���51�1���� ��(�� c:E<L:;D� ��2$%��7�����!��� c:E<M9;<=>:� YDP>MF!"#� HL<L� YDP>MF� ?���+���/� s9E� $1( �^�����#2������ ��'�� !��� OL;AD� &� � c:E<M9;<=>:�YDP>MF���/�HL<L�YDP>MF����2�����*� 2#�"+���+�7�?�/$$1(��-

�1���51���( &� � d<M9;<9MLg� CL�LMW� $1(7�$%�����!��7&7�!"���'�� ��51$1(��+����#��","�"� ��� ?3��JBh� �'(����/���KO�?����$%��� c:E<M9;<=>:�8D<;A�!"#�$%������V|D;9<D��%����( ��������� ����1� JBh� �1� � �� ���2#$%��?��7�+������$%��� K=QDg=:D� 7�� )�( !��7&���� ��(�c:E<L:;D���'�� ��(��JBh�?��$%�� ��!�� �̂�����#2������U����� �̂����

Page 55: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����uu���

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

Reg

IM

Reg

Reg

IM

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6

Time (in clock cycles)

lw $2, 20($1)

Programıexecutionıorderı(in instructions)

and $4, $2, $5

IM Reg DM Reg

IM DM Reg

IM DM Reg

CC 7 CC 8 CC 9

or $8, $2, $6

add $9, $4, $2

slt $1, $6, $7

DM Reg

Reg

Reg

DM

K� ����f���HL<L� CL�LMW� ����� �^���l��$1( ��2�������#��","�%����( $1(�1���� �1(�� �'(� ���

*HDQD:WD:;F-� ���� ���� ���#��2�����&�� /�� ��2#�/�+���51���$%�� ��&� �%����( � B����$1(���( ����� &���."$1(7�2����+������2#�%��!��+ $1(� U�t��� 2#�.��%��&����� �k/?� �2�� ����� �U�?�� OF;gD� $1(� u� *���,.��+��7�+$��/�+�!�+"#� OF;gD� &� � !�+"#�%����( �1���$%�� ����+� 7�� ?��"� �"�/7���2��5�&���������$%�� ��?�/$$1(� u� �1����� ���( -� $�� �1� �'(� 2�� �̂����$%�� ��$1( �1(��&�� ��/��+������2%��� )�( 2#7�&���."���2����+������2%��?����2/&� �OF;gD� $1(� q� ?�&5#$1(�%����( ������� ���?3� �� �2�� ������U�!"# �2�� ������u�?��OF;gD�$1(�U�$�� �1�&���." �2�� ������U����2#7������$%�� ��&� �%����( !��)�( 2# ��k2����?��OF;gD�$1(�u�)�( �#//7�+�������%��&���."$1(2#7���/?����������#��","7��� !� ��� ����1���?����

��� �2�� ���� 1������������.��+��!"# &1��7���������������#��","&���."�.���� ����� ��2#�/�+�������$%�� ��&� �%����( $1(�U������3�����1��U�OF;gD�2#$%��?�������#��","&� ��+����#��","�"� �.���� � � �������!����l��&� � HL<L� CL�LMW� ��2$%��7����)�m�n!�������!$���%����( �'(�6�$1(7�+�1���?3�&���."$1( �1(��&�� ��� &��7��#��+� �%����( $1(���!"#�U�$�� �1���� 7�+$%��?�����$%�� ��&� ��!���,�!�"�7�2�� ��� ��� ��4�1��%����( $1(����!$�����$1(�4�'��:>Q�*�>��QDML<=>:-�����1���������+�7�+�1�����#��","?6���'���.+ o���(� �

2�� ��g� �UGU�*��-L:W �qG�UG�u

!��7& �^�

Page 56: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����uv���

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

g� �UGU�*��-:>Q:>QL:W �qG�UG�u

�̂������+� 7��k���&�� �1�&� ���!$���%����( � :>Q� &��7������ $%��?����!����1&��?�l+!"#

���� �"'� �"�?����$%�� �����&���� ��� ��4�1�2� �1�����`��� O>PQ=gDM� ?��������$%������Q<=P=�D� �%����( ?�� ���#����/���$%�� ��&� ��+����#��","�"� $1(�1� K=QDg=:D� ���� �1� "%���/�%����( ?��+� 3+�

2�� ��g� �UGU�*��-L:W �qG�UG�u>M �uG�uG��LWW �vG�vG��|>M ��G��G��

!��7&���� �1� �%����( ?��+ �̂�g� �UGU�*��-LWW �vG�vG��|>M ��G��G��L:W �qG�UG�u>M �uG�uG��

�̂����2#�� ���+� ��7�+������ �1� �%����( ?�"��05#$1( �^�����%���%����( � >M� �uG�uG��� ��

$%�� ���+�������%����( � L:W� �qG�UG�u� 7�� ���#2#$%��?���+� �2�� ����$1(� u� $1(?3�?������#��",",��"�7��#��+� ���$%���%����( �L:W��qG�UG�u�� 3+�

g� �UGU�*��->M �uG�uG��LWW �vG�vG��L:W �qG�UG�u|>M ��G��G��

Page 57: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u����

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

���2���1� ��2#!����l��&� � HL<L� CL�LMW� 7��������� p���!��� �'(�2#7�7�+��� !��7&��!���� )�( !�+ �� ��$%�� ��7��.���� /���+����#��","�"� 7�+�1� K=QDg=:D� ���a���"�����&� ���� \>M�LMW� 3+����51�%����( � E9]��UG��G�����.+����/�%����( � L:W� ��UG�UG�u�)�( &���."&� � �U� $1(�.���� ����� 2#�.��%��7� �k/$1( �2�� ����?��OF;gD� $1(� !�+ ��������$1(2#�+ �+��+�$1(7���?3��+��?��OF;gD�$1(�q�7���7�+��� ��?��&���."�.��%���� �k/?� �2�� ����$1(�u� �̂�����*� !� ��� ����1���-

IM Reg

IM Reg

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6

Time (in clock cycles)

sub $2, $1, $3

Programıexecution orderı(in instructions)

and $12, $2, $5

IM Reg DM Reg

IM DM Reg

IM DM Reg

CC 7 CC 8 CC 9

10 10 10 10 10/– 20 – 20 – 20 – 20 – 20

or $13, $6, $2

add $14, $2, $2

sw $15, 100($2)

Value of register $2 :

DM Reg

Reg

Reg

Reg

X X X – 20 X X X X XValue of EX/MEM :X X X X – 20 X X X XValue of MEM/WB :

DM

$�� �1�2#�/�+� ��7�+2%�� �̂���� �1� �"�7���/�����4�� �'(��%���+�&� �2�� ������U�7�?3�?�� OF;gD� $1(� u� !�+��+� 7��k����1�"��6� ��51$1( ��7�+������� \>M�LMW� 7� 3+���51&���."$1(��� ���?3�7���?��OF;gD�$1(�q�!$�$1(2# �̂��OF;gD�$1(���)�( ��51� �"+��2# ��&���?� �'(� �̂�����+���+�2����+������2%�� &���� �k/?� �2�� ���� �̂����� )�( ����� !����l����������4�� 3+� ��� $�� �1�?���51$1(�����4�� �̂������4��$1(��#$%���p���!���2# �1�������4��?�"��05#�1��+�� E<Lgg� )�( ���� E<Lgg� &� p���!��������'����$%�� ���%����( ��)%���?�� K=QDg=:D� ����� ��� ��4�1����+����#��","�"� $1(!����l���HL<L�CL�LMW����p���!���2� ��� �1� 2�$1(������2��/���\>M�LMW�����E<Lgg�!"#�� 2 $1($%������$1(�\>M�LMW� ����&������*� !� 7�� ���-

Page 58: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u����

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

Reg

IM

Reg

Reg

IM

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6

Time (in clock cycles)

lw $2, 20($1)

Programıexecutionıorderı(in instructions)

and $4, $2, $5

IM Reg DM Reg

IM DM Reg

IM DM Reg

CC 7 CC 8 CC 9

or $8, $2, $6

add $9, $4, $2

slt $1, $6, $7

DM Reg

Reg

Reg

DM

lw $2, 20($1)

Programıexecutionıorderı(in instructions)

and $4, $2, $5

or $8, $2, $6

add $9, $4, $2

slt $1, $6, $7

Reg

IM

Reg

Reg

IM DM

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6Time (in clock cycles)

IM Reg DM RegIM

IM DM Reg

IM DM Reg

CC 7 CC 8 CC 9 CC 10

DM Reg

RegReg

Reg

bubble

PCInstructionı

memory

Registers

Mıuıx

Mıuıx

Mıuıx

Control

ALU

EX

M

WB

M

WB

WB

ID/EX

EX/MEM

MEM/WB

Dataımemory

Mıuıx

Hazardıdetectionı

unit

Forwardingıunit

0

Mıuıx

IF/ID

Inst

ruct

ion

ID/EX.MemRead

IF/ID

Writ

e

PC

Writ

e

ID/EX.RegisterRt

IF/ID.RegisterRd

IF/ID.RegisterRt

IF/ID.RegisterRt

IF/ID.RegisterRs

RtRs

Rd

Rt EX/MEM.RegisterRd

MEM/WB.RegisterRd

Page 59: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����u����

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

��+� 7��k��� ��2#�/�+�� !��2#�1p���!����%�����/���� 8>M�LMW� !"��� !�+���2�"%���/&� �.�!//�%����( $1( ���#���k�� � 3+��?��7�+ ������E<Lgg�&� �%����( ���?��#//7� 3+������ ��������r� ������ ���HL<L�CL�LMW�$1(1$1(�4�� � �̂����$%�� ��&� )�m�n!������'��O>PQ=gDM���.+��(� � D�� ��G���f����9�g&�?��������f���

O>:<M>g� CL�LMW� ���� �̂���l��?����$%��� K=QDg=:D� $1( ��2������ @9PQ� ��'�� ���sML:;A�&� )�m�n!���� 3+����51���$%���%����( �]Df�2#$��/$1(��.+&� �%����( ��7��*$��/�+�2#��� �]ML:;A� ��'�7�+-� �'(�7�,+�������#��","�%����( ����7�!"��� q� OF;gD� !�+2���� ���� &� K=QDg=:D�)�( 2#� �%����( ��7�&�������#��","�+��$%��?���%����( ��7�$1(��.+?��K=QDg=:D����� �̂��%����( $1(,���51$1( ������sML:;A

Reg

Reg

CC 1

Time (in clock cycles)

40 beq $1, $3, 7

Programıexecutionıorderı(in instructions)

IM Reg

IM DM

IM DM

IM DM

DM

DM Reg

Reg Reg

Reg

Reg

RegIM

44 and $12, $2, $5

48 or $13, $6, $2

52 add $14, $2, $2

72 lw $4, 50($7)

CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9

Reg

���!����l��&� �O>:<M>g�CL�LMW��������������#$%��7��"��!��$� � 3+�� ����2 ��(�� 2��� a0 �'(���#��","�%����( ��# �$�sML:;A�?�� ��k2�������?����OF;gD� �'(��K=QDg=:D�2#7�7��%����( ��7�$1(�.���� &�����$%�� ��7�$��$1�)�( ��51�1�$%��?����� ���!//� 2�$1()�/)����� ����$� "'��$1( +����+��'����"�� �%����( $1(7�+��� ������2��� K=QDg=:D� ?����!"���+��� �%����( ?��+&������*8g9EA=:Z-� ���_1�1�������$%��7� +����+����� ��(� �1� � 2��8g9EA=:Z� &��7� "k����� $+������ )�( �'(��%���� ���� $�� ��&� �#//�K=QDg=:D���������� ��2#7���+����#��","�"� � ���

Page 60: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v����

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

PC Instructionımemory

4

Registers

Mıuıx

Mıuıx

Mıuıx

ALU

EX

M

WB

M

WB

WB

ID/EX

0

EX/MEM

MEM/WB

Dataımemory

Mıuıx

Hazardıdetectionı

unit

Forwardingıunit

IF.Flush

IF/ID

Signıextend

Control

Mıuıx

=

Shiftıleft 2

Mıuıx

��&�

���$%��� K=QDg=:D� �^���� ��(�� }AM>9ZAQ9<� ?����/��+����#��","�"� $1(��������#$%��7� +�������+����#��","�"� �1�����������34�%����( $1( ���#��� �������/��4 HL<L�KL<A�!"#���ll�5��/�4� �1� "k����� $+��������+� 7��k������$%���K=QDg=:D������1��l��$1( �^��4�������.+�����#����'��d<M9;<9MLg�CL�LMWG�HL<L�CL�LMW�!"#�O>:<M>g�CL�LMW�)�( ?� ������1�7��"+���� !��$� ���!��7&!//�'��b�� $+������ ?���224/���1�����������$1(�1�� ���� !"#���!����l��� CL�LMW� $1()�/)��������+��1�� 3+�� ���$%���#//� sML:;A� KMDW=;<=TD� GsML:;A�HDgLF�dg><���'����$%���HF:LP=;�d;ADW9gD� �̂����

Page 61: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v����

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

"89�6�':���:

�I����$%���K=QDg=:D�3+��?���� ��(��}AM>9ZAQ9<�7����+� 7�UI�2�����!� ���$%�� ��&� �K=QDg=:D�� �"+��

IM Reg DM Reg

IM Reg DM Reg

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6

Time (in clock cycles)

lw $10, 20($1)

Programıexecutionıorderı(in instructions)

sub $11, $2, $3

ALU

ALU

2 !� ������$%�� ��&� �K=QDg=:D� �'(���#��","�%����( �+�7��1�� �����$�� !� ���!� �$1(�.����

JHH ���G��G��B� ��UGU�*�u-JHH ��G��UG��Ud� ��G��*���-JHH ���G���G��

�I� 2�����$1(��7�?�&��� U� �����+����#��","�"� � �"+���1� CLMW�LMD� �%�����/���� d<Lgg�!"#�8>M�LMW�2 "�� ���!� �%��!��+ $1(&���."�1������ �� �+�����*HDQD:WD:;F-�!"#�!� ��� �1� �%����( ?��+ �'(�$%�����!��7&��l���HL<L�CL�LMW����)�m�n!���

qI ��4?���$%�� ��&� ��+����#��","�"� !//7�+�1� K=QDg=:D� 2� 7�+ ����l��� HL<L�CL�LMW�2 �_�/��

uI��2 �_�/����l��)�( �̂��4������+����$%���K=QDg=:D�!"# ���!��$� !��7&�

Page 62: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����vU���

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

������h������D�����<:��9�0*/(*)N��+ )g&��Ii�� ��G�B�E��@L

�#//� OL;AD� �^���� ��(���#��$_����?����/��+����#��","�"� � � ��(����� �k�?�����+��&���."2����+������2%��� �+����+������2%�� ��'������3+��?�������� �� ��+������2%��&� ,.���`��)�m�n!����!"#��#//p���!��� �̂�����#2������)�( �'����?�/$�1�2# ���$1(�'��b�����2�����#//�OL;AD�!"#��#//��+������2%�� ��'��!//�KLZ=:Z� $+��������+� 7��k����� �1�#//��+������2%�� ��'���'(�6��1�������� 3+��#//�dDZPD:<L<=>:�)�( ��7��"+���� ?�$1(�1�� !�+ �^���#�3����+� ��( ?����?3���`��)�m�n!���� � ����,.��+�����2#a��0� ��(� ���2�� ��������&� ��+����#��","�"� �+� 6� ��(� ������

=G/53

OL;AD� � ���� �^���� ��(���#��$_����?�����+��!"# &1��&���."2����+����#��"�"� ?����������#$%��7��� �k���( &���� ���a���"�����&� � B>;Lg=<F� �'����$%��?��&���."$1(��� ����+�� ��̂��#2%�������������+��7���+� �� �k�� )�( �"�����&� � B>;Lg=<F� ����� �̂�����%����( $1(2%�� �^�2#��� ?3� ��/+��6���7��?�"����� 3+���51$1( ��2%�� �̂�2#��� ?3������/+��6����������� ��.+?�$1()�( �����/7� +��� ���$%�� ��&� ���k2#������$%��7��� �k�� )�( ���������.+7�"���2#$%��?�����$%�� ���1��#��$_�������" � ���#��� �1� �"���/������/��������� ?���+����#��""�"� �k 3+� 1������ ������� &���."2����+������2%��� *7�+�+�2# �̂����� &���."2����+������2%����!�����'���+������2%��&���."�k���-� ��������#$%��7��� �k�� ��22#3+��?����+����#��","�"� ������$%�� ��7�$1(�Og>;j��eL<D�$1(�. &���

��+� 7��k���� �'(� 2����+������2%��$1(�1���� �k��. �����1����!� � )�( ����#//������ ����$�� ��$%�� �������+������2%��$1(�1���� �k��. $�� ������� 2#?�� ��'(� ������ �����1�����. ���� !�+������7�+�1��+������2%������ �k��. �"+��1� "�� �k2#$%��?�������#��","����3����� 3+����� ��� ��4�1��#//������ ����2� ����1��+������2%������ �k��. !"#���� �k��%(��,�����7� �^��#�/&���?������5$1(!���+� ���7�� ��+������2%����# �$?$%�� ��3�����2#�����.�� ���k2#�17�?������5$1(�. �?�&5#$1(��+������2%����# �$$1(�1���� �k��. ����!� ��k2#�1?������5����� 3+�� OL;AD� ��� �^���+������2%������ �k��. ��22#�1 �1� � �U�[]� �+����+������2%���"���*eLP-���22#�1����� �vqY]�!"#�CLMW�W=Ej�)�( �����+���+���+��&�� �%(����22#�1����� ����]� �̂����

Page 63: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v����

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

CPU

Level n

Level 2

Level 1

Levels in theımemory hierarchy

Increasing distance ıfrom the CPU in ı

access time

Size of the memory at each level

��+� 7��k��������1��+������2%��$1(�1���� �k��. ����� ��22#7�+$%��?����#��$_����?�����+��!"# &1��&���." �k�&��� ���7����&��#//���2����$1( ���#��� �����+� 3+�� ��� ���1��#��.+������&����|������ ����*)�( ��1�/ $1�/7���/�OL;AD���'��B>;Lg=<F-�!"#&���."$1(��� $%�� ����� �̂��"+� &��� �|�� ���� ���2%������"���"+� � * ��1�/ $1�/7���/��+������2%���"��-�)�( ������$%�� ��&� ����� �1(��&�� ��/�"+� �"������!"#����"�����&� �B>;Lg=<F����� ��2#��� $%�� ��&���."$1( ����� ���?3� ����.+?�� B>;Lg=<F� �+��2� 2# ��(��+��!"# &1��&���."������ ���#��?��1�/�+�� ����22# �1� �"�?�������"+� &������� !"#���2����#�����+����� ��7�$%�� ��$1(�"+� �"+�������� � * 3+���51���$%�� ��&� ����� �%��&� 2���"+� $1(� ���� �k/?��"+� $1(� U� !"#�%��&� 2��"+� $1(� U� �� �k/?��"+� $1(�� ���"%���/� �/�+� �'(� ����� ���$%�� ����/�"+� $1(� ��������"+� ?/$1(� ���k�� 7�+��.+/���# ����� �1� �"����"+� ?/$1(� ��&������� /���#�+���!"# �'(� ��$%�� ����/�"+� ?/$1(��� ��k2!"����� ���$%�� ����/�"+� ?/$1(�U��k��� �1� �"����"+� ?/$1(���" �!"�����"+� ?/$1(�U�&����� !$��2� �'(�$%�� ����/�"+� ?/$1(�U� ��k2�k��� ���"+� ?/$1(� U�����!"����?/$1(� ��&����� !$�� �̂����-�� ��������1�OL;AD�2� ��� �1?�&��$1( ���#���!"#�1�#//2����$1(1��/�.+���7�r��

�'(������#��?�����_�/���#//� OL;AD� 2� 7��1����%�����%��&��� �'(�?3��_�/��"��05#&� �OL;AD�!"#����+�� &1��&���."�� �1�

?G��j� �'�� ���!/+ &��&� ��+������2%��!"#�OL;AD� �^��+���+��6� $1(�1&�� $+����� �'(������#��?����2����

�� � ������ � &���."$1( ����� ���?3� ��������.+?�� OL;AD� )�( ��� �̂���51����+��&���."2# �1���+��eDLW�C=<�!"#���51��� &1��&���."2# �1���+���M=<D�C=<

Page 64: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����vq���

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

B���� ������ � &���."$1( ����� ���2#?3� ������7�+��.+?�� OL;AD� )�( ��2# �1������ Y=EE�?���51����+��&���."�+��eDLW�Y=EE�!"#� �1������Y=EE�?���51��� &1��&���."�+���M=<D�Y=EE

$�� �1����!/+ ��+������2%��!"#�OL;AD���� �^��sg>;j�����3+��?�� ��������$1(2#�%��&���." &��!"#���2��� OL;AD� 7� +��� )�( ��� ���� �+�� OL;AD� �^���+������2%��?�l+ �1� ���� 1��� ����$1(2# ������ Y=EE� !"# �"�?�����%�� &��!"# �k/&���."&� � OL;AD� �+�� �"1(��!�" ���&��&� �OL;AD�$%��?�� ��2����7�������#��/��/"��05#���$%�� ��&� ��!����$�(�7���� �1(��&�� ��/&���."$1(�1"��05#� *7�+�����-� )�( ���!/+ &���." �̂��sg>;j� �1�3+��"����� Y=EE� &� ���$%�� ����/��+������2%��?�"��05#� �"+������ � 2#!� 7�2���#//���2�����OL;AD�!//�H=MD;<�YLQQDW�*� ���-

00001 00101 01001 01101 10001 10101 11001 11101

000

Cache

Memory

001

010

011

100

101

110

111

K���� �B�FF���D�������2������/�OL;AD�!//�H=MD;<�YLQQDW����� �^��#//���2����$1(�1�'��b�� +��$1(�4�

)�( "��05#���4��'�� �%��!��+ ?���+������2%��$4��%��!��+ 2#�1$1(��.+?�� OL;AD� �1� � ���%��!��+ $+��������� �� ��1�/�OL;AD� �^� ��'�� ����1�?���� $%�� ��&� ���)�( �1��.+� ������� *��� !�+���$1(� �� �� �-� !�+ ����� $%�� ����/��� ����� ��*�!�+"#���1 "&��#2%�����&� �� � $1(7�+)%������-� �'(���� ���$%�� ����/��$1(�1 "&��#2%���������G����G���u��k2#?��!�+"#������ ����1����$1(� �G�!"#� u� ���"%���/� )�( ������ ���$%�� ����/��$1(�1 "&��#2%����� �̂�� Uu�� �k2#��� ?����$1(�1 "&��#2%������ ���� ���7��w��� !"��2� ?����$1(�1 "&��#2%������ Uu�� ��( !$�$1( �^����� 2#�� ���+�

Page 65: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����vu���

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

�%��!��+ ?�� OL;AD� &� ���+� 6� ����� 2# �̂��#7�&�����.+��/ "&�"���4$���&� "&��#2%������ )�( ���$%�� ��&� �H=MD;<�YLQQDW�OL;AD��k2#��.+?�"��05# 1������?�!� 7�����.�&r� ���

��+� 7��k��� ��2#�/�+��7�+�+�2# �̂���$1(�1 "&��#2%����� �̂��U��G�U��G����G��u����'��1��"�� /���$1(" $���������������+� �k��� ����$1( ����1����$1(���( ��'������)�( ��� ���/�+��1����( ��.+$1( ����1����$1(� ��!"��� ��2#$��/7���+� 7��+���6������ �̂�?��*�1 "&��#2%������#7�-� ��� ��4�1�2� 2%�� �̂�2#��� �1������r��� *}LZ-� �'(�?��$��/�+���$1(��( ��.+�����1 "&��#2%����� �̂��#7�� ���2������ �'(� 2��� OL;AD� �k �^���+������2%��3�����( �'(�!��!�#?��$��/�+�&���."?���+������2%������� ���.�?3� �����+����'�7�+2� ��� �1������2��/���� �Lg=W� ]=<� �'(�!� �+�&���."?�� OL;AD� ���� �^�&���."$1(7���2����+����#��","�"� � * �'(�?��$��/�+��1����( ��.+��'�7�+��51$1(�/�+��1�r������.+� ��'�� ��51 ��(�����#//-� �� ���� $1(!$�2�� &� �#//� OL;AD� 2� �1"��05#� ���

Address (showing bit positions)

20 10

Byteıoffset

Valid Tag DataIndex

0

1

2

1021

1022

1023

Tag

Index

Hit Data

20 32

31 30 13 12 11 2 1 0

2�����2#�/�+��#//� OL;AD� � �"+���1� sg>;j� &��� q� sF<D� !"#�1� OL;AD� $�� �������Uq� sg>;j� !"#������2��/�+�&���."$1(��� �����.+?�� OL;AD� ��'�7�+$%��7��������2� }LZ&� �%��!��+ &���."$1(��� ����+����/�}LZ�&� �OL;AD�?��%��!��+ $1(�.��YLQQDW�����c:WD|����� ����!"#��Lg=W�s=<� �^����( !� �+�&���."$1(��� �����.+?��OL;AD�*��'��C=<���(� � -

Page 66: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����vv���

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

���2���1�� �� �1�����#�4���?�����2����&���."?��#//� OL;AD� �1���!/+ � sg>;j� $1("# �1����&������a���"������dQL<=Lg�B>;Lg=<F�$%��?���OL;AD���eD;>MW��1��"���sg>;j�)�( 31���sg>;j�c:WD|�� ���

Address (showing bit positions)

16 12 Byteıoffset

V Tag Data

Hit Data

16 32

4Kıentries

16 bits 128 bits

Mux

32 32 32

2

32

Block offsetIndex

Tag

31 16 15 4 32 1 0

�� ��<:��B������� C=<� ���������� ��51$1(&���."�%��!��+ $1(��+����#��","��� ���?3� ����.+?�

OL;AD��+������Y=EE������ �k2#�1���������� &�����/�C=<� �'�� &���."�%��!��+ $1(��+����#��","��� ���?3� ��7�+��.+���?��OL;AD�)�( ��#��$_����&� �OL;AD�$1(1����&���."�+��?�l+���2#C=<� ��.+���?��OL;AD���+� 7��k�������C=<� !"#�����Y=EE��%�����/����+��!"#��� &1��&���."������#//2�����OL;AD���_1���2����?��.�!//$1(!���+� ������7�� �1�

Y������ ������ �����C=<�&���."?��OL;AD�?���51$1(��+����#��","��� ����+��&���."�

)�( ��( $1(��+����#��","�"� 2#$%���k�'�����+��&���."2���OL;AD�7�?3���#��","Y����B���

������ �����Y=EE�&���."$1(��+����#��","��� ����+���*7�+�/?��OL;AD-�)�( ��( $1(��+����#��","��� $%���'����� ��4�� �'(�?���#//2�����OL;AD�$%������ &���."2����+������2%���"�� &���.+�OL;AD��+���)�( �"���+����#��","��� ��4���1� �1���+�

Page 67: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v����

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

Y=EE� KD:Lg<FI� 2������ �'(��#//2����� OL;AD� �%��&���."2����+������2%���"�� &���� �k/?��OL;AD� �1�/����!"���2� %�� ������������� ��'���eDLW�C=<��+�7�k�� ����

������ �����C=<�&���."$1(��+����#��","��� ��� &1��?��OL;AD�)�( �1!��$� ?�����x�/���7�� U�"��05#� *$�� �1�&�����.+��/,.����!//-��'���M=<D�sL;j� ���� &1��&���."" ���?�� OL;AD� $+������ !"#� ���� �M=<D� }AM>9ZA� �'���� &1��&���."" ���?�OL;AD� !"#� ��+������2%���"�������6� ���� )�( $�� � U� !��$� �1��k2#�1&��1&�� �1��+� �����"+���'���M=<D�sL;j�����2#$%�� ��7� �k���+� ���#2# &1��&���."$1(��� ���" ?��OL;AD $+������!�+�1&�� �1��'��2#�13+� 2� ��#���( $1(&���."?��OL;AD�2#7�+�� ��/&���."?���+������2%���"��� !"# �'(���� �%��&���."?�� sg>;j� �������2��� OL;AD� 2� 2#$%����� &1��&���."� �"+���'�7��� ��+������2%���"��� �%�����/��51&� ���� �M=<D� }AM>9ZA� ������+����#��","�"� 2#?3� �"�?����$%�� �������+��'�� 2#��� �1��� &1��&���."" $�� ?�OL;AD� � !"#��+������2%���"��)�( 2#7�+�13+� �"�$1(&���."?���+������2%���"���1�+�7�+�� ��/�+�&� &���."?��OL;AD����"��05#� �"+����#//��M=<D�sL;j�2� 7�+ ���#$1(2#?3� ��/��#//$1(��+����#��","�"� �"�����k�� ��B���

������ � ����Y=EE� &���."$1(��+����#��","��� ��� &1��?��OL;AD� )�( ��+����#��","�"� 2#��� ��4��� *Y=EE� KD:Lg<F-� �'(�?���#//2����� OL;AD� �%��&���."2����+������2%���"�� &���� �k/?�� OL;AD� �+��� 2������2� $%�������#��","?�"��05# 1�������/�����M=<D�C=<�&�� ����+�7�

��� !�"!#$%&'�����D����2��"��05#���$%�� ��&� � OL;AD� � �"+�� ��2#�/�+�"��05#&� � OL;AD� $1(�1��#

��$_����������'��OL;AD�$1(�1�#//���2����)�( $%��?���Y=EE�eL<=>��1�+������!"#� �"�$1(��� ��4 �'(�?���#//2����� OL;AD� �%��&���."2����+������2%���"�� &�����.+� OL;AD� *Y=EE� KD:Lg<F-� �1�+�����$1(�4� )�( 2��"��05#� �"+��$%��?�� �"�$1(?3�?������#��","&� ��+����#��","�"� �����1����������_���/ �"�$1(��� ��4�� �'(�?���#//2����� OL;AD� $%�� ��� � !� 7�� ������+�7��1�

D|D;9<=>:�<=PD�{�*D|D;9<=>:�;F;gDE�t�E<Lgg�;F;gDE-���;F;gD�<=PDE<Lgg�;F;gDE�{���>\�=:E<M9;<=>:E���P=EE�ML<=>���P=EE�QD:Lg<F

Page 68: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v����

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

$�� �1�?��"� ��1�/ $1�/������ �"+����/�����$1(�/?�/$$1(� U� �'(��� !//,�� ,��2#�/�+�� V|D;9<=>:� }=PD� ?���51$1(�1� OL;AD� ����2#�����+�� V|D;9<=>:� }=PD� ?���51$1(7�+�1OL;AD� ���#2#�1� d<Lgg� OF;gDE� ��(�&������ )�( ?����� �^�2�� ��������1� OL;AD� 3+��?��� OF;gD�}=PD��1�+�����" �*��+����#��","�"� ������$%�� ��7�$1(�Og>;j�eL<D�$1(�. &���� ���# �"�$1(?3�?������&���."2����+������2%������" -

2�������&�� ����/�+�� ������/��4 ��#��$_����&� �#//� OL;AD� ����������$%��7�����"�d<Lgg�OF;gDE�&� �OL;AD�?������" )�( ���"�d<Lgg�OF;gDE������������$%��7�����"�Y=EE�eL<=>�!"#�"�Y=EE�KD:Lg<F����!��$� �+�7��1�

4�:7�B����Y� �����"� Y=EE� eL<=>� ����� �'����$%��?��&���."$1(��+����#��","��� ���?3�� �1

����$1(2#�.��/?��OL;AD� ���$1(�4� $�� �1���22�����( �'�����%����?��� OL;AD� �1&��&� � sg>;j� d=�D� $1( ���#��� )�( 2�����$��/�/�+�� 2#�1�+�$1( ���#����.+�+����( 6��%�����/��+����#��","�"� !�+"#����$�� �1�����sg>;j�d=�D��1&��?�l+ ���7��?�/� ��51� OL;AD� ��22#�1� Y=EE� eL<=>� ���&����k7�� *� !� ?����� -� �%�����/��51&� ��+����#��","�"� �YcKd��1���+�$1( ���#���'��vq[s

1 KBı

8 KBı

16 KBı

64 KBı

256 KB

256

40%

35%

30%

25%

20%

15%

10%

5%

0%

Mis

s ra

te

64164

Block size (bytes)

ProgramBlock size in

wordsInstruction miss rate

Data miss rate

Effective combined miss rate

gcc 1 6.1% 2.1% 5.4%4 2.0% 1.7% 1.9%

spice 1 1.2% 1.3% 1.2%4 0.3% 0.6% 0.4%

Page 69: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� ����v����

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

� �������"�+�&� � Y=EE� eL<=>� $1(1$1(�4�'���� "'��?3��#//2����� OL;AD� $1( ���#��� /'�� ������� ��7�a��0��� �#//���2�����OL;AD�!//�H=MD;<�YLQQDW�!"���)�( ���2�����OL;AD�!//�H=MD;<�YLQQDW�������2 �1��7��+� �̂����2����!//��:D��LF�ED<�LEE>;=L<=TD���'�����%����?��� ���%��&� &���."?���+������2%���"�������1$1(��.+?��OL;AD� 7� �1� � ��$1(� )�( 2�����$��/�/�+��1����$1(2# ���Y=EE�eL<=>�$1(�. ��+�����%����?��� �� �%��!��+ &� ��+������2%���"���1$1(��.+?�� OL;AD� �����+�� �� $1(� 3+��}�>��LF� ED<� LEE>;=L<=TDG� 8>9M��LF� ED<� LEE>;=L<=TDG� ��'�� �#//� V=ZA<��LF� ED<�LEE>;=L<=TD�*89ggF�JEE>;=L<=TD-

Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data

Eight-way set associative (fully associative)

Tag Data Tag Data Tag Data Tag Data

Four-way set associative

Set

0

1

Tag Data

One-way set associativeı(direct mapped)

Block

0

7

1

2

3

4

5

6

Tag Data

Two-way set associative

Set

0

1

2

3

Tag Data

��+� 7��k����!���+��#//���2����� !//�1� JEE>;=L<=TD��LF������+�� �� $� 2#3+��"�Y=EE�eL<=>�7�1�!�+���2�����#//�OL;AD� �'(����2��/����C=<�!"#�Y=EE��k�4+ ���&���7�r��� ���2#!� ���$%�� ��&� �#//� OL;AD� ?�!//� 8>9M��LF� ED<�LEE>;=L<=TD�)�( 2#�1"��05#�"�����/�H=MD;<�YLQQDW�q�����+�&�������������2��/����C=<�������� ��1�/ $1�/�}LZ���/$�� �q�sg>;j�!"#� �'(��1����C=<�!"����k2#��� ,+��Y9g<=QgD|� �'(� "'��&���."$1(��� ��������?3�� ?���51$1(��� ����%��&���."���2��OL;AD������,.����!//�������?3�� BDLE<�eD;D:<�hED� *Beh-�JgZ>M=<AP��'� "'��&���."?��%��!��+ $1(�.�?3� ������$1(�4���2���OL;AD

Page 70: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

22 8

V TagIndex

012

253254255

Data V Tag Data V Tag Data V Tag Data

3222

4-to-1 multiplexor

Hit Data

123891011123031 0

2�����$��/�/�+����� ��(��JEE>;=L<=TD��LF�3+��?���Y=EE�eL<D��1�+�"" ?�"��05# �'�/2# �^� 3� ����*� !� 7�� ���-

0%

3%

6%

9%

12%

15%

Eight-wayFour-wayTwo-wayOne-way

1 KBı

2 KBı

4 KBı

8 KB

Mis

s ra

te

Associativity 16 KBı

32 KBı

64 KBı

128 KB

Page 71: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

4�:7�B����_���G @���"� Y=EE� KD:Lg<F� �����'����$%��?��������+��&���."�#��+� � OL;AD� !"#�

��+������2%���"����������#$%��7���+� �� �k�� )�( �"�����$1(1$1(�4?����"� Y=EE�KD:Lg<F��'�������� �OL;AD� �'(��� ��/���$%�� ���"��6� �#�/� *Y9g<=�BDTDg�OL;AD-�� �'(�� ��+����#��","�"� ��� �����&���."����� ����Y=EE� ?��#�/!����22#��� �1�� Y=EE� KD:Lg<F� �� � ��� OF;gD� �'(�� &���."2����+������2%���"��� !�+����1�#//OL;AD� �"���#�/� �'(�7�+�/&���."?��#�/!��� *Y=EE-� ��22#�/&���."?�� OL;AD��#�/��7��k7��$%��?���#//7�+2%�� �^�2#��� �1��Y=EE�KD:Lg<F��� ����OF;gD�$4����� $1(�1����Y=EE� ��&��������� ���#��12#�/�+�����"�Y=EE�KD:Lg<F�����$%���Y9g<=�BDTDgOL;AD� ����� �'����������$%��?3�&���."/� �+�����������/?3� ��7� �k�&���� �17� �̂����"�+���� "&���

2�����$��/�/�+�� ��� ��'(� ������ �����#//���( )�( �1� OL;AD� $%�� ��$1(���� �k��U�:E�!"#���+������2%���"��$%�� ��$1(�U���:E�!"������ ��(��OL;AD��1��#�/���( )�( �1���� �k��U��:E�!$�� &��7��2#3+��"�+��Y=EE�eL<D�2���u�� �̂��U��7�

CPU

Level n

Level 2

Level 1

Levels in theımemory hierarchy

Increasing distance ıfrom the CPU in ı

access time

Size of the memory at each level

BDTDg������� �k��U�:EBDTDg�U����� �k��U��:EBDTDg������� �k��U���:E

6�� �� ��I(����������[0-,.GH�A3E1-J

��+������2%�� ��'������� �̂���+������2%��$1(7�+��.+2�� ?��#// ��'(� ������ ����� ���!�+ �^� �1� ��+������2%��$1(?3���� �� �)�m�n!���$�� 7�������+� &� �#//��+������2%�� ��'��$1(�/7� +��$1(�4�'�����$1(��!���)�( ��� ���?3���+������2%�� �̂�2%���������������$%�� ��7�/� ��'(� $1(�1��+������2%���%(��6� 7�� * 3+�� ��!���$1(��� �����+������2%��� q�� Y]� �#��+� �����#��","� ��22#$%�� ��7�/� ��'(� $1(�1��+������2%���"�� �1� � �v� Y]� �^����-� ����$%�� ��� �"+������� ��������#$%��7� �'(� 2����+������2%���"��$%������$1(�"�����/�OL;AD� &� ��+������2%��$�� ��$1(��!������ ���� !"#&���."$�� ��&� ��!���2#�.� �k/7��?���+������2%���%���� &��?�l+� )�( $%������$1( �̂�� d�LQ� dQL;D� *�$�(�7���� �̂�p�������-� � !� 7�� �������)����'���=M<9Lg�YDP>MF����&���'�� KAFE=;Lg�YDP>MF� !"#��1�H=Ej�JWWMDEE�

Page 72: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����U���

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

�'(�$%������$1( �^�� d�LQ� dQL;D� *2#�� ��7��+�� �=M<9Lg�YDP>MF� 2#�1&��?�l+��+�� KAFE=;Lg�YDP>MF�)�( /� �+��2# �k/��.+?��KAFE=;Lg�YDP>MF�!"#�/� �+��2# �k/��.+?��H=Ej-

Physical addresses

Disk addresses

Virtual addresses

Address translation

?������&���."&� �#//������ ����$1(�1��+������2%�� ��'������� ��2#�%�� "&� �=M<9Lg�KLZD��9P]DM��������?����� ��KLZD�}L]gD�)�( �̂����� $1(?3�?����!�" ��=M<9Lg�JWWMDEE?�� �̂��KAFE=;Lg�JWWMDEE������ �1�2#�12%������eD;>MW*E-� $+���/2%�������=M<9Lg�KLZD�!"#!�+"#�eD;>MW�2#2� �k/��%��!��+ $1(31�7��� �KAFE=;Lg�YDP>MF��$1(�KAFE=;Lg�YDP>MF�!"#�1�1���s=<� *�Lg=W-�$1(2#?3�/���+�&���."$1(��� �������� �k/��.+?���+������2%���KAFE=;Lg�YDP>MF���'����� �̂�� d�LQ� ��.+?��H=Ej�d<>MLZDI� )�( �%��!��+ &� �eD;>MW�$1( �k/� KAFE=;Lg� KLZD��9P]DM&� ��=M<9Lg�KLZD� ����� �������2#$��/7�2�� "&��=M<9Lg�KLZD��9P]DMI

Physical memory

Disk storage

Valid

1

1

1

1

0

1

1

0

1

1

0

1

Page table

Virtual pageınumber

Physical page orıdisk address

�&������?�����%��&���." &��!"#����#��+� ��+������2%��� KAFE=;Lg� YDP>MF� !"#�H=Ej� d<>MLZD� ����� 2#�.�2�����)�m�n!����#//� ��'�� �#//�x�/������$�� �1� �'(� 2������

Page 73: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

��� ���?����?3���+������2%��&� !�+"#�#//�1����!���+� ���� ��+����#��","�"� 2� �1 �1� �2�� ������ a0�$1(2#31�7��� ��+������2%���%��!��+ $1( �k/���� �KLZD�}L]gD�!"#� 2�)�( 2#$%������$1(���2��/�+�&���."$1(��� �����.+?���+������2%���"��� *KAFE=;Lg�YDP>MF-� ��'�7�+� !"#��51$1( ���KLZD�8L9g<�*&���."$1(��� �����7���.+?���+������2%���"��-���+����#��","�"� 2#���� ��ll�5� c:<DMM9Q<� �'(�?��)�m�n!���$%�� ���+�7�� *���"# �1� ��(� ���������a��0�7�2����3��#//�x�/��������QDML<=:Z�dFE<DP-

Page offsetVirtual page number

Virtual address

Page offsetPhysical page number

Physical address

Physical page numberValid

If 0 then page is notıpresent in memory

Page table register

Page table

20 12

18

31 30 29 28 27 15 14 13 12 11 10 9 8 3 2 1 0

29 28 27 15 14 13 12 11 10 9 8 3 2 1 0

����� ���� &� �#//��=M<9Lg�JWWMDEE�!"#�KAFE=;Lg� �^�� ���&�� ���� ��2#�/�+�KLZD�}L]gD�����2#�12%������eD;>MW*E-�$�� �����U��������eD;>MWE�* �'(� 2����=M<9Lg�KLZD��9P]DM�/������s=<�$1(��U����&� ��=M<9Lg�JWWMDEE-�!"#�!�+"#�eD;>MW�����2#��#��/����*U����-t��s=<� ��'�� ��#��5� �� sF<D� * �'(� 2��� KAFE=;Lg� KLZD� �9P]DM� /������ s=<� $1(� �U�U�� &� KAFE=;Lg�JWWMDEE�!"#!�+"#�eD;>MW�2#��� �k/��Lg=W�s=<�)�( ?3�/���+�&���."��.+?���+������2%���"�����'����.+?��d�LQ�dQL;D�)�( �'(�!�" &���." �̂���+���sF<D�2#��� $%������� a0&��� �'(�?�� �̂�2%����� �k� $+�����-� � ���?���51� �"+���1�� KLZD� }L]gD� 2#�1&��?�l+�� � ��U��� sF<D���'���#��5���Y]�!"# �'(� 2���KLZD�}L]gD��1��k�.� �k/7��?���+������2%���"�� 3+������ ���� �'(�?�����!�" "&��=M<9Lg�KLZD��9P]DM�7� �̂��KAFE=;Lg�KLZD��9P]DM���������#$%��7�

Page 74: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����q���

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

�� �k���( &���� 2� 7��1�����#�4���?3��#//� OL;AD� ��/� KLZD� }L]gD� 3+����� *}Bs� OL;AD-� � � !� 7�� ���

Valid

1

1

1

1

0

1

1

0

1

1

0

1

Page table

Physical pageıaddressValid

TLB

1

1

1

1

0

1

TagVirtual pageı

number

Physical pageıor disk address

Physical memory

Disk storage

�'(��#//� �=M<9Lg� YDP>MF� !"#�#//� OL;AD� ����$%�� ����������$�� �����?���+����#��","�"� ��k2#$%��?��&������?������#��","&���."2��&� ��+����#��","�"� ����)�/)�����( &����� ��(���� !�+��+����#��","�"� 7���/��=M<9Lg�JWWMDEE�2��)�m�n!�����k2#$%�����!�" &���."?�� �̂��KAFE=;Lg�JWWMDEE� ������2��� KLZD� }L]gD� )�( ���������1�2# ��(����2��OL;AD�&� �}ML:EgL<=>:�}L]gD��+������7�+�/�k2#$%������ &���."2���KLZD�}L]gD��%��!��+ $1(��� ��� &����7��?��OL;AD�&� �}ML:EgL<=>:�}L]gD� �'(�7��KAFE=;Lg�JWWMDEE�!"������&���."$1(��� ���7�+��.+���?��KAFE=;Lg�YDP>MF��k2#���� ��ll�5�KLZD�8L9g<� �'(�?��)�m�n!����#//�x�/������2����� &���." &����7��?��KAFE=;Lg�YDP>MF��+�7�� �'(�7��KAFE=;Lg�JWWMDEE�)�( ��.+?�� KAFE=;Lg� YDP>MF� !"��� ��+����#��","�"� 2#�����&���."�%��!��+ � �"+��?�� OL;AD&� &���."� !"#$%�����&������&� ���� �M=<D� C=<� ��'�� eDLW� C=<� �+�7�� $�� �1�&�����.+��/�+��%����( $1(��#��","���� �̂�����+����'� &1��&���."��+����51����Y=EE�������#//2�����OL;AD�&���."2#$%������d<Lgg�OKh�!"��� &���."2����+������2%���"�� &���� �k/?��OL;AD� �'(���#��","���&�������+�7��"%���/?����$%�� ��� �"+���������2!� 7�� !,�����+�7��1�

Page 75: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����u���

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

Yes

Deliver dataıto the CPU

Write?

Try to read dataıfrom cache

Write data into cache,ıupdate the tag, and putı

the data and the addressıinto the write buffer

Cache hit?Cache miss stall

TLB hit?

TLB access

Virtual address

TLB missıexception

No

YesNo

YesNo

Write accessıbit on?

ı

YesNo

Write protectionıexception

Physical address

��&�

�#//� �=M<9Lg� YDP>MF� !"#� �#//� OL;AD� �^��#//$1(3+�� ������#��$_�&� ��+����#��","�"� ?����$%�� ��$1( �1(��&�� ��/��+������2%��� ��#//� OL;AD� 2#3+���%����������#��?����+����#��","�"� �������+��&���."2����+������2%���"��7� �k�&���� )�( ,"$1(7��'���+����#��","�"� 2#������$%�� ��7�$1(� Og>;j� eL<D� $1(�. &���� ���#7�+��� �����$%�� ��&� ��+������2%��� ��+� 7��k�����#��$_����&� �#//����2#1��'�7�+&�����.+�+�� Y=EE�eL<=>� ��/� �+��Y=EE� KD:Lg<F� ���� �%�����/�#//��=M<9Lg� ����3+��?����!��� ������������̀ ��)�m�n!���7� �^�����#�7�+��� ��?2�#//��+������2%��&� ��'(� ����6� !"#�� ?��)�m�n!���$1(��� �����+�������. �������$%�� ��/� ��'(� $1(�1��+������2%���"������6�7�

Page 76: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����v���

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

"89�6�':���:

�I� �"�����&� �B>;Lg=<F�3+��?����+����#��","�"� ������$%�� �� �k�&���7���+� 7�UI� ���$+�� �̂�,.����!//�OL;AD� $+��2#�1�"�� �5����+� 7�?���� "'��?3��#//��M=<D� sL;j

!"#��M=<D�}AM>9ZAI�I� �1��22��?/�� $1(�1,"�+���#��$_����&� � OL;AD� !"# �����������/��4 ��#��$_����&�

OL;AD�7���+� 7�/�� 2 �_�/��qI ��!���$��/������( �134�%����( $�� �����U�"����%����( �����Y=EE�eL<D� �^�������!"#�Y=EE�

KD:Lg<F� �^��v�OF;gD������+����#��","�"� � �"+���1�OKc� �̂�� ��!"#�1�Og>;j�eL<D �^�� U��� YA�� 2 !� ����%����5�� �"�?������#��","��!���$��/&� ��+����#��","�"� � �"+��

uI ����1�#//��=M<9Lg�YDP>MF����� �^���#�3���%�����/,.���̀ ��)�m�n!�����'�7�+���+� 7�

Page 77: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

������P�4�+5g�&),0&&6�4�=-,0'l�+%W4.�9�0*/���)*:;:4:'

?���� 3'(���+��4���5��+� 6� &����/��+����#��","�"� ����� �1�"���"��!��$� $1(��������#$%��7�� $�� �1���22��$1(2#?3� �^�����%�����+���� 3'(���+�2# "'��?3�����b��?� �'������ �k�&� �4���5�� "��05#&� ��+����#��","�"� � !"#� ����#!�"���&� �#//$1(�4���5� �"+������+��+� ��.+� �'����?�/$�1�2#�"+�� �1� !��$� ?���� 3'(���+��4���5��+� 6$� ���p���!���!"#)�m�n!����*��'�$1( �����2#�4�� ��?�"��05#&� �HDT=;D�HM=TDM-

������%������&���T�:��'���\���'" ��

?���� 3'(���+��4���5� &����/��+����#��","�"� ����� ��+����#��","�"� /� ��#�."2#�+��4���5� �"+����� &����/� YDP>MF� s9E� !"���� ��'�����( �+����$%�� ����/�4���5� �"+����� �^����$%�� ����/��+������2%���������� ��#//p���!���2#$%������ BL<;A� �+� &1�����7��!"#��+���+��4���5�2����+������2%���%��!��+ $1(�%����7��� �+��4���5� �"+������)�( �"������1� �� �1���+��YDP>MF�YLQQDW�c���� !� 7�� ���

����m&n,o<*�-d����NJXG�ys���Az

����p�-7<*�-

������������0��NJX�$1(2����

)�( �#//�YDP>MF�YLQQDW� c����1� �^�$1(����?��#//������ �����4�!��6�!�+ �'(� 2���#//��+������2%�������1"��05#!���+� 2���#//� c��� � ����� 2� 7��1���!�����2�����#//��+������2%�����2���#//����+��+� �4���5��+� 6� * �'(� 2����+������2%�������1���� ���#��$1(2#$%�� �̂��#//�OL;AD�?�&5#$1(�#//�c�������7�+��� ����OL;AD-�� ����2� �� �̂�!��$� ?���� 3'(���+���+����#��","�"� ,+���#//� c��� s9E� dFE<DP� !"#� �'(����������/��� 2� �1���JWWMDEE�$1(�4���5��+��+� ��.+�+��K>M<�!$�

��+� 7��k���� ?�/� ��51�����4���5��+��+� ��22#$%�� �� �k����� ?�&5#$1(��+����#��","�"� ��22#$%�� ���)�( ������+��&���.",+���#//� c������a����+����#��","�"� ���22#$%��7�"+�3������ ��4�1�2 �+ ,"?�� ���#//�H=MD;<�YDP>MF�J;;DEE�*HYJ-� �'(�?3�?�������+��&���."�#��+� ��+������2%���"��!"#�4���5��+��+� ��� � 7�+��� ,+����+����#��","�"� � *�4���5�)�( $%�� ��$1(���� �k��. ��+���+����#��","�"� ���6� ���� 3'(���+�

Page 78: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

,+���#//�1�-� ��+� 7��k������ 3'(���+�?�"��05#�1�2#��� �1���$%�� ��&� � HYJ� O>:<M>ggDMh:=<� &����3+��?������#��","���

?���51$1(�4���5��+��+� ��.+/��#//�����ll�5$1(�1����b��!���+� 2��� �#//� s9E��&� ��+����#��","�"� ����� ��� 3'(���+��#��+� �4���5��+��+� !"#��+����#��","�"� 2#�1��+����#��","�� a0 �^������#���)�( �����2# �1����+����#��","�� a0 �"+��1��+�sM=WZD���'��O>:<M>ggDM� 3+���4���5��+��+� $1(��.+/�����b��&� �#//�dOdc������ 7�+������$1(2#�+��+� &����/��+����#��","�"� 7���� � ����+��+� 2#��� ��#$%��,+��� dOdc�O>:<M>ggDM� �^����� ��� ��4�1�����+� 3'(���4���5��$�(�7�� 2� �����#$%��,+��� O>:<M>ggDM� �+�� ����*� !� 7�� ���-

Mainımemory

I/Oıcontroller

I/Oıcontroller

I/Oıcontroller

Disk Graphicsıoutput

Network

Memory– I/O bus

Processor

Cache

Interrupts

Disk

2�����2#�/�+�� c���O>:<M>ggDM�/� ��# �$����2#�+� �+���/�4���5�7������+�� ��3����!"#�"��6� ��51�4���5� �"+������k�1����!���+� ������?�! +&� ���� �k�� )�( ����'(�����#��+� �4���5�!"#�O>:<M>ggDM�$1(�1���� �k�!���+� ����1��"����51$1(�4���5�!"#�O>:<M>ggDM���7�$%�� ��$1(��ll�5������ 1������ *JEF:;AM>:>9E-� � ����2� ��� �1����%������ll�5CL:W� dALj=:Z� ��'�� KM><>;>g� �'(� �^�����b��?������" �����/�+ &���."�#��+� �4���5� �"+��1�� �����+� �#//� CLMW� dALj=:Z� $1(3� 2�$1(�4�'�����'(�����#��+� ��'(� ������ *KM=:<DM-!"#� ��'(� ������ ����� )�( 7�+�+� ��'(� ������ ����2#$%�� �� �k� �1� ?� �k�� ������2#�'(����&���."��/ ��'(� ������#// �+�$1($%�� ��3��7� ���

Page 79: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

DataRdy

Ack

Data

ReadReq 13

4

57

642 2

�#//��ll�5� CL:W� dALj=:Z� �$�(�7������ 2#��#��/��������ll�5� eDf9DE<�!"#�J;j:>�gDWZD��.+��� ���$�� �1�� �������'(�����#��+� �4���5�!"#�O>:<M>ggDM� �^�"��05#�dF:;AM>:>9E� ����������2��/���������&� &���."2#$%��7�����.$1(��ll�5������ �̂��"��� *���"# �1� ��(� ���&� ����� ���#����#��$_����&� �#//� dF:;AM>:>9E� !"#�JEF:;AM>:>9E���������������+��7�2����� �'��O>PQ9<DM�JM;A=<D;<9MD

#��]T�$���������YY�T��^.+�4-_0,-G,01*

• HL=EF�OAL=:�JM]=<ML<=>:��'������+��4���5�?�"��05#$1(�+� ���7� �'(��6�* 3+����51&� �hds�s9E-�)�( &�� �1�&� �s9E�?��#//�1��'�� �'(��1�4���5��+��+� �������� �k�?�����'(�����k2# o"1(�6����7�?�� $+�6����

• OD:<MLg=�DW� JM]=<ML<=>:� �'�� ����+��4���5�!//��������ll�5 &��������� * 3+����51&� �KOc���'��cdJ�s9E-

• dDg\�EDgD;<=>:� �^��#//�s9E�$1($1(����?3�/� ��'(� �YL;=:<>EA�*�9s9E-

• O>gg=E=>:� HD<D;<=>:� �̂�� s9E� $1(�1"��05#�� a0�'��1����'(������1,.���/,.��+ 7�����������* 3+���#//�s9E�&� ��#// ��'�&+�������� ����-

���I�'����&���T�:��'���`�a�b" ��

• K>gg=:Z� ���� �^��#//���2�����4���5��+��+� ����#�+��?�l+� ��.+$1(��+����#��","�"� �^��"��� ���+����#��","�"� ����2#��� �����/����4���5���.+ ����+�� �4���5��1&���."$1(��� �.���#��","��'�7�+� 3+�� ��+����#��","�"� ��� ����+��&���."�CLMW�H=Ej� �'(���+����#��","�"� ��( ?���CLMW�H=Ej�$%������+��&���."!"��� ��+����#��","�"� 2#��� ������2��/ ����+�� CLMW�H=Ej������+��&���." ��k2��'��� � ���+����#��","�"� 2#7�+��������#��"," ����+� �'(�7�)�( &�� �1�&� �#//�1��'��2#$���������+����#��","2%��������

• c:<DMM9Q<� ����� �4���5�2#!2� ?����+����#��","�"� � $��/�+�&���."$1(��+����#��","�"� ��� ������������!"��� 3+�� ��51����+��&���."2��� CLMWW=Ej� �'(���+����#��","�"� ��( ?��� CLMW� H=Ej� $%������+��&���."� �#��+� $1(�%��"� ��?��

Page 80: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

��+��� CLMW� H=Ej� ��#��"," �'(�?��7�&���."�."����� ��+����#��","�"� �k������$1(2#7�$%�� ����+� �'(�7��)�( �'(��CLMW�H=Ej��#��"," ��k2��k2#$%�����!2� ?����+����#��","�"� $��/,+���#//�c:<DMM9Q<��&���?��������c:<DMM9Q<��������+����#��","�"� 2#$%���������%����( $1(��� ���7��?�� d<L;j� �+��� !"��2� ������ � c:<DMM9Q<� �D;<>M� �'(�$%�� ��� c:<DMM9Q<� e>9<=:D� �%�����/ ������6� � &�� �1�&� �#//�1��'����� &1��)�m�n!���/��#//�c:<DMM9Q<�������1����)�/)����4+ ���

• HYJ� �^��#//��#��","$1(?3���/��� 3'(���+�p���!���$1( �^��#//� HYJ� ���+��)�m�n!��� �'(�7���/��ll�5��� &����$%���HYJ�2���4���5��+��+� � 2#��( ?����+����#��","�"� "��?3� ����+������2%��� �^����3�(������ 2������ �'(��4���5�$%������'(����&���."��/��+������2%�� ��k2!"��� 2� ��( ?����+����#��","�"� $%�� ���+�

$�� �1� �'(� ��1�/ $1�/�#��+� �#//� K>gg=:Z� !"#� �#//� c:<DMM9Q<� !"��� ��2#�/�+����K>gg=:Z� ���� ���#��/�����#��","?�"��05#$1(��+����#��","�"� ��� $%�� �� o��# 2�#2 �̂���#2%����+���#//� c:<DMM9Q<� ���#��/�#//$1($%�� ��?�"��05#�}=PD� dALM=:Z���'���+����#��","�"� ��� ��#��"," ���"��6���+� ?� �"� 1�����

��&�

?�������!//�#// �'(� 3'(���+��4���5� &����/��+����#��","�"� ����� �1��22��$1(��� a��0�������� 3+�� ���� �k�?�����'(����&���."� 2%������4���5�$1(�������+��+� 7�� �������&� �����ll�5$1(?3� 3'(���+�� ����� !"#��#��$_������51$1(�1�4���5��+��+� �̂�2%��������� )�( &���."$1(�"+���� ���?�/$�1� �̂� �1� ���"# �1� /'�� ��� �'(� �̂��'��b��?����a��0��+�7� $+�����

Page 81: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

"89�6�':���:

�I ���$+�� �^�,.���̀ ��)�m�n!����%�����/�'(������/�4���5�3������( �$+��2# "'�� &1��)�m�n!����?3��#//�K>gg=:Z���'���#//�c:<DMM9Q<� ���# ��4?

UI �4���5���# �$?/�� � $1(�1"��05#����'(������/�#//������ ����� ?�"��05#JEF:;AM>:>9E�!"# ���# ��4?2� �^� 3+�����

�I ���!���#//� c��� ���2���#//��+������2%�� �^���#�3��?������`���4���5������� ������'�7�+���+� 7�

qI ���$+�� �^�,.���`���4���5� 3'(��� $+���1�"�� �5����+� 7�?���� "'��?3��#//� YDP>MFYLQQDW�c���G��#//�c���s9E���'���#//�HYJ�2 �_�/��

Page 82: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

������������������ ������������������� ��������������������� �����U���

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

������q� 2�3,/4��)(&)$!*+,&�- )./\9)0�<:� 2�3,/4��)<��%��

Cache

Processor

Cache

Processor

Cache

Processor

Single bus

Memory I/O

Network

Cache

Processor

Cache

Processor

Cache

Processor

Memory Memory Memory

Cache tagıand data

Processor

Single bus

Memory I/O

Snoopıtag

Cache tagıand data

Processor

Snoopıtag

Cache tagıand data

Processor

Snoopıtag

"89�6�':���:

Page 83: ˘ˇ ˆ ˙˝˛ ˚ ˜ˇkrerk/publication/THBook1-8.pdf · ˘ˇ ˆ ˙˝˛ ˚ ˜ˇ ˘ ˇˆ ˙ ˝ ˘ˆ ˛˚ ˜ ˇ !"# $% &ˆ ˇ ’(ˆ ˇˆ ˙ ˝ ˘ˆ ˇ &ˆ ˙

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

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

+&4 �&W'&!'