architectures - research school of computer science | · 2017-10-26 · architectures © 2017 uwe...

24
643 Architectures © 2017 Uwe R. Zimmer, The Australian National University page 643 of 746 (chapter 9: “Architectures” up to page 734) In this chapter Hardware architectures: From simple logic to multi-core CPUs Concurrency on different levels Software architectures: Languages of Concurrency Operating systems and libraries 641 9 Architectures Uwe R. Zimmer - The Australian National University Concurrent & Distributed Systems 2017 644 Architectures © 2017 Uwe R. Zimmer, The Australian National University page 644 of 746 (chapter 9: “Architectures” up to page 734) Layers of abstraction Abstraction Layer Form of concurrency Application level (user interface, specific functionality...) Distributed systems, servers, web services, “multitasking” (popular understanding) Language level (data types, tasks, classes, API, ...) Process libraries, tasks/threads (language), syn- chronisation, message passing, intrinsic, ... Operating system (HAL, processes, virtual memory) OS processes/threads, signals, events, multitasking, SMP, virtual parallel machines,... CPU / instruction level (assembly instructions) Logically sequential: pipelines, out-of-order, etc. logically concurrent: multicores, interrupts, etc. Device / register level (arithmetic units, registers,...) Parallel adders, SIMD, multiple execution units, caches, prefetch, branch prediction, etc. Logic gates (‘and’, ‘or’, ‘not’, flip-flop, etc.) Inherently massively parallel, synchronised by clock; or: asynchronous logic Digital circuitry (gates, buses, clocks, etc.) Multiple clocks, peripheral hardware, memory, ... Analog circuitry (transistors, capacitors, ...) Continuous time and inherently concurrent 642 Architectures © 2017 Uwe R. Zimmer, The Australian National University page 642 of 746 (chapter 9: “Architectures” up to page 734) References [Bacon98] J. Bacon Concurrent Systems 1998 (2nd Edition) Addison Wesley Longman Ltd, ISBN 0-201-17767-6 [Stallings2001] Stallings, William Operating Systems Prentice Hall, 2001 [Intel2010] Intel® 64 and IA-32 Architectures Optimization Reference Manual http://www.intel.com/products/processor/manuals/

Upload: vunga

Post on 26-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

643

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

643

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

In t

his

chap

ter

Har

dw

are

arch

itec

ture

s:

Fro

m s

imp

le lo

gic

to m

ult

i-co

re C

PUs

Co

ncu

rren

cy o

n d

iffe

ren

t lev

els

Soft

war

e ar

chit

ectu

res:

Lan

guag

es o

f Co

ncu

rren

cy

Op

erat

ing

syst

ems

and

lib

rari

es

641

9A

rchi

tect

ures

Uw

e R

. Zim

mer

- T

he A

ustr

alia

n N

atio

nal U

nive

rsity

Co

ncu

rren

t & D

istr

ibu

ted

Sys

tem

s 20

17

644

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

644

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Laye

rs o

f abs

trac

tion

Abs

trac

tion

Lay

erFo

rm o

f con

curr

ency

App

licat

ion

leve

l (u

ser

inte

rfac

e, s

pec

ifi c

fun

ctio

nal

ity.

..)

Dis

trib

ute

d s

yste

ms,

ser

vers

, web

ser

vice

s,

“mu

ltit

aski

ng”

(po

pu

lar

un

der

stan

din

g)

Lang

uage

leve

l (d

ata

typ

es, t

asks

, cla

sses

, API

, ...)

Pro

cess

lib

rari

es, t

asks

/th

read

s (l

angu

age)

, syn

-ch

ron

isat

ion

, mes

sage

pas

sin

g, in

trin

sic,

...

Ope

rati

ng s

yste

m

(HA

L, p

roce

sses

, vir

tual

mem

ory

)

OS

pro

cess

es/t

hre

ads,

sig

nal

s, e

ven

ts,

mu

ltit

aski

ng,

SM

P, v

irtu

al p

aral

lel m

ach

ines

,...

CPU

/ in

stru

ctio

n le

vel

(ass

emb

ly in

stru

ctio

ns)

Logi

cally

seq

uen

tial

: pip

elin

es, o

ut-

of-

ord

er, e

tc.

logi

cally

co

ncu

rren

t: m

ult

ico

res,

inte

rru

pts

, etc

.

Dev

ice

/ re

gist

er le

vel

(ari

thm

etic

un

its,

reg

iste

rs,..

.)

Para

llel a

dd

ers,

SIM

D, m

ult

iple

exe

cuti

on

un

its,

ca

ches

, pre

fetc

h, b

ran

ch p

red

icti

on

, etc

.

Logi

c ga

tes

(‘an

d’,

‘or’,

‘no

t’, fl

ip-fl

op

, etc

.)

Inh

eren

tly

mas

sive

ly p

aral

lel,

syn

chro

nis

ed b

y cl

ock

; or:

asy

nch

ron

ou

s lo

gic

Dig

ital

cir

cuit

ry

(gat

es, b

use

s, c

lock

s, e

tc.)

Mu

ltip

le c

lock

s, p

erip

her

al h

ard

war

e, m

emo

ry, .

..

Ana

log

circ

uitr

y (tra

nsi

sto

rs, c

apac

ito

rs, .

..)C

on

tin

uo

us

tim

e an

d in

her

entl

y co

ncu

rren

t

642

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

642

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Ref

eren

ces

[Bac

on9

8]J.

Bac

on

Co

ncu

rren

t Sys

tem

s19

98 (2

nd

Ed

itio

n) A

dd

iso

n W

esle

y Lo

ngm

an L

td, I

SBN

0-2

01-1

7767

-6

[ Sta

lling

s200

1 ] St

allin

gs, W

illia

m

Op

erat

ing

Syst

ems

Pren

tice

Hal

l, 20

01

[Int

el20

10]

Inte

l® 6

4 an

d IA

-32

Arc

hit

ectu

res

Op

tim

izat

ion

Ref

eren

ce M

anu

alh

ttp

://w

ww

.inte

l.co

m/p

rod

uct

s/p

roce

sso

r/m

anu

als/

Page 2: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

647

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

647

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Logi

c -

the

basi

c bu

ildin

g bl

ocks

for

digi

tal c

ompu

ters

Co

nst

ruct

ing

logi

c ga

tes

– fo

r in

stan

ce N

AN

D in

CM

OS:

… a

nd

su

bse

qu

entl

y al

l oth

er lo

gic

gate

s:

NA

ND

NA

ND

NA

ND

AQ

NA

ND

NA

ND

NA

ND

Q

Q

A B A B

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

A B

Q

NOT

AQ

OR

QA B

QA B

AND

XOR

A BQ

NA

ND

A BQ

A B

Q

PMO

S

NM

OS

AB

&Q

00

&1

01

&1

10

&1

11

&0

645

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

645

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Co

ntro

llab

le S

wit

ches

& R

atio

sas

tra

nsis

tors

, rel

ays,

vac

uum

tub

es, v

alve

s, e

tc.

Logi

c -

the

basi

c bu

ildin

g bl

ocks

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Dif

fere

nce

En

gin

e

Ch

arle

s B

abb

age

1822

Firs

t tra

nsi

sto

r

Joh

n B

ard

een

an

d W

alte

r B

ratt

ain

194

7

Stra

nd

bee

st

Theo

Jan

sen

199

0A

nti

kyth

era

Mec

han

ism

Gre

ek 1

50-1

00 B

C-

Cre

dit:

Wik

iped

ia

648

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

648

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Logi

c -

the

basi

c bu

ildin

g bl

ocks

Hal

f ad

der

: Fu

ll ad

der

:

Rip

ple

car

ry a

dd

er:

AXOR

AND

B

S C

Ai

XOR

AND

Bi

XOR

AND

OR

S i

Ci-

1C

i

A0

XOR

AND

B0

S 0

XOR

AND

XOR

AND

OR

S 1

A1

B1

XOR

AND

XOR

AND

OR

A2

B2

S 2

C

646

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

646

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Logi

c -

the

basi

c bu

ildin

g bl

ocks

for

digi

tal c

ompu

ters

Co

nst

ruct

ing

logi

c ga

tes

– fo

r in

stan

ce N

AN

D in

CM

OS:

NA

ND

A BQ

A B

Q

PMO

S

NM

OS

AB

&Q

00

&1

01

&1

10

&1

11

&0

Page 3: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

651

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

651

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures A

sim

ple

CPU

• D

ecod

er/S

eque

ncer

Can

be

a m

ach

ine

in it

self

wh

ich

bre

aks

CPU

in

stru

ctio

ns

into

co

ncu

rren

t mic

ro c

od

e.

• Ex

ecut

ion

Uni

t / A

rith

met

ic-L

ogi

c-U

nit

(ALU

)A

co

llect

ion

of t

ran

sfo

rmat

ion

al lo

gic.

• M

emor

y

• R

egis

ters

Inst

ruct

ion

po

inte

r, st

ack

po

inte

r,ge

ner

al p

urp

ose

an

d s

pec

ializ

ed r

egis

ters

• Fl

ags

Ind

icat

ing

the

stat

es o

f th

e la

test

cal

cula

tio

ns.

• C

ode/

Dat

a m

anag

emen

tFe

tch

ing,

Cac

hin

g, S

tori

ng

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

649

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

649

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Logi

c -

the

basi

c bu

ildin

g bl

ocks

Bas

ic F

lip-F

lop

sQ Q

DQ Q

NA

ND

Q

NA

ND

Q

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

DC

Q Q

C

S R

S R

NA

ND

NA

ND

Q Q

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

NA

ND

NOT

S R

J K C

J K

Q Q

S R

S R

652

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

652

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures

Inte

rrup

ts

• O

ne

or

mu

ltip

le li

nes

wir

ed

dir

ectl

y in

to th

e se

qu

ence

r

Req

uir

ed fo

r: Pr

e-em

ptiv

e sc

hedu

ling,

Tim

er d

rive

n ac

tion

s,

Tran

sien

t ha

rdw

are

inte

ract

ions

, …

Usu

ally

pre

ced

ed b

y an

ext

ern

al lo

gic

(“in

terr

up

t co

ntr

olle

r”) w

hic

h a

ccu

mu

-la

tes

and

en

cod

es a

ll ex

tern

al r

equ

ests

.

On

inte

rru

pt (

if u

nm

aske

d):

• C

PU s

top

s n

orm

al s

equ

ence

r fl

ow

.

• Lo

oku

p o

f in

terr

up

t han

dle

r’s a

dd

ress

• C

urr

ent I

P an

d s

tate

pu

shed

on

to s

tack

.

• IP

set

to in

terr

up

t han

dle

r.

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

Int.

650

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

650

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Logi

c -

the

basi

c bu

ildin

g bl

ocks

Q Q

DQ Q≡

S R

J K

Q Q

S R

≡S R

J K

Q Q

S R

D CT

Q Q≡

J K

Q Q

S R

T C

TQ Q≡

DQ Q

XOR

T C

JQ Q≡

DQ Q

CK

AND

OR

AND

J K

S R

S R

TS R

TS R

TS R

TS R

TS R

TS R

TS R

TS R

1

C

S 0S 1

S 2S 3

S 4S 5

S 6S 7

R

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

11

11

11

1

JK- a

nd

D- F

lip-F

lop

s as

un

iver

sal F

lip-F

lop

s

Co

un

tin

g re

gist

er:

Page 4: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

655

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

655

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

s

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Regi

ster

s

Loca

l va

riab

les

653

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

653

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PC

SP

656

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

656

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Regi

ster

s

Loca

l va

riab

les

654

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

654

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

SP

…Pr

ogra

m

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Page 5: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

659

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

659

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Remo

ve l

ocal

var

iabl

esPo

p re

gist

ers

Retu

rn f

rom

inte

rrup

t

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PC

657

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

657

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Remo

ve l

ocal

var

iabl

es

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Reg

iste

rs

660

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

660

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PC

SP

658

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

658

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Remo

ve l

ocal

var

iabl

esPo

p re

gist

ers

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Page 6: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

663

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

663

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Clea

r in

terr

upt

flag

(Adj

ust

prio

riti

es)

(Re-

enab

le i

nter

rupt

)Pu

sh o

ther

reg

iste

rsDe

clar

e lo

cal

vari

able

s

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Regi

ster

s

Loca

l va

riab

les

Scra

tch

regi

ster

s

661

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

661

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

…Pr

ogra

m

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Scra

tch

regi

ster

s

SP

LR is

load

ed w

ith

a s

pec

ial v

alu

e

664

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

664

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

Regi

ster

s

Loca

l va

riab

les

Scra

tch

regi

ster

s

Clea

r in

terr

upt

flag

(Adj

ust

prio

riti

es)

(Re-

enab

le i

nter

rupt

) Pu

sh o

ther

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

PC

662

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

662

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Clea

r in

terr

upt

flag

(Adj

ust

prio

riti

es)

(Re-

enab

le i

nter

rupt

)

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PC

Scra

tch

regi

ster

s

FP

Page 7: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

667

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

667

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Clea

r in

terr

upt

flag

(Adj

ust

prio

riti

es)

(Re-

enab

le i

nter

rupt

) Pu

sh o

ther

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Remo

ve l

ocal

var

iabl

esPo

p ot

her

regi

ster

sRe

turn

("b

x lr

")

PC

SP FP

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

665

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

665

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

Scra

tch

regi

ster

s

Clea

r in

terr

upt

flag

(Adj

ust

prio

riti

es)

(Re-

enab

le i

nter

rupt

) Pu

sh o

ther

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Remo

ve l

ocal

var

iabl

esPo

p ot

her

regi

ster

sPC

668

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

668

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t ha

ndle

r

Thin

gs t

o c

ons

ider

Inte

rru

pt h

and

ler

cod

e ca

n b

e in

terr

up

ted

as

wel

l.

Are

yo

u a

llow

ing

to in

terr

up

t an

inte

rru

pt h

and

ler

wit

h a

n

inte

rru

pt o

n th

e sa

me

pri

ori

ty le

vel (

e.g.

the

sam

e in

terr

up

t)?

Can

yo

u o

verr

un

a s

tack

wit

h in

terr

up

t han

dle

rs?

666

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

666

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Inte

rrup

t pr

oces

sing

Stac

k

Cod

e

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Prog

ram

Inte

rrup

t han

dler

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

Scra

tch

regi

ster

s

Clea

r in

terr

upt

flag

(Adj

ust

prio

riti

es)

(Re-

enab

le i

nter

rupt

) Pu

sh o

ther

reg

iste

rsDe

clar

e lo

cal

vari

able

sRu

n ha

ndle

r co

de

..

do s

ome

I/O

..

.

. or

run

som

e ti

me

crit

ical

cod

e ..

Remo

ve l

ocal

var

iabl

esPo

p ot

her

regi

ster

sRe

turn

("b

x lr

")PC

Page 8: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

671

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

671

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

SP

…Pr

oces

s 1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

SP

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

PCB

……

PCFlags

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

PC

669

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

669

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Mul

tipl

e pr

ogra

ms

If w

e ca

n e

xecu

te in

terr

up

t han

dle

r co

de

“co

ncu

rren

tly”

to o

ur “

mai

n”

pro

gram

:

Can

we

then

als

o h

ave

mu

ltip

le “

mai

n”

pro

gram

s?

672

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

672

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

s

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

SP

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

PCB

……

PCFl

ags

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

670

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

670

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PC

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

SP

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

PID

PCB

……

SP

Page 9: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

675

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

675

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sSt

ore

SP t

o PC

B 1

Sche

dule

rLo

ad S

P fr

om P

CB 2

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

SP

PCB

……

PCFlags

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

SP

673

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

673

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sSt

ore

SP t

o PC

B 1

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

SP

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

SP

PCB

……

PCFlags

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

676

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

676

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sSt

ore

SP t

o PC

B 1

Sche

dule

rLo

ad S

P fr

om P

CB 2

Remo

ve l

ocal

var

iabl

es

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

SP

PCB

……

PCFl

ags

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

sSP

Reg

iste

rs

674

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

674

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

SP

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sSt

ore

SP t

o PC

B 1

Sche

dule

r

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

PID

SP

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

SP

PCB

……

PCFl

ags

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

Page 10: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

679

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

679

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures

Pip

elin

eSo

me

CPU

act

ion

s ar

e n

atu

rally

seq

uen

tial

(e

.g. i

nst

ruct

ion

s n

eed

to b

e fi

rst l

oad

ed, t

hen

d

eco

ded

bef

ore

they

can

be

exec

ute

d).

Mo

re fi

ne

grai

ned

seq

uen

ces

can

b

e in

tro

du

ced

by

bre

akin

g C

PU

inst

ruct

ion

s in

to m

icro

co

de.

Ove

rlap

pin

g th

ose

seq

uen

ces

in ti

me

will

lead

to th

e co

nce

pt o

f pip

elin

es.

Sam

e la

ten

cy, y

et h

igh

er th

rou

ghp

ut.

(Co

nd

itio

nal

) bra

nch

es

mig

ht b

reak

the

pip

elin

es

☞ B

ran

ch p

red

icto

rs b

eco

me

esse

nti

al.

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

enntntttt

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Dat

a m

anag

emen

tD

ata

man

agem

ent

SeInt.

677

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

677

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sSt

ore

SP t

o PC

B 1

Sche

dule

rLo

ad S

P fr

om P

CB 2

Remo

ve l

ocal

var

iabl

esPo

p re

gist

ers

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

PID

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

SP

PCB

……

PCFlags

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

SP

680

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

680

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures

Para

llel p

ipel

ines

Filli

ng

par

alle

l pip

elin

es

(by

alte

rnat

ing

inco

min

g co

mm

and

s b

etw

een

p

ipel

ines

) may

em

plo

y m

ult

iple

ALU

’s.

(Co

nd

itio

nal

) bra

nch

es m

igh

t ag

ain

bre

ak th

e p

ipel

ines

.

Inte

rdep

end

enci

es m

igh

t lim

it

the

deg

ree

of c

on

curr

ency

.

Sam

e la

ten

cy, y

et e

ven

hig

her

thro

ugh

pu

t.

Co

mp

ilers

nee

d to

be

awar

e o

f th

e o

pti

on

s.

ALU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Dat

a m

anag

emen

tD

ata

man

agem

ent

Fla

AALU

ALU

ALU

erertt A

LU

ALU

Dat

a m

anag

emen

tD

ata

man

agem

ent

SeInt.

678

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

678

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Con

text

sw

itch

Cod

eSt

ack

Stac

kC

ode

kd

Cd

k

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

Bas

e

Push

reg

iste

rsDe

clar

e lo

cal

vari

able

sSt

ore

SP t

o PC

B 1

Sche

dule

rLo

ad S

P fr

om P

CB 2

Remo

ve l

ocal

var

iabl

esPo

p re

gist

ers

Retu

rn f

rom

inte

rrup

t

Proc

ess

1

Dis

patc

her

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

Ret

urn

addr

ess

Con

text

Para

met

ers

Glo

bal v

aria

bles

Loca

l var

iabl

es

Ret

urn

addr

ess

Con

text

Para

met

ers

Loca

l var

iabl

es

FP Bas

e

PID

PCB

Proc

ess

2 ……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

……

PCFl

ags

PID

SP

PCB

……

PC

Reg

iste

rs

Co

nte

xt-

swit

ch-

vari

able

s

SP

Page 11: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

683

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

683

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures

Hyp

er-t

hrea

ding

Emu

late

s m

ult

iple

vir

tual

CPU

co

res

by

mea

ns

of r

eplic

atio

n o

f:

• R

egis

ter

sets

• Se

qu

ence

r

• Fl

ags

• In

terr

up

t lo

gic

wh

ile k

eep

ing

the

“exp

ensi

ve”

reso

urc

es

like

the

ALU

cen

tral

yet

acc

essi

ble

by

mu

ltip

le h

yper

-th

read

s co

ncu

rren

tly.

Req

uire

s pr

ogra

mm

ing

lang

uage

s w

ith

impl

icit

or

expl

icit

con

curr

ency

.

Exam

ple

s: In

tel P

enti

um

4, C

ore

i5/i7

, Xeo

n,

Ato

m, S

un

Ult

raSP

AR

C T

2 (8

thre

ads

per

co

re)

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

gist

ers

RReg

isRR

egi

SPSSPSPPPPPP

Cod

IIIIIIIIIIIIIPIIPPPPPPPPPPP

Dat

a

SSSPPP

gsglFlalFFFFlFlFFllllllggsg

FlllFFlaagg

sgsgsgsgggggsgsgggFlFl

aFl

aFFFF

aaggggFl

alagg

Sequ

ence

rD

ecod

er

Flag

sFl

ags

Reg

iste

rs

IP SPReg

iste

rs

IP SP

Sequ

ence

rD

ecod

erInt.

681

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

681

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures

Out

of o

rder

exe

cuti

onB

reak

ing

the

seq

uen

ce in

sid

e ea

ch p

ipe-

line

lead

s to

‘ou

t of o

rder

’ CPU

des

ign

s.

Rep

lace

pip

elin

es w

ith

har

dw

are

sch

edu

ler.

Res

ult

s n

eed

to b

e “r

e-se

qu

enti

aliz

ed”

or

po

ssib

ly d

isca

rded

.

“Co

nd

itio

nal

bra

nch

pre

dic

tio

n”

exec

ute

s th

e m

ost

like

ly b

ran

ch o

r m

ult

iple

bra

nch

es.

Wo

rks

bet

ter

if th

e p

rese

nte

d c

od

e se

qu

ence

has

mo

re in

dep

end

ent

inst

ruct

ion

s an

d fe

wer

co

nd

itio

nal

bra

nch

es.

This

har

dw

are

will

req

uir

e (e

xten

sive

) co

de

op

tim

izat

ion

to b

e fu

lly u

tiliz

ed.

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

Fla

AAALU

ALUee

A

LU

ALU

Dat

a m

anag

emen

tD

ata

man

agem

entee

Cod

e m

anag

emen

t

Sequ

ence

rD

ecod

er

Dat

a m

anag

emen

tD

ata

man

agem

ent

SeInt.

684

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

684

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures

Mul

ti-c

ore

CPU

sFu

ll re

plic

atio

n o

f mu

ltip

le C

PU c

ore

s o

n th

e sa

me

chip

pac

kage

.

• O

ften

co

mb

ined

wit

h h

yper

-th

read

-in

g an

d/o

r m

ult

iple

oth

er m

ean

s (a

s in

tro

du

ced

ab

ove

) on

eac

h c

ore

.

• C

lean

est a

nd

mo

st e

xplic

it im

ple

men

tati

on

o

f co

ncu

rren

cy o

n th

e C

PU le

vel.

Req

uire

s sy

nchr

oniz

ed a

tom

ic o

pera

tion

s.

Req

uire

s pr

ogra

mm

ing

lang

uage

s w

ith

impl

icit

or

expl

icit

con

curr

ency

.

His

tori

cally

the

intr

od

uct

ion

of m

ult

i-co

re

CPU

s en

ded

the

“GH

z ra

ce”

in th

e ea

rly

2000

’s.

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rsFl

ags

Dat

a m

anag

emen

t

gist

ers

Dat

a

gssgFFFFFl

aFlFlFFl

allllllaaggsg

FlFlaagg

sgsgsgsgggggsgsggFlFl

aFl

aFl

aFFF

aaagggggFl

alaagggg

Sequ

ence

rD

ecod

er

Flag

sFl

ags

Reg

iste

rs

IP SPReg

iste

rs

IP SP

Sequ

ence

rD

ecod

erInt.

682

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

682

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures SIM

D A

LU u

nits

Pro

vid

es th

e fa

cilit

y to

ap

ply

the

sam

e in

-st

ruct

ion

to m

ult

iple

dat

a co

ncu

rren

tly.

Als

o r

efer

red

to a

s “v

ecto

r u

nit

s”.

Exam

ple

s: A

ltiv

ec, M

MX

, SSE

[2|3

|4],

Req

uire

s sp

ecia

lized

com

pile

rs

or p

rogr

amm

ing

lang

uage

s w

ith

impl

icit

con

curr

ency

.

GPU

pro

cess

ing

Gra

ph

ics

pro

cess

or

as a

vec

tor

un

it.

Un

ifyi

ng

arch

itec

ture

lan

guag

es a

re

use

d (O

pen

CL,

CU

DA

, GPG

PU).

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

tegee

LUA

LAA

LUA

LLUA

LAAAA

UUUUUAAAAAAAAA

eeemmmmmmmen

ttm

enttt

mmenen

tttttttttttttttttttt

A

LU

ALU

A

LU

ALU

Int.

Page 12: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

687

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

687

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Alt

erna

tive

Pro

cess

or A

rchi

tect

ures

: Par

alla

x Pr

opel

ler

(200

6)

Low

co

st 3

2 b

it p

roce

sso

r ($

8)

8 co

res

wit

h 2

kB

loca

l mem

ory

40 k

B s

har

ed m

emo

ry

No

inte

rru

pts

!8

sem

aph

ore

s

685

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

685

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Proc

esso

r A

rchi

tect

ures Vir

tual

mem

ory

Tran

slat

es lo

gica

l mem

ory

ad

dre

sses

in

to p

hys

ical

mem

ory

ad

dre

sses

an

d p

rovi

des

mem

ory

pro

tect

ion

feat

ure

s.

• D

oes

no

t in

tro

du

ce c

on

curr

ency

by

itse

lf.

Is s

till

esse

nti

al fo

r co

ncu

rren

t pro

gram

min

g as

har

dw

are

mem

ory

pro

tect

ion

gu

aran

tees

mem

ory

inte

grit

y fo

r in

div

idu

al p

roce

sses

/ th

read

s.

A

LU

Memory

Sequ

ence

rD

ecod

er

Cod

e m

anag

emen

t

Reg

iste

rs

IP SP

Flag

s

Dat

a m

anag

emen

t

Physical memory

Virtual memory

Int.

688

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

688

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Alt

erna

tive

Pro

cess

or A

rchi

tect

ures

: IB

M C

ell p

roce

ssor

(20

01)

theo

reti

cal 2

5.6

GFL

OPS

at 3

.2 G

Hz

8 co

res

for

spec

ializ

ed h

igh

-b

and

wid

th fl

oat

ing

po

int

op

erat

ion

s an

d 1

28 b

it r

egis

ters

Mu

ltip

le in

terc

on

nec

t to

po

logi

es

64 b

it

Pow

erPC

co

re

Cac

he

686

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

686

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Alt

erna

tive

Pro

cess

or A

rchi

tect

ures

: Par

alla

x Pr

opel

ler

Page 13: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

691

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

691

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Vect

or M

achi

nes

Vect

ori

zati

on

av

ax y z

ax

ay

az

$$

$ $ $

==

ff

pp

cons

t In

dex

= {1

..

1000

0000

0},

Ve

ctor

_1 :

[In

dex]

rea

l =

1.0,

Sc

ale

:

rea

l =

5.1,

Sc

aled

:

[Ve

ctor

] re

al =

Sca

le *

Vec

tor_

1;

Tran

slat

es in

to C

PU-l

evel

vec

tor

oper

atio

ns

as w

ell a

s m

ulti

-cor

e o

r fu

lly d

istr

ibut

ed o

pera

tion

s

Fun

ctio

n is

“p

rom

oted

Vect

o

689

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

689

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Mul

ti-C

PU s

yste

ms

Scal

ing

up:

• M

ult

i-C

PU o

n th

e sa

me

mem

ory

mu

ltip

le C

PUs

on

sam

e m

oth

erb

oar

d a

nd

mem

ory

bu

s, e

.g. s

erve

rs, w

ork

stat

ion

s

• M

ult

i-C

PU w

ith

hig

h-s

pee

d in

terc

on

nec

tsva

rio

us

sup

erco

mp

ute

r ar

chit

ectu

res,

e.g

. Cra

y X

E6:

• 12

-co

re A

MD

Op

tero

n, u

p to

192

per

cab

inet

(230

4 co

res)

• 3D

toru

s in

terc

on

nec

t (1

60 G

B/s

ec c

apac

ity,

48

po

rts

per

no

de)

• C

lust

er c

om

pu

ter

(Mu

lti-

CPU

ove

r n

etw

ork

)m

ult

iple

co

mp

ute

rs c

on

nec

ted

by

net

wo

rk in

terf

ace,

e.g.

Su

n C

on

stel

lati

on

Clu

ster

at A

NU

:

• 14

92 n

od

es, e

ach

: 2x

Qu

ad c

ore

Inte

l Neh

alem

, 24

GB

RA

M

• Q

DR

Infi

nib

and

net

wo

rk, 2

.6 G

B/s

ec

692

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

692

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Vect

or M

achi

nes

Red

ucti

on

vv

x y z

x y zx

xy

yz

z1

2

1 1 1

2 2 2

12

12

12

&&

//

==

==

=f

f^

^^

pp

hh

h

type

Rea

l is

dig

its

15;

type

Vec

tors

is

arra

y (P

osit

ive

rang

e <>

) of

Rea

l;

func

tion

”=”

(Ve

ctor

_1,

Vect

or_2

: V

ecto

rs)

retu

rn B

oole

an i

s

(fo

r al

l i

in V

ecto

r_1’

Rang

e =>

Vec

tor_

1 (i

) =

Vect

or_2

(i)

);

Tran

slat

es in

to

CPU

-lev

el v

ecto

r op

erat

ions

page

692

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

/-c

hai

n is

eva

luat

ed la

zy s

equ

enti

ally

.

690

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

690

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Vect

or M

achi

nes

Vect

ori

zati

on

av

ax y z

ax

ay

az

$$

$ $ $

==

ff

pp

typ

e Re

al

is

dig

its

15;

typ

e Ve

ctor

s is

arr

ay (

Posi

tive

ran

ge <

>) o

f Re

al;

fun

ctio

n Sc

ale

(Sca

lar

: Re

al;

Vect

or :

Vec

tors

) re

turn

Vec

tors

is

Sc

aled

_Vec

tor

: Ve

ctor

s (V

ecto

r’Ra

nge)

;

b

egin

fo

r i

in V

ecto

r’Ra

nge

loop

Sca

led_

Vect

or (

i) :

= Sc

alar

* V

ecto

r (i

);

end

loop

;

retu

rn S

cale

d_Ve

ctor

;

end

Sca

le;

Tran

slat

es in

to

CPU

-lev

el v

ecto

r op

erat

ions

690

f746

(h

t9

“Ahi

tt

”t

734)

Co

mb

ined

wit

h

in-l

inin

g, lo

op u

nrol

ling

and

cac

hing

this

is a

s fa

st a

s a

sin

gle

CPU

will

get

.

Bu

zzw

ord

co

llect

ion

: A

ltiV

ec, S

PE, M

MX

, SSE

, N

EON

, SPU

, AV

X, …

Page 14: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

695

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

695

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Vect

or M

achi

nes

Gen

eral

Dat

a-p

aral

lelis

m

Cel

lula

r au

tom

ato

n tr

ansi

tio

ns

fro

m a

sta

te S

into

the

nex

t sta

te Sl :

:,

SS

cS

cc

rS

c"

+"

6!

=l

l^

h, i.e

. all

cells

of a

sta

te

tran

siti

on

co

ncu

rren

tly

into

new

cel

ls b

y fo

llow

ing

a ru

le r.

Next

_Sta

te =

for

all

Worl

d_In

dice

s in

Wor

ld d

o Ru

le (

Stat

e, W

orld

_Ind

ices

);

Joh

n C

on

way

’s G

ame

of L

ife r

ule

:

proc

Rul

e (S

, (i

, j)

: i

ndex

(Wo

rld)

) :

Cell

{

co

nst

Popu

lati

on :

ind

ex (

{0 .

. 9}

) =

+ r

educ

e Co

unt

(Cel

l.Al

ive,

S [

i -

1 ..

i +

1,

j -

1 ..

j +

1])

;

re

turn

(if

Pop

ulat

ion

== 3

||

(Pop

ulat

ion

== 4

&&

S [i

, j]

==

Cell

.Ali

ve)

then

Cel

l.Al

ive

else

Cel

l.De

ad);

}

"

693

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

693

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Vect

or M

achi

nes

Red

ucti

on

vv

x y z

x y zx

xy

yz

z1

2

1 1 1

2 2 2

12

12

12

&&

//

==

==

=f

f^

^^

pp

hh

h

cons

t In

dex

= {1

..

1000

0000

0},

Ve

ctor

_1,

Vect

or_2

: [

Inde

x] r

eal

= 1.

0;

proc

Equ

al (

v1,

v2)

: bo

ol

{

retu

rn &

& re

duce

(v1

==

v2);

}

page

693

of74

6(c

hapt

er9:

“Arc

hite

ctur

es”

upto

page

734)

Tran

slat

es in

to C

PU-l

evel

vec

tor

oper

atio

ns

as w

ell a

s m

ulti

-cor

e o

r fu

lly d

istr

ibut

ed o

pera

tion

s

/-o

per

atio

ns

are

eval

uat

ed in

a c

oncu

rren

t di

vide

-and

-con

quer

(b

inar

y tr

ee) s

tru

ctu

re.

Fun

ctio

n is

“p

rom

oted

696

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

696

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Ope

rati

ng S

yste

ms

Wh

at is

an

op

erat

ing

syst

em?

694

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

694

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Vect

or M

achi

nes

Gen

eral

Dat

a-p

aral

lelis

m

px

11 5 1

1"

$ :

: :

6-

- -

-

R TS S S S

V XW W W W

cons

t Ma

sk :

[1

.. 3

, 1

.. 3

] re

al =

((0

, -1

, 0)

, (-

1, 5

, -1

), (

0, -

1, 0

));

proc

Uns

harp

_Mas

k (P

, (i

, j)

: i

ndex

(Im

age)

) :

real

{re

turn

+ r

educ

e (M

ask

* P

[i -

1 .

. i

+ 1,

j -

1 .

. j

+ 1]

);}

cons

t Sh

arpe

ned_

Pict

ure

= fo

rall

px

in I

mage

do

Unsh

arp_

Mask

(Pi

ctur

e, p

x);

px

11 5 1

1"

$ :

: :

6-

- -

-

R TSRR SSS SS TTSS TTTTSSSS

V XWVV WWW WW XXWW XXXXWWWW

Tran

slat

es in

to C

PU-l

evel

vec

tor

oper

atio

ns

as w

ell a

s m

ulti

-cor

e o

r fu

lly d

istr

ibut

ed o

pera

tion

s

Page 15: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

699

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

699

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

2. A

reso

urc

e m

anag

er!

... c

oo

rdin

atin

g ac

cess

to h

ard

war

e re

sou

rces

697

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

697

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

1. A

vir

tual

mac

hin

e!

... o

ffer

ing

a m

ore

co

mfo

rtab

le a

nd

saf

er e

nvi

ron

men

t

(e.g

. mem

ory

pro

tect

ion

, har

dw

are

abst

ract

ion

, mu

ltit

aski

ng,

...)

700

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

700

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

2. A

reso

urc

e m

anag

er!

... c

oo

rdin

atin

g ac

cess

to h

ard

war

e re

sou

rces

Op

erat

ing

syst

ems

dea

l wit

h

• p

roce

sso

rs

• m

emo

ry

• m

ass

sto

rage

• co

mm

un

icat

ion

ch

ann

els

• d

evic

es (t

imer

s, s

pec

ial p

urp

ose

pro

cess

ors

, per

iph

eral

har

dw

are,

...

and

task

s/p

roce

sses

/pro

gram

s w

hic

h a

re a

pp

lyin

g fo

r ac

cess

to th

ese

reso

urc

es!

698

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

698

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

1. A

vir

tual

mac

hin

e!

... o

ffer

ing

a m

ore

co

mfo

rtab

le a

nd

saf

er e

nvi

ron

men

t

Har

dw

are

OS

Task

s

Typ

. gen

eral

OS

Har

dw

are

RT-

OS

Task

s

Typ

. rea

l-ti

me

syst

em

Har

dw

are

Task

s

Typ

. em

bed

ded

sys

tem

run

-tim

een

viro

nm

ent

Page 16: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

703

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

703

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Pers

on

al c

om

pu

tin

g sy

stem

s, w

ork

stat

ion

s, a

nd

wo

rkgr

ou

p s

erve

rs:

• la

te 7

0s: W

ork

stat

ion

s st

arti

ng

by

po

rtin

g U

NIX

or

VM

S to

‘sm

alle

r’ co

mp

ute

rs.

• 80

s: P

Cs

star

tin

g w

ith

alm

ost

no

ne

of t

he

clas

sica

l OS-

feat

ure

s an

d s

ervi

ces,

b

ut w

ith

an

use

r-in

terf

ace

(Mac

OS)

an

d s

imp

le d

evic

e d

rive

rs (M

S-D

OS)

last

20

year

s: e

volv

ing

and

exp

and

ing

into

cu

rren

t gen

eral

pu

rpo

se O

Ss, l

ike

for

inst

ace:

• So

lari

s (b

ased

on

SV

R4,

BSD

, an

d S

un

OS)

• LI

NU

X (o

pen

so

urc

e U

NIX

re-

imp

lem

enta

tio

n fo

r x8

6 p

roce

sso

rs a

nd

oth

ers)

• cu

rren

t Win

do

ws

(pro

pri

etar

y, p

artl

y b

ased

on

Win

do

ws

NT,

wh

ich

is ‘r

elat

ed’ t

o V

MS)

• M

acO

S X

(Mac

h k

ern

el w

ith

BSD

Un

ix a

nd

a p

rop

riet

ary

use

r-in

terf

ace)

• M

ult

ipro

cess

ing

is s

up

po

rted

by

all t

hes

e O

Ss to

so

me

exte

nt.

• N

on

e o

f th

ese

OSs

are

su

itab

le fo

r em

bed

ded

sys

tem

s, a

lth

ou

gh tr

ials

hav

e b

een

per

form

ed.

• N

on

e o

f th

ese

OSs

are

su

itab

le fo

r d

istr

ibu

ted

or

real

-tim

e sy

stem

s.

701

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

701

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

The

evol

utio

n of

ope

rati

ng s

yste

ms

• in

the

beg

inn

ing:

sin

gle

use

r, si

ngl

e p

rogr

am, s

ingl

e ta

sk, s

eria

l pro

cess

ing

- no

OS

• 50

s: S

yste

m m

on

ito

rs /

bat

ch p

roce

ssin

g

☞th

e m

on

ito

r o

rder

ed th

e se

qu

ence

of j

ob

s an

d tr

igge

red

thei

r se

qu

enti

al e

xecu

tio

n

• 50

s-60

s: A

dva

nce

d s

yste

m m

on

ito

rs /

bat

ch p

roce

ssin

g:

the

mo

nit

or

is h

and

ling

inte

rru

pts

an

d ti

mer

s

☞ fi

rst s

up

po

rt fo

r m

emo

ry p

rote

ctio

n

fi rs

t im

ple

men

tati

on

s o

f pri

vile

ged

inst

ruct

ion

s (a

cces

sib

le b

y th

e m

on

ito

r o

nly

).

• ea

rly

60s:

Mu

ltip

rogr

amm

ing

syst

ems:

☞em

plo

y th

e lo

ng

dev

ice

I/O

del

ays

for

swit

ches

to o

ther

, ru

nab

le p

rogr

ams

• ea

rly

60s:

Mu

ltip

rogr

amm

ing,

tim

e-sh

arin

g sy

stem

s:

assi

gn ti

me-

slic

es to

eac

h p

rogr

am a

nd

sw

itch

reg

ula

rly

• ea

rly

70s:

Mu

ltit

aski

ng

syst

ems

– m

ult

iple

dev

elo

pm

ents

res

ult

ing

in U

NIX

(bes

ides

oth

ers)

• ea

rly

80s:

sin

gle

use

r, si

ngl

e ta

skin

g sy

stem

s, w

ith

em

ph

asis

on

use

r in

terf

ace

or

API

s.

MS-

DO

S, C

P/M

, Mac

OS

and

oth

ers

fi rs

t em

plo

yed

‘sm

all s

cale

’ CPU

s (p

erso

nal

co

mp

ute

rs).

• m

id-8

0s: D

istr

ibu

ted

/mu

ltip

roce

sso

r o

per

atin

g sy

stem

s - m

od

ern

UN

IX s

yste

ms

(SY

SV, B

SD)

704

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

704

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Para

llel o

per

atin

g sy

stem

s

• su

pp

ort

for

a la

rge

nu

mb

er o

f pro

cess

ors

, eit

her

:

• sy

mm

etri

cal:

each

CPU

has

a fu

ll co

py

of t

he

op

erat

ing

syst

em

or •

asym

met

rica

l: o

nly

on

e C

PU c

arri

es th

e fu

ll o

per

atin

g sy

stem

, th

e o

ther

s ar

e o

per

ated

by

smal

l op

erat

ing

syst

em s

tub

s to

tran

sfer

co

de

or

task

s.

702

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

702

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

The

evol

utio

n of

com

mun

icat

ion

syst

ems

• 19

01: fi

rst

wir

eles

s d

ata

tran

smis

sio

n (M

ors

e-co

de

fro

m s

hip

s to

sh

ore

)

• ‘5

6: fi

rst t

ran

smis

sio

n o

f dat

a th

rou

gh p

ho

ne-

lines

• ‘6

2: fi

rst t

ran

smis

sio

n o

f dat

a vi

a sa

telli

tes

(Tel

star

)

• ‘6

9: A

RPA

-net

(pre

dec

esso

r o

f th

e cu

rren

t in

tern

et)

• 80

s: in

tro

du

ctio

n o

f fas

t lo

cal n

etw

ork

s (L

AN

s): e

ther

net

, to

ken

-rin

g

• 90

s: m

ass

intr

od

uct

ion

of w

irel

ess

net

wo

rks

(LA

N a

nd

WA

N)

Cu

rren

t sta

nd

ard

co

nsu

mer

co

mp

ute

rs m

igh

t co

me

wit

h:

• H

igh

sp

eed

net

wo

rk c

on

nec

tors

(e.g

. GB

-Eth

ern

et)

• W

irel

ess

LAN

(e.g

. IEE

E802

.11g

, …)

• Lo

cal d

evic

e b

us-

syst

em (e

.g. F

irew

ire

800,

Fib

re C

han

nel

or

USB

3.0

)

• W

irel

ess

loca

l dev

ice

net

wo

rk (e

.g. B

luet

oo

th)

• In

frar

ed c

om

mu

nic

atio

n (e

.g. I

rDA

)

• M

od

em/A

DSL

Page 17: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

707

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

707

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Rea

l-ti

me

op

erat

ing

syst

ems

• Fa

st c

on

text

sw

itch

es?

sho

uld

be

fast

an

yway

• Sm

all s

ize?

sh

ou

ld b

e sm

all a

nyw

ay

• Q

uic

k re

spo

nse

to e

xter

nal

inte

rru

pts

? n

ot ‘

qu

ick’

, bu

t pre

dic

tab

le

• M

ult

itas

kin

g?

oft

en, n

ot a

lway

s

• ‘lo

w le

vel’

pro

gram

min

g in

terf

aces

? n

eed

ed in

man

y o

per

atin

g sy

stem

s

• In

terp

roce

ss c

om

mu

nic

atio

n to

ols

? n

eed

ed in

alm

ost

all

op

erat

ing

syst

ems

• H

igh

pro

cess

or

uti

lizat

ion

? fa

ult

tole

ran

ce b

uild

s o

n r

edu

nd

ancy

!

705

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

705

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Dis

trib

ute

d o

per

atin

g sy

stem

s

• al

l CPU

s ca

rry

a sm

all k

ern

el o

per

atin

g sy

stem

for

com

mu

nic

atio

n s

ervi

ces.

• al

l oth

er O

S-se

rvic

es a

re d

istr

ibu

ted

ove

r av

aila

ble

CPU

s

• se

rvic

es m

ay m

igra

te

• se

rvic

es c

an b

e m

ult

iplie

d in

ord

er to

• gu

aran

tee

avai

lab

ility

(ho

t sta

nd

-by)

• o

r to

incr

ease

thro

ugh

pu

t (h

eavy

du

ty s

erve

rs)

708

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

708

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Rea

l-ti

me

op

erat

ing

syst

ems

nee

d to

pro

vid

e...

the

logi

cal c

orr

ectn

ess

of t

he

resu

lts

as w

ell a

s

the

corr

ectn

ess

of t

he

tim

e, w

hen

the

resu

lts

are

del

iver

ed

Pred

icta

bili

ty!

(no

t per

form

ance

!)

All

resu

lts

are

to b

e d

eliv

ered

just

-in

-tim

e –

no

t to

o e

arly

, no

t to

o la

te.

Tim

ing

con

stra

ints

are

sp

ecifi

ed in

man

y d

iffe

ren

t way

s ...

... o

ften

as

a re

spo

nse

to ‘e

xter

nal

’ eve

nts

☞re

acti

ve s

yste

ms

706

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

706

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Rea

l-ti

me

op

erat

ing

syst

ems

• Fa

st c

on

text

sw

itch

es?

• Sm

all s

ize?

• Q

uic

k re

spo

nse

to e

xter

nal

inte

rru

pts

?

• M

ult

itas

kin

g?

• ‘lo

w le

vel’

pro

gram

min

g in

terf

aces

?

• In

terp

roce

ss c

om

mu

nic

atio

n to

ols

?

• H

igh

pro

cess

or

uti

lizat

ion

?

Page 18: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

711

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

711

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

Is th

ere

a st

and

ard

set

of f

eatu

res

for

op

erat

ing

syst

ems?

no:

the

term

‘op

erat

ing

syst

em’ c

ove

rs 4

kB

mic

roke

rnel

s,

as w

ell a

s >

1 G

B in

stal

lati

on

s o

f des

kto

p g

ener

al p

urp

ose

op

erat

ing

syst

ems.

709

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

709

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Type

s of

cur

rent

ope

rati

ng s

yste

ms

Emb

edd

ed o

per

atin

g sy

stem

s

• u

sual

ly r

eal-

tim

e sy

stem

s, o

ften

har

d r

eal-

tim

e sy

stem

s

• ve

ry s

mal

l fo

otp

rin

t (o

ften

a fe

w K

Bs)

• n

on

e o

r lim

ited

use

r-in

tera

ctio

n

90-9

5% o

f all

pro

cess

ors

are

wo

rkin

g h

ere!

712

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

712

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

Is th

ere

a st

and

ard

set

of f

eatu

res

for

op

erat

ing

syst

ems?

no:

the

term

‘op

erat

ing

syst

em’ c

ove

rs 4

kB

mic

roke

rnel

s,

as w

ell a

s >

1 G

B in

stal

lati

on

s o

f des

kto

p g

ener

al p

urp

ose

op

erat

ing

syst

ems.

Is th

ere

a m

inim

al s

et o

f fea

ture

s?

710

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

710

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

Is th

ere

a st

and

ard

set

of f

eatu

res

for

op

erat

ing

syst

ems?

Page 19: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

715

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

715

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

Is th

ere

a st

and

ard

set

of f

eatu

res

for

op

erat

ing

syst

ems?

no:

the

term

‘op

erat

ing

syst

em’ c

ove

rs 4

kB

mic

roke

rnel

s,

as w

ell a

s >

1 G

B in

stal

lati

on

s o

f des

kto

p g

ener

al p

urp

ose

op

erat

ing

syst

ems.

Is th

ere

a m

inim

al s

et o

f fea

ture

s?

alm

ost:

mem

ory

man

agem

ent,

proc

ess

man

agem

ent a

nd

inte

r-pr

oces

s co

mm

unic

atio

n/sy

nchr

onis

atio

n

will

be

con

sid

ered

ess

enti

al in

mo

st s

yste

ms

Is th

ere

alw

ays

an e

xplic

it o

per

atin

g sy

stem

?

no:

som

e la

ngu

ages

an

d d

evel

op

men

t sys

tem

s o

per

ate

wit

h s

tan

dal

on

e ru

nti

me

envi

ron

men

ts

713

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

713

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

Is th

ere

a st

and

ard

set

of f

eatu

res

for

op

erat

ing

syst

ems?

no:

the

term

‘op

erat

ing

syst

em’ c

ove

rs 4

kB

mic

roke

rnel

s,

as w

ell a

s >

1 G

B in

stal

lati

on

s o

f des

kto

p g

ener

al p

urp

ose

op

erat

ing

syst

ems.

Is th

ere

a m

inim

al s

et o

f fea

ture

s?

alm

ost:

mem

ory

man

agem

ent,

proc

ess

man

agem

ent a

nd

inte

r-pr

oces

s co

mm

unic

atio

n/sy

nchr

onis

atio

n

will

be

con

sid

ered

ess

enti

al in

mo

st s

yste

ms

716

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

716

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal f

eatu

res

of o

pera

ting

sys

tem

s

Pro

cess

man

agem

ent:

• C

on

text

sw

itch

• Sc

hed

ulin

g

• B

oo

k ke

epin

g (c

reat

ion

, sta

tes,

cle

anu

p)

con

text

sw

itch

:

nee

ds

to...

• ‘r

emo

ve’ o

ne

pro

cess

fro

m th

e C

PU w

hile

pre

serv

ing

its

stat

e

• ch

oo

se a

no

ther

pro

cess

(sch

edu

ling)

• ‘in

sert

’ th

e n

ew p

roce

ss in

to th

e C

PU, r

esto

rin

g th

e C

PU s

tate

Som

e C

PUs

hav

e h

ard

war

e su

pp

ort

for

con

text

sw

itch

ing,

oth

erw

ise:

use

inte

rru

pt m

ech

anis

m

714

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

714

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Wha

t is

an

oper

atin

g sy

stem

?

Is th

ere

a st

and

ard

set

of f

eatu

res

for

op

erat

ing

syst

ems?

no:

the

term

‘op

erat

ing

syst

em’ c

ove

rs 4

kB

mic

roke

rnel

s,

as w

ell a

s >

1 G

B in

stal

lati

on

s o

f des

kto

p g

ener

al p

urp

ose

op

erat

ing

syst

ems.

Is th

ere

a m

inim

al s

et o

f fea

ture

s?

alm

ost:

mem

ory

man

agem

ent,

proc

ess

man

agem

ent a

nd

inte

r-pr

oces

s co

mm

unic

atio

n/sy

nchr

onis

atio

n

will

be

con

sid

ered

ess

enti

al in

mo

st s

yste

ms

Is th

ere

alw

ays

an e

xplic

it o

per

atin

g sy

stem

?

Page 20: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

719

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

719

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal s

truc

ture

s of

ope

rati

ng s

yste

ms

Mo

no

lith

ic &

Mo

du

lar

• M

od

ule

s ca

n b

e p

latf

orm

ind

epen

den

t

• Ea

sier

to m

ain

tain

an

d to

dev

elo

p

• R

elia

bili

ty is

incr

ease

d

• al

l ser

vice

s ar

e st

ill in

the

kern

el (o

n th

e sa

me

pri

vile

ge le

vel)

may

rea

ch h

igh

effi

cie

ncy

e.g.

cu

rren

t Lin

ux

vers

ion

s

Har

dw

areO

S

Task

s

Mo

du

lar

API

s

M1

M1

Mn

717

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

717

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal f

eatu

res

of o

pera

ting

sys

tem

s

Mem

ory

man

agem

ent:

• A

lloca

tio

n /

Dea

lloca

tio

n

• V

irtu

al m

emo

ry: l

ogi

cal v

s. p

hys

ical

ad

dre

sses

, seg

men

ts, p

agin

g, s

wap

pin

g, e

tc.

• M

emo

ry p

rote

ctio

n (p

rivi

lege

leve

ls, s

epar

ate

virt

ual

mem

ory

seg

men

ts, .

..)

• Sh

ared

mem

ory

Syn

chro

nis

atio

n /

Inte

r-p

roce

ss c

om

mu

nic

atio

n•

sem

aph

ore

s, m

ute

xes,

co

nd

. var

iab

les,

ch

ann

els,

mai

lbo

xes,

MPI

, etc

. (ch

apte

r 4)

tigh

tly

cou

ple

d to

sch

edu

ling

/ tas

k sw

itch

ing!

Har

dw

are

abst

ract

ion

• D

evic

e d

rive

rs

• A

PI

• Pr

oto

cols

, fi le

sys

tem

s, n

etw

ork

ing,

eve

ryth

ing

else

...

720

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

720

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal s

truc

ture

s of

ope

rati

ng s

yste

ms

Mo

no

lith

ic &

laye

red

• ea

sily

po

rtab

le

• si

gnifi

can

tly

easi

er to

mai

nta

in

• cr

ash

ing

laye

rs d

o n

ot n

eces

sari

ly s

top

the

wh

ole

OS

• p

oss

ibly

red

uce

d e

ffi c

ien

cy th

rou

gh m

any

inte

rfac

es

• ri

goro

us

imp

lem

enta

tio

n o

f th

e st

acke

d v

irtu

al m

ach

ine

per

spec

tive

on

OSs

e.g.

so

me

curr

ent U

NIX

imp

lem

enta

tio

ns

(e.g

. So

lari

s) to

a c

erta

in d

e-gr

ee, m

any

rese

arch

OSs

(e.g

. ‘TH

E sy

stem

’, D

ijkst

ra ‘6

8)

Har

dw

are

Task

s

Laye

red

M0

M1

Mn

OS

API

s

laye

rs

718

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

718

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal s

truc

ture

s of

ope

rati

ng s

yste

ms

Mo

no

lith

ic(o

r ‘t

he

big

mes

s...’

)

• n

on

-po

rtab

le

• h

ard

to m

ain

tain

• la

cks

relia

bili

ty

• al

l ser

vice

s ar

e in

the

kern

el (o

n th

e sa

me

pri

vile

ge le

vel)

bu

t: m

ay r

each

hig

h e

ffi c

ien

cy

e.g.

mo

st e

arly

UN

IX s

yste

ms,

MS-

DO

S (8

0s),

Win

do

ws

(all

no

n-N

T b

ased

ver

sio

ns)

Mac

OS

(un

til v

ersi

on

9),

and

man

y o

ther

s...

Har

dw

are

OS

Task

s

Mo

no

lith

ic

API

s

Page 21: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

723

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

723

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal s

truc

ture

s of

ope

rati

ng s

yste

ms

µK

ern

els

& c

lien

t-se

rver

mo

del

s

• µ

kern

el im

ple

men

ts e

ssen

tial

pro

cess

, m

emo

ry, a

nd

mes

sage

han

dlin

g

• al

l ‘h

igh

er’ s

ervi

ces

are

use

r le

vel s

erve

rs

• si

gnifi

can

tly

easi

er to

mai

nta

in

• ke

rnel

en

sure

s re

liab

le m

essa

ge p

assi

ng

b

etw

een

clie

nts

an

d s

erve

rs:

loca

lly a

nd

thro

ugh

a n

etw

ork

• h

igh

ly m

od

ula

r an

d fl

exib

le

• se

rver

s ca

n b

e re

du

nd

ant a

nd

eas

ily r

epla

ced

• p

oss

ibly

red

uce

d e

ffi c

ien

cy th

rou

gh in

crea

sed

co

mm

un

icat

ion

s

e.g.

Java

en

gin

es,

dis

trib

ute

d r

eal-

tim

e o

per

atin

g sy

stem

s, c

urr

ent d

istr

ibu

ted

OSs

res

earc

h p

roje

cts

µke

rnel

, dis

trib

ute

d s

yste

ms

task

1ta

sk n

serv

ice

1

µke

rnel

µke

rnel

serv

ice

m

µke

rnel

Har

dw

are Net

wo

rk

721

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

721

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal s

truc

ture

s of

ope

rati

ng s

yste

ms

µK

ern

els

& v

irtu

al m

ach

ines

• µ

kern

el im

ple

men

ts e

ssen

tial

pro

cess

, m

emo

ry, a

nd

mes

sage

han

dlin

g

• al

l ‘h

igh

er’ s

ervi

ces

are

dea

lt w

ith

ou

tsid

e th

e ke

rnel

☞ n

o th

reat

for

the

kern

el s

tab

ility

• si

gnifi

can

tly

easi

er to

mai

nta

in

• m

ult

iple

OSs

can

be

exec

ute

d

at th

e sa

me

tim

e

• µ

kern

el is

hig

hly

har

dw

are

dep

end

ent

on

ly th

e µ

kern

el n

eed

s to

be

po

rted

.

• p

oss

ibly

red

uce

d e

ffi c

ien

cy th

rou

gh

incr

ease

d c

om

mu

nic

atio

ns

e.g.

wid

e sp

read

co

nce

pt:

as e

arly

as

the

CP/

M, V

M/3

70 (‘

79)

or

as r

ecen

t as

Mac

OS

X (m

ach

ker

nel

+ B

SD u

nix

), ...

Har

dw

are

µke

rnel

, vir

tual

mac

hin

e

µke

rnel

Task

s

M0

M1

Mn

OS

APIs

layer

sO

S

Task

s

APIs

M1

M1

Mn

…O

S

Task

s

APIs

724

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

724

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

UN

IX fe

atu

res

• H

iera

rch

ical

fi le

-sys

tem

(mai

nta

ined

via

‘mo

un

t’ an

d ‘u

nm

ou

nt’

)

• U

niv

ersa

l fi le

-in

terf

ace

app

lied

to fi

les,

dev

ices

(I/O

), as

wel

l as

IPC

• D

ynam

ic p

roce

ss c

reat

ion

via

du

plic

atio

n

• C

ho

ice

of s

hel

ls

• In

tern

al s

tru

ctu

re a

s w

ell a

s al

l API

s ar

e b

ased

on

‘C’

• R

elat

ivel

y h

igh

deg

ree

of p

ort

abili

ty

UN

ICS,

UN

IX, B

SD, X

ENIX

, Sys

tem

V, Q

NX

, IR

IX, S

un

OS,

Ult

rix,

Sin

ix, M

ach,

Pl

an 9

, NeX

TSTE

P, A

IX, H

P-U

X, S

olar

is, N

etB

SD, F

reeB

SD, L

inux

, OPE

N-

STEP

, Ope

nBSD

, Dar

win

, QN

X/N

eutr

ino,

OS

X, Q

NX

RTO

S, ..

. ...

.

722

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

722

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Typi

cal s

truc

ture

s of

ope

rati

ng s

yste

ms

µK

ern

els

& c

lien

t-se

rver

mo

del

s

• µ

kern

el im

ple

men

ts e

ssen

tial

pro

cess

, m

emo

ry, a

nd

mes

sage

han

dlin

g

• al

l ‘h

igh

er’ s

ervi

ces

are

use

r le

vel s

erve

rs

• si

gnifi

can

tly

easi

er to

mai

nta

in

• ke

rnel

en

sure

s re

liab

le m

essa

ge p

assi

ng

bet

wee

n c

lien

ts a

nd

ser

vers

• h

igh

ly m

od

ula

r an

d fl

exib

le

• se

rver

s ca

n b

e re

du

nd

ant a

nd

eas

ily r

epla

ced

• p

oss

ibly

red

uce

d e

ffi c

ien

cy th

rou

gh

incr

ease

d c

om

mu

nic

atio

ns

e.g.

cu

rren

t res

earc

h p

roje

cts,

L4,

etc

.

Har

dw

are

µke

rnel

, clie

nt s

erve

r st

ruct

ure

µke

rnel

serv

ice

mse

rvic

e 1

task

1ta

sk n

Page 22: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

727

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

727

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

Syn

chro

niz

atio

n in

UN

IX ☞

Sig

nal

s

#inc

lude

<un

istd

.h>

#inc

lude

<sy

s/ty

pes.

h>

#inc

lude

<si

gnal

.h>

pid_

t id

;

void

cat

ch_s

top

(int

sig

_num

)

{ /*

do

some

thin

g wi

th t

he s

igna

l */

}

id =

for

k ()

;

if (

id =

= 0)

{

si

gnal

(SI

GSTO

P, c

atch

_sto

p);

pa

use

();

ex

it (

0);

} el

se {

ki

ll (

id,

SIGS

TOP)

;

pi

d =

wait

();

}

725

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

725

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

Dyn

amic

pro

cess

cre

atio

n

pid

= fo

rk (

);

resu

ltin

g a

du

plic

atio

n o

f th

e cu

rren

t pro

cess

• re

turn

ing

0 to

the

new

ly c

reat

ed p

roce

ss

• re

turn

ing

the

proc

ess

id o

f th

e ch

ild p

roce

ss t

o t

he

crea

tin

g p

roce

ss (

the

‘par

ent’

pro

cess

) o

r -1

for

a fa

ilure

728

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

728

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

Mes

sage

pas

sin

g in

UN

IX ☞

Pip

esin

t da

ta_p

ipe

[2],

c,

rc;

if (

pipe

(da

ta_p

ipe)

==

-1)

{

pe

rror

(“n

o pi

pe“)

; ex

it (

1);

} if (

fork

()

== 0

) {

// c

hild

cl

ose

(dat

a_pi

pe [

1]);

wh

ile

((rc

= r

ead

(dat

a_pi

pe [

0],

&c,

1))

>0)

{

putc

har

(c);

}

if

(rc

==

-1)

{

perr

or (

“pip

e br

oken

“);

clos

e (d

ata_

pipe

[0]

); e

xit

(1);

}

cl

ose

(dat

a_pi

pe [

0]);

exi

t (0

);

} e

lse

{ //

par

ent

c

lose

(da

ta_p

ipe

[0])

;

w

hile

((c

= g

etch

ar (

)) >

0)

{

if (

writ

e

(d

ata_

pipe

[1],

&c,

1)

== -

1) {

pe

rror

(“p

ipe

brok

en“)

;

cl

ose

(dat

a_pi

pe [

1]);

ex

it (

1);

};

} clo

se (

data

_pip

e [1

]);

pid

= w

ait

();

}

726

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

726

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

Dyn

amic

pro

cess

cre

atio

n

pid

= fo

rk (

);

resu

ltin

g a

du

plic

atio

n o

f th

e cu

rren

t pro

cess

• re

turn

ing

0 to

the

new

ly c

reat

ed p

roce

ss

• re

turn

ing

the

proc

ess

id o

f th

e ch

ild p

roce

ss t

o t

he

crea

tin

g p

roce

ss (

the

‘par

ent’

pro

cess

) o

r -1

for

a fa

ilure

Freq

uen

t usa

ge:

if (

fork

()

== 0

) {

//

...

the

chi

ld’s

tas

k ..

. of

ten

impl

emen

ted

as:

ex

ec (

“abs

olut

e pa

th t

o ex

ecut

able

fil

e“,

“arg

s“);

exit

(0)

; /*

ter

mina

te c

hild

pro

cess

*/

} el

se {

//..

. th

e pa

rent

’s t

ask

...

pi

d =

wait

();

/*

wai

t fo

r th

e te

rmin

atio

n of

one

chi

ld p

roce

ss *

/}

Page 23: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

731

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

731

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

POSI

X

Port

able

Op

erat

ing

Syst

em In

terf

ace

for

Uni

x

• IE

EE/A

NSI

Std

100

3.1

and

follo

win

g.

• Li

bra

ry In

terf

ace

(API

) [C

Lan

guag

e ca

llin

g co

nve

nti

on

s –

typ

es e

xit m

ost

ly in

term

s o

f (o

pen

) lis

ts o

f po

inte

rs a

nd

inte

gers

wit

h o

verl

oad

ed m

ean

ings

].

• M

ore

than

30

dif

fere

nt P

OSI

X s

tan

dar

ds

(an

d g

row

ing

/ ch

angi

ng)

.☞

a s

yste

m is

‘PO

SIX

co

mp

lian

t’, if

it im

ple

men

ts p

arts

of o

ne

of t

hem

!

☞ a

sys

tem

is ‘1

00%

PO

SIX

co

mp

lian

t’, if

it im

ple

men

ts o

ne

of t

hem

!

729

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

729

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

Pro

cess

es &

IPC

in U

NIX

Proc

esse

s:•

Pro

cess

cre

atio

n r

esu

lts

in a

du

plic

atio

n o

f ad

dre

ss s

pac

e (‘c

op

y-o

n-w

rite

’ bec

om

es n

eces

sary

)

inef

fi ci

ent,

bu

t can

gen

erat

e n

ew ta

sks

ou

t of a

ny

use

r p

roce

ss –

no

sh

ared

mem

ory

!

Sign

als:

• lim

ited

info

rmat

ion

co

nte

nt,

no

bu

ffer

ing,

no

tim

ing

assu

ran

ces

(sig

nal

s ar

e no

t in

terr

up

ts!)

very

bas

ic, y

et n

ot v

ery

po

wer

ful f

orm

of s

ynch

ron

isat

ion

Pipe

s:•

un

stru

ctu

red

byt

e-st

ream

co

mm

un

icat

ion

, acc

ess

is id

enti

cal t

o fi

le o

per

atio

ns

no

t su

ffi c

ien

t to

des

ign

clie

nt-

serv

er a

rch

itec

ture

s o

r n

etw

ork

co

mm

un

icat

ion

s

732

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

732

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

POSI

X -

som

e of

the

rel

evan

t st

anda

rds.

..

1003

.1

12/0

1O

S D

efi n

itio

nsi

ngl

e p

roce

ss, m

ult

i pro

cess

, jo

b c

on

tro

l, si

gnal

s, u

ser

gro

up

s, fi

le s

yste

m, fi

le a

t-tr

ibu

tes,

fi le

dev

ice

man

agem

ent,

fi le

lock

ing,

dev

ice

I/O

, dev

ice-

spec

ifi c

con

tro

l, sy

stem

dat

abas

e, p

ipes

, FIF

O, .

..

1003

.1b

10

/93

Rea

l-ti

me

Exte

nsi

on

s

real

-tim

e si

gnal

s, p

rio

rity

sch

edu

ling,

tim

ers,

asy

nch

ron

ou

s I/

O, p

rio

riti

zed

I/O

, syn

-ch

ron

ized

I/O

, fi le

syn

c, m

app

ed fi

les,

mem

ory

lock

ing,

mem

ory

pro

tect

ion

, mes

-sa

ge p

assi

ng,

sem

aph

ore

, ...

1003

.1c

6/95

Thre

ads

mu

ltip

le th

read

s w

ith

in a

pro

cess

; in

clu

des

su

pp

ort

for:

thre

ad c

on

tro

l, th

read

att

rib

-u

tes,

pri

ori

ty s

ched

ulin

g, m

ute

xes,

mu

tex

pri

ori

ty in

her

itan

ce, m

ute

x p

rio

rity

cei

ling,

an

d c

on

dit

ion

var

iab

les

1003

.1d

10

/99

Ad

dit

ion

al R

eal-

ti

me

Exte

nsi

on

s

new

pro

cess

cre

ate

sem

anti

cs (s

paw

n),

spo

rad

ic s

erve

r sc

hed

ulin

g, e

xecu

tio

n ti

me

mo

nit

ori

ng

of p

roce

sses

an

d th

read

s, I/

O a

dvi

sory

info

rmat

ion

, tim

eou

ts o

n b

lock

-in

g fu

nct

ion

s, d

evic

e co

ntr

ol,

and

inte

rru

pt c

on

tro

l

1003

.1j

1/00

Ad

van

ced

Rea

l-

tim

e Ex

ten

sio

ns

typ

ed m

emo

ry, n

ano

slee

p im

pro

vem

ents

, bar

rier

syn

chro

niz

atio

n, r

ead

er/w

rite

r lo

cks,

sp

in lo

cks,

an

d p

ersi

sten

t no

tifi

cati

on

for

mes

sage

qu

eues

1003

.21

-/-

Dis

trib

ute

d

Rea

l-ti

me

bu

ffer

man

agem

ent,

sen

d c

on

tro

l blo

cks,

asy

nch

ron

ou

s an

d s

ynch

ron

ou

s o

per

-at

ion

s, b

ou

nd

ed b

lock

ing,

mes

sage

pri

ori

ties

, mes

sage

lab

els,

an

d im

ple

men

tati

on

p

roto

cols

730

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

730

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

UN

IX

Sock

ets

in B

SD U

NIX

Sock

ets

try

to k

eep

the

par

adig

m o

f a u

niv

ersa

l fi le

inte

rfac

e fo

r ev

eryt

hin

g an

d in

tro

du

ce:

Co

nn

ecti

on

less

inte

rfac

es (e

.g. U

DP/

IP):

• Se

rver

sid

e: socket ➠

bind ➠

recvfrom ➠

close

• C

lien

t sid

e: socket ➠

sendto ➠

close

Co

nn

ecti

on

ori

ente

d in

terf

aces

(e.g

. TC

P/IP

):

Serv

er s

ide:

socket ➠

bind ➠

{select} [connect | listen ➠

accept ➠

read | write ➠

[close | shutdown]

Clie

nt s

ide:

socket ➠

bind ➠

connect

➠ write | read ➠

[close | shutdown]

Page 24: Architectures - Research School of Computer Science | · 2017-10-26 · Architectures © 2017 Uwe R. Zimmer, ... Intel® 64 and IA-32 Architectures Optimization Reference Manual 647

733

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

733

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

POSI

X -

100

3.1b

/c

Freq

uen

tly

emp

loye

d P

OSI

X fe

atu

res

incl

ud

e:

• T

hrea

ds: a

co

mm

on

inte

rfac

e to

thre

adin

g - d

iffe

ren

ces

to ‘c

lass

ical

UN

IX p

roce

sses

• T

imer

s: d

eliv

ery

is a

cco

mp

lish

ed u

sin

g PO

SIX

sig

nal

s

• P

rior

ity

sche

dulin

g: fi

xed

pri

ori

ty, 3

2 p

rio

rity

leve

ls

• R

eal-

tim

e si

gnal

s: s

ign

als

wit

h m

ult

iple

leve

ls o

f pri

ori

ty

• S

emap

hore

: nam

ed s

emap

ho

re

• M

emor

y qu

eues

: mes

sage

pas

sin

g u

sin

g n

amed

qu

eues

• S

hare

d m

emor

y: m

emo

ry r

egio

ns

shar

ed b

etw

een

mu

ltip

le p

roce

sses

• M

emor

y lo

ckin

g: n

o v

irtu

al m

emo

ry s

wap

pin

g o

f ph

ysic

al m

emo

ry p

ages

734

Arc

hit

ectu

res

© 2

017

Uw

e R

. Zim

mer

, The

Aus

tral

ian

Nat

iona

l Uni

vers

ity

page

734

of 7

46 (c

hapt

er 9

: “A

rchi

tect

ures

” up

to p

age

734)

Sum

mar

y

Arc

hite

ctur

es

• H

ardw

are

arch

itec

ture

s -

from

sim

ple

logi

c to

sup

erco

mpu

ters

• lo

gic,

CPU

arc

hit

ectu

re, p

ipel

ines

, ou

t-o

f-o

rder

exe

cuti

on

, mu

ltit

hre

adin

g, ..

.

• D

ata-

Para

llelis

m•

Vec

tori

zati

on

, Red

uct

ion

, Gen

eral

dat

a-p

aral

lelis

m

• C

oncu

rren

cy in

lang

uage

s•

Som

e ex

amp

les:

Has

kell,

Occ

am, C

hap

el

• O

pera

ting

sys

tem

s•

Stru

ctu

res:

mo

no

lith

ic, m

od

ula

r, la

yere

d, µ

kern

els

• U

NIX

, PO

SIX