1 johannes kepler vniversitat linzarchive.computerhistory.org/resources/access/text/2010/...1...

25
JOHANNES KEPLER 1 VNIVERSITAT LINZ TECHNISCH-NATURVVISSENSCHAFTLICHE FAKULTAT INSTITUT FUR INFORMATIK A Microprogrammed Page Fault Monitor * x- G. chroustz, A. Kreuzer , K. stadlerQ' 1 / SYSPRO 12/80 March 80 INFORMATIK-BERICHTE - - - --- -- - -- -- -- - -- - - - - -- A-4040 LINZIAUHOF, ALTENBERGERSTRASSE 69 USTERREICH/AUSTRIA

Upload: others

Post on 16-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

JOHANNES KEPLER 1 VNIVERSITAT LINZ TECHNISCH-NATURVVISSENSCHAFTLICHE FAKULTAT INSTITUT FUR INFORMATIK

A M i c r o p r o g r a m m e d P a g e F a u l t M o n i t o r

* x- G. chroustz, A. K r e u z e r ,

K . s t a d l e r Q '

1 / S Y S P R O 12/80 M a r c h 80

INFORMATIK-BERICHTE

- - - --- -- - -- -- -- - -- - - - - - -

A-4040 LINZIAUHOF, ALTENBERGERSTRASSE 69 USTERREICH/AUSTRIA

A Microprogrammed Page F a u l t Mon i to r

*9 G . ~ h r o u s t % , A . Kreuzer ,

K . s t a d l e r Y Q ,

March 80

Resea rch f o r t h i s p a p e r h a s been s c p p o r t s d p a r t i a l l y

by t h e A u s t r i a n Fonds z u r Forderung d e r w i s s e r i s c h a f t -

l i c h e n Forschung u n d e r p r o j e c t 3 4 8 9 .

T h i s p a p e r w i l l be p u b l s i s h e d e ? sewhere. . As a c o u r t e s y t o t h e p u b l i s h e r i t s d i s t r i b u t i c t i i s

s t r i c t l y 1 imi t e d .

x- ** IBM L a b o r a t o r y Vienna I n s t i t u t f i j r I n f o r m a t i k Obere Conaus t raBe 9 5 U n i v e r s i t a t L inz A-1020 k i e n A-4040 Linz/Auhof

A Microprogrammed Page F a u l t Monitor 4F x s

G . C h r o u s t , A . Kreuzer , K . s t a d l e r X x -a Y il

IBM Labora to ry Vienna, Kepl e r U n i v e r s i t y Linz

A b s t r a c t : In o r d e r t o i n v e s t i q a t e t h e i n f l u e n c e o f d i f f e r e n t

d

programming t e c h n i q u e s on t h e paging behaviour of t h e r e s u l t i n g o b j e c t program, a page f a u l t moni to r was implemented i n f i rmware . The paper d i s c u s s e s t h e g e n e r a l d e s i g n ph i losophy and p r o p e r t i e s o f f i rmware moni to r s and d e s c r i b e s t h e s p e c i f i c implementa t ion . I t a l s o shows some r e s u l t s of t h e use of t h e page f a u l t m o n i t o r .

1 . 0 INTRODUCTION - -

1.1 MOTIVES .- -

A t t h e Kepler U n i v e r s i t y Linz a p r o j e c t which i n v e s t i g a t e d t h e i n f l v e n c e of d i f f e r e n t programming methodo log ies on t h e paging behaviour of t h e r e s u l t i n g o b j e c t program ( /Rueh:bacher-79/ ) r e q u i r e d t o measure t h e paging r a t e of a computer system under v a r i o u s c o n d i t i o n s (Simi 1 a r i n v e s t i g a t i o n s on paging behav iour a r e r e p o r t e d i n / F e r r a r i - 7 6 / , /Freeman-751 a n d / H a t f i e l d - 7 1 . i ) . S i n c e a t t h e same t ime i n v e s t i g a t i o n s on microprogramming and on f i rmware moni tor ing were being performed ( / C h r o u s t - 7 8 / j , i t was decided t o implement a page f a u l t moni tor i n -- f i rmware .

The exper iment was i n t e n d e d t o

* e s t i m a t e t h e d i f f i c v l t i e r of microprogrammed changes t o a r e x i s t i n g complex emu7 a t o r ,

* demons t ra te t h e f e a s i b i l i t y of imp1 ementing a f i rmware m o n i t o r ,

* unders tand t h e p r o p e r t i e s of f i rmware m o n i t o r s ,

* prov ide a u s e f u l t o o l f o r t h e i n v e s t i g a t i o n of paging behav iour .

This paper d i s c u s s e s t h e g e n e r a l d e s i g n ph i losophy of firmware m o n i t o r s , d e s c r i b e s a s p e c i f i c implementa t ion of a page f a u l t moni tor and shows some r e s u l t s of i t s a p p l i c a t i o n .

1 . 2 V I R T U A L S T O R A G E C O N C E P T

The main p u r p o s e o f a v i r t u a l s t o r a g e s y s t e m ( F i g . 1) i s t o l i n k two o r more memory s y s t e m s of d r a s t i c a l l y d i f f e r e n t speed and c a p a c i t y ( a n d t h u s c o s t ) i n such a way t h a t

* t h e a p p a r e n t c a p a c i t y f o r t h e u s e r a p p r o a c h e s t h a t o f t h e l a r g e r s y s t e m ,

* t h e a c t u a l speed a p p r o a c h e s t h a t o f t h e f a s t e s t memory u n i t , and

* t h e r e s u l t i n g c o s t s f o r a g i v e n v i r t u a l c a p a c i t y and speed a r e min imized .

' d a t a '1 f a s t memory

Back-up s t o r a g e (slob!)

F i g . 1: V i r t u a l S t o r a g e System

The l o g i c a l f o u n d a t i o n f o r v i r t u a l s t o r a g e s y s t e m s a r e t h e obse rved f a . c t s ( c f . / 6 u z e n - 7 3 / , /Denni n g - 7 0 / , /He l l e r r can -75 / , /Tanenbaum-761) t h a t

1. most programs t e n d t o a c c e s s o n l y a c o m p a r a t - i v e l y snial l r e g i o n o f s t o r a g e d u r i n g a g i v e n t i m e p e r i o d ( ' l o c a l i t y ' ) ,

2 . d u r i n g e x e c u t i o n t h e s e r e g i o n s t e n d t o change c o m p a r a t i v e l y s l o w l y w i t h r e s p e c t t o s i z e and p ~ s i i i o n i n t h e c o m p l e t e v i r t u a l s t o r a g e s p a c e ( ' d y n a m i c ? o c a l i t y l ) , - --

I n a ~ g i n ~ s y s t e m t h e a d d r e s s s p a c e o f t h e v i r t u a l memory availabl: t o a program i s d i v i d e d s 'n to p a g e s . Cnly a fer! of t h e ' v i r t u a l p a g e s ' used by t h e program a r e p h y s i c a l l y i n

f a s t memory a t any one t i m e ( F i g . 2 ) . The r e m a i n i n g pages a r e s t o r e d i n t h e back-up memory. The sys t em must t r a n s l a t e v i r t u a l a d d r e s s e s i n t o p h y s i c a l ones and must make s u r e t h a t v i r t u a l memory l o c a t i o n s needed by t h e program a r e i n memory when needed .

F a s t S t o r a g e

t i ! page 11 1 '? r o l l e d o u t

page 2 2 r o l l e d i n

Address T rans1 a t i o n Page F a u l t D e t e c t i o n

r e q u e s t v a r i a b l e i n page 23

F i g . 2 : Scheme o f a paging s y s t e m

A page f a u l t o c c u r s i f a r e q u i r e d p a g e i s n o t p h y s i c a l l y p r e sen t i n t h e f a s t memory. In t h i s c a s e t h e p a g e has t o be l oaded from back-up s t o r a g e . T h i s u s u a l l y r e q u i r e s t o r o i l o u t a page from t h e f a s t memory t c t h e back-up memory. Loading a new page i s by f a r t h e most t i m e consuming s i n g l e

o p e r a t i o n i n a v i r t u a l memory sys tem (1000 i n s t r u c t i o n s and more i s no t u n u s u a l ) . The ;mount of page c h a n g e s , t h e page r a t e i s t h u s of major i n f l u e n c e on t h e e x e c u t i o n t ime of any one program.

There e x i s t i n d i c a t i o n s t h a t c e r t a i n c l a s s e s of programs can be s u c c e s s i v e l y adap ted wi th r e s p e c t t o t h e i r programming s t y l e i n o r d e r t o b e t t e r f u l f i l l t h e r e q u i r e m e n t s of l o c a l i t y and dynamic l o c a l i t y . Applying t h e knowledge abou t t h e c o r r e l a t i o n between programming t e c h n i q u e s on one s i d e and l o c a l i t y and dynamic l o c a l i t y on t h e o t h e r s i d e would a l l o w t o a c h i e v e c o n s i d e r a b l e r u n t ime g a i n s by a p p l y i n g a p p r o p r i a t e programming t e c h n i q u e s t o s o u r c e programs. T h e r e f o r e a page f a u l t moni to r was needed.

1 . 3 MICROPROGRAMMING, F I R M W A R E A N D EMULATION

We w i l l unders tand microprogramming us us son-70/) a s a t o o l t o d e f i n e and b u i l d machine a r c h i t e c t u r e s o n t o p of a g iven hardware ( / B e r n d t - 7 7 / ) . I t i s t h i s usage f o r which Ople r has coined t h e term f i rmware ( / O p l e r - 6 7 / ) . The i n t e r f a c e t o t h e u s e r i s c a l l e d machine a r c h i t e c t u r e and i s b u i l t v i a f i rmware . The n o t i o n of computer a r c h i t e c t u r c was i n t r o d u c e d by Amdahl, Blaauw and Brooks ( /Amdahl-64/) t o " d e s c r i b e t h e - a t t r i b u t e s o f a system a s seen by t h e . programmer . . . " . Firmware i s t h e on ly r e a s o n a b l e way t o implenent a computer f a m i l y wi th a common a r c h i t e c t u r e on a s e t of d r a s t i c a l l y d i f f e r e n t hardware p r o c e s s o r s ( F i g . 3 ) . The a r c h i t e c t u r e - t h e a c t u a l p e r s o n a l i t y of t h e compuLer - i s d e f i n e d by s p e c i f i c microprograms r e s i d i n g i n t h e c o n t r o l s t o r e .

App? i c a t i o n s I/ Compilers/ Assembl e r s

Opera t ing Sys tern I- =========== ------------- ------------- A r c h i t e c t u r e =- - - - - - - - - - - - - - - - - - - - - - -

---------- ------------

Emulator (fi i icroprograms) = Firmware

F i g . 3 : Layered System wi th f i rmware l e v e l

2 . 0 FIRMWARE MONITORING - -

i . c 2 . 1 H A R D W A R E A N C SOFTbIARE MONITORS

, I C l a s s i c a l l y t w o t e c h n i q u e s f o r moni to r ing a r e a v a i l a b l e : , hardware and s o f t w a r e moni to r s ( / F e r r a r i - 7 8 / , / K l a r - 7 1 / , t /Svobodova-76/) .

Hardware m o n i t o r i n g a l l o w s a p r a c t i c a l l y d i s t u r b a n c e - f r e e measurement of sys tem a c t s v i t i e s . The a c c u ~ u l a t e d d a t a a r e e s s e n t i a l l y c o u n t s of e l e c t r o n i c p u l s e s o n c e r t a i n l i n e s . I n most c a s e s , however, one i s no t i n t e r e s t e d i n p u l s e s pe r second over a c e r t a i n l i n e b u t r a t h e r i n v a l u e s of sys tem paramete r s 1 i ke s u p e r v i s o r t i m e , probl em t i m e , 1 ength of system queues e t c . I t i s ve ry d i f f i c u l t t o d e r i v e such o p e r a t i n g system c h a r a c t e r i s t i c s from p u l s e c o u n t s .

Sof tware moni to r s a1 low measurements a t t h e sys tem a r c h i t e c t u r a l l e v e l , and t h u s make t h e i d e n t i f i c a t i o n of t h e r e q u i r e d d a t a e a s y . However, t h e y u s u a l l y d i s t o r t t h e t ime behaviour of t h e o r i g i n a l p r o c e s s , s i n c e t h e measuring a c t i v i t i e s themselves a r e implemented on t h e same l e v e l a s t h e system t o be measured. Moni tor ing competes wi th o t h e r s o f t w a r e components f o r sys tem r e s o u r c e s (main s t o r a g e , p r o c e s s o r , f i l e s , busses e t c . ) . Th i s may even chancje t h e behaviour of t h e system under o b s e r v a t i o n : The d a t a f i l e f o r t h e moni tor d a t a , f o r example, w i l l p robab ly be i n a s e p a r a t e page a n d t h u s w i i l provoke a d i f f e r e n t paying behaviour .

2 . 2 FIRMHARE MONITORS

i t seems ( / A r m b r u s t e r - 7 9 / , / B a r n e s - 7 4 / , / d e B l a s i - 7 7 / ) t h a t rnon;toring v i a f i rmware i s ve ry p r o v i s i n g because t h e r e i s founded hope t h a t f i rmware moni to r ing a1 1 cws a comb-ination o f t h e advan tages of hardware and s o f t w a r e moni to r s w i t h o u t e n t a i l ing t h e i r d i f f i c u l t i e s ( / C h - o v s t - 7 8 / ) .

The advan tages o f f i rmware moni to r ing a r e :

* The d a t a g e n e r a t i o n a1 g o r i t h ~ i s i n t h e moni tored p r o c e s s o r a r e w r i t t e n i n microcode a n d a r e t h u s an o r d e r of magnitude f a s t e r than t h e e q u i v a l e n t s o f t w a r e r o u t i ~ e s ; t h u s t h e t ime d i s t o r t i o n i s much s m a l l e r and can u s u a l l y be i g n o r e d .

3 * O p e r a t i n g sys t em c h a r a c t e r i s t i c s can s t i 11 be i ~ ~ e a s u r e d d i r e c t l y a t t h e microprogram l e v e l . In many c a s e s t h e i n v e s t i g a t e d s y s t e m f u n c t i o n s a r e p a r t i a l l y ircplemented

! i n mic rocode and t h u s d i r e c t l y a c c e s s i b l e ( e . g . pag ing i , i a l g o r i t h m s i n IBM/370-115, / I B M - 7 4 / ) .

A sy s t em i s c a l l e d a ' F i rmware Mon i to r Sys t em ' i f t h e c o r e I - measur ing p r o c e s s a r e hand led by f i r m w a r e ( i . e on t h e l e v e l I o f microprogramming) . The t o t a l sys t em t h e r e f o r e need n o t 1 c o n s i s t p r i m a r i l y o f f i r m w a r e . In some c a s e s t h e a c t u a l i p e r c e n t a g e o f microcode migh t even be r a t h e r s m a l l , I e s p e c i a l l y when t h e t i m e d i s t o r t i o n o f t h e p r o c e s s i s n o t I c r i t i c a l and t h e m i c r o p r o ~ r a m s o n l y p r o v i d e t h e ' r a w d a t a ' I

I I f o r m o n i t o r i n g , whereas t h e f u r t h e r p r o c e s s i n g and I a c c u m u l a t i o n i s done b y s o f t w a r e . I

2.: DESIGN CONSIDERATIONS F O R A P A G E FAULT MONITOR 1

I

2 . 3 . 1 Requ i r emen t s I

F o r t h e p r o j e c t i n q u e s t i o n t h e f o l l o w i n g o b j e c t i v e s f o r t h e microprogrammed Page F a u l t Mon i to r ( P F M ) a r e t o b e t a k e n i n t o a c c o u n t :

1. The o b j e c t machine i s an IBM /370-115 , w i t h an OS/VSI O p e r a t i n g Sys tem.

2 . I t must be p o s s i b l e t o s t a r t and s t o p t h e PFM and t o r e a d t h e r e s u l t i n g d a t a manua l ly and unde r program c o n t r o l (Assembl e r and P L / I ) .

3 . The c o u n t e r s s h o u l d be s e t t a b l e / r e s e t t a b l e i n d e p e n d a n t l y o f t h e s t a r t i n g / s t o p p i n g o f t h e m o n i t o r .

4 . The m o n i t o r s h o u l d d i s t u r b t h e p r c c e s s t o be m o n i t o r e d a s l i t t l e a s p o s s i b l e .

5 . I t must be p o s s i b l e t o c o u n t separate?^ t h o s e page f a u l t s which o c c u r r e d i n t h e problem s t a t e and t h o s e which o c c u r e d i n s u p e r v i s o r s t a t e .

6 . The PFM s h o u l d b e e a s y t o u s e .

7 . No change t o t h e o p e r a t i n g s y s t e m , a c o m p i l e r o r a s s e m b l e r s h o u l d be r e q u i r e d [ I n t h i s w a y t h e m o n t o r i n g p r o c e s s i s t r a n s p a r e n t on t h e machine a r c h i t e c t u r e l e v e l and no a d d i t i o n a l e x p e r t i s e on s o f t w a r e p r o d u c t s i s n e c e s s a r y ) .

2 . 4 . 1 Hardware P r o p e r t i e s of a f i rmware moni tor

A f i rmware moni tor behaves , a s seen from t h e u s e r , l i k e a hardware moni tor ( / R u e b e r g - 7 8 / ) , w i t h o u t needing a n y s p e c i a l hardware r e s o u r c e s . The main r e a s o n s a r e :

* A f i rmware moni tor a l l o w s e s s e n t i a l l y d i s t o r t i o n - f r e e measurements . S j n c e t h e measurement a c t i v i t i e s a r e performed i n microcode, t h e d i s t o r t i o n i s u s u a l l y negl i g e a b l e .

I j * The use of t h e moni to r i s t r a n s p a r e n t on a l l l e v e l s I which a r e a c c e s s i b l e t o programmers, even on t h e l e v e l 2

! of m x h i n e i n s t r u c t i o n s . T h i s means t h a t t h e behav iour , 1 of t h e machine a s s p e c i f i e d i n t h e a r c h i t e c t u r e i s no t

changed, no t even i f i n t e r r r u p t s e t c . o c c u r . I

I * Microprogramming a1 lows t o u t i l i z e hardware e lements which a r e not. used and no t a c c e s s i b l e o t h e r w i s e .

2 . 4 . 2 Sof tware P r o p e r t i e s of a f i rmware moni tor

Many p r o p e r t i e s of f i r m w a r e - moni to r s a r e common wi th so f tware mcni tor -s :

* Most machine and sys tem c o n t r o l b locks and e n t i t i t i e s (queues , page t a b l e s e t c . ) a r e e q u a l l y well a c c e s s i b l e from f i rmware and s o f t w a r e .

* The f l e x i b i l i t y i s a lmos t t h e same a s f o r s o f t w a r e m o n i t o r s ,

2 . 3 . 3 S p e c i a l C o n s i d e r a t i o n s f o r Firmware Monitors

The implementa t ion of a Firmware moni tor d e m o n s t r a t e s some add? t i o n a l c o n s i d e r a t i o n s <:I comparison w i t h s o f t w a r e o r hardware m o n l t o r s .

1. Communication wi th t h e moni to r Means must be found t o s t a r t / s t o - p / r e a d / r e s e t t h e moni to r . Ease of u s e , s i m p l i c i t y and t r a n s p a r e n c y have t o be aimed a t a s f a r a s p o s s i b l e .

2 . Choice of ' Y o n i t o r hooks ' One has t o i d e n t i f y t h o s e p o i n t s i n t h e emula to r where t h e d e s i r e d i n f o r m a t i o n i s a v a i l a b l e . Th i s i s u s u a l l y t h e most c h a l l e n g i n g p a r t of the s t u d y , s i n c e i t i s d i f f i c u l t t c i d e n t i f y such p o i n t s . Secondly one must make s u r e t h a t one does no t measure too much, i . e . t h z t t h e s p e c i f i c p o i n t i s no t execu ted under some o t h e r c o n d i t i o n s , t o o .

3 . C o m p a t i b i l i t y wi th t h e s t a n d a r d machine e n v i r o n c e n t Every change of t h e e m u l a t o r of a computer i s a change in t h e a r c h i t e c t u r e of t h e machine. This mezns t h a t a change u s u a l i y i s alwa s j n e f f e c t . One must make s u r e t h a t t h i s change d n o t have a d v e r s e e f f e c t s f o r o t h e r programs a n d / o r u s e r s . I t n e c e s s i t a t e s sometimes t h e use of s p e c i a l ' f l a g s ' t o i n d i c a t e i f t h e changed emula tor code shou ld be e f f e c t i v e o r n o t . Fur thermore - due t o t h e complex i ty of t h e emula to r - i t i s a b s o l u t e n e c e s s a r y t o avo id d e s t r o y i n g r e g : s t e r s and o t h e r t e m p o r a r i e s of t h e e m u l a t o r s ( o f t e n by s a v i n g / r e s t o r i n g them) .

4 . E s t i m a t i n g t h e s i z e s o f c o u n t e r s . Usua l ly r a t h e r l a r g e numbers a r e g e n e r a t e d . Due t o t h e

, small s i z e of t h e hardware r e g i s t e r s t h i s o f t e n i n v o l v e s over f low hand1 ing a t t h e microprogram l e v e s .

5 . I t i s m o r e d i f f i c u l t t o r ead and p r i n t t h e v a l u e s accumulated by t h e f i rmware moni tor a s compared t o a s o f t w a r e m o n i t o r . U s u a l l y , however, i t i s p o s s i b l e t o hand t h e f i rmware-accumula ted d a t a t o e x i s t i n g s g f t w a r e r o u t i n e s which then perform t h e i n p u t / o u t p u t f u n c t i o n .

3 . 0 IMPLEMENTATION - -

T h i s s e c t i o n g i v e s an ove rv iew o v e r some of t h e d e t a i l s o f I

I t h e chosen imp1 e m e n t a t i o n . For more d e t a i l s s e e I .. /Muehl b a c h e r - 7 9 / . I

f 3 . 1 PAGING IN OS O N IBM SYSTEY 370/115 ! r

To u n d e r s t a n d t h e i m p l e m e n t a t i o n o f t h e PFM a s h o r t I i n t r o d u c t i o n t o t h e e m u l a t i o n o f System/370 and t h e ( o p e r a t i n g sys t em OS/VSl a s used on t h e IBM /370-Mod. 115

System Console Video p e r i p h e r a l U n i t s d i s k e t t e S c r e e n

F i g . 4 : Diagram o f t h e IBM/370-115

hardware i s n e c e s s a r y .

The IBM /370-115 ( / v o n Krogh-74/ , /IBM-74/) i s i n t e r n a l 1 o r g a n i z e d a s a m u 1 t i p r o c e s s o r c o n s i s t i n g o f s e v e r a r i n d i v i d u a i p r o c e s s o r s ( F i g . 4 ) . The Machine I n s t r u c t i o n P r o c e s s o r ( H I P ) hand1 e s a1 1 machine i n s t r u c t i o n s . I /O i n s t r u c t i o n s a r e o n l y s u p e r f i c i a l l y examined by t h e M I P i n

1

o r d e r t o d e t e r m i n e a t which I n p u t - O u t p u t P z o c e s s o r ( I O P ) t h e c o r r e s p o n d i n g p e r i p h e r a l u n i t i s a t t a c h e d . Then t h e i n s t r u c t i o n i s t r a n s f e r r e d t o t h i s IOP which i n t w n e x e c u t e s t h e 1 / 0 o p e r a t i o n a s y n c h r o n o u s l y and i n t e r r u p t s t h e

t

I MIP upon t e r m i n a t i o n ( / A s s m u t h - 7 4 / ) . The S e r v i c e P r o c e s s o r (SVP) t o g e t h e r w i t h i t s i n d e p e n d e n t bus i s r e s p o n s i b l e f o r c o m ~ u n i c a t i o n w i t h t h e o p e r a t o r and f o r g e n e r a l r e 1 i a b i l i t y and s u p e r v i s o r y t a s k s , n o t d i r e c t l y r e l a t e d t o i n s t r u c t i o n procession.

S t o r a g e a c c e s s i s c o n t r o l l e d by an i n d e p e n d e n t and a synchronous Main S t o r a g e C o n t r o l l e r (MSC). I t c o n t a i n s , pe rmanen t ly a s s i g n e d t c e a c h o t h e r D r o c e s s o r , s e v e r a l a d d r e s s r e g i s t e r s . In o r d e r t o a c c e s s MaSn S t o r a g e ( M S ) t h e r e s p e c t i v e p r o c e s s o r f i r s t l y l o a d s t h e c o r r e s p o n d i n g a d d r e s s i n t o one o f ' i t s ' a d d r e s s r e g i s t e r ( t h e r e a r e some mechanism t o e a s e c o n s e c u t i v e a c c e s s t o c o n t i g u o u s memory l o c a t i o n s ) and t h e n r e q t i e s t s a memory r e a d o r w r i t e u s i n g t h i s a d d r e s s . I f t h e page i s i n memory t h e c o r r e s p o n d i n g d a t a a r e w r i t t e n f r o m / t o t h e d a t a bus . To make pag ing e f f i c i e n t a s p e c i a l u n i t ( 'Dynamic Address T r a n s l a t i o n ' - ' D A T ' ) i s i n s e r t e d between MIP and MSC. I t c o n t a i n s an a s s o c i a t i v e memory which a l l o w s f a s t t r a n s l a t i o n between v i r t u a l a d d r e s s e s ( a s i s s u e d b y t h e M I P ) and r e a l a d d r e s s e s ( a s a c c e p t e d by t h e MSC). I n c a s e t h e page i s n o t found n p a g e f a u l t i s r e c o s n i z e d . The i n t e r p r e t a t i o n of t h e machine i n s t r u c t i o n c a u s i n g t h e page f a u l t i s i n t e r r u p t e d ( t r a p p e d ) upon a s i g n a l from DAT. A s i m i l a r t r a p i s g e n e r a t e d by t h e MSC when t h e v a l u e i n t h e a d d r e s s r e g i s t e r t r d n s g r e s s e s a page boundary . However, t h i s n o t n e c e s s a r i l y i n d u c e s a page f a u l t , s i n c e t h e n e x t page migh t be a l r e a d y i n s t o r a g e . A t r a e c a u s e s t h e MIP t o t r a n s f e r c o n t r o l t o a d i f f e r e n t - m~ cr-oprcgrarn. T h e microprogram i n i t i a t c s sorne s o f t w a r e programs which l o a d t h e a p p r o p r i a t e memory page from t h e e x t e r n a l medium and t h e n - r e i n t e r p r e t s t h e w h o l e - i n t e r r u p t e d machine i n s t r u c t i o n s .

Al l p r o c e s s o r s e x c e p t t h e MSC a r e microprogrammed and microprogramma bl e .

3 .2 THE P A G E F A U L T MONITOR

T h i s s e c t i o n w i l l a d d r e s s t h e p o i n t s r a i s e d i n 2 . 4 . 3 .

1. To c o m m ~ ~ n i c a t e w i t h t h e m o n i t o r t h r e e unused C o n t r o l R e g i s t e r s of t h e IBM/370-115 ( R e g i s t e r s 6 , 1 2 and 1 3 ) a r e u s e d . The use o f t h e c o n t r o l r e g i s t e r h a s t h e a d v a n t a g e o f e a s y a c c e s s from m i c r o p r o g r a o , program and

Cont ro l R e g i s t e r 6 i s used t o s t a r t and s t o p t h 2 m o n i t o r ,

Con t ro l Re i s t e r 12 c o u n t s t h o s e p a g e f a u l t s which o c c u r r e 8 i n t h e problem s t a t e ,

Control R e g i s t e r 13 c o u n t s t h o s e page f a u l t s which occur red i n t h e s u p e r v i s o r s t a t e .

2. In o r d e r t o f i n d t h e a p p r o p r i a t e p o i n t t o coun t page f a u l t s t h e emula to r code was i n v e s t i g a . t e d . In o u r s p e c i f i c c a s e i t was r a t h e r e a s y : Whenever a page f a u l t occurs t h e DAT r a i s e s a s i g n a l which i s d e t e c t e d by t h e MIP. A c t u a l l y t h e MIP t r a p s t o a speci2.l code f o r a l l e x c e p t i o n a l c o n d i t i o n s . A t r a p can have many d i f f e r e n t c a u s e s , t h e ( o r i g i n a l ) microprogram t e s t s v a r i o u s f l a g s t o de te rmine whether t h e t r a p was caused by a page f a u l t a .nd and goes t o a s p e c i a l r o u t i n e t o hand le page f a u l t s . To coun t t h e page f a u l t s t h e accumula t ing c0d.e h ~ d t o be i n s e r t e d i n t o t h a t p a t h : A c t u a l l y t h e moni tor ing microcode i s hand1 ed 1 i ke a ' p a t c h ' : one o f t h e o r i g i n a l i n s t r u c t i o n s i s r e p l a c e d by a j u m p t o some f r e e a r e a in t h e m i c r o s t o r e where t h e moni tor code i s s t o r e d . The c o u n t t h e r e f o r e shows h o w o f t e n t h i s s p e c i f i c pa th i n t h e e m u l a t o r has been e x e c u t e d .

The i n s e r t e d code i s e s s e n t i a l l y a s shown i n F i g . 5 .

t i s moni to r a c t i v a t e d ?

YES S t a t u s ? I

$ r e t u r n t o s t a n d a r d

erriul a t o r

F i g . 5 : Scheme of moni to r code .

N a t u r a l l y t h e i n s e r t i o n o f an a d d i t i o n a l p i e c e of microcode a l s o r e q u i r e s ( l i k e a n y o t h e r p a t c h ) t o s a v e some of t h e N I P ' S r e g i s t e r , t o r e p l a c e t h e o r i g i n a l m i c r o i n s t r u c t i o n by a branch and r e p e a t t h e r e p l a c e d m i c r o i n s t r u c t i o n l a t e r .

3 . C o m p a t i b i l i t y d i d no t pose a problem h e r e , s i n c e t h e moni to r code was an e x t e n s i o n r a t h e r than a change t o t h e e x i s t i n g f i rmware . The communication wi th t h e o u t s i d e world was handled v i a o t h e r w i s e unused c o n t r ~ l r e g i s t e r s .

4 . I t was dec ided t h a t t h e s i z e of t h e c o n t r o l r e g i s t e r s ( 2 * * 3 1 - 1 ) = approx . 2 . 1 0 * * 9 was s u f + i c i e n t l y l a r g e t o i g n o r e over f low ( t h e f a s t e s t machine i n s t r u c t i o n s o n

- t h e IBM / 3 7 0 - 1 1 5 a r e i n t h e o r d e r of 6 mic roseconds , t h u s a l lowing f o r s e v e r a l hours o f c o n t i n u o u s monitoreing, even i n t h e wors t c a s e ) .

5 . Reading and p r i n t i n g of t h e accumula ted v a l u e s was avoided by l e a v i n g t h e d a t a i n t h e c o n t r o l r e g i s t e r s . O u t p u t i s t h e u s e r ' s r e s p o n s i b i l i t y .

4 . 0 USE OF THE P A G E FAULT MONITOR. - - ----

4 . 1 COMfb?UNICATICN WITH THE PFM

Four f u n c t i o n s a r e n e c e s s a r y f o r communicat ion

* R e s e t t f n g t h e c o u n t e r s : C o n t r o l R e g i s t e r s 1 2 and 1 3 a r e s e t t o X'00000000'

* S t a r t i n g t h e m o n i t o r Con t ro l R e g i s t e r 6 i s s e t t o X'FFFFFFFF'

* S t o p p i n g t h e Mon i to r C o n t r o l R e g i s t e r 6 i s s e t t o X'00000000'

* Reading t h e C o u n t e r s C o n t r o l r e g i s t e r 12 c o n t a i n s t h e c o u n t o f t h e page f a u l t s which o c c u r r e d i n problem s t a t e s i n c e t h e l a s t r e s e t t i n g . Coun t ing i s o n l y per formed d u r i n g t h o s e t i m e p e r i o d s where t h e m o n i t o r was s w i t c h e d o n . Analogous C o n t r o l R e g i s t e r 1 3 c o n t a i n s t h e page f a u l t s i n s u p e r v i s o r s t a t e .

The c o n v e n t i o n t h a t s t o p p i n g t h e m o n i t o r i s i n d e p e n d e n t of r e a d i n g t h e c o u n t e r s and r e s e t t i n g t h e c o u n t e r s a l l o w s t o a c c u m u l a t e s t a t i s t i c s on s e v e r a l n o n - c o n t i g u o u s e x e c u t i o n p a t h s .

4 .2 M A N U A L C O N T R O L O F THE PFM

Manual C o n t r o l i s accompl i s h e d by c h a n g i n g C o ~ t r o l R e g i s t e r s 6 , 1 2 and 1 3 v i a t h e c o n s o l e a s d e s c r i b e d i n /IBM-75/.

4 . 3 C O N T R O L O F THE PFM F R O M ASSEMBLER PROGRAnS

To c o n t r o ~ / c o m m u n i c a t e w i t h t h e m o n i t o r f r ~ m an a s s e m b l e r program i t i s n e c e s s a r y t c a c c e s s t h e c o n t r o l r e g - i s t e r s u s i n g t h e i n s t r u c t i o f i s : L O A D C O N T R O L (LCTl-) a . nd STORE C O N T R O L (sTCTL), ( c f . /IBM-76/)

In t h e s t z n d a r d a r c h i t e c t u r e , however , t h e s e two i n s t r u c t i o n s a r e p r i v i l e g e d . The / 3 7 0 e m u l a t o r w a s t h e r e f o r e changed such t h a t t h e s e two i n s t r u c t i o n s can b e e x e c u t e d i n problem s t a t e . I t s h o u l d be no ted t h a t t h i s measure was s u f f i c i e n t f o r t h e i n t e n d e d a p p l i c a t i o n of t h e PFM, s i n c e ' w e l l - b e h a v i o u r ' o f a l l u s e r s was e x p e c t e d . O t h e r w i s e a c c e s s t o a l l c o n t r o l r e g i s t e r s makes t h e

o p e r a t i n g sys tem e x t r ~ m e l y vul ne rab l e . A s a f e implementa t ion would r e s t r i c t t h e a v a i l a b i l i t y i n t h e problem s t a t e t o Contro l R e g i s t e r s 6 , 1 2 and 13 .

In /370 Assembler Language t h e f o l l o w i n g s t a t e m e n t s a r e needed:

S t a r t i n g PFM: L C T R 6,=X1FFFFFFFF'

S topping PFM: L C T R 6 ,=X100000000 '

R e s e t t i n g t h e c o u n t e r s : L C T R 1 2 , = ~ ' 0 0 0 0 0 0 0 0 ~ L C T R 13 ,=X'00000000 '

Reading t h e r e s u l t s : STC-TR 1 2 , F W P STCTR 13,FWS

where F W P and FWS a r e two f u l l w o r d l o c a t i o n s f o r t h e coun t s of page f a u l t s i n t h e problem s t a t e and t h e s u p e r v i s o r s t a t e r e s p e c t i v e l y .

4 . 4 COMMUNICATION F R O M HIGH-LEVEL L A N G U A G E S

In o r d e r t o be-. a b l e t o commur;ica.te wi th t h e PFM froin h igher-1 eve1 languages ( s p e c i f i c a l l y PL/ I ) 4 assembl e r s u b r o u t i n e s were w r i t t e n :

PFMON: s t a r t t h e moni to r P F M O F F : s t o p t h e moni to r P F M Z E R O : r e s e t t h e c o u n t e r s t o z e r o GETPFM ( p r o b , s u p ) : r e a d t h e c o u n t e r s

where prob and sub (each a f u l l w o r d ) r e t u r n t h e v a l u e s of t h e c o u n t e r f o r problem and s u p e r v i s o r s t a t e r e s p e c t i v e l y .

The code f o r i n d i v i d u a l f u n c t i o n s i s t h e same a s d e s c r i b e d f o r a.ssernbler programs. These s u b r o u t i n e s may be a c t i v a t e d

b y s t a n d a r d p rocedure c a l l s i n P L / i .

5 . 0 VERIFICATION O F THE MONITOR - - - I-

A c o n s i d e r a b l e p a r t of t h e d e s i g n of a page f a u l t m o n i t o r I s s tem i s t h e v e r i f i c i a t i o n o f i t s r e s u l t s . I t h a s . t o be

c E ecked w h e t h e r

* a l l r e l e v a n t page f a u l t s a r e coun ted and

* no u n r e l a t e d e v e n t s a r e a l s o i n c l u d e d i n t h e c o u n t .

B a s i c a l l y 4 methods can be a p p l i e d :

1. T r a c i n g t h e d i f f e r e n t e x e c u t i o n p a t h s o f t h e e m u l a t o r m a n u a l l y i n t h e microcode ( d e s k m e t h o d ) .

I 2 . T r a c i n g d y n a m i c a l l y ( u s i n g some sys t em s u p p o r t ) t h e e x e c u t i o n of t h e m o n i t o r . I f a v a i l a b l e t h e i n t e n d e d p o i n t of i n s e r t i o n of t h e m o n i t o r code can be c h e c k - p o i n t e d i n o r d e r t o v e r i f y t h e soundness o f t i ie

I

I a s s u m p t i o n s .

3 . Comparison w i t h o t h e r m o n i t o r i n g a i d s (some m a n u f a c t u r e r s p r o v i d e m o n i t o r i n g a i d s w i t h t h e i r o p e r a t i n g s-ystem, f o r exanp? e IBM's SMF ( / I B M - 7 6 b / ) .

I I 4 . Measur ing u s i n g s y n t h e t i c j o b s w i t h known pag ing r a t e s .

For t h e PFM a l l methods were a p p l i e d .

1 ad 1) Manuals and microcode were f o l l o w e d and i t was v e r i f i e d t h a t

o each page f a u l t must go th rough t h e p o i n t of measurement ,

o o n l y page f a u l t s have t h e p r o p e r f l a g s s e t such t h a t f l o w o f c o n t r o l w i l l go th rough t h e moni t o r S n g c c d e .

ad " ) The s e r v - i c e and t e s t a i d s o f t h e T G M / 3 7 0 - 1 1 5 a l l o w t o s t o p a g iven microprogram i n any p r o c e s s c r a t a p r e d e f i n e d l o c a t i o n ( / I B M - 7 4 / ) . One can t h e n i n s p e c t t h e s t a t u s o f r e g i s t e r s , memory e t c . T h i s \+!as done t o v e r i f y t h e i n f o r m a t i o n e x t r a c t e d from t h e manua l s , e s p e c i a l l y t h e v a l u e of t h e f l a g s i n d e n t i f y - i n g d i f f e r e n t c a u s e s f o r t r a p s were checked .

ad 3 ) The IBM s u p p l i e d SMF program ( / I E M - 7 6 b / ) w a s e x e c u t e d i n p a r s l l e l w i t h t h e P F M and t h e resu! t s compared. I t t u r n e d o u t t h a t t h e r e s u l t s by SMF were 1 0 t o 1 5 % h i g h e r : The d i f f e r e n c e stem: from t h e f a c t t h a t SMF measures a c c o r d i n g t o s l i g h t l y d i f f e r e n t c r i t e r i a a s compared w i t h P F M . Some f u n c t i o n s which loq ica l !y b e l o n g t o t h e o b j e c t program b u t which a r e e x e c u t e d i n supervisory mode a r e i n c l u d e d i n t h e c o u n t s of SMF b u t n o t i n t h o s e of PFM ( c f .

/Muehl b a c h e r - 7 9 / , / I B M - 7 6 b / ) . The d a t a showed a s u f f i c i e n t s i m i l a r i t y t o have c o n f i d e n c e i n t h e P F M .

ad 4 ) F o r t h i s p u r p o s e a P L / I program was w r i t t e n which used , two v e r y l a r g e a r r a y s ( A 1 and A 2 ) . Each a r r a y i s l a r g e r

t h a n t h e (known) maximal a v a i l a b l e s p a c e f o r in-memory p a g e s . A t f i r s t t h e d a t a i n A1 a r e a c c e s s e d i n such a way t h a t a l l a v a i l a b l e page s p a c e w i l l be o c c u p i e d by pages c o n t a i n i n g A l . T h i s a s s u r e s t h a t no page o f A2 i s i n s t o r a g e . Then t h e m o n i t o r i s s t a r t e d and e l e m e n t s o f A 2 a r e a c c e s s e d s u c h a way t h a t t h e number o f page f a u l t s can be p r e d i c t e d . A t t h e end t h e PFM i s s w i t c h e d o f f . The c a l c u l a t e d page f a u l t s must c o r r e s p o n d w i t h t h e measured page f a u l t s .

6 . 0 APPLICATION : PAGING IN OS O N IBM 370/?15 - - ------

6 . 1 G E N E R A L EXPERIENCE

The P F H has been used by v a r i o u s a p p l i c a t i o n s a t t h e Kepler U n i v e r s i t y Linz t o measure page f a u l t s caused by programs and p a r t s of programs i n o r d e r t o y i e l d s t a t e m e n t s abou t t h e l o c a l i t y of a l g o r i t h m s and of d a t a s t r u c t u r e s . I t proved t o be a p r a c t i c a l t ~ ~ e a s u r i n g t o o l . E s p e c i a l l y t h e a b i l i t y t o swi tch PFM on and o f f v i a s u b r o u t i n e s proved t o be advantageous s i n c e i t a l l o w s t o g a i n d a t a a b o u t t h e i n t e r e s t i n g a r e a s w i t h o u t d i s t o r t i o n .

6 . 2 APPLICATION TO SPARSE MATRICES

A c a s e s t u d y f o r programming i n a paged environment was done by imp1 ementing G u s t a v s o n ' s Algclri t h m f o r t h e mu1 t i p 1 i c a t i o n of two-dimensional s p a r s e m a t r i c e s (/Muehlbacher-79b:). The same a l g o r i t h m was implemented u s i n g two d i f f e r e n t r e p r e s e n t a t i o n s f o r i t s d a t a s t r u c t u r e s . Measurements wi th t h e PFM showed t h e s u p e r i o r i t y of one method. The improvements o f 1 oca l i t y coul d be measured w i t h o u t d i s t o r t i o n by t h e P F M .

6 . 3 APPLICATION TO COMPILER.ORGANIZATION

The PFM was used t o measure t h e page f a u l t s caused by t h e i n d i v i d u a l modules of a M O D U L A c o m p i l e r . Based on t h e s e measurements t h e s t r u c t u r e of t h e compi le r was r e a r r a n g e d i n such a V I ~ Y t h a t t h e r u n t ime was reduced ( / ~ o m b e r y e r - ' I S / ) .

6 . 4 APPLICATION TO S T O R A G E MAPPING O F NONLINEAR DATA

8ne p a r t of a p r o j e c t ( l L o s b i c h l e r - P s i , / ~ u e h l b a c h e r - 7 9 / ) i s involved i n t h e m a p p i n g of b i n a r y t r e e s ( s e a r c h t r e e s ) i n t o t h e a d d r e s s space such t h a t e . g . f o r s e a r c h i n g , a minimum number of page f a u l t s i s a c h i e v e d . Again t h e P F K p r o v i d e s a va1 uabl e t o o l .

7 . 0 SUMMARY - -

The imp1 e m e n t a t i o n of a microprogrammed page f a u l t m o n i t o r a t t h e Kep le r U n i v e r s i t y Linz p r o v i d e d a t t h e same t i m e an e x p e r i m e n t i n f i rmware m o n i t o r i n g and a u s e f u l t o o l f o r t h e i n v e s t i g a t i o n o f . t h e i n f l u e n c e o f programming t e c h n i q u e s on t h e paging b e h a v ~ o u r o f t h e o b j e c t program.

I t showed

* t h a t f i r m w a r e m o n i t o r i n g can be implemented w i t h r e a s o n a b l e e f f o r t : In o u r c a s e , f i n d i n g t h e p r o p e r ' m o n i t o r h o o k s ' was f a i r l y e a s y and t h e i m p l e m e n t a t i o n of t h e rnon i to r lng p r o g r a r was r a t h e r s t r a i g h f o r w a r d , u t i l i z i n g o u r g e n e r a l e x p e r t i s e i n microprogramming t h e IBM/370-115.

* t h a t a page f a u l t m o n i t o r p r o v i d e s a h i g h l y u s e f u l t o o l , a s i n d i c a t e d by t h e a p p ? i c a t i o n s i n s e c t i o n 6 , a n d

* t h a t t h e c l a i m s a b o u t t h e a d v a n t a g e s o f f i rmware m o n i t o r s a r e j u s t i f i e d ( low d i s t u r b a n c e , t r a n s p a r e n c y t o t h e u s e r a n d f l e x i b i l i t y ) .

. -

8 . 0 REFERENCES - -

/Amdah l -64 / Arndahl G . M . , B l a a u w G . A . , B r o o k s F . P . J r . : A r c h i t e c t u r e o f t h e IBM S y s t e m / 3 6 0 . - IBK J . o f R e s e a r c h & D e v . , v o l . 8 ( 1 9 6 4 ) , No.

2 , p ? - 8 7 - 9 7 ; / A r m b r u s t e r - 7 9 / A r m b r u s t e r C . E . : A M i c r o c o d e d 001 t o S a m p l e t h e S o f t w a r e I n s t r u c t i o n A d d r e s s . - SIGMICRO N e w s l e t t e v v o l . 1 0 ( 1 9 7 9 ) , n o . 4 , p p . 6 8 - 7 2 a n d ACM ( e d . ) : P r o c . MICRO-12.

/ A s s m u t h - 7 6 / A s s m u t h R . , I r r o F . , R e i c h L . , S c h a a l H . : I n p u t / O u t p u t C o n t r o l o f IBM S y s t e m / 3 7 0 Model 1 2 5 t h r o u g h d e d i c a t e d I n p u t / O u t p u t P r o c e s s o r s . - EUROMICRO N e w s l e t t e r v o l . 2 ( 1 9 7 6 ) No .3 , p p . 4 1 - 4 6 .

/ B a r n e s - 7 4 / B a r n e s D . H . , Wear L . L . : I n s t r u c t i o n T r a c i n g v i a M i c r o p r o g r a m m i n g . - MICR07, 7 t h Annua l Workshop o n M i c r o p r o g r a m m i n g , A C M 1 9 7 4 , p p . 2 5 - 2 7 .

/ B e r n d t - 7 7 / E e r n d t H . : Nas i s t F i r m w c r e ? E l e k t r o n . R e c h e n a n l a g e n 1 9 ( 1 9 7 7 ) , No. 2 , p p . 7 7 - 8 0 .

/ B u z e n - 7 3 / Buzen J . P . , G a g l i a r d i U . O . : The E v o l u t i o n o f V i r t u a l M a c h i n e A r c h i t e c t u r e . - P r o c . N C C 1 9 7 3 , AFIPS P r e s s 1 9 7 3 , p p . 2 9 1 - 2 9 9 .

/ C h r o u s t - 7 8 / C h r o u s t G . , K r e u z e r A . , L a b e k F . : V e r z e r r u n g s - a r m e s - F i r m w a r e M o n i t o r i n g m i t u n a b h a e n g i g e n P r o z e s s o r e n . - 2 . T a g u n g : B e r i c h t e a u s d e n I n f o r m a t i k I n s t i t u t e n , S e p t . 1 9 7 8 , OCG/OeGI 1 9 7 8 , p p . 2 9 - 3 1 .

/ d e B l a s i - 7 7 1 d e B l a s i N . , d e g l i A n t o n i G . : P r o f i l e F i n d e r - A F i r m w a r e I n s t r u m e n t f o r P r o g r a m M e a s u r e m e n t s . - EUROMICRO N e w s l e t t e r v o l . 3 ( 1 9 7 7 ) , No. 1 , p p . 2 7 - 3 3 .

/ D e n n i n g - 7 0 / D e n n i n g P . J . : V i r t u a l Memory. - C o m p u t i n g S u r v e y s , v o 1 . 2 ( 1 9 7 0 ) No. 3 , p p . 1 5 3 - 1 8 9 .

/ F e r r a r i - 7 6 , ' F e r r a r i D . : T h e I m p r o v e m e n t o f P r o g r a r ~ ~ B e h a v i o u r . - C o m p u t e r v o l . 9 ( 1 9 7 6 ) , n o . 11, p p . 3 9 - 4 7 .

/ F e r r a r i - 7 8 / F e r r a r i D . : C o m p u t e r S y s t e m s P e r f o r m a n c e E v a : u a t i o n . - P r e n t i c e H a l l , E n g l e w o o d C l i f f s 1 9 7 8 . ( e s p e c i a l l y Ch. 2 : M e a s u r e m e n t T e c h n i q u e s , p p . 2 6 - 1 0 0 ) .

/ F r e e m a n - 7 5 / F r e e m a n P . : S o f t w a r e S y s t e m s P r i n c i p l e s . - SRA C h i c a g o 15'75, ( e s p e c i a l l y C h a p t e r 6 . 3 . 2 : M e a s u r e m e n t o f P r o g r a m C h a r a c t e r i s t i c s , p . 258 f f ) .

/ I j a t f i e l d - 7 1 / H a t f i e l d D . J . , G e r a l d J . : P r o g r a m R e s t r u c t u r i n g f o r V i r t u a l Memory.- IBM S y s t e m s J . v o 1 . 1 0 ( 1 9 7 1 ) , N O . 3 , p p . 1 6 8 - 1 9 2 .

h l l e r m a n - 7 5 / H e l l e r m a n H . , C o n r o y T . F . : C o m p u t e r S y s t e m P e r f o r m a n c e , C h a p t e r 1 0 : V i r t u a l S t o r a g e P r i n c i p l e s . - MacGrav H i l l New York 1 9 7 5 , p p . 2 7 2 - 3 0 8 .

/ H u s s o n - 7 0 / H u s s o n S . S . : M i c r o p r o g r a m m i n g - P r i n c i p l e s a n d P r a c t i c e s . - P r e n t i c e H a l l , E n g l e w o o d C1 ., 1 9 7 0 .

/ IBM-74/ IBM C o r p . : 3 1 1 5 P r o c e s s i n g U n i t , M a c h i n e I n s t r u c t i o n P r o c e s s o r . - IBM C o r p . Form No. S Y 3 3 - 1 0 7 8 , 1 9 7 4

/ IBM-751 IBM C o r p . : IBM / 3 7 0 Model 1 1 5 O p e r a t o r s L i b r a r y - P r o c e d u r e s . - IBM C o r p o r a t i o n , Form No. GA33-1514, May 1 9 7 5

/ISM-7G/ IBM Cousp. : IBM S y s t e m / 3 7 0 P r i n c i p l e s o f O p e r a t i o n s . - IBM C o r p . , Form No. GA-22-7000, 1 9 7 6 .

/IBM-76b/ IBM Corp . : OS/VS1 System Management F a c i l i t i e s ( I S M " ' ) , R e l . 6 , 2nd e d i - i i o n . IBM C o r p . , Form No. GC24-5115, S e p t . 1976.

/ L o s b i c h l e r - 7 5 / Losb ich :e r B . , Muehl b a c h e r J . R e : A Note on Programming i n Paging S y s t e m s . - P r o c . o f INFORMATICA 7 5 , B l e d , Y U . , p . 1 . 1 5 . 1 - 1 . 1 5 - 5 , 1975.

/Muehl b a c h e r - 7 9 1 1) Muehlbacher J . R . , S c h u l z A . : Programmieren ? n s e i t e n v e r w a l t e t e n Sys t emen . - Kepler U n i v . Lin:? I n f o r m a t i k - B e r i c h t e : SYSPRO TRP1/79, 1979 , ( o u t o f p r ~ n t )

2 Muehlbacher J . R . , S c h u l z A * : E f f i z i e n t e s Programmicren i n s e i t e n v e r w a l t e t e n Sys t emen . - Kepler U n i v . L i n z , I n f o r m a t i k - G e r i c h t e : SYSPRO T R P 2 / 7 9 , 1979

/Much1 bache r -79b / Muehl b a c h e r J . R e : A n 1mplementa.t ion of G u s t a v s o n ' s F a s t A lgor i thm f o r S p a r s e M a t r i x M u l t i p l i c a t i o n . - Angew. l n f o r m a t i k 1980 ( i n p r e s s ) .

/Opl e r - 6 7 / Opl e r A . : Four th G e n e r a t i o n S o f t w a r e . - Da tama t ion , J a n . 1967 , p p . 22-24.

P o m b e r g e r - 7 9 / Pomberger G . : p e r s o n a l communica t ion , Kep le r Univ. Linz

/?ueberg-78,' Rueberg H . , Wesener F . J . : Hardware- und S o f t w a r e M o n i t o r i n g : , Pul s f u e h l en i n A u s k u n f t s - s y s t e m e n . - ONLINE 9 / 7 8 , pp. 662-665

/Svobndova-761 Svobodova L . : Ccnpu te r System Measurab i l i t g . Computer v o l . 9 , June 1976.

/Tanenbaum-7S/ Tanenbaum A.S. : S t r u c t u r e d Computer O r g a n i z a t i o n : C h a p t e r 5 . 5 : V i r t u a l Memory.- P r e n t i c e Hal l E n 1 ewood C1. 1976 , p p . 249-279. 1 /von Krogh-7 / von Krogh C . : Mikroprogrammierung d e s IBM Systems /370-125 . i n : H a s s e l m e i e r H . , S p r u t h W . G . ( e d s . ) : R e c h n e r s t r u k t u r e n , Oldenbourg Muenchen 1 9 7 4 .

List o f published reports "SYSPRO"

Nr. .4uthor(s) T i t l e

2/77 J.R.Mihlbacher Magische Quadrate und ihre Verallgemeinerung: e in graphentheoreti sches Problem *

3/78 J. R.Mubl bacher F-Factors of Graphs : a genera; i zed Matching Probl em * 4/78 G.Chroust Dokumentation zu den IOP-Lade--Programmen

A . Kreuzer

5/78 G.Chroust Rival 1 ing ?1ul tipr-ocessor Organization: J . R.Muhl bacher An approach to performance increases

Jc. 6/78 B.Losbjchler Z u r Softwareausbildun irn Informatikstudium: Proqram!nier-

methodik e iner phasen6rientierten ~oftwareentwicklung

J . R.Nuhl bacher

J.R.Muh1 bacher

F.G.Duncan 3 . R.Muhl bacher

3 . R.Muhl bacher F.X.Steinparz

3 .R.Muhl bacher G . Chroust A. Kreuzer K. Stadl e r

A case ztudy f o r programing in a paged environment: An implementation of Gustavson"~ f a s t algorithm f o r sparse matrix mu1 tip1 icat ion

u-LAB "Mi kroprczessor - Software - Labor" E i n Bei t rag zur Ausbil duog in Praktischer Infornati k

Storage s t ruc ture f o r r iva l 1 i.ng mu1 t i processor organi zation

Canonical F-Factors of Graphs

Full t ab le s c a t t e r storage para1 1 el searching A Microprogrammed Page Fault Monitor

L - i s t of pub1 ished reports "SYSPRO/TRP" Jc. 1/79 J.R.MUhlbacher Programmieren in Seitenverwalteten Systemen

A.Schu1 z "2/79 J . R.Muh1 bacher Eff i z ien tes Programruieren i n Sei tenverw. Systernen ( I )

3/79 J . R.Muh1 bacher Eine Fsll s tudie iiber Programmieren i n Sei tenverw. Systenen: Imp1 eri;eritierung des Gustavson' schen Algori ' ih- mus z u r Mu1 tip1 i kation dunnbesetzter Matri zen

f 4/79 J . R . Muhl Sacher Kanoni sche F-Faktoren auf Graphen F.X.Steinparz

5/79 J. R.Fli:hl bacher Hardwareentwickl ungen u . i h r Einfl uB auf Softwsresysteme

6/79 F.G.Duncan Personal Computing in Computer Science Education : J . R.Muh1 bacher How to sol ve the education Paradox

7/79 J.R.Muhlbacher Zukuoftsaspekte in der Datenverarbeitung

8/79 J.R.MBhlbacher Algorithmen u.Datenstrukturen fUr Rivalisierende Prozesse * 9/79 J. R.Fluhl bacher Eff iz ientes Progranimieren i n Sei tenverw. Systemen ( I I )

10/80 2 . R.Muh1 bacher Z u r Verwendung des Si emens-Microset 8080 a1 s PROM- PROGRAMi'.I I EKER

O out of p r in t

L i s t of publ i shed reports "SYSPRO"

Nr. Author(s) Ti t l e

2/77 J . R.Muh1 bacher Mag! sche Quadrate und i hre Vera1 1 gemei nerung: e in graphentheoreti sches Problem

* 3/78 j.R.Muhl bacher F-Factors of Graphs: a general ized Matching Problem

* 4/78 G . Chrous t Dokunienta t i on zu den IOP-Lade-Programmen

A. Kreuzer

5/78 G.Chroust Rival 1 ing Mu1 t i processor Organization: J.R.Mutlbactzr An approach to performance increases

+ 6/78 B.Losbich1 e r Z u r Softwareausbi 1 dung im Informati kstudium: Programmier-

methodik ei.ner phasenorientierten Softwareentwicklung

J.R.MLikl bacher

3. R.bluh1 bacher

F.G.Duncan 3 . R.Muh1 bacher

J .R.Muhl bacher FOX .Steinparz

J.R.Mihl bacher G . Chroust A. Kreuzer K.Stad1 e r

A case study f o r programing in a paged envil-onment: An imp1 ementation of Gustavson's f a s t a1 gori t h m f o r sparse matrix mu1 t i p l icat ion

p-LAB "Eli Rropmzessor - Software - Labor" Ein Bei t rag zu r Ausbildung in Praktischer Incornati k

Storage s t ruc ture f o r r iva l 1 i ng nu1 t i processor organi zation

Cancnical F-Factors o f Graphs

Full t'aljl e s c a t t e r storage para1 1 el searching

A Microprogrammed Page Faul t Monitor

A Microprogrammed CSECT Monitor . . . . ...

- - - - Lis t of publ i s hed reports "SYSPRO/TRPH

..- -X- 1/79 J.R.Muhlbacher Programmieren i n Seitenverwalteten Systemen

A.Schul z * 2/79 J . R.I.lul11 bacher Eff iz ien tes Programrnieren in Sei tenverw. Systenlen ( I )

3/79 J.R.Muhlbacher Eine Fallstud-ie Dber Programmieren in Seitenverw. Sys-temen: Imp1 ernentierung des Gus tavson ' schen A1 gori t h - . mus zur Mu7 t i p l i kation dunnbesetzter Katrizen

"4/79 J .R.Muhl bacher Kanoni sche F-Faktoren auf Graphen F.X.Steinparz

5/79 J . R.Munl bacher Hardwareentwickl ungen u . i hr Einfl uB au f Softwaresyste~e

6/79 FoG.Duncan Personal Computing in Computer Science Educaticn: 3. R.r+luhl bacher How to solve the education Paradox

7/79 J.R.Muhlbacher Zukunftsaspekte in der Datenverarbeitung

8/79 J.R.Muhlbacher Algorithmen u.Datcnstrukturen f u r Rivalisierende Frozesse

*9/79 3 . R.Muh1 bacher E f f i z ien tes Progran~mieren in Sei tenverw. Systemen ( I I )

10/Sr) J . R.14uhl bacher ZUY- Yerwendung des Siemens-Elicroset'8080 a1 s PROM- PROGRA:i;4 I EXER

x- o u t of p r in t