simple microprocessor

28
A VERY SIMPLE MICROPROCESSOR JANUARY 2005 1 [email protected] 07/01/05 !"#$% # 1. Introduction % % ! &’ % %&# ( # # & )!*+ ,--. ! #* / 0 #! # 1# 231!, 4 # & & ’535( # 6 * 3 7 3 !#* ##,

Upload: prakash-kumar

Post on 06-Apr-2015

73 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

1 [email protected] 07/01/05

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

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

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

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

#����� ������������� ������������������ ����������� ������������� ����������

1. Introduction

��������%����%�� ���� ������������ ���������������!����������� ������&�'����%��%&����#��(� � ����

�� ���� � ��� ������� #�� ��#���� &�� �������� )��!���*+� ��� ,--.� ��� ���� !�� �� #��*� /�������� �� ����

��� ����� �0���������� � ���������� �������#��� � �� �����!�� ���� �������� ���� � �����������������

����#�������������������������������1�# ����������2 ���� ���31������������!�� ���,��

��

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�����������

• ���#�����������

• 6�� ����������

��� *�

������

�� ����������� �3������������

7 � ����������� �3������������

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

����������!��� ��#�� *������� ��#��������#���,��

Page 2: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

2 [email protected] 07/01/05

��� *� ��� *� ��8��

&�������� ����� ���������� � ����� � ����!���9999����,,,,�����������������

���������!������ ���������� ���������������1����������� � ������������

���99991��������� ���� �������������#������!���������� ������!�����

������

$�#����

&������������ ����������������������������������� ��������������������

5�#���!����:�����!� �����������!� ����#����������������� ����������!1�

���������������!� ����#����������������� ��������������� ����1��!�

�� ��������

535�#���

� �������� ����� ���������������������������������� ���� � ����#������

� ���� ������������ �����������$%#�������������4�����2 ����

'���#���(1������ ��������� �������� �������������������# ����

$�#����

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

� �������� #������#������������ #���� ����!���� �����������

�3� ��������������������� #���� �������

$�#����

�������� �4���� ������������ �4������!�����������������

�;�<��'��������(�

7��

�;�<=�<,�'� #���� ����(�

$�#����

�� ����������� ������ ������������������������� �������������!��������!�������

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

$�#����

7 � ����������� ����7 � ����������������!�������� ���������!��������������# ���������

� �������������4� ����1����������� ����������!�����������������!�����

��������������������!�������� ��������� � ����������������������

� � ������������!����������!����� �� *������� � �������������� � �����

���� ���������������!� �� �� ������ �������!�������������������

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

$�#����

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

�������� �� ������#����������# �1� ������/���������# �0�'��(���� ��#�� *�����������!�� ���>������*������ �������

�!�����# �1� ��������� �!� ��������/���#��0��?����3���1� ������ ������������������#������������� �����

@������� ������������1�����$�#�����!������ ���������������������������# ����

���� ����� �!� ���#��� �������� ��� ������ ��� !�� ��� >�� ���� ������� �!� ������ ���#��� �������� ��� �������� #�� ����

�����������������#�� *1���� ���������! ��������������������� ��������!������ ���� �������

��

Page 3: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

3 [email protected] 07/01/05

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

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

���#�����������

��� *�

������

�� ����������� �3������������

7 � ����������� �3������������

��� ����

��� ������

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

��� �����

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

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

���#���� � �����8����������*�� ��������!�����# ���

���#���� � &�� ���������� ����!������������� ����������'��������4�(��������

# ��

���#�������� &�� �����������������!���������� �����'?� �������������!� ����#���(����

����# ���

���#����� �����!�������� ���������!������3��������� ������������������# ���

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

2. Instructions

����#��� ������ �����������������#������������������ �������� ��������$�#���1������,A���!!����������� ���������

#�� ������������

No Operation (NOP=0000) ����B��7������������� �������������!!� ������������������������C������1����������� ����������������������������

������������������#��� � �� *� �����������*��

Addition (ADD=0001) �

���� ���������!�� �����������������������������������������������1������������ ��� ����������� ������

��� ���� ��������� ��� ��!����� ��� !� �� #����� ���� ����� ��� ��������� ?��� �3���1� ����������� ����� �;>1� ����

����� �����/����.0� ��������������;�<.1����������;><.������!�������� ���!������D���

Page 4: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

4 [email protected] 07/01/05

Subtraction (SUB=0010) �

���� ���������!�� ������������ #��� ������������������������������1������������ ��� ����������� ������

�������� #��� ����������!��������!� ��#��������� ������������������

Get Input (In=0011) �

������ ��������������!���������� ���������

Give Output (OUT=0100) �

����� �������������������������� � ������������ � �����������!� ��#���������������������8�������� � ��

��� ������*�����������������������#��� ��������� �������������!�������#��������/E����7 � �0������ ������

Load Instruction (LDA=0101) �

6����������!���/���������� ������������������ �0��?����3���1���������� �����6���-������!����������� ��-�

',99,����#������!����(��������� ����������

3. Program Memory

��������������� �������� ����5�#����1������������������������� ���������#���3� ������� ������� ��������

��������5�#������������������!� ����#���� ��������������������� ����������!1����������������������!� ����#��������

��������������!�������������������������� �������������������� ��/>01�����������/,01������� ���������� ���

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

��������� ��#���������������!�� ��� .�� ��������� ����5� ���������1��� �� ��������� �������5� ����������

����� ������F� � ��� ���������� ���������!�������������������#���� �� *�������������������� � �����@������ �

���������� ����� �������1��� �������������������� ��������������������#������#��!� ����������#��� �

��#������������

Page 5: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

5 [email protected] 07/01/05

G� A� D� $� .� >� ,� 9�

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

��#��$%� ���&�

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

#����$%� ���&��

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

��������

�������

�������

6���>� 9,9,�H�99,9� 93D>�

����,� 99,9�H�999,� 93>,�

74�� 9,99�H�9999� 93$9�

B7&� 9999�H�9999� 9399�

�� ���'����������!����������() ����������������*���������� ��*���������%������������������ ������������

��������������#����#����������������������� ������������#���+�������*)��#���,��*��������*��-�#�#�����./�"�

�//"�01����#�203��������������

��� ��������'�������������*�������������������!$��)���(,(�����+���&�

Page 6: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

6 [email protected] 07/01/05

4. Executing the instructions

Introducing the micro-instructions �

����� �������!����3� �������������� ����������#������������������ ������� ������������3� ������!��� ��

����� ����� ��� #����� ��� !� �� ��!!������ ���� �����1� ��� ��� �������� ��� !�� ��� $�� ���� ������� ��� ��� �*�� ����

������ ����� #������� ���� � ���� ������ ����� ����� �����!� � � �� ��� /6��� >0� ���� ���� !� �� ���������

� ������� ���������������� ����������/6���>0������ ����1� �����������91�,1�>�����$���

��

��� ��� �'� �%� ��� ���

��������4������

$��*�����&�

�,��������4������

$��*�����&�

2� �������

��4������

0������������������#��%�������*������

��� ����������#��,�����#�

2� ��������������

��������%������,������������������������������ ���#������,������*�����������#����5�������������������

��������3� ������!���������� ����1����������� ����!� �������1���� ��#������!����������������!���������������

����������!�� ����2 �� ������� ������������� ������� ����������������������!����� ���I������� ������

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

&�����,�� �������������� ���� ���������!��������������������#������

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

&�����>� �� ������������ ���������� � ������������������ �������������

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

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

&�����.�� �3� �������,� ��������������������� ����1������ ���� ������

�*�������!����������!������3� �����������

&�����$� �3� �������>� ����� ���� �������*��������� ���������!�����

�3� ����������

�� ���%������,������������������������������ ���#��������������*�������

Page 7: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

7 [email protected] 07/01/05

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&����,�

�� ����������� �3������������

7 � ����������� �3������������

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

.��#������

&�����,�

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&����>�

�� ����������� �3������������

7 � ����������� �3������������

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

��� ��������

����������

���#� ��������

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

&�����>� �

�������6������,������������ ����������������������������*������������������������4������

No Operation (NOP=0000) �

����?�� ����2 �� �� ������������������ ����������������'�����;,(1��������������!����� ������������

����� ����� '6��������;,(� � ����� ����� ,� '?�� ��� D(�� � ����� ����� >1� ���� ������� ����� ����� ��� ����� ��� ����

� ������� ����� ���������1����������� � ���������� ����������������JB��7�������I������ �������������!!� ������

�����������������1������3� �����������'&�����.����������$(�������� ������������������ �!� �� ��������

��

3������

������$�������������

������������&� �,������203�

3������ 3����'� 3����%�

.��#������

7��#����

��� ��������

3���8�����

��������6�203���������#��,��������4������

Page 8: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

8 [email protected] 07/01/05

Addition (ADD=0001) �

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

����� �����������2 �����1������������������3� ����#��������������������������� �������1��������*���� �����

�������� � ���������� ���������������#�������� ������������� �������� '&����� $(1�����!�������#��

�����!�������������� ���#� *����� ��������������������������!����� �� *�� ����������$1������� �����������!�� ���

A���

��

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&�����.�

�� ����������� �3������������

7 � ����������� �3������������

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

&�����.�

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

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

&�����$�

�� ����������� �3������������

7 � ����������� �3������������

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

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

&�����$�

�##�� 9��

$�//&�

.��#��

��

3������

������$�������������

������������&� �,������.0�/�

3������ 3����'� 3����%�

.��#������

7��#����

��� ��������

3���8�����

.��#:�

.��#��

��� ������

1*#������

��������5������,������������������������������������*��#������������//�������������

Page 9: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

9 [email protected] 07/01/05

Subtraction (SUB=0010) �

�����3� �����������!������ #��� ���������� �������������� ���������������!������������������� ���������������

��!!���� ��������������/���� #0�����������91���� �������/� #���� �0��

Get Input (In=0011) �

������ ��������������!���������� ��������� ����������.�'?�� ���A(��������������������������������������$1�

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

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&�����.�

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

7 � �����������

�3������������

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

&�����.�

��� �����

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

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

&�����$�

�� ����������� �3������������

7 � ����������� �3������������

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

����������

&�����$� ��

3������

������$�������������

������������&� �,�������2�

3������ 3����'� 3����%�

.��#������

7��#����

��� ��������

3���8�����

.��#��

1*#������

��� �����

��������;������,������������������������������������*��#������������2�������������

Page 10: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

10 [email protected] 07/01/05

Give Output (OUT=0100) �

���� ���������!������ ����������������!�������������� � �����������������������# ��� ����������.������

� � ����������8�������� ��������� ������*�����������������������#�������*���������!� �����������������

�� ������������ ������ ����������$��

��

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&�����.�

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

7 � ����������� �3������������

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

&�����.�

��� ����

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

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

&�����$�

�� ����������� �3������������

7 � ����������� �3������������

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

����������

&�����$� ��������(������,������������������������������������*��#�����������01��������������

Load Instruction (LDA=0101) �

�������������� ����������!��������$%#����������������������������!�����6�������� ��������� ���������?���

�3���1���������� �����6���-������!����������� ��-�',99,����#������!����(��������� ������������!�� ���G1�

����!� �������������!� ����#�����!���������� �������������������� �������������������# ����������������!���������

� ����������������� ��1����� ��������� ���!������,99,��������������� �������� ����������$���

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&�����.�

�� ����������� �3������������

7 � ����������� �3������������

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

&�����.�

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

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

&�����$�

�� ����������� �3������������

7 � ����������� �3������������

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

����������

&�����$� �

Page 11: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

11 [email protected] 07/01/05

3������

������$�������������

������������&� �,������.0�/�

3������ 3����'� 3����%�

.��#������

7��#����

��� ��������

3���8�����

.��#��

1*#������

�������<�����������������������#������*�����'��,��������������#��*�������+�/������*�����%"�����

*������������������-�+�

5. Basic Block design

@��������������������� � ����!��� ��� #%#�� *��!������ ���� �������

Accumulator A �

���� � ������ ��� #����� ��� !� �� ����%���������� �%����������� ���� ��������� � � �� ��� ���������� ������#���

���� ����� �9���� �.�!����������������4����������������������1����� ���������!������#�������!���������

�������������# �������/���#���0��������������@�� ����������������������������# ��������� ��������������������# ���

����/��� ��0��������� �����8������������!����!��� �������'C���1���*��#����(���������%�����������������!����������!�

�������� �� *��

Page 12: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

12 [email protected] 07/01/05

���������=����������������������������������� ������������������������������������ �����#����������������

�����$��)������������+���&�

Accumulator B �

���!���� �������1������ ����������������#��������!� ������%�����������%������������������������� � �����

����������������#������� ����� �9���� �.�!����������������4�����������������/��� ��0��������� �����8���

���������!����!��� �������'C���1���*��#����(���������%�����������������!����������!��������� �� *��

����������������������������������������:���� ����������������������������������������$��)

�����������:&+����

Page 13: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

13 [email protected] 07/01/05

Add/subtract Block �

����������������#��������! ���������� #% �� ���1�����������#������� ��#�������� ������K�� �� ���I���� ��������

������������ � ����!�����! �������������������!�L7��������!�������/�4�0�������������� ���3������!�������/�����0�

������1�������������!�� ���,>��

���������������������������������������������##���$��)�����##��+���&�

������� ���� $%#��� ��!�������� ��2 ����� !� �� ! ��%������� ���������� ��� �������� ��� !�� ��� ,.�� ���� ����� �������

���������!�������������������������� �����������������������!������� ���������������������

���� #��� ������� #����'�%���������� ���(������� �������������! ��%������ �� ���1������������# ��������

� ���������������:�

• �� �� �������� �����������>I�� ��������!���

• ������� �� ������������������������� ��������,��

7������� �� ��������������������� �����3��� �� ���1���������#��!� ������������#���������1������ ���

��#����� 1�� #%�� �/���� ���0��@����/���0��2 �������91������� ���9���������!�������������� � �1����������1�

�,���������!�������������� � ��������2 �����1�/���� #0;9� ����������������������!����!���������������� ����1�

'������������(1�������/���� #0;,� ����������������������!����!�=��������������� �����'� #���������(��

Page 14: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

14 [email protected] 07/01/05

���������'���������������������������������� �������!�*������������//���#��1:��*���������$��)

����������1���+���&�

������������1������ ������������������������ ���� ������� ����������������������� � ������������������!���

�� ��������������� ���� ����������������������������������������2 �� �������� �� ��������!������ ������

�1������������������� � ����������������!�� ���,$����������*��#������������������ ����������1�����������������

�� ����������� � ��# �������������������� � ���� ���� ���������������������# ���

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

���������!�� �������������������!�����2 ������������������������������ #���:�

• ��%� �����������������������������1������������������������9�'��!� ������ ����������(1���� �� ����������

������� ��������������������������������������� �������'�;91��;9(��B�������������*� ������� ���������

# �����/=���������0����,���

• 6������������������� ����������� *��������������*��#����������/�01�!����3����.����� *�/6�� ��0�

���������������������� ������ � ����!��������� �� *������� ���������������.��������!����������!�

���� �� *��

• 6������������������� ����������� *�������� ���*��#����������/�01�!����3����>����� *�/6�� ��0�

���������������������� ������ � ����!��������� �� *������� ���������������>��������!����������!�

���� �� *�������������� � ���� � ��������� ��<�����/���� #0��������#����!� ������91���� ��

�������������������������� ������C�������������� ����������������������/���#���� 0����9��

• ����/���#���� 0����,������������������ ���/D01�������������!�� ���,$��

Page 15: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

15 [email protected] 07/01/05

���������%���������������� �� ������������������"�:���#����������������������������������//���#��1:�

�������������$��)7���7��:���+�8>&�

The input register �

������ ��������������������������!��.%������# !!���1�������������!�� ���,D�������������������!����%�����������������

�� �������#������ ���������!�������������� ���������

Page 16: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

16 [email protected] 07/01/05

���������6�������*������������$��)��7�������+�8>&�

The output Register �

����� � ��������������#���������%��������� ��������������#������7��������������������!����� �� *1�������������

����������������������������������������������������������������������������������������!����� �� *�� ����������.1�

����������������������������1�������� ����������� �����8������ ��!�� ���������!���1���B�B���������� ��������*��

���� �� �������������������������������!��������� �� *1������������!�� ���,A���

��� ��� �'� �%�

01����������4������

$��*�����&�

01���,��������4������

$��*�����&�

/���������#��������01��

����������������������#������

����������

�����8�����

���������5��������*���������������������������#�����������������#������*�����'�

Page 17: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

17 [email protected] 07/01/05

���������;������������������������������*������������$��)0��7�������+�8>&�

A manual microprocessor �

���������������1�������������# ������/�� ����% ���������0�� ���� ��������� �� ������������ �������

�1��1������� ����������� � ����������������������!������� ������������������!�� ���,5������������!��������� ��

��!��������'������(��������� � ������ '����7 �(�������!�������������!��1���������������#��������� ������

'���#����(1�������������#�������� � ����������������3�������������!��������� �� *1����� ���������!������� ��

*��#�����'D��������� ���(������������������������� �������������������� � ����������������������!�������#��

��!����:�

• �� ��������������� ��������

• �� ��������������� ��������

• ��� ����!���������������!����������������� � ������

������������#���'��#����� �/����� �01���#���/�����0(���� ��������������� ��� ��� ���� ������#�������

�� *���������������������������#��� ��3�������������!�� ���,51����� ���� ��������# ����� ����� �����#�������

��������������������������������� #��� �� *�������������#������� ��������������������� ��������!��������

��� ��� ����������������3���1����# ����������!!��������� ��� ��� ���� �����1����� ������/��*01����������� ������

/���0��B��� �������������� ��� ��������������������� ���������������

Page 18: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

18 [email protected] 07/01/05

���������(�:���#�������� ������������������������������������ ����������������������$��?���� +�8>&�

���������<�����������!)���������#������*���������$��)7���7��:�����0��+�8>&�

The Phase Generator �

�����������������!������������ ��J�� ��I�� ���� �������������! ����������#���� ���� �����1���������

���# ������������ �� ������� ������������������� ����������������?������1���������� � ����� ������ �������

!� ���������������&����9����&����.1�����������������������!����� �� *��

Page 19: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

19 [email protected] 07/01/05

���� � ����� ���#�� ������#�����������/�����0�� ����������������������!���������� � ��������#�������������

������������� ������L7�������1�������������!�� ���>9��

���������=�����*����������������������$��)7���8������%+���&�

�����������������������������*�������������$��)7���8������%+���&�

@�������� ������������#� ������� �����'�������� �(1������������������2 �����������

Program Counter 0 to 15 �

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

������������������!������ ���������� �����'?�� ���>>(����������1����������� � ��������9������1�������������!��� ��

����� ����1����������� � ���������� �������1����������������� ��������3������� ������

Page 20: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

20 [email protected] 07/01/05

��

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

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

�� ����������� �3������������

7 � ����������� �3������������

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

��� ��������

��������������*�����������������**���������*������������!� ���������##����������������-��������������

7���������������# ������ � �����!���9����,D������� ���������%�����������%���������1����������#����������

�� ���������������1�# �����*������ ����� ��������������������� ����������������������#�������������1�

������������������� ������������������������ �������������������������!�������������� �������������� ��

���� ��� ���� �������������������� �� ��� � ���������� ��������� ��������������>��!������ ������� �����

��2 �� �1��������������3����������������3������� ������ ����������,1������������������ ���������������

��������'�����*������������������ ���+�8�������������� ��#����!�#������*������"��������������#����������

����������$��)8�������5+�8>&�

Page 21: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

21 [email protected] 07/01/05

The Instruction Register �

��������� ������������������������� ���������!���������������������5%#�����!�����������������������������:�

�������������!� ����#���� ��������������������� ����������!1����������������������!� ����#����������������������

����� ����� ��������������#������!� ���%��������� �� ������� ������������#������!�!�� ��� >.1�������������#��

����������������#���!�������� ������� ������� ����1�����������������������������!� �����������%��������� ����1�

���� ���#������������#�������������������# ������������ ���������������������� ����!����� ����������� ���������

���������������������1���� �� ���#��� ������������!���#�����������������������������

��

G� A� D� $� .� >� ,� 9�

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

��#��$%� ���&�

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

#����$%� ���&��

���������%����������������������������������������������������������!���#���*�������������#��*����$.� ���

���������&����������#����*����$�**������������&�$��)�����������7��+�8>&�

Page 22: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

22 [email protected] 07/01/05

The MicroInstruction Controler �

����� ������� ������������J�����I��!������ ���� ���������� ��������������������������������� ���������

J���#��I�����J��� �I� ��������������� ���!������ ������� �������������������������� ����� ���������!1�� ������

�������!�������������!� ���� ���B���������������������� ������� �������?����3���1���������� �����9999�

� ����������� ����B������1���� �� �����������������B7&�� ������� �������B��� �����������9���������,�

�������� ���� ���������������� ������� ��������������#� � �����������!�����������������������������������

����� ����������!������1����������������������!������ ����1��������������������������������,��!�� ����1����*������9�

���#����� ������

���������6��������������������������������������������4��������������� �������*���������������������������

The Complete Microprocessor �

����������������� ���� ������� #% �� ��������������������������������� ���� ��������� ��� #%#�� *�����#����

�#���������������#�������������������� ������� � ���������������� ������ �� ���������������!�� ���>A��

C������1������� ���*������������������������������/���������0�������������� ���3����� ���� ��������

��!������������������� ������1���� ������������������������������������

Page 23: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

23 [email protected] 07/01/05

���������3�������������!�� ���>A1������������ �����������#�����������:�

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

��������

�������

�������

6���,� 9,9,�H�999,� 93D,�

���>� 99,9�H�99,9� 93>>�

74�� 9,99�H�9999� 93$9�

�� ���5�������#�������#����������*������������!�

��

'>(�� �����������

���� �� *�

',(�����������������

������

'.(���������$�

������

'D(�������������

�����

��������

'$(�?����������

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

'A(�������������

���������# ��

��������

'G(������� �������

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

'5(�7 � ����� ���

��� ���#������

� ���� ������

��������5����������*��������������������#!����������������$��)�����*��������+�8>&�

7� ���� ������������������1��������������������������������������������� ������ ���:�

• ��%� ���������������',(�

• ��� *��������� �� *�'>(�

• ����� ��� �����������!����� �� *1��#��������������� � ��������!��!�������9��������,1�����>1�����.�

����#� *��������9�'.(���

• ��������������>1���������� ����������������������� ������� ����� ���������������� ���������� �����

������������������'$(1���� �� ������������������/6����'9,9,(0��

• F� � ������������������� ����������������� ������������ ������'D(���

• ������������!����������������������������!��������������# ��'A(��

• �!���2 �����#�����������1��� � ���������������������*��#�����#���������'G(�

• �!��������� �����/74�0����� �����1�������� ��1���� ���������������� � ���������'5(��

Page 24: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

24 [email protected] 07/01/05

���������;�����������������������##�������������#�������������*�������*��*���#������ ���5�$��)

�����*��������+�8>&�

Memory Move �

7�����������!��� ���B7����������#����������������� ���� ����������������������'�7��(�������

����� ����� ����������������!����������� ���������!������������ ���������� �������1����������������@���

����I�����# ���������! � �����������������!��������������!�� ���� �����M��� � ���������� � ����!����������

������������ ���� ���#�����������!�����������������������!� ������ ����!�� �������������������

��� ��������������7�����������������!�������� ���������!������������ ����������1��������������!�������

!�����������2 �� �:�� ����������.1������������������ ����������� ������ �������1���� �����������������

�������������������� � ���������������������������# ��� ���� ���#������������������� ������!�������

���������������������# �1������ ��������������� ���������!���������� ���������������������!!���� ���#�����������

������� � �������������������!�� ���>5��

Page 25: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

25 [email protected] 07/01/05

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&������

�� ����������� �3������������

7 � ����������� �3������������

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

���� ��� ���� � ���:��7�����������#���

� ��������

�������� �4����

� ��������

���������# ��

&�������� �����

&�����������

'535(�

�� ������� �����&������

�� ����������� �3������������

7 � ����������� �3������������

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

��������� ���� � ���:��7���������#���#���������������� ����

��������� 3�

$�&���,�

$�&�/������

*���������!�

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

���

$'&������!�

�##�����

��������

��������(���#��!�������������*���������������#��������0��������������

����� �� �1������7��� �� ��� ���#�������8���#��������������� �����������������������# ��'@�����������������

���#��� ������(1� �� $%#��� �������� # �� !��� ���� ����� ����� ��������� ��� ���� ����� �������1� ���� ��

&������� ��K����������������� �����3����

Physical Implementation �

Description of the design flow �

���������� ����������#������� ��#��������� ������������� ������� ��������C1����������� �������������

����� ����� ����� ��!����� ���#�� ���������� ����� �������������� �� ���������7@�B��������������!����

���������������!�� ���>-��@�� ��������������67E���� ��������!����������� ������ ��������� �����"���

→→→→��#��$�����"����������3��!��������� ����� ����� %&%1���� ���� � ������������67E���� ������1�

���������������� ���!�����7@�B�1��������������� ����� � ����������!����� �� ������������ ������

����7@�B�1����� ���������������→→→→��#��$�����"�� ��

Page 26: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

26 [email protected] 07/01/05

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

'����� ����� ����� ��!(� ���������������������� �������

'����� ����� ����� %&%(�

���C.����� �

�����������

���� �

�� ������

����7@�B��

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

�����������

�� ������

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

������'����� ����� ����� ��'(���������� �����������������

��� �������

��

���������<�8��*���������������������������������������#�����*����"��������������7�.0@���������

VERILOG translation �

�������#��� ��������1������ ���� �������� � ����.,>��������������������������������� #����!����� ������� �����

����!� ���������������������������������������������������������������#��� ������������ ���� ������

������������� ��% ��������������������� ����������������������������67E��

��������'=�A���������������������������!�������������������� �������������#���������7�.0@�

����#��#�#�����*�����

Page 27: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

27 [email protected] 07/01/05

��������'����*�������-�� ���������7�.0@�#�����*������������%) ��������*���������$-��)

�����*��������+�8>&�

�������������� ���������� ���!������ ���� �����1��������������������� ���%#�����535�#����������������*�

�3� ����������������� �� ���������� ���#�������#�� ����� ���������������!�535���������� �����#�������������

��������������������������������!�� ���.9������� �������������������!�������������������� ���������������

#�������������������� ����������#��J@ ����I�'B,(��

��������'��#�����������-��!����*��������!������ ���#����� ���������-�������$-��)�����!����+���&�

���� ������������������� � ������������������ �����'.������������������5����� �������(��������� �� �����������

����������5�#����������������������

Page 28: Simple Microprocessor

A VERY SIMPLE MICROPROCESSOR JANUARY 2005

28 [email protected] 07/01/05

Conclusion �

��� ����� �����1� �� ����� ����� $%#��� � ���� ������ ���� #���� ����� ���1� ���� D� ����� ������ ����� #����

�������������������������!� ���������!���# ����������� ���3��� �������������3������������ ��������1�

����������� ������3 �������#����������������������������� ������1���������! ���������� � ���1�

������������# ��������������� ������ ���� �������

References �

),+����&����������1�N�����������/�������� � ������� ����� �01��������������1�E��� �%�� �����1����B�9%9>%

599D-$%D1�,-->1�4���