uniprocessor virtual memory without tlbs - electrical and

18
Uniprocessor Virtual Memory without TLBs Bruce Jacob, Member, IEEE, and Trevor Mudge, Fellow, IEEE AbstractÐWe present a feasibility study for performing virtual address translation without specialized translation hardware. Removing address translation hardware and instead managing address translation in software has the potential to make the processor design simpler, smaller, and more energy-efficient at little or no cost in performance. The purpose of this study is to describe the design and quantify its performance impact. Trace-driven simulations show that software-managed address translation is just as efficient as hardware-managed address translation. Moreover, mechanisms to support such features as shared memory, superpages, fine- grained protection, and sparse address spaces can be defined completely in software, allowing for more flexibility than in hardware- defined mechanisms. Index TermsÐVirtual memory, virtual address translation, virtual caches, memory management, software-managed address translation, translation lookaside buffers. æ 1 INTRODUCTION C HANGING trends in technologies, notably cheaper and faster memory hierarchies, have made it worthwhile to revisit many hardware-oriented design decisions made in previous decades. Hardware-oriented designs, in which one uses special-purpose hardware to perform some dedicated function, are a response to the high cost of executing instructions out of memory; when caches are expensive, slow, and/or in scarce supply, it is a perfectly reasonable reaction to build hardware state machines that do not compete with user applications for cache space and do not rely on the performance of the caches. In contrast, when the caches are large enough to withstand competi- tion between the application and operating system, the cost of executing operating system functions out of the memory subsystem decreases significantly and software- oriented designs become viable. Software-oriented de- signs, in which one dispenses with special-purpose hardware and instead performs the same function entirely in software, can offer increased flexibility over hardware state machines at a modest cost in performance. One current example is the translation of x86 instructions by Transmeta's code-morphing software layer [11]; this per- forms the same type of function as the front-end of the Pentium Pro/II/III pipeline, which turns x86 instructions into RISC-like uops in hardware [16]. This paper describes a software-oriented design for a virtual memory management system. It shows that a software-oriented scheme can perform nearly as well as hardware schemes and it is more flexible. Eliminating dedicated special-purpose hardware from processor design can save chip area [25] and can reduce power consumption Ðe.g., the StrongARM TLB consumes 17 percent of the chip's power [26] and, so, eliminating the TLB would therefore reduce power consumption by a significant amount. Reducing die area and/or power potentially lowers the overall system cost. Moreover, a flexible design should aid in the portability of system software by allowing the operating system to dictate details to the hardware, as opposed to the other way around. A software-oriented design methodology should therefore benefit architects of many different microprocessor designs, from general- purpose processors in PC-class and workstation-class computers, to embedded processors where cost tends to have a higher priority than performance. 1.1 Efficient Virtual Memory without TLBs In this paper, we demonstrate software-managed address translation, or softvm for short. The mechanism dispenses with the translation lookaside buffers (TLBs) found in nearly every modern microarchitecture and the page-table- walking state machines found in x86 and PowerPC architectures. It uses a software-handled cache miss, like the VMP multiprocessor [8], except that VMP used the mechanism to explore cache coherence in a multiprocessor, while softvm uses it to simplify memory management hardware in a uniprocessor. VMP also stored the cache- miss handler in a dedicated buffer next to the processor, while the softvm handler code is part of the operating system in main memory. Softvm also resembles the in-cache address translation mechanism of SPUR [32], [46] in its lack of TLBs, but it takes the design one step further by eliminating table-walking hardware. The scheme is relatively simple and requires a minimum of hardware components: a virtually indexed, virtually tagged cache hierarchy and a mechanism to implement a software-managed cache miss at the lowest cache level (L2, for example). Because virtual caches do not require address translation when requested data is found in the cache, they obviate a TLB; further, if a miss in the L2 cache invokes the operating system's memory manager, the operating system is free to implement any type of page table, protection scheme, or replacement policyÐeven a software-defined IEEE TRANSACTIONS ON COMPUTERS, VOL. 50, NO. 5, MAY 2001 1 . B. Jacob is with the Electrical and Computer Engineering Department, University of Maryland, College Park, MD 20742. E-mail: [email protected]. . T. Mudge is with the Electrical Engineering and Computer Science Department, University of Michigan, Ann Arbor, MI 48109. E-mail: [email protected]. Manuscript received 26 Oct. 1998; revised 24 Oct. 2000; accepted 23 Feb. 2001. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number 108114. 0018-9340/01/$10.00 ß 2001 IEEE

Upload: others

Post on 18-Mar-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uniprocessor Virtual Memory without TLBs - Electrical and

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

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

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

������� � ����� �� ���� ������$��������� � ������ �� �� ��� �� ������� ���! ��� ������ �� ��� ���� � �� ������� ��� ����� ��

%� ����� �� ������� ��� ��� ��! �� ��$������ ���� ���� ��� �� � ���� ��$� � ��� ���� �� �� ���� � &�� ���������

� ��� ��$� � ��� ���� �� �� ����! ��������� ���� ��� �� ������ ��� �� ���� � ��� ������� ����� ��� ����$

�� ���� ����������� �� � �� ���� � �� � � �� ������� ���������� �� ���� ��� ������� ��� ���� ���'������� �� � �� � ��� ��$

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

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

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

� �� ����� ���

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

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

&� � ���� ���� �� � ���������� �� �� � ��� �� ����� ����� ������ ������ �� ����� ���� ����������� �� ���� �� ������ ���� �� ��� ��������� ����� �� � � ��� ��� ��� .� � �� ��� ���� ��� ��������� ������� ���� �������� �� ��� ��� �� � ��� (/0* �� �� ���� ���� ������� �

1���� �� "�����,2 &34 ������ )5 ���� �� ���� �'� ���� (/%* ��� ��� � � �� � �� &34 ����������� ���� ���� ������� � �� � � � � ��������� ,��� � � ��� ��!�� ���� ���� ��������� �� ������ ����� ����� 2������ � ��� �� �� ������� � � �� ������ � �� �� ����� ������� �� ����� ��� ����� � ����� �� � ���� ��� �� �� �� �������� �������� �� �� ���� ��� ������ � ���������� ���� � ���������� ������ ������ �� � ���� ���� ����� � ���� � ����������� �� ��� ���� ����������� ��������� +������� �� ���-���� ���������������� �� ����� ��������� ��� ���� ��� ����� � � ��� �� �� �� ��� ���������

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

� �� � ����� � �������� ���������������� ������������������ �� ������ ��� ������ &� ���� �� � ����� �� �� ������� � ���-�� � ������ 6&34�7 ���� ���� ��� ���� � ������� ����� �� �� ������������- � ���� ���� � ���� �$% �� +���+����� ������� �� ��� � ������������� ���� � ��� � -�� 82+ ���� �������� ($*� ���� ���� 82+ ��� ������ �� �� ����� ���� ����� � ���� ����������� � ������ ��� � �� � ��� �� ����� ������������� � � ��������� 82+ ���� ����� �� ������ �� ����� � �� ���� ����� �� �� �� ����������� � �� ������ ����� ��� � ���� �� �� ����� ������ �� ������ ������ ���� ������ �� ����������� ������� � ���� �� �� "+9, (:/*� (;%* �� ���-�� &34�� ��� � ��-� �� �� � � ��� ������ ��� � �� � ��������- � ��������

&� ���� � ���� ��� � ��� �� �<� �� � � ����� ������� �������= � � ������� ���� � ������������ ���� � ������ �� � ���� �� �� ����� �������������� ���� � �� �� �� ����� ���� ��� 63/���� �����7� 4���� � ����� ����� �� �� �<� � ������������� � �� �<���� ���� � ���� �� ����� ������ �� � &34 ������� � � � �� �� 3/ ���� ��-� ������� � �����'� ����� ������ �� ����� � ����� � �� �� ����� �� ��� �� ��� ����� ������ ������ �� ������� ��� ��1� � ���������� �

())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114 4

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

� *� ��� � �� �� ��������� ��������� ��� ���� ��� ����������������� �������� �� ����� +�� +����� , &-.$/������' ���)����� ����� �

�� ����� ������� #0 1��� .//-2 ������ #& 1��� #$$$2 �������� #3 4���#$$.�4�� ��������� �� ������� ������� �� �� ������� ������ ���� ����� ��'��)���� �������� ��� ��������� ,����� 5�� 6 ���� .$-..&�

1145$67819149:41!11 � 3114 ()))

Bruce Jacob
© 2001 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.
Page 2: Uniprocessor Virtual Memory without TLBs - Electrical and

��� � >� &� �� ��� � �� ��� �� �� ���� �� ���� � �� � ����= � � ����� ���� � ������ ��� ������ ���� ����� �� �������� �� �� ����� � ������ ���� &34� �� ������ � � �� �� ��� ��� �� �� ���� �� ��� ������ � ���� �� � ��� ����� � ��� �� ���� ����� ���� ��

? ���� �� �� � �� �� �� ���� �� ����> � ���� � � ������� �� ����� � � � � ���� ����� � ����������� ������� ? � � ����� ��� ���� �������� � ����������� ������ � � � ��� �� ���� �� ������������� ������ &� ����� � ����� ���� ������������� ������� � �� � ���� ��� +���+� ����������� ���� >�� �� +���+� ����� ������������� ���� ������ � �� ����� ����� �� ���� ������ �� � ���� � ����� ������ ����� "���� �� �� ���� �� ������ �� ������������� ������ �������� �1��� ������ ��� ����� � ������ �� ��� ���������� �� � �� �� � %;�� � ������ ������ ����� �������� �� �� ����� ��@��� � � �� � � ����� �������� >�� � � � ����� �� ���� �� ��� ����������� ����� ��� � �� � ����� ������

$ �����%&����'���� (%( �� ��)������� (

&�� � � ��� �� �� ���� ��� ���� ��� ����� ���� �� ����� ������ ���� ������� ���� ������ �� ����� &�� �� ���� ���� ��� ����� ������� ����� �� ����� � ������ �� ���� �������� �=

������� ����� ������ 9������ ���� ��� �� �������� ��� ����� ��� ����� �� �� ���� �� �������� ��� �� �� �� ����� � ������ � ����� �������� ��� �� ��� ������� ����� �������� 6�"�A�7� �� ����� � ����� ������� �� � �� �� �� ��� ����������� ����� �� � ���� �������� � ������� � ������� �������� � ����� ������������ �� ������ �� +���+�� +��,�"�� �� ���:/���� ������� �� �� �� � ���������� ��� ������� ������� ��� ����� &� � ��� ��� ���� ��� ������� ��� ������ ������ ���� �� �� ������� �� �� ����� ������ ��� ���� ������� ���� �� ������ ���� ������ ��� ����� �� �� ������� �� �� ����� B ����������� � �� � ���� �� �� ������� ��� (;)*�

������ ����� "���� ����� ������ ���� �� ��������� ���� �� ��� ���� ��� ���� ������� 6���� ����7� ���� � ����� �������� "��� �<� ���� �� ������ �� ���� � ���� ��� � �� � ����� ��� ����������� 9� � ����� ����� ��� ����� ��� ���� �� �� ��������� � �� ���� � ��� ���������� ������� " � � ����� ���� � ��� ����� � ���� ����� ��� ����� ��� ���� � � ��� �� ����� ���

�������� ��� ��� ���� >������� ������ �� �� �� ����� � ����� ����� ���� ���� �����'� ������ ���� �� ����� ��� �� ���� ��'� ������ ���� (;C*�

����� ������� ������ ���� ��� �� �<� � ���� ������� � ����� ����� ������ ��� ������ � �� %;�� ����� �� ������ � ���� ������ ���� ��� �� ���� � ���� ������= 3��� ������� �� � ���� ���� �� ����� ���� ������ ������ ����� � ������ � ��� ������ � ;�4 � ��� �� � ����� ������� ����� ������ ����� �� �������� ��� �� ��+��,�"� )�D �� :/�� � +���+� ���� �������

������������ ������ B ���� � ������ � ���-���@��� �� �������� ������ �� ��������� ��� &�������� �� � ������� � ���� ������ � ����� �� ������������� �� � ���� �� �� ����� 2�� ������ ������ � ���� � ������ � �� ����� ��� �������������� ������� ���� ��� ���� ��������� ��� ������ ������ � �� � ��� ���� ����� � ���������� (/*�

������ ������� ������ A��� ����� ����� ����� � ���� ��� ���� ������ ������� �� ���� � ���������� �� ��� ������ �<� � ������� ��� ����������� ������ &� � � ���� ��� ���� ���� �� ��� �� ������ ���� ��� � ���� ��@��� �� ��� ������� ���� � ������� � �������� �� ;�:4"A 9 ������� ���� ��� ������� �� ��� ��� ���� �� ����� ��� B �� )� &� � ������� ������ �� ������ ����� �� ������ � ��� ����� �� �� ��� ������� ����� �� �� � �� � ����� ����� �� �� � �� ����� �� ��� ����� �� � �����

���������� "�� ��������� ���� � ����� ��� � ����������� �� �� ��� ����� &� ������ ��� ������ � 6+&.�7 �<� �� �� ��� ��� ����� �� &34 ������� ��� ���� �� �� "����� ��� ������� �� ������� � �� E����-�F �� E��������F1���� ��� ���� ��� � > ����� �� � � �� &34 ���� B�������� �� +� �� �� 2�+" ,;CCC ����� ����� �� ��� �������� �� �� � �� &34 ����� ������ ���� �� �� �� +���+� �� � � 4���-&34 �� � ������ ������� � �� �� ����� &34�# �� ��� � � � � ��� �������� �� � ������ � �� ���� �� &34 �� � �� ���� ������� ���- � �� (:$*�

����� ����� ������ A ��� ����� ����� 6A2�7 ���������������� ���� � �� ���� ���� �!# �� �� � ������� �� ������ �� � � �� ���� �� ����� � �� � ���������� �� �� �!# ���� � ������� ���� ����� ������&� �!# �������� ��� ����� ��� � ����� �� �� � ���������� ��� ���� �� �� �� ���� ��� �� � ������� �

3 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

;��! 4! (*��� ����� �*����� ��� ��� ���� � �� � �� � �� �� ������ � 8!7�,< ������ ���� ��������� ��'�� � � � �� �� � ������ �� ��������� � �# � ��� ������! ��� ������ ���� � �� ���� �� ������ �� ���� ��#� ��� ��� ��� �� ��� ���� ��� �� �������� ���� � ���������� ����� �� �� ���� ���� ��� ���� � �� �� ��� ����� �� �� ���� ������ ���� � � �� � ���! * �����$���� ���� � � �� � ��� = ��8!7�,<> ����� ��� �� �� ���� �!

Page 3: Uniprocessor Virtual Memory without TLBs - Electrical and

������ � ��� ��� ��� ���� �� �������� ����� �� ��� ����� � ������� A2� ������� ��� �������� ���� ��� ������ ��� �� � ��� ������������ �� �<� � � �� �������� �� �� �� �� ����� ��� ����

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

+ #��,'����� ��� ��"� �� -��,

&� � ���� ���� �� ������������� ��������������� �� ������ ������� � � �� ���� �� �� �� �� ������� � ����� ���� �� � ����� ������ ����� �� ������� ���� ��� ��� &� ����� � ����� �� �� � � �� ������ �� ���� ��������� � ����� ����� �� �� �����'����� ��� ����� � ���� ����� ��� ��� �������������� ���� ������� ������ ���� � � �������������"���� � ���� 6&347 ���� ����� ����� �� �� ��� �����?� � ������ ������� � ���� �� ���� �� � � ������������ �� ������� �������� �� � �� � ���� ��� �������� � �� ���� � ������ � �� &34� �� �� ���� � � �� ���� �� &34� � ���� � ��� �� ���� �� ������� �� ����� �� �� &34 ���� ������ � ����� ��

+�� .������� ��! ������� ���!��

#�� ���� ���� � � ����� ������ �� �� �� -�� ������� ��� ������� ��� � ������������ �� �� � �� ������� ��� � ��� � ��� �� �� �� � �� � � � � �� �� �������������� �� ����� � ����� �� � ���� � ������������ ()0* �� �� � ��� � ���� �� ���� � � � ��������� (;;* ������ ��� � ��� � ��� � � ��� �� ����� ���� ������ �� ��������� � ()*� (:)* �� ��� ���� ���� � � � ��� ������ �� ��� ��<�����

&� ����� ������ ��� � ����� ��������� � ����� ���� �� ���� ��� ��� ()0* �� ���-��� ���(;/* � �� ���� � ��� �� �� ��� � ��� �� �� ����� ������� B�� ������ #"!/ ����� ��� ����� ����� �� �� ��� � ����� ������� ��� ������ ������ �����()C*� "�#" �� �� ����� ���� � ������ ���� � ����������� � �� ��� ���� �� ��� ��� �� �� ��� ��������- (5*�) " �� ������ ���� ����� � ������ 6"�"#"7���� �� #��� (0* �� +���� (:0* � � �� �� � ���� ������������ �� �� � � ���= ��� ����� ���� � ������ ������� ������ �������� ����� � �� ��� �� ������ �����

+����� ��� � ��� � ��� � � ����� ����� �� ���� ��������� �� � � ����� ���� ������ � �� E��> ��F ������� &34 ��� � � ���� � �� � ��� ������ � � �� ���� ������ � �� ��� ���� � �� � ����� ��� ���������� � �������� ������ ��� ���� �� �� ������ � � ����� ?� � ��� ���� ������ � � �� ��� � ���

������ ����� ���� � �� ���� � �� ���'� ������ ��� � ������� #�� ���� ��� ��� �� ����� �� ��������� � �� � � ���� �� ��� � ������� �� � ����� �� ��� �� � �� ������ � ��

+�$ .� ��.�/ (�0���� ��������

&� �42 $C) ������� � ����� �� � ���� ��� �������� �� +#?., �� +���+� ���� ������ (;*� ()G*�(/G*� (;:* � � ��������� B �� / �� ���� �� ��� ������ (/;*� (/:*� ���� ��� �� ���� :/�� � E���� �F������� ���� �� ����� ��� � ����� E� �����F ���������� �� �� ������� �� �� ��������� /0% 24 � ����� �� ���&� � ���� ������ � ��� �� �� �� &34 �� �������� &� ����� � ����� ������� ���� ����� �������� � �� �� ������� �� �� �����

# �� �� �������� �� �� � ������� � ���� ������ �� � ���������� ����� ������ � ���� � ��� �� "�"#" ���� >�� �� �� � �� �� ������� ��� ���� ������� ������ ����� ���� �� �� ���� �� ������ ����� &� � � ��������� B �� := �� ����� ������ �� � ���� ������� ��� � � ���� �� �� �� ������������� ��� ����� ��� ����������� &������ ��� �� � �� � � ���������� ������ �� ����� �� ��&34 �� ���� � �� � ������ � ����� �� ����/

+������ ��� ��� ����� ����� �� ��� ����� ������� �� ������� �� � �� ���� �� ����� ��� .���� � ������� ��������� ��� ���� ��� ������� �������� � ����� ������� ���� ���� � ���� ��� ����� ��� �� � �� ��� ����- �� � � ����� ���� �� � � ����� � � �� ���� � �������� �� ��

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 7

;��! 3! .� ��.� ��0���� ����� ���������� /����� ���$�� �� 73$��� ��������� ����� �� � �� � ���� ���� 03$��� ����� �� �� 4B ������ �������� ���� ��� ��� ���� ��� �� ��� ��������� ���� � ����'! (� � ��� �'������ ����� � ���� �� � � � ���� ����� ��� �� � �� � ���! ��� ������ ������� ���� � ������������ �� � � �� ��� ��� � ��� ������!

)� ��� ���� �� "�#" ���� ��� ����� �� ������ ��� � ��������� � ����� ����� �� �������� �� � � ����� ����� � �� ���� ��� ���� ����� ���� �� �� �� � �� ��� � ���� ����-� �� �� ��� �� ������ �� �� � ������� ���� � ������� ����� �����

/� B���� � � ��� �� �� � �� ����� ��� ��� �� �� � �� �� ������� ���� B�� ������ �� ������ ���� �� � �� � �� 2�+" ,:CCC�� ����� /)C%; �� � � � �� � � � �� � ��� ��� �� %; ��� � �������()/*� (/5*� �� ��� ������� �� �� ��� �� � �� ���� � ������������ ��� �<� � � &34 �� � ���������� �������

Page 4: Uniprocessor Virtual Memory without TLBs - Electrical and

+�+ ��.(/ � (��*�� .�0� ���� ����0

2�+" � � ��� �� ������������- � ������� ���� ���� � ��� ����� ������ � �� ��� �� � ������������ ���� ������� �� ��������- � �� ��������� � ��� �� ���� ����� � � ��� � ����� ��� ��� ������ �� ���� B �� ;� &� 2�+" � ����� ����� ����� ����� �� ��� � ����� (/:*�

&� ���� ����� � � �� �� � ��� �� �� �� ���- � ������� ��������� (/;*� &� 8+� �� � ������ ���� � ��� ��&34 ��� �� ������� ��� ���� �� ���� �� � � ������������ &� ���� ����� ���� �� ������� ������� ����� �� ���� � �� � ����� ��� �� �� ��� ��� ���� ��� ��� 6*5� �����7�7 �� ������� � �� � � �� �� 8+�� &34 � ���� &� � � ��������� B �� 0� &� ������� ������ ���� ������ � +&. ���-�� � �� �<� � ��� ������ �����1�� ������ �� ������� ��� ����� ������ � ��� ���� ������ �� �� �<� � � � ��� ������ &� ������� ����� � ��� ��� )C ������ �� ���� ���� � �� +&. ����� ? ��� ��� ��� ���� �� ����� �� ������ � �� � ���� ��� � ��� � �� �� ���� �� ������ �� ���� ���� >�� � ����� � ��� �� ����

+�1 (.��/ �&���!� ����� ��������

&� ������������ ���� �� 4�-��'� "+9,�������� 6B �� %7 (:/*� (;0*� (;%* ��������� ���� �������� ����� �� �� &34 �� �� � ������ ������ �������� ������� �� &� ���� ����� ��� � � ������� ���� � ������� ����� ���� �� ���� �� � ��������� ������� � �� � � ���� � �� ������� ?� ����� � ��� �� ����� � ������� ���� ���� ����� � � ����� ������ ��� �� ���� � +&. �������� �� ���� ��� ���� ������� �� �� � ���-�� � ������ ���� ���� ��� �� �� � � ����� ������� ���� ������� +&.� �� � �� ������� ��� �� �� ��� ���� ������� �� �� �� �� � �� ������� �<���� �� ���� +&.���� ���� ��� ������ &� ���- � �� �� ��� ���� ��� ��� B �� 5� ��� �� � � ��� �� �� ���- � �� 2�+"�����

&� "+9, �� � � � ��� �� ��� �� >� ������ ������� �� &34 �� ���� -�� �� ��� ���� �� � ��� ����� ���� 6�� ���� ���� ����� � ������ ���� ����� ����� �����7� ������ � ������ �� &34 � ������� ��� �� >� ������� ������� � ���� ��= ������ ���� ���� ������ ��� +&.� ����������������� 6�� ����7 ���� �� ��� ��������� ������ 6&34�����7� #�� �� � � �� �� �� �� "+9, ���� ��� ������� �� � ��� �� ���� ���� �� ��������

+�2 ��./ (��� ���&�������� ���!��

&� 82+ ���� �������� 6B �� $7 ($* ����� � ����� �������� ������� ������� .��� �������� �� ���� ������ ������� ���������� ���� � � ����� ������ �� �� � ���������������� � ����� ����� � ���� ����������� ��� �� ������ #�@��� �� ����� ���� ������ ����� ���� � ������� ���� �� ���� ��� ����� �� ���������� � ���� �� -�� � ������ ���� ����� ������������ � �� �� ��� �� �� � ������� � �� �� �� � ������������ ��� ����� ����� ������� �� ����� � ����� �� ��-� � ����� ����� ���� ������ �� �<���� ��������� ��� ����� ���� ����� � �� ��� �� ��� ��� �� ���� �� �� ����� �� ����� &� ���� ����� ������� �� ��� �� >� ������� �� ������ ���� ������ ������ � � �� ���� � �� �������� �� �� ��� � � �� ���� ��������� #�� ���� �� � �� ���� �� � �� � �� � �� �� ��� ���� �� � � �� � ����� �� ����� ���� � �� ������ �� ��� 6����� ������7� ���� -� � ��� ����� ��� �� �������� ���� �� ������

8 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

;��! 7! ������� ����� ������0 � � ��0���� ���!��������� ��������� ��� ����� ������ � ���� ��� ������! +��� �� ��������� �� ��� �� ����� � ���� ��� ��� �� ����� � � � ����� �� ��� ������ �� � � � �� � � ������ � �������� ��� ���������� ����� ���� � ��! +��������� ���� �� � ���� ��� ����� �� �� ������ ������� �� ����� � � ��� ���� ����� � ���$��$���������������� ������� � �� �� ��� ���� � ����� � � �� �� � �� ������� � ������!

;��! 8! !� ��.( +$&��� !������!���� *�0� ������ �(/, � ��� ��������� ������ ��� 3 �� ���� � ����� � � �� � ��� �� � � � ��� 3 ?���� ���� � �� �� ����������� ����� � ���� ���� � ����������� � ���� �� � ����'� ��� � ����� /�) �� ��� ��� � �� � ���!��� 3 �� � �� � ��� � � � ��� �� � ���� �� 3 C� ��� ���� � ��� ���!

;��! 0! !� ��� �� �!� ��.( ��� ������ ��0������ ��� /+ �� ���

� ������ ����� � ���� �� ��� � ����� /�)! ��� /�) ��� �������� ����

��� ���!

Page 5: Uniprocessor Virtual Memory without TLBs - Electrical and

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

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

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

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

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

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

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

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

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

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

������ � ������ � ��� �� �� ���� ����� 6����- ������

����- ��� ���� &34 ��������� ���7�

1 (�4 -���&����'�� �����(( ���("� ���

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

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

������������� ���� � ��� ?� � � ����� ������ �� ��

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 0

;��! B! !� (.�� ����� ��������� ���!����� ��� ,/�" ������� � �� �� �� �� � �� �� ������������� ����! )'������ ������������ � � ������ � ������ �� ������ ���� ��� ��� ���� � �� �������! ,���� ���� ����� ����� �� � ��� D��$� ��� �� �� ����E � ��������� �� ���� ��������� �� � ���! ��#� ��� /����/-� ,/�" ��� �������� ���� � � ��� ������ ���� 4 ?� ������ �� � �� ���$����� ���� � ��!

;��! F! !� (.�� �&���!� ��������� ��0����!�� ��� ,/�" ��$� ��� �� �� ���� ���� ��� ��������� ���$����� ���� ����� � � �� � ���

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

��������� �� � ��� �� � �� � ����� ���� ��������� ��� ��� ����� � � ���! <� �� � � #�� ���� ���� G80H!

Page 6: Uniprocessor Virtual Memory without TLBs - Electrical and

�� � � �� ���������� ���� ���� � �������� �7������ � �� ��� &� � ��-� �� ����� � �����'� ������ �������� �� �� � ����� �� ��� ������� � �� �������� ���� � �� ���� ��� ���� � ������ ? � �� ����� �� ������ ���� �� �� �� � � �� ��������� ���� ���� ����� ������� �� �� �� ���� � ����� �� ������� �����

&� � ���� �� � � ���� � ��� ������� ��� &�� ��� � ���� ��� � �� �������� ������ ��� ��������� ���� 3/ ������ ���� /0% H4 ���� � �����+�� �� ����� ������� ���� ���-���� ��� 3�������� ��� ��� � �� ���� �� ��� ����� � ������ �������� ����� ����� ��� �� ��� �<� � � � ������������� � �� ���� &� ���� ������� � � ���� ��� ��� ������� ������ ��� � ����� ����� � ����� �� �� ��- � ������� ���� � �� ����� �� ������� ��� �� � � ����� ���� � ������= �� ������� ���������� � ���� �� ����� � ����� � �� �� ����������� � ������������� ��� ���� � � ������� ?������������ ����� � �� � �������� ���� ���� 6)/$H4I7��� � � �� � �� � &34 � ����� ��� (;0*� B�� �� ���� � >�� �� ��� �� �� � ���� �� ��� ������ � 6�"�� � 0 ��� ��� ��7�

1�� 5���0 �!� ���!�&���� ����*���

# � ������ �� ���� �� �� ������� ���� �� ������������ �� �� ������ � ���� � �� ���� � �� �� ��-� �� � �� ������ &� � �� ����� ����� �� ������ �� �� � � ������ � ����� �� �� ��� ������ &������ � ����� ���� ������ � ��� �� ���� � ������� � � ������ �� ���� � �� ���� ����� � �� �� ���� ������� �� ���� ���� � ��� �� ���� ������ ������� �� ���� ������ ����� �� ������� B�� ������ ����� � ���� � � ������ �� ���� �� �� ������ ������� ���� ���� �� � ���� ��� �������� &����� � �������� ���� �� ���� � ������������ ��������� ���� � ��� �� ���� ����� � ���� � �� ����

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

?� � � ����� ������ � ��� �� ����� �� �� � � ������� ������ ���� � ����� �� ���� �� � ���� �� ���� �� �� � � ������ �� ����� � �� �� �� � �������'� � ����� ��� ����� �� �� �� � �� ����� � �� ��� ��� �� ���� �� �� ����� ? �� � � ���� ������ � �� �� �� ����� � ����� ��� � � � � �������� �� �� �� ������ � � �� �� ����� �� �� ��� � ������ ��� �� � ���� ��� ������ ���� �� �� �� ���� �� �����&� ��� � ���� � ���� �� �� ����� � �� ����� � � ��� �� ������ � ������ �� &� � �����<� �� � �� � ��� ������ � �� � ���� �� �� ������ � �� ���� ����� 6�"�7=: ������������ �� ��� B �� G�

&� ���������� ������ � � � ���� � ������������ ������ � ���� ����� �� ��� �� � ����� ���� ��� � ������� � �� �� �� ��� �� ��� �� ������ � ������ �� ����� �� ���� �� �� �� ��� � �� ��� ��� ��� ������� ������ �� ������ � �����=

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

�������

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

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

&� ������ � � �� �8 ��� ���� �� ���� � +&.� &�8�AA, ���� � �� �8 ���� ���� �� �� � � � ����������� � � �� ������� � �� �� �� � ����� ������ � ���� � > �� �� ������ � ������ � 6�� �� ������ � ���� ��� �� � �� �� �� �� �� � ��� � �� � ��������-7� 4��� �� ���� �� �� ���� ��� �� ���������� 8�AA, �� ���� �� � � �� � ����� ��� �� � �����

B ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

;��! 5! !� ��.�����*��������� ) �� �/ ������� ���� ���� �� -/� =B5131>� ��� � � ��� ������ ��� � ��� �� �� � �� ������� �� ���� ��$���������� ����� � � ���! ��� ���� ��$���������� � ��� � �������������� � ��� ��������� � ���� �� �'����� ��� ������������� �� ��������� � ����!

;��! 6! ��**�&��� ���������� ��� ��� ������� ���� ��� ��� ' ���� ����I ��� ������ �� ��� ������ ������ �� ��� ����� �� ��� �=�*?J���� ���> �� �/ =����� � ����> ���� ��! ��� �' ���� ��� �(/,$��#� � �� � ���! +���@ � �� K � �� ����� ���!

:� 2�� �"�� ��� ���� ��� ���� ������ ������ ��� ���� ��+���+� �"� ���� �� ����� ������ �� 6��� ��!���� ��� �� �������� ���7 ����� ����� ������� � �� �� � ���� ��

Page 7: Uniprocessor Virtual Memory without TLBs - Electrical and

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

&� �+ ����� �� ���� � � ����� �� ���� ��� �������&� ����� �� � � �� �� �+ ����� � ���� � ��������� 6�� ������ �� ���� ����7 �� �� ���� ���� ���� �� �� ���� ����- ���� � �� �� 8�AA, � ���� ����� � �� �� ��� � � � ����� ���� &���� ������ � ����� �� ������� ���� ���� � ��� �� ��������� � ���� ����� 6�� � ����� ����� � �� ����7��� ���� � �� ���� ����-� ����� � �� �� �����?� �� �� � �� ����� � �������� �� ���� � �� ������ �� ������ � � � �� �� ������ ���� &� ������ �� �������� �� � � ���� �� ���� ������ � � ��� ��

1�$ ���������� �� ����0

&� � �� ���������� ������ � � � ���� � ����� ��&� ���� ���� �� ���� � �� � � � 6 ��� � ���� � ������� �� �� �� ��� � �7 ��� ���� � ��� �� �������� ������ �������� ���� ������� ������ �� �� �� ���-��� � �� �� � � ���� �� ���� ������ � � ��� � 6�� �� ���� �� � ����� � ���� ���� � ������ � � ���� ��������7� �� �� � ��� � � �� ������� �<� ���� ���� ���������� ������ �� 4���� �� ���� � ���������� �� �� �� ��� � � �� � � �� � � ���� ���� �� � �� �� � � ���� ����� �� �� ���������� ��� ���� ����� ���� ��������� ���� ���� ��� &�� �� ���� �� ����� � ��� � �� ���������� �� � ������ � �� ����� �� ������ � � �� � ��� ��� �� �� � ��� �� ������� ������ �� � � �� ����� ��� �� ������ �� ������ �� �� � �� ����� -�� � �� �� ������� ����

&� ���� � �� �� ������ �� ����� �� �� ��� ����� &� ����� ��� ������ � ����� ��� ������������� ��� � � �� � �����1��� ������ ��� ������ ������ � ��� � ����� ��� � � ���� �������� �� � � ����� �� � ����� ���� ����� ��� � � ��-� �� ���� ��� ���� ����-� 6�� ����� � J)C ������ �� ���7� ������ � �� ����� � ������ ������ � ����� �� � � ������� �� �� � �<�������� ���� �� �� �� � �� ��� ���� ����-� &� � ���� ����� �� � ������ ���� ���� ������ �� ���� ������ � ���� �� ������ � ���� �� ���������� ����� � �= 4� �� � � �� ���������� ������� �� ����� ��� � � ���� ��� &� � ��������� � � ������ � �� ���������� ����� ������ ��� � � ������ �� �� ����� 6���� ���� ���� ����� ���� ���� �7 �� ����� ���� �� ������ ������ &�� �� �� ���� ��� ���� �� ����� ��= # � ������ ������ �� ����� �� � �� �� �� ���� �� ���������� ������ � � �� �� �� ��� ���� ����- �� �� � �� ������ �� �� ������ &� � � �� ��� ���� �� ������ �� ��� �� �� � �� ���� �� ������������-� ����� ������ �� � � �������� �� ������ �� ������ ����� &� ���� ����� � ����� � �� ���� ������ �� �� �� ���������� �� ���� � �������������� �= �� � � �� ���� ������ � �� ������ ��� ���� � � �� ���������� ������ �� ����� ��� � ����� �� �� ������ � �����

1�+ � ����*�� �� ���� � ��� ���

� +���+� ���� �� ������������� ������ ������� � � ���� B �� )C� � �� � ������� ���� � ������� 4�������� �� � ������ �� � ����� �� ��� � �� ��- �� ��������� � ������ 2�� � ��� � �� ������ � � �� �� -��� �� ��� ���� � � � �� ����� �� � ���� �� 3) �������� / H4 �� /0% H4 6)H �� )/$H �� � �7 �� �� 3/ �������� ) 24 �� ; 24�

? ������ ��� �� ��- �� ������� � ; �4 ��� ������� ��� ������ &� ������� �� 2�+" �� �� �� ��� � ���� �� � ����� ������ ���� 6 �� � ���� /C �� 0/ � ��7���� ����� � ������ � ���� ��� ��!�� �������� �� � � �� ����� ���� ��� ������� �� � ����� ��� ������� ���� � ������� ����� ������ ���� � - 2�+"� ���� ������ ��� �� ������ / �4 �� �� ; �4 ���� ������� ����� &������ ��� �� ������ ��� �� �� )%���� �� ���� �� ��� �� ���� ��� �� �� ��� ���������� � ������� �� ��� /0% 24 � ����� ������

&� �������� �� ������� �� � � ���� �� � ��� ���� �� ������ �� ������ ? ����� � -����� � � � ��� �� �� 2�+" ��� ���� ���� >�� � �� � ���� � :/�� � ������ ���� � �� � � ��� �� ������ �������� ����� ������ ����� �� ��� � ������ � ����������� ����� ������ ������� �� �� �� � ������ �������� �� �� ������ � ����� �� � ������ � ������� � �� ������ �� � ���� � � ��� � ��� ������ ���� ��� ��� ����� ������ ��� ������ ���� ��� ���� �� �� ������ ��� ���� �� ��� ��� ��/ �4 ������ ����� &������ � ������ ��� � ��� ���/ 24 �� �� ������ ���� �� �� � � � �� �� �� �� ������ �� � /H4 ��� ���� ��� �����

� � ����� � �� ���� � �� �� ��� �� �� ������ ����������� /;/ ���� ���� ���� � �� � � ������ ����6���� �� ���������� � �� ;H ����� +&.� �� ; ����7�&� ��� ���� ���� >�� �� ���� B �� ))� � � ����

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, F

;��! 41! !� ����*�� ���!����� ,������ ���� �'���� 73$��� ���

���� ���� 03$��� ���� � ����! ��� ��� 31 ��� �� ��� ���� �

���� ��������� �� ��� ���� � ����� � ��9�� � ��� ���!

Page 8: Uniprocessor Virtual Memory without TLBs - Electrical and

� �� � ������� �� � ���� � �� +92� ��( ��� ���� �����(/C*� �� ��� ����� �� ��� ��� ���� � � � �@��� ���� �� �� �� ������ ����� &� ���� � � � � / 24� ����� ��������� � � �� �� ��� /0% H4 ���� ��������� ��� �� �� �� 6������ ���7 ���� � �� �� /0% 24� ����� ����� �� ��� ������ ����� &� ������� ����� ��� � ����� ���� �� ������ ����� ���������� � � ��������� ������� � �� ��� ��� ����� � ���������� ���� � � ����� ����� ��� ���� � ���� � ���� ������ ����� &� ��� � � �� �� ��� ���� � � / H4�������� � �� ��� ����� �� � �� ������ ��� � � � �� ������ ���� �� �� ������ ������ ����-� �� � � � �� �� ��� /0%���� +&. ������� ��� �� �� ������ � /0% H4 ���� ��� ���� ���� ��� ���� �/0% 24 ����� +&. ������ ���� � ���� ���� ��������� ���� ��� ����� �� ���� � ����� ������

? �������� B �� )/ �� ����� ��� ��� ���� � � ��� �� 3/ ����� +������ ���� :/�� � ���� �������� ���� �� ���� �� 0/ � �� �� ������ ��

����� � �� ��� ���� � �� �� �� ���� � ������� � "�� )��� 8+� �� � 0/�� � �� � � ������ � ����� ������ � ��� ��� �� �� �� ������ ��� ���� �� ���� �� +&.���� � �� �� � � ���� 6�� 9+&.7� &� � � � � ��� �� ��������� � �� +&.4�� �� 8+� �� �� �� �� 2�+"��� ��� ���� 6B ��� 0 �� G7� &� ������ ��� � �� �� �������� �� C� � � �� +&. � > � ���� ����� &� ���)C � �� �� �� ������ �� )� � � �� ���� � �� �� ��� ����� �� ������ �����

�� �� � � ��� �� 3/ ����� �� ����� � ����� ��-�� ����� � ������ �� ���� �� �� �� � �� �� � ��������� �� ���� � +&. �� ��� ���� ��� ����� &� ����� � � ����� �� +&.� ���� ���� � ��� �� � ������8+�� �� � ����� �� �������� �� �� ���'� ��� �������� ����� �� �� �������� �� �� ������ ������ �����&������ � � ��� �� � ���� � �� �� �� � �� :/�� ����� � ������� &� ��� )C � �� �� �� ���� � ������ �� )�C/; +&.� ���� ����� ��� � ;24 ��� ��� ������� �� ����� ��� ��� � ;�4 ������ ����� " � ��

5 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

;��! 43! � ����*�� ���!� ���� ��0����!�� ,��� 4 � ��� ����� �� ���$����� �3 � ��� ��I ��� ���� ���� ���� ����� ����� � ���� ��� /�) �� ��� ���� � � �� � ���! (� ��� /�) � ��� ����� �� ��� �4 �� �3 � ���� ���� /�) � �� ���� ���� �� ,��� 3! .�� ���� � ��%�������� � ������� ������� ��� ����� � � ����� ����! *������ ��%����� � ��� �� ��������� ��� ���$����� �����'� �������� ����� �� ��� ����� ������� ����#�� ��� ����� �����!

;��! 44! � ����*�� *�0� ����� ��0��6���� ���� � �!� .��� ��7��� *�0� ������ ����� � ����� ���� � � �� � ��� � ��� ��� �� ��� 03$��� ���� � �� �� � � � ��� ������ ���� � � ��! ��� 30B C� ������� � �� � ��� �� � ������� ��� ��� � �� � ��� �� � #�� �������� ���� ������� � � �� � ���! ���������� ������ �� � � ��� �� � ����� � �� � �� ��� � �� � ��� ��� ����� ������ � �� � �� � ��� � ����� � ���� ������� ���� � � ��I ��� ���� ���$����� ���� ���� � ��� ��� ��� ���� � �� � ���! ������ �� � �� �� � �� � �� ��������� � ��� ��� ��� � ��� ��� � �� ��� ��&���� �� �� 8 C� � �� �� ��� ���� � � ��!

Page 9: Uniprocessor Virtual Memory without TLBs - Electrical and

��� � � �� �� ���� � ������ � ������� �� � >�� 6�������� � � ��� ����7� ��� �� ������ � �� �� ����� )C �� �� ���� ��� � �� �� �� ����� �� 0)/ +&.� �� ��� ���� ��� ����� � "�� /� �� ����� � ������� ��� � ���� ��� ������ ��� �� ������� �� +&. ����� ���� ��� ���� 6�� 9,+&.7� � 0/�� � � ����� ���������� ��� /C � �� � ��� ���� ��� I �������� �� ������� �� 9,+&.� �� �� ���� �� 9+&. ���� � ��� ������ �� �� � �� "�� )� ?� ������ � ����� �� ��� �� ����� "�� )� �� 9+&. ���� ���� � �� ������������������

&� ����� � ����� �� ������� � ���������� ������ � �� � �� ���� � � � ��� � �� �� �� �� � �0/�� � ������ �� � ���� ��� ������ �� �� ���� �� +B� �� 9+&. �� �� ��� ����� ���� �� �� � � ������� &� ������ �� �� � � ���� �� ���� � �� �� ���� �� � �����'� � ����� ���� � ����<�� ���� �� �� �� � � ���� ������ ������ � ���-� ������ � � �� ��� � �� ������ ����- � ���������� ����� �� ���� ���� �� ���� �� ���� ��� � � 6��� � ����7�

1�1 ������ (����� ��8��������9 ��:�����

? �� �� � � �� ����� ������ �<� ����� ��� ��� � �� � ����� ��� � ������������� ������������ ����

������� ����� ������ ��� ����� ������� ������ &������� ������ ���� �� �� �� ��� ��������������� ������ ������� �� ��� � ������������� �� � ��� �� ������ �� � ������� ��&�� �� ��� �� � ��� ����� ������� �� �� ��+���+� ������ �� ���� �� ��� �� ��������� � ������ ���� ������ � �� �� �� � �� � ����� �� � ������ � ����� ���� ��� �� �� ��� ���� �������� �� ������ � ������ ����� �� �� ;�4 ������ � � ��� ��� �� ����� ����� ��� � � ���������� �� ��� �� �� ���- � �� �� �������

������ ����� &� ���� � ���� �� � �� � �� ����� ����� # �� � ��� �� � ����� ���� �������� ���� � ����� � � ������ �������� � ���� ��� ��� ������ (0*� (:0* �� ���� �� ��� ������������� ������ ���� � ����� ���� ������������ � ������������ �� �� ��

������������ ������ # �� �� �� ������ � � �� �� ���� �� � ����� ��� �������� � - � &34� ��� ����� � � � �� ������ � � � ������� ��� ��� ����� �� �� ������ � � �� �� ������ ����� B�� ��� � ����� � � �� �� ������ � � �� �� ���� � � +����� � ������� �� ����������� � ������� ��� �� ��� � > �� � ���� ����� �� � � ������ ���� ��� �� � � �� ���� � ���� �� ��� � �� �� � ������� �� ��� �� ������ ����� ����� � �������� ������ � �� ���� &�� �������� � ���� � � ������ � ��� � > �������� � � �� ���� � � ������ � ������ � ���� ���� ���� ������ ���� �� ���� � � �� �� ����� ������ ���� ���� �� ��� ����� ? ����> �� ������

������ ������� ������ "���� ������ ���� ������� ������� � ��� ���� ���� ������� �� ��� �� ��� ��

�� ��� �� �� ����� � ����� �� ����� �� ��� ����� ���� ���� >�� � �� � �� � � � ������� �������� ������ ����� �� �� � � ��� ���� ���� >��� � ���� � �� ����� �� �� ����� 4� � � �� �������� � �������� � ��� �� ����� � ����� ������� �� ���� ������� �� ���������

���������� 4� ���� � �� &34� � ����� �������������� ��� ��������� ���� �� � �� ����� ������������ � ���� ��� �� ����� � ����� �� ���� �������� ������� �� ��� ����� B�� ����� � �������� ����� ��� ��� ���� 6�� �� �$%7 ����� ���� ���� ������� ��� ��������� � ������ ��� ���� (/$*����� ���� ���� � ������� �� ����� ��� � ���������� ���� ��� �� � ���� �� ����� �� ������� ���� ��� �� ���� �� �� &����� � ��� (:5*�

����� ����� ������ ?� � ������������� ������������� � ���� �� � ��� � � ������� ��� A2� ���������� ��-� A2� ��� � �� ���� �� �<� � � �� ����� ����� � ��� ����� ����� � �� �� ���� ��� B�������� � ����� ������ A2� �� ����� � ���������� ���� �� ���� ���� �� � � ������ ������ �� � ����� �� �� ���� ��� � �������

2 .��4�������

2�� ���� � ��� ���� ���� � � � ��� ������ � ������ � � &34 � ��� ()*� (:*� ()$*� (:C*� (::*� � ���� ����������� � ��� ()* ���� &34 � �� ������ �� � ���� ������ ������� ����� �� � � ��� ���- �� ���� ()$*���� ���� &34 � �� ���� � �� ������ ��� ��� ��� ;C���� �� ����� �� � �� �� ,������ � ��� (::* �������� &34 � �� ���� � �� ������ ��� ��� ���$C ���� �� �� -��'� �������� � � �� &�� ������ ���� ��� ��� �������� ��� &34 ���� � �� 0�� )C ���� �� � ����� �����'� �� � � (:*� (%*� (:C*�(:%* �� � � � �������� �������� ���� ���� ��� ������ ��� )C ���� (G*� ��� � � � � ��� ����� ����� >� �� ���� >�� ��� &� ��� ��� <��� � �� ��- �=A�� �� &34 ��� �� ���� �K A� �� �� �� ���� �� ������ �� ������K ? �� � ����� �� ������������� �� � � �� � �� &34�

2�� 4����&���� ���*����� �� 5�� ���&������� (��� ���&������ ����0�

&� "+9, �� 82+ ���@��� ��������� ����� � �� ����� ����� ������ �� &34 �� � � � ��� � �� ��������� ���� ��� ���� ����� � �������� �� �B�� � <��� ��� �� � �������� �������� ������ ��� ������ �� ���� �� ���� � ����� ����������� ����� ������ &�� �� ���� &��� )� � ����<�� � ���� � ���� "+.� �G0 ����� � � +���+������ ��D ���� 6��<�� � �� �� ��� �� ) �� ������ �7� &� ���� � ������ ��� $H!$H � ���������� ����� 3) ����� 6 �� � ��� �� �� 3) ���� � >�� ������7� 0)/H!0)/H � ��������� � ����� 3/ �����6�� ������� �� �� ��� 3/ ���� � >� � ������7� �� �)%���� � � > ��� ������ �� ���� ������ � �� ����� ������� � � > � �� �� ��������� �������� ��� ��������������� ����� &� ���� ����� � � ������

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 6

Page 10: Uniprocessor Virtual Memory without TLBs - Electrical and

2�+"����� &34 (/5* � �� %; �� �� � ����� ���������� ��� �� ��� ����� ����� ��� ���� +&.��

&� ���� ����� ���� ���� �� ����� � ����� ��������� ��- �� ���� �� &34 � ��� ������ ��� ������� � � ����� ��� �>�� ���� � ���� � �� � � �� ����� ���� ��� � �� �� &34� �� ��� �� ����� ������- � ���� � �� ���� �� &34 � �� ����� ������� � � � �� �� ���� ���-��� ��� � �� ���� ���� ������ � �� ����� # &34 � ���� � ����������������� ������ ������ ���� ���� ��� � &34 �����?� �� &34 � ��� �� ��� ����� ������ ������� � ������ ���� �� �� ���� � ��� �� 3/ �������� �� &34 ������ ��� �� ������� �� ��� �� ������������� ���� ���� ����� �� ��� ���� ��� ������ � 6�� ���� �� ��� ���� ��� ��� ���� ������7� "������������ ������� � � �� ��� >� ������ � +&.� �� ���� � ������ ��� ����� ������� ����� �� � ��� ����� ����� ����� ����������� ������

2�$ ������&���0���� (���������

� �� � ������ � ������ ������ � �� 9��� � �� 2��� ��� ����� �� ������������ �������� �� ��� ���� ����� ����� ������� B��� ��� ��� ��� ����� ������������� ������ ������� � (/)*� � ����� �����- �� �� ��� ������������ � ������-�= ��� �������� �� ��� �� � ����� � ������- ���� �� .����� � ();*� �� .��� ������-� �� �� ��� ����� ������ ����� "+.� ������-�� ? � ����� �� ������� ������ � 3/ ���� � ��� ������� ��� �� ������ �� ��� �� ������� �� ���� � &34 � ��� ������� ���9��� � �� 2���� &� ������ � ��� �� ���� � �� 9��� ��� 2��� � ����� �� ��� ��� � � �� ����� �� ����� (//*�

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

&� 9��� � ��� ���� �� ������ � �� 2�+"�������� � � ����� �� ���� (:C*� &� / �4 ��� ���������� � ����� �� � / 24 � �� ���� 6�� ��� ��� ����7 � ����� -�� ����� �� �� � ��� ����� �� �/ H4 ����� �� +&.� 6�� ���� ��� ����7� �� �<� �� �� ������� ����� ����� �� � � �� ������� �� ���� � ������ �� &� &34 6� ������ �� /0%����� ��� � �� )/$���� ����������� �� � ��&34 �� )/$���� ����������� �� �A�&34 ��� &34 ��� )% ������� ���� ����� �� ����-������ ���� ��7 ���� �� ������ � ������ � ��� &34 � ��� � � ����� �� ��� ���� � ���-����� �� ���� ���-�� �� ������ &� &34 � �� �������� ��� ������ ��� �� ��= � ��� ������� � ����� ��� -������ � ���� &� ������ �� ������ ������ ����� �� ���� � ��� ���� ���� ��&34� ���� &� ������� ����� � )C ������ �� ���� ���������� ����� � /C� &� ����� �� �� ����� ��� ������� ���

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

&� 2��� ��� ���� �� ������ � �� 2�+"�������� � � ����� �� ���� (:C*� (:*� &� / 24 ������ ����� �� ������ -�� ����� �� � � ; �4 -������ � ����� �� � ; 24 -�� �������� 6�� -�� �������7� �� �� � ��� ����� �� � ; H4 -�� ��������6�� ���� ��� ����7� �� �<� �� �� ���� ��� ���������� �� � � �� ������� �� ���� � ������ ��&� 2��� &34�� �� ����� � ������ 2�+" ������� ������ �� �� ��� �� ������ ������ &�� � � �� ���� ������ ����� ��� ������� � ��� 6���� �� ���������� �� �� ;�4 ������ ����7 �� ��� ���� &34 � ��� ��������� �� ���� ������ ���� ��� &� � ����������� ����� ���� � � ���� ����� �� ��� ����� �

41 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

�*��) 4L� ��� ���� -��� ���� �� - ���$*���9*����$�� �� ���� ���� ���

Page 11: Uniprocessor Virtual Memory without TLBs - Electrical and

��� ���� ���� � ������ ���� �� ������� ���� ����� ����� �� �� �� ���� ������� 3 - �� 9��� �� ����� �� �� ������ ��� �� � ��� ��� � �� �� �� ������� �� )C �� /C ������ �� ���� ����� ���� ,������� � ��� ��- � ��� ���� �� 0CC ������ �� �������� � ���� �� ��� � ��� ����� �� � ����� �� ������ ��� ����� � ���� &� ������ �� ������ ������ ���� 6���� � ��� ���� ���� ��&34� ���7�

2�+ ������*��� �� (��������� '��!���

&� � ����� ��� ������� � � ����� � �� ����� � ���������� ������� &� � � �� ������� � �� ������ �� ������ � 6�+�7� ��������� �� ���� � ������ � �� �� �� ���� �� ������� ������ ��� &� � � �� ��� ����� �� ��������� � � ���� �� ���� ��������� ������ �� � ������ �� �� �������� ����� � � �� ��� ������ ��� � ���� 82 � ����� ��� #���� � � �� 82�+� � �� ���� �� ���� � ����� ����� �� �� 82 ����� � � �� �� ������� ������� �� �� �� ������ �� ��� � ��� ���� �� �� � ���������� ����� � ��� �� ������� ���� �� ?�� ����� � &34�� �� ������� �� ����� �� �� ��������� ����� �� � �� �� ����� ��� �� +&. ���������� � �� A������� 82�+� �� ������� ���� ���� � ���+� ���� ������ �� ������ �� �� &34 �� �����

82�+� � ���� � �� �� �� ������ � ���� &��� /� &� ������� "������� �� ������� ���������� �� �� ���� �� ���� � �� ������ �� ���� ��- ���� &34�� �� ������ ��� �� � ���� ���� �� �� �������� &� ����5# �� ���� � ������� ����� ����� ��� �� +&. �� ������� ��� ���� � �� �� 3) ��������� �� ��� �� �� �� ��� �� 3/ ����

���� �� �� ������ ����� ���� &� �������� "������ ����� ������� �������� �� +&. ����� ��� ��-��� �� �������� ��� ������ ����� ���� &��������5# �� ������� � ������� ��� �� �� ������ ������ � ���� � ��� �� � ���� � &34�� ��������� ��� ���� �� ��� �� �� ������ � ����� �� ���� ����� �� ��� ����� �� ������ �� 9��� � � ����� ����� � -������ � �� ������ 6"������� "����5#� ��"���� � ��� � �� �� ����7� &� ����� �� �� �������� ������ ���� �� ����� ��� �� �� � ����� ��6����� ��� ��� &��� /7 �� ������ >� &��� :�

�� � ������ &��� ; � �� � ��� �� ���-��� ������� ��� � �� �� ������-�= ��� � �� $H!$H 3)����� �� 0)/H!0)/H 3/ ������ #�� ����� � ������� ���� �� ��� ��� ��� � �<� �� )C ������ ��� ���� � � +&. ����� �� � ��� � � ��� �� �� 2�+" &34�� �� ����� ���� �<� �� ��� ��� )C ������ ��� ���� � � +&. ����� ��- � )C ����� �� �� ����

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 44

�*��) 3-�������� �� �-/(

�*��) 7,���� ��� / ��$� ��� )����

Page 12: Uniprocessor Virtual Memory without TLBs - Electrical and

� �� �� ���� �� ;CI �� �� ���� � ��� �� ���������� ���� � �� ���� �� �� ����� (:*� � �������� �� 3/ ���� � �� ����� ������ ��-� )C ������� ��� ���� � ��- � 3/ ���� � �� �� ����� � ��� ��� 6����� 5# ,����� ��� ��5# ������ ��� �� ����7� ?� �� +&. ���� ������� � ��� �� 3) ���� 6 �� ������ 5. �����7� ���- � ��� � ��� /C ����� �� �� �� �� 3/ ���� �� ���- ����� +&.� �� ���� ���� � ���� � ��� ��- � ����� � ����� �� �� �� ������ � ���� ��� �� ��� ���� ��� ������� ���� ����� 6 �� ������ 5# ������ 0CC �����7� &� � �������� ��� �� � �� �� 3) �� 3/ ������� � � � ������ � ����� ��� ���� ��� ������ � ��� �� ���� ����� � �� ����� ������ ��� ��� ������ � ���� ����� ��� �� 3) ����� � ��- � /C����� ����� ������ �� 3/ ���� ��� ��� 3/ � ��� � ��- �0CC����� ����� �� ���� ���� ��� ������ ����� ��� ���� ���� ����� � ����� �� �� �� ������ ������� �� ������ �� �� �������� 8�� �����8�� ���� 5. ������ �� 8�� ���� 5# ����� ��������&�� ����� �� ����� ���� �� +&. ����� ���� � ���� 3) ����� �� +&. ����� ���� � �� �� 3/ ���������� ���� ������� ������ � ��� ��� ����� � ������� �� ������� ��� �� ������� ���� �� ��� �= ��������� 5.95# ,�����

&� ���� �� ������� � �� ����� �� ����� � ����� � � �� ���� >�� � �� � ��������������� �� �� ���� ��� � ��� � ���� � � ������ � ��� ����� � ��� � 6 ���� � ������� � �� ��� ���� ������7 ����� (//*� &��� ���������� �� ������ ������� � �� ���� �� ������ �������� �� ������ � � ��� �� � � � ��� � �� �������� �� ���� � �� &34 �� �����

? ����� �� ����� ����� � ���� ���� �� ������� ���� ��� �� � ���� ��� � �� ��� ���� �<� �� ������ �� ��� ������ &� ��� �� ���� >�� �� � � �

���� �� � ��� �� ���� �� � �� > � �� ������

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

� �- �� � �� > � �� ��� ����� � ��� �� � ������

�� � � -�� �� � ������ ���� � �������

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

�� �� �������� � �� �� � ���� � -�� �� � �� ���

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

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

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

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

�� �� ���� �� ���� �� � �� > � �� ��� ���� �� �

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

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

� ����� ��� �� ��� ���� ���� >�� ��� �� &34

������� �� 6�������� �� �������������7� �� ��

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

&���� �� ��� ���� �� �� #" ���� � � ������ � �� &34�

�� �� ���� ���

2�1 �������/ ���.� �� � 4����� �� ���!���0��6����

? ���� �� 82�+� ������� �� � ���� � �� 3) ��

3/ ���� � >� �� � � >�� ���� � ��� ���� ��� ��

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

� ���� ���� ������� &� ������-!�������� ���� ��

� �� �� ��� 6� � ���� ��7 ���� � � � A � ��� 9 �!

����� ���� � 8#,&.D 6� �������7 ���� � � � �42

��D!+���+� ���� � �� ?��?#,A 6� ���� ������

���7 ���� � � � 2 ������� ? ����!�$% ���� � ���

�� 8#,&.D �� "+.� ������-�� �� �� ����� ��

����� ����� ?��?#,A � �� .��� �� � ��

������- ����� ();*� &� 3/ ������ � �� ���������

� ��� �� )�CCC ��� ������ �� �� � � &��� 0 ���

��� ������-�� &� ����� ����� 3/ ����� � ��

:/���� � � >��

43 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

�*��) 8��� #���� �� ?-- .����� �

Page 13: Uniprocessor Virtual Memory without TLBs - Electrical and

� ����� �� ���� �� 3/ � ��� �� )�CCC ������� �� ��� �� � ��� ) �� )C ��� �� ��� �� �������� >�� �� � ������� &� � ��� ����� ��� ��� )�CCC��� ������ �� ������ ������� � � �� ��� ����� �������� ������ �� ����� �� ����� ����� � ������ � �� )C�:C ������ ��� ���� �� �� ������ ������ � � ����� �� �� ����� ������ ��� �� ������ �� ���� ����� � � ����� �� �� �������� �� ����� ����� �� � ������ ����� ���� )C ����� �� ���������� ����� 82 ������ �� 3/ ���� � ������ � � �� ���� �� ���� � ��� ����� �� �������� 2����� ���� � � �� ��� �� ������ ������� ������ ��� )C �� ;C ����� �� ����� ��&� � �������� �� 0C�/CC ����� �� )�CCC ��� ������ �������� � � � 3/ � ��� �� )�CCC ������ ��� �� �������� � �� ����� �� ���- �� �� �������������� �� �� ��� �� )C�/CC 82 ����� �� )�CCC ��� ������ ����� � � ������� �� ���� ��� ����� ��� �� ���������� ���� �� ������� ������ ��� ���� 93&,�D ��2���� ,���� ����� ��� ��� ����� � ����� ��� �� � >� ���� &34� �� ����� �� )/$ ����� ����� �� � �� � ��� � 6)/$���� �&34� )/$���� A&347� �� �� � � �������� � � �� �����'� &34 � >��

B �� ): � �� �� 82�+� ������ ��� ���� B �� );� ��B �� )0 � �� �� ������ ��� ?��?#,A� ? �� ������� ��� B ���� �� ������� �� �� � ��� �������- ������� � 0�)C ���� ������ ��� � ) �+� ���� � �� ����� ��� �� � ������ ���� �� ��� ���� � �� �>�� �� ��� �� �!#� ��� ,���� ���� ��� ��� � ����� ����������� ���� � ���� � ������ �� 0�)C ���� &34������ (:*� (%*� (:C*� (:%* 6�� � ��� ��� �� ���� ���� �� �!#� ���7� ? ������ ���� ��� ������ ��������� �� ��� ��� ����� ����� ���� �� ��-������������-���� ��� "���� ��� �� ����� �� +���+� ���� �6��� �� 8#,&.D7� �� 93&,�D �� 2��� � ���������� ������ ��� ����� � ��� � � ��� ����������� � �� ������ � �� ���� �� ���� � �� ������������ �� 2��� � ����� �� &� � ����� ������ ����� �� ��� ����� ���� ��� ����� �� ��� ��� ����������� �� ���� �� ��������� ���� �� �� �� �������� ���� � �� ������ � � �� ������������� � ���� �������� ��� 93&,�D �� 2��� � ��?��?#,A ������-� � ��� �� ������ ���� �� �

����� � ������-������ ,���� ���� �� ���� ���� ��� 93&,�D �� 2��� 82 ���� >�� �� � �� ��� � � �� � ��� � �� �� ��� �� �� ��� ���� 2���� &����� ?��?#,A � ��� �� 3/ ���� @��� ����� �� 8#,&.D� � � ���� �<� �� � � � ��� ������� �� �� � �� �� ��� �� ��� ����� @��� � ���� ��� ����� 82�+� ������� &� � � ���� � ��������� ������� �������� ������ ����� &� ��� �� �������������� ���� 6������7 ��� �� �� ����� �� ��� ���� ���� ����� �� �� 3/ ���� � ���� ���� ���� � �� ���� � � > � ���� 6�� �������� � ����7 ������ �� �������� ��� �� � ��� �� � � ����� �� �� � � > �� ���� � > ��� �� ���� � ���������� ���� >�� ��� &� � � �� ����� � � �� ���������� �� ���� ����� � ���� ����� ���� � ������ ����� ��� �� ���� � ����� ����� ���� >�� ����� �� �� ���� ��� ���� � �� �������� �� ��&34�� ? �� ���� ����� � �� &34 � >� �� %; �� ��� � � ����� �� ������ �� �� ������� ����� ��������� � ���� �� ��� ���� �� � �� ������������� ���� ����� � �������� 3���� � �� ������ ����� ��� �� &34����� ����� �� ������� �������� 3) � � >= B�� ����� 3) ������ � � > � ��� ������� ��� ���� � >� � �������� �� ������ ������� ������� ������ �� 3/ � � >= B�� �� � ����� 3/� � > � ��� ������� ��� 3) ���� � >�

4� �� �� ��� � �� � ����� �� � � �� � ��������� ���� � � � > 6���� ��� ��� �� 8#,&.D� �������� ������� �� ) 24 ������ ������ �� ���� ��������� �� ������ � � >�7� �� ������ ������ ���� �������� � > ������ ��� � � � � ��� ����� � �� �������� �� ������ #����� ������ �� ��� � ������ ����� �� � ���� �� ��� ��� �� �� 3/ ���� ������� �� ������ �� ��� � ������ �� ��� �� ������� �� � � �� �� 3) ���� ����� ���� ) H4 �� )/$ H46/ H4 �� /0% H4 ����� 3) ���� � >7� ? �� � � � ����� >� � � > ��� � �� ����� �������� �� � ������ ����� �� ��� 6�� �� � ���� �� ��� ��� ��� ������ ����� ��7�

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

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 47

�*��) 0�����$3 - ��� ��� ��� 4�111 (���������

Page 14: Uniprocessor Virtual Memory without TLBs - Electrical and

2�2 5���0 -�����

? � ����� ��� ��� �� ���� � �� ��= # �� ���

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

���- ���� �� � �� ��������� �����

?� � ���� � �� ������ � �� ����- ����� �

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

����� ���� �� ���� � �� � � ���� �<� � � � �� �

�� �� ���- �� �� ������ &� � ��� ���� � ���� � ��

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

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

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

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

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

�� ����-� � �������� �� � ����� � �� �� ������ �

�� -� �� ������� � � �� �� ���� � � � ��� �� �

�� ����- ��������� ��� ���� � �� � > �� �� ����

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

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

����� ? �� �� � ����� �� ���������� �� ����� �

��@��� � � �� � �� ����- ����� ����� � � ��

������� �� �� ����-� ���� 0C ���� �� ��� ����

� ���� �� 0C ���� �� �� � � � � �� � �� ������

��� ������ ������� ��= � ��� �� ���� �� � �� ��

���-� � ��� �� ���� �� � ������� �� �� ����� &� �

������ ���� ������ 682�+�7 �� ������� 0C �����

&� ������ �� � ������� � ���� �� �� ����- �����

�� ���� ���� ����� �� ����- � � ������ ����

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

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

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

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

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

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

�� �� ��� �� &� � �<� �� ��� �������� ��� ���

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

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

48 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

;��! 47! ���.� :�� "� � "$ ���!� ��6� � �����6�;'��� ���� �� ��� �-/( ��� � ��� � �� �� ��� � ���� ����! ��� ������ ��������� ���� ��� ��� �� � �#��� ��� � �� � ��� �� ��������� ��� ��� =��� �� ��� � � �� ��� ,.;�� ���� ����� ������� � ��� ����#>! ) �� � � ����� �������� ��� ��� �� ��� ���� ���I � �� ����� �������� ��������� �49�3 ����� � �������� ����! +��� �� � ��� � �� ������ ��� ��� ,.;���� �� ���� 4 �� �3 � ��� � �!

Page 15: Uniprocessor Virtual Memory without TLBs - Electrical and

���� ������� � ������ � �� ����� H� � �� �

������� � ������ � ��� ��� � �� ���@�� �� ��

�� ��� �� �� �� ���-� �� �� ������ �� �� �� �

������ ��� � ��� ����1��� � � ��� �� �� �� �

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

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

2�3 4��&'���� .��������

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

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

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

� �� ���� � ��� ���� ������ ���� �� � �� H� � ��

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

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

<����� &� ������� �� �� � ���� � ���� �� ��� � ��

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

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

? ������� � ����� � �� ��<��� �� ���

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

&� ������-� �� �� ��� �� (:C* �� �� ����� �

����� � 2���:� ? ���� 2��� �� � ��� ��������� �

� ������� ������ � )�CCC � �� �� ���������� � ����

� ��� �� � 9��� � (:C*� ? �� ��� ����� ��

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

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

&� ������ �� ���� &��� %�

+��������� � ��� � ��� �� ����� � �� ����� ��

))�: ��� ��� � �� � ������ ��� �� �� ��� ������ ���

��� ��� � ��� �� � ���� ��� ������� � ����� >�

���� � �� �� 3) �� 3/ ����� �� � � � � ���� ��

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

� �� ����� ��� � >� 6� ���������� � �������7 ��

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

� ����� � �� ; H4 ���� �� � )%���� � � > 6������

� � >� � � ��� ������� � ������7� � ���� ���-

/0% ���� � � �� ��� � ��� �� ����� � � ����� ��

)C 3) ���� � � �� 0C 3/ ����� � � ������ ��

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 40

;��! 48! ���.� :�� "� � "$ ���!� ��6� � �����6�;��� �<� ���� �� ��� �-/( ��� � ��� � �� �� ��� � ���� ����! ��� ������ ��������� ���� ��� ��� �� � �#��� ��� � �� � ��� �� ��������� ��� ��� =��� �� ��� � � �� ��� ,.;�� ���� ����� ������� � ��� ����#>! ) �� � � ����� �������� ��� ��� �� ��� ���� ����I � �� ����� �������� ��������� �49�3 ����� � �������� ����! +��� �� � ��� � �� ������ ��� ��� ,.;���� �� ���� 4 �� �� 3�� �3 � ��� � �!

Page 16: Uniprocessor Virtual Memory without TLBs - Electrical and

��� � ��� ��; � 3) ���� � � �� � ���-� ���

����� �� ������ � � ����� 6� ����� � � ���-����

��� ��7 �� 3/ ���� � � �� � ���-� /C ����� ��

������ ;C ������ � �������� �� ������ �� �������=

#� /0% 3) ���� � �� )C ���� � ������ 6� � �����7� ��

��� � /;% � ��� � ���-� 6��� �����7 �� /0% 3/

���� � �� 0C ���� � ������ 6;C �����7� �� ��� �

/C% � ��� � ���-� 6/C �����7 �� ������ �

������ %�GC$ ����� �� ���������� � ��� � ��� �

6�� � � � � �� � � �� �� � ��7� &� � � ��� ���

C � C ) G � � C � ) % ; � + � 6 � ��� � ��� � ��� � �

� ��� � ���� � ���7� &� � ������ ������� �� � ����� ���

�� /�5 ���� ����� ���� � � �� �� �� ����� � �����

��� ���������� � ��� � ��� � �� ��<���� ��

9��� �� �� � ������ ������ �� ��� ����� �� ��� �

��� �� C�CCC) �+�� �� ����� C�C) ���� ���� � � ��

4B ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114

;� ? ���� ��� ����� ���� ���� � � � ���� "+.�G0 �������- ������ �� �� ������ � � ������� � �� ����= )7 "+.� ���- ���� �� �� � ������ ��� ����� ��������� ����� � ��� ��� ������ �� ������ �� /7 � � ���� ����� ����� ��� ���� ��� ������ ������� ��� ���� �������� � ������

;��! 40! ���.� :�� "� � "$ ���!� ��6� � �����6�;-��-���� ���� �� ��� �-/( ��� � ��� � �� �� ��� � ���� ����! ��� ������ �

�������� ���� ��� ��� �� � �#��� ��� � �� � ��� �� ��������� ��� ��� =��� �� ��� � � �� ��� ,.;�� ���� ����� ������� � ��� ����#>! ) �� � �

����� �������� ��� ��� �� ��� ���� ���I � �� ����� �������� ��������� �49�3 ����� � �������� ����! *�� �� �� �� ��� �� �$ '� � ��!

�*��) B/ �� /��������� ������� ���� ;��%������ �� � ��7

Page 17: Uniprocessor Virtual Memory without TLBs - Electrical and

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

2�= �*����6�����

�� ������� ��� �� ��� �� ������ ��� � >�� �� ������ � ���� � �� �� � ����� ���� ��>� ����� �������� � � �� �� ������ ������ �� �� ����� ��� ���� ��� ����� �� ���� � ����� � � � ��� ���� ������ ����-�� � ��� � �� ����� ���- �� � ���� ��� ��� ������ �� ������� &34 ������ �� 4��� � ��� (:* � �+&. ���� ���� ����� �� ���� ����� ����� +&.� ������ �� ������ ���� ���� � ����� ���� ���� ���� �� ���� �� � > ���� ����-� �� ���� ���� � ��� +&.� �� �� ����� &� � ��� �� ���� �� �� ����

����� � � �� �� ��� ���� � ������ &� &��������� ������ �� �-� �� ���� �� �� ����� ������ ���� ����� ������� ������� ������ ������ �� �� ���� > � �� �� ��� ���� � �� �� ������� ����� � ��� � ���� � ����� �� �� �� (:;*� &��� � ��������� � ��� � >�� � �� ��� ����� ��� �� ����� �� � �� � ��- � � ��� � ������ ����� � � ��� � � �� ��� � �� �� ���� �� ������ ���� � � ������ � � ()5*� &� � ����� ���� �� ������ ����� 3/ ���� � �� �� ����� ������ 3���� � ��������� �� 3/ ���� ��� ��� � ������ ��� �� � ��� �� ����� �� �� -�� �� ���1������� �� �������

������� ��� ���� ��� � �� ��� � ��� ���� �� &�--����� 3�� 6������� ������ ���� �7 (:G* �� ��.��-�� ����� 6������� � ����� �����7 ():*�

3 (�����%

B�� �� �� � �� � ����� ������ ������ � �������� �� � ��� �� � ��� �� � ������ � ����� �� ��������� ��������� ���� ���� � ������� ��� ������ ���������� �� ����� ������ ���� ����� ������ �������� � ���� � ������ � �� �� ������ ���� &� � ��

��� �� ���� �������������� � ������� � �������� ������ ������� � �� � ����� ��������� � ���� ��� � � � � ��� �������� ������� ��&34����� ������ � �� ��� ���������� �� ��� &������� ������������� ������ ������� � � � � ���������� ��� � ���� ������ � ������ ��� � � ������������� � �� ��� ��������

&� �� �� �� � � ��� ������� �� � �� ����������B ���� ��� � ������ ������� � �� ������� ����� �� ���� �� ��� ��� �� ����� �� ����� � ������������ ��� ���� � �� ����� � ����� ��� ������ � �� �� �� "���� � � �� � �� &34 ��� ��

���� �� �� ���� ���� ������� � � � � ����� (/%*�&� ��� � ����� � ������� � �� ��� ���� ��� �������� ���������� ������ ��� � �� ���� ���������� 3���� � ���� ������� ������ � �� � �� �� ��� ����� ���� � ��� � ������� � ��

��,��-"��'��� (

&� ������� ����� � - �� ���- �� ������� �� ���

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

���� ��� �� �� � ��� ����� ������4��� L���� � �������� ���� �� �� 9" ��� ���

"� � B����� � 6�"B ��� ������� .���G$C%%;0 ��

���� �� � �"B ��,.., ������ ������� ��,�GG$:%)$�

&���� 2��� � ���� ���� �������� �� �� 9" A��

������ ,����� +��@��� ���� ��� A�,+�!�,#

������� ����� A���C;�G;���C:/5�

��4������(()* &�.� ������ ��2� 3��� 4��� 4������ �� .�A� 3�>���-��

E&� ������ � �� ���� ����� �� #���� � "���� A� ��F!���� 4� �� ,��:� ����� +������ ��� � ����� ��� !���������5��� ���� ��� 1������� ������� ;+�!51� :/.<� ��� )C$�)/C� ����)GG)�

��� ��?� ���� �� H� 3 � E8 ����� 2���� +� � � �� ��� 9��+��������F !���� 4� �� ,��:� ����� +������ ��� � ����� ���!��������� 5��� ���� ��� 1������� ������� ;+�!51� :/.<���� G%�)C5� ���� )GG)�

��� H� 4���� 2�B� H�����-� �� ?�.� ? ��� E"������ +����� ��� ���� � ��� &������ � 3��-�� � 4������F !���� 4������6,= ����� 1������� ������� ����� ��� ,������������ ;1��,:/&<� ��� /;:�/0:� ���� )GG;�

��� �� ���� �� 2�B� 2��� E$C) "�����= ���� ����� ��+������� ��F +� *����� ���� ��� �������� ���� %� �� )� B��)G$$�

��� L�"� ����� ��2� 3��� .�A� 3�>���-�� �� 2� 4�-��������E3 ���� ��� "���� #�@��� � %;�4 � #���� � "�����F&�� ��� ,���� G/�C:�CG� 9 �� �� ?��� ���� 2��� )GG/�

��� L�4� ��� �� 4���� �� ��+� L���� � E� " ����� � 4��� "���� ��&34 +��������F !���� ./� +��� ,��:� ����� ���� ��� +������� �� ;,��+ :/#<� 2�� )GG/�

��� ,� ���� E8 ����� ������ ���� 9��D�F !���� � ���� ./-%���6,= *������ ������ L� )G$5�

�� A�,� ��� ��� ���� "�������� �� +�A� 4���� E"��������������� ����� �� 82+ 2��� ���������F !���� .3� +���,��:� ����� ���� ��� +������ �� ;,��+ :-0<� L�� )G$%�

�� A�?� ����- �� L�"� .��� E+������� �� �� 8�D�))!5$C&������ � 4����= " ����� � �� 2�������F +� *��������� ��� �������� ���� :� �� )� ��� :)�%/� B�� )G$0�

���� �� A ��� ,���� 1�9#� ,�� �� 2����= ��� ���?���� )GGC����� H� A ������� E&������ 9� �� �����= "������� "������

�����-� 2�� � 2��-� � �� 83�?� ��� 2���� ��F ������������� 8������ ���� );� �� )� ��� )0�)%� L�� /CCC�

���� A � ��� .<� ��� ������ ����� #.$0& ��� ����� #.$0&++��� +=! ������������� >������� 8�������� �� ��� 2������2����= A � ��� .<� ��� ������ )GG;�

���� A�,� .���� "�H� ������ �� 2�B� H�����-� E�82= ���� ��� ��3�� 8 ����� 2�����F !���� 4�� ?��"��� >�� *���� �1������� ������� ;>��1��@<� 2�� )GG0�

���� .���� ����� ������ 8������ �� �� �������� �� ?�������� 9 ���� ?��� ���� ����=!!����������� ������!� )GG$�

���� L�,� ������� E������ ��� 2��� �������� 8 ����� ������������F !���� ������ ,��:� ����� +������ ��� � ����� ��� !���������� 5��� ���� ��� 1������� ������� ;+�!51� :-%<� ��� 5/�$)�#��� )G$5�

���� 3� ����� E���'� +% 9�� A������ "��������� A� ��F ������������ 8������ ���� G� �� /� B�� )GG0�

���� A�"� ���� E��� � B��� �������� �� "��������� +���������F&�� ��� ,���� 2���:%%� 2�& �������� � "�������� ������A�� )GG;�

��� L� ���- �� L� ����� E���� ������� "������ ��� &������ � &���2����� 3��� ������ "��� 2��� ��F !���� #$� +���,��:� ����� ���� ��� +������ �� ;,��+ :/3<� ��� :G�0C� 2�� )GG:�

��� �42 �� 2�������� !����!� 0$. 8,�� ������������ ����:� �� ��� �42 2 �������� �� �� 2�������� )GG:�

���� 4�3� L���� �� &��� 2���� E"�� � ��� � �� �� +92� 2����2����� A� ��F &�� ��� ,���� �".�&,�:);�G%� 9 �� ��2 �� ��� ���� )GG%�

�*-.� *+< ��<?)@ �+(/".-),,." ("��*� �)�."2 �(�A.�� ���, 4F

Page 18: Uniprocessor Virtual Memory without TLBs - Electrical and

���� 4�3� L���� �� &��� 2���� E"�������2���� ������ &������� ��F !���� *�� ,��:� ����� >� !���������� ���� ��� +������� �� ;>!�+ :/%<� ��� )0%�)%5� B�� )GG5�

���� 4�3� L���� �� &��� 2���� E� 3��- �� "���� 2�����2����� 9 ��� &34�,� �� 2��� ���� �� +�� &���#��� >�� ���F !���� ��� ,��:� ����� +������ ��� � ����� ���!��������� 5��� ���� ��� 1������� ������� ;+�!51� :/-<���� /G0�:C%� #��� )GG$�

���� 4�3� L���� �� &��� 2���� E8 ����� 2���� ����������2 �������������F ,��� ���� ���� )$� �� ;� ��� %C�50� L���!����)GG$�

���� 4�3� L���� �� &��� 2���� E8 ����� 2����= ����� ���������� ��F ���� ���� ���� :)� �� %� ��� ::�;:� L� )GG$�

���� 4�3� L����� E"�������#� �� 2�����2����� A� ��F+�A ��� �� 9 �� �� 2 �� ��� L��� )GG5�

���� &� L��� &� 3��� �� L�L� �������� E,��� � &34 +���,<� �����F !���� .//% ,��� ,��:� ����� 5�� !���� ������������� ����� ;,�5!�� :/%<� ��� )G%�/C)� ���� )GG5�

���� �� H� �� L� � � ��� ,!� 8,�� +������ ��� .�������� ���� ��L�= +�� � ����� )GG/�

��� L� 3 ��- �� H� .��� ���� E������ +�� &���� � 2�+",;%CC�F +� 1������� ������� 8����� ���� :C� �� )� ��� ;�)0� L��)GG%�

��� *� !����!� +������ ��' + ���������� ��� � 6�� 4���� �� 8,��!���������� �� 2��� .� " ���� ,� " ����� �� �� ?���� ��� "�B��� ���= 2���� H������ )GG;�

���� A� ����� ,� 9�� �� &� "����� "� "������ &� 2���� �� ,�4���� EA� � &������� ��� "�������2���� &34��F !����#$� +��� ,��:� ����� ���� ��� +������ �� ;,��+ :/3<� 2�� )GG:�

���� ,� ,��� �� �� &�� �� 2� M���� A� M���� ,� 4���� A� 4���-�?� 4����-�� �� L� ���� E2��� ������ 8 ����� 2����2����� ��� +��� 9 �������� �� 2��� �������� ���� ��������F ,��� *����� ���� ����� ���� :5� �� $� ��� $G%�GC$� ����)G$$�

���� "��� , ��� � E&34 ��� B�= ������ ������ &������ � ��� �2��� �������� ?��-���� ��F &�� ��� ,���� 9�4!�"A$0!/::� 9 �� �� ��� ��� �� 2�� )G$0�

���� 2� ,������� .� 4�� �� "��� ������ .� ? ����� �� �� ������E&� ������ �� ���� ������� &��� � #���� � "����+��������F !���� .A� +� ����� 1������� ������� !�������;�1�! :/A<� A�� )GG0�

���� �� "��� ��� 4� B����� � ��,� 3��-� "�H� , ������ L�,� 3����� ��A��� ?���� EB ���� ����� ������ ��� A ��� ���� "����2�����F !���� �7� ,��:� ����� +������ ��� � ����� ��� !���������� 5��� ���� ��� 1������� ������� ;+�!51� :/&<� ��� /G5�:C%�#��� )GG;�

���� 2�3� "����� &�L� 34���� �� 4�A� 2����� EA� � ,�� ��� ���+����� � �����+����� 2��� �������� #���� � "�����F!���� ./-- ,��:� ����� !������� !��������� ���� )G$$�

���� 2� &����� �� 2�A� � ��� E"������ � �� &34 +������� ��"������� � �� 3�� #���� � "���� "�������F !���� �7� ,��:������ +������ ��� � ����� ��� !��������� 5��� ���� ��� 1�������������� ;+�!51� :/&<� ��� )5)�)$/� #��� )GG;�

���� 2� &����� � 2�A� � ��� �� M��� H��� � � E� �� +�� &��� ���%;�4 � ������ "�����F !���� .A� +� ����� 1������� �������!������� ;�1�! :/A<� A�� )GG0�

��� 2� &����� � "� H��� 2�A� � ��� �� A��� +������� E&������� "������ � &�� +�� " >��F !���� ./� +��� ,��:� ����� ���� ���+������ �� ;,��+ :/#<� ��� ;)0�;/;� 2�� )GG/�

��� ���� &�--��� �� ��2� 3��� E������� �� "������ "��������� .�� � � .���� � ���� ��F !���� �7� ,��:� ����� +������� ��� � ����� ��� !��������� 5��� ���� ��� 1������� �������;+�!51� :/&<� ��� ))C�))G� #��� )GG;�

���� "��M� &>�� �� A�+� ������ E&� +������� �� 2�����+��� � 9� � ,��� ��� 8 ����� 2���� ,���� ��F ��������B!������ ��� �7�������� ���� /)� �� :� ��� /0)�/%5� 2��� )GG)�

���� ,� ?���� "� 3����� &�.� ������ �� "�3� ������� E.�� � �"�������4��� B���� ������ ��F !���� .&� +� ����� 1�������������� !������� ;�1�! :/3<� ��� /C:�/)%� A�� )GG:�

���� ?���� ?��� L��3� 4��� �� ��2� 3��� E#��� >�� � ��+������� �� � &���3�� 8 ������,�� ���� � �������F !����.0� +��� ,��:� ����� ���� ��� +������ �� ;,��+ :-/<� ��� );C�);$�L� )G$G�

���� "� ? �� �� L�.� "� ��� !1?�8 ��� !����!�� "� B��� ���=2���� H������ )GG;�

���� 4� ?��� �� 4��� 4������ E��� ���� 2����� ���8 ������� ���� ������F !���� 4�� ,��:� ����� +������ ���� ����� ��� !��������� 5��� ���� ��� 1������� ������� ;+�!51�:/#<� ��� )/;�):%� #��� )GG/�

���� A��� ?���� E&� A� � �� .������ � �� ������ ������&������ ��F +�A ��� �� 9 �� ��� ��� � �� 4�-��� 2��� )GGC�

���� A��� ?���� "�L� .����� �� � ���� 2�A� � ��� L�2� +����� "���, ��� � ��"� &������ ,��� H��>� �� A��� +������� E� ������������ &������ � 2��� ���F !���� .3� +��� ,��:� ��������� ��� +������ �� ;,��+ :-0<� L�� )G$%�

#���� >���� �������� ��� *� ������ ��� � ����� � ���� ��� ���� A �� �� ��������� �� 4655 �� ��� �, �� /�< ������ �� �������������� �� ����������� ���� ��� ��������� �������� �� *�� *����� �� 4660 �� 466F� �����$������! *� ��� ��������� �� ������ �� �� � � ���� ����� �� � �������� ����$������� ��������$����#$� �� ������������! A� � �����#�� ���� �� �������� ��� ��� ����$��� � ���� ���� ���@ ����� ���������� ��

/������� - �� � � ������! *� ����� ����������� �� ���#�� ���������� ���� ��������� ��� � /������� - �� � � ������� �� � ��� ����� � ���� �������� �� ����� ��������! A� � ��������� �� ���� ����� �� ��� ��������� �� � ��� ��� -������ / �#� ����� �� � � �� �� ������� �� �������� � �� �������� �����������! A� ��������� ��� ����� ������$���� ����� �� ������� <"*� �������$����� ����� � ������ ����� �� ������ � � ������ � ��� �� ������ �� ��� �� �$���� �� �������� ����! A� � ��������� �� �,+ ���� � ,������ ;���� ���� -*"))" � �� ��� �� ���# �� <"*�����! A� � ������ �� ��� ()))� ��� *-�� �� ,��� M�!

��:�� ��0� �������� ��� �,� ������ ������������ ���� ��� ��������� �� "� �����)��� ��� �� 46B6 �� ��� �, �� /�< �������� �������� ������ ���� ��� ��������� ��(������� ��� � � �� 46F7 �� 46FF� �����������!,���� 46FF� �� � ���� �� ��� � ����� �� ������������ �� ������ �� *�� *����! A� ��������� ������� �� �������� � ����������� �� �������� ������ �� ��� �������� �� ���*�� ���� -������� *����������� � ��� �����

����� �� ����� � ����� �� F1 �� �� �� ��� ��� �� ��! A� � ��� ����� �� ���� �� � 401 � ��� �� �������� ������������ ����� ������ ��� ��� �,( ������ �� �������� ������ �� �� ���� � ���� ����������$ ���� ����� �� �,( �������! A� � �� �� ���� ���� 31���� �� ���� ��� ��� �� ! A� ��� ��� ������� ������� �������� ������������ ��������$ ���� ������ �� ��������! (� ������� �� ��������� � ����� ������� �� � ������ �� ��� ���� � ������������ ���! A� � �� ��� �� ������ ��� ��� ���� �� �� ���� �!������� �� "!� !������� ���#���! <�! ����� � ������ �� ���()))� ������ �� ��� *-�� ��� ())� �� ��� ������ -������� ,������!

45 ())) �"*+,*-�(.+, .+ -.�/��)",� .�! 01� +.! 0� �*2 3114