See MIPS Run Linux (2nd edition)
w
MIPS
Linux
£
1
¤
——
n
)
MIPS
N
X
(
D. Sweetman
£
d
A
ù
¤
Í
J.Qu
£
¯
ï
¤
È
2008
c
12
31
F
È
ö
`
²
ù
p
È
©
´
Ñ
u
Æ
I
?
1
§
Ï
3
È
å
¦
O
(
§
¿
¦
þ
±
Ö
ó
º
"
3
Ø
³
ö
Ú
Ñ
£
¹
e
§
È
ö
#
N
Ú
y
?
Û
<
Ñ
u
!
Æ
S
½
Æï
Ä
J
|
8
§
E
Ú
D
Â
©
>
f
"
T
Ö
=
©
d
Elsevier
Ñ
§
8
ö
Ú
Ñ
¤
k
"
k
'
=
©
?
Û
¯
K
§
é
X
ö
Ú
Ñ
"
±
e
``
È
ö3
È
Ä
"
È
©
å
¦
b
C
©
"
Ö
©
i
'
)
Ä
§
º
'
²
w
"
È
Ä
k
¦
þ
y
È
©
O
(
5
"
3
d
Ä
:
þ
§
¦
þ
b
C
©
º
"
©
¥
9
;
!
¤
½
Ù
§
©
z
µ
/
§
¦
þ
È
¤
¥
©
¥
a
q
`
{
"
'
X
1
4
Ù
'
u
“skimmed the cream”
Ú
1
13
Ù
I
K
È
"
é
u
Ö
¥
ã
¦
þ
ì
3
§
Ù
¥
©
i
Ø
È
"
ù
´
Ä
ã
Ò
'
*
§
ã
¥
þ
=
©
ã
~
Ø
A
éÖ
ö
Ö
E
¤
æ
N
"
é
u
Ö
¡
¢
Ú
§
3
È
©
¥
Ñ
"
ù
´
Ä
ù
«
¢
Ú
é
u
>
f
©
¿Â
Ø
"
Ó
¢
Ú
¥
¤
9
=
©
3
©
õ
ê
®
²
È
§
U
ì
i
1
g
S
|
¢
Ú
T
X
Û
#
|
Ä
§
¢
Ú
¿Â®
²
Ø
§
q
Ø
d
¤
"
é
u
Ö
Ö
¶
È
§
È
A
O
Ä
"
T
Ö
1
¥
©
È
ö
ò
Ö
¶
È
¤
5
MIPS
?
n
ì
O
ß
À
6
§
Ù
Ø
¢
3
´
L
u
l
Ì
"
0
N
X
(
¡
§
S
Ö
§
1
´
r
Ö
¶
U
¤
4<
Ø
±
´
0
?
n
ì
O
¡
M
<
Ö
§
Ö
¿
§
k
Ø
Ö
ö
v
"
5
§
[
«
Ö
º
§
Ö
Ö
¶
È
5
w
MIPS
Linux
6
Ò
é
/
"
´
ù
«
L
u
/
z
¶
¡
½
N
Ø
Î
Ü
¥
©
E
a
Ö
¶
º
§
Ï
d
È
Ö
¶
\
þ
N
Ö
S
N
B
I
K
"
é
u
Ö
¥
Ø
§
È
â
¹
Ø
Ó
?
n
"
'
X
Ö
ã
2.2
§
²
L
ö
N
(@
?
1
?
"
²
w
)
Ø
½
ö
ü
Ø
§
K
±
?
§
Ø
5
²
"
,
J
±
{
ü
?
Ø
§
Kì
©
È
Ñ
"
é
u
;
c
®
§
¦
þ
æ
^
Ï
^
5
È
{
"
k
;
c
®
k
ü
«
±
þ
Ï
^
È
{
£
'
X
write-through
È
“
ß
”
Ú
“
Ï
”
¤§
3
È
©
¥
À
^
«
§
¿
±
c
"
3
"
y
ú
@
5
È
{
¹
e
§
(
Ü
þ
e
©
¹
±¿
i
È
ö
`
²
È
Ì
"
O
¹
e
ë
,
È
{
?
1?
¾
§
½
ö
â
È
ö
n
)
È
"
~
X
é
u
cache alias
È
§
±
9
1
Ô
Ù
é
u
ü
«
ê
NaN
È
"
1
Ù
é
u
JTAG probe
È
§
?
n
k
¤
Ø
Ó
"
«
2
È
{
´
È
¤
“
&
”
§
È
ö
æ
^
ù
«
È
{
"
“
&
”
c
3
"
y
þ
e
©
¹
e
N
´Ú
åÜ
Â
§
N
´
4
Ø
Ù
G
<
Ø
@
§
´
«
[
/
"
k
u
d
§
©
¥
Ñ
,
«
È
{
§
=
“
&
ì
"
”“
&
”
c
u
“JTAG”
ÑÈ
“
&
”
))
q
±
n
)
¿È
§
=
“
«
8
¤
>
´
ë
ÿ
Á
!
&
ÿ
I
O
5
"
”
ù
n
)
§
prob e
Î
Ü
“
&
”
§
È
¤
“
&
ì
”
Ò
é
g
,
§
o
Ñ
Ú
¿
§
Ø
Ü
Â
"
È
©
¥
Ó
æ
^
ü
«
È
{
§
Ä
±
"
=
«
È
{
Ð
§
Ö
ö
g
C
ä
"
l
2007
c
7
27
F
ú
v
§
2007
c
9
7
F
Ð
v
§
Ù
m
?
¾
"
d
qk
ü
g
Û
Ü
?
¾
§
È
©
¥
Ø
"
2007
c
12
31
F
¡
?
¾
§
?
¾
Ì
´
é
Ö
Ü
©
"
T
g
?
¾
Ì
Ý
§
Ø
Å
)
Ø
§
é
È
Ø
O
(
!
'
)
M
!
½
ö
q
Ø
Ð
/
Ø
N
§
,
Ø
ß
ã
#
§
OL
ü
k
C
Ä
"
d
§
T
g
?
¾
3
Ö
O
\
5
È
ö
Ö
¢
6
!
§
0
A
^
PIC
è
k
'
MIPS
®
?
«
é
`
²
§
F
"
é
Ü
©
Ö
ö
k
¤
Ï
"
2008
c
7
7
F
?
¾
v
3
d
Ä
:
þ
?
1
§
?
Ö
ö
Ñ
5
A
?
)
Ø
§
Ó
þ
©
i
þ
U
Ä
"
g
?
¾
´
3
2008
c
7
7
F
?
¾
v
Ä
:
þ
?
1
§
?
Ö
ö
Ñ
A
?
ã
¥
)
Ø
§
Ó
ë
Ö
ö
¿
?
U
Ö
B
I
K
§
Ð
/
N
Ö
¿
ã
§
,
?
©
i
)
Ø
"
¦
+
È
ö
««
ã
å
±
±
©
£
5
Ú
5
§
È
©
¥
3
«
Ø
Õ
¦
3
¤
J
"
X
J
È
©
ÿ
k
?
{
§
Î
Ã
¦
¯
§
ù
Ä
k
A
8
õ
u
ö
"
X
J
È
©
L
Ø
O
(
½
ö
©
º
æ
{
§
@
o
Ä
k
A
´
È
ö
I
?
"
È
ö
9
H
Ö
ö
é
È
©
¥
3
««
¯
KJ
Ñ
B
¿
"
s
1µ
!
¿
Ú
ï
Æ
§
u
x
È
ö
£
jqu@softprise.com
¤
"
È
ö
2008
c
12
ii
8
¹
È
ö
`
²
i
S
xiii
c
ó
xv
1
1
Ù
MIPS
Ú
RISC
N
X
(
1
1.1
6
Y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1
o
Ï
¦
6
Y
Ç
$
e
º
. . . . . . . . . . . . . . . 3
1.1.2
6
Y
Ú
p
. . . . . . . . . . . . . . . . . . . . . . 4
1.2 MIPS
Ê
?
6
Y
. . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 RISC
Ú
CISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4
L
Ú
y
3
k
L
5
MIPS
¡
. . . . . . . . . . . . . 7
1.4.1 R2000
R3000
?
n
ì
. . . . . . . . . . . . . . . . . . . 7
1.4.2 R6000
?
n
ì
µ
Ý
=
. . . . . . . . . . . . . . . . . . . 8
1.4.3
1
CPU
Ø
. . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.4 QED:
i
\
ª
X
Ú
p
¯
MIPS
?
n
ì
. . . . . . . . . . 11
1.4.5 R10000
?
n
ì
9
Ù
U
ö
. . . . . . . . . . . . . . . . . . 12
1.4.6
¤
a
>
f
¬
+
MIPS
?
n
ì
. . . . . . . . . . . . 13
1.4.7
ä´
d
ì
Ú
-
1
<
Å
+
MIPS . . . . . . . . . . . 13
1.4.8
8
MIPS
?
n
ì
. . . . . . . . . . . . . . . . . . 15
1.4.9
8
U
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 MIPS
Ú
CISC
N
X
(
'
. . . . . . . . . . . . . . . . . . . . 20
1.5.1 MIPS
-
8
. . . . . . . . . . . . . . . . . . . . . 20
1.5.2
Ï
Ú
. . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.3 MIPS
v
k
A
5
. . . . . . . . . . . . . . . . . . . . . . . 22
1.5.4
§
S
6
Y
J
. . . . . . . . . . . . . . . . . . 23
1
2
Ù
MIPS
N
X
(
25
2.1 MIPS
®
?
ó
º
Ð
&
. . . . . . . . . . . . . . . . . . . . . 28
iii
8
¹
8
¹
2.2
M
ì
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.1
Ï
^
M
ì
S
.
·¶
Ú
^
{
. . . . . . . . . . . . . . . . 30
2.3
ê
¦
{
Ü
9M
ì
. . . . . . . . . . . . . . . . . . . . . . . . 32
2.4
\
1
;
µ
Ï
ª
. . . . . . . . . . . . . . . . . . . . . . . . 33
2.5
;
ì
M
ì
ê
â
a
.
. . . . . . . . . . . . . . . . . . . . . 34
2.5.1
êê
â
a
.
. . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5.2
é
à
\
1
Ú
;
. . . . . . . . . . . . . . . . . . . . . 35
2.5.3
S
¥
2
:
ê
â
. . . . . . . . . . . . . . . . . . . . . . 35
2.6
®
?
ó
Ü
¤
-
. . . . . . . . . . . . . . . . . . . . . . . . . 36
2.7 MIPS I
MIPS64 ISA: 64
(
Ú
Ù
§
)
*
Ð
. . . . . . . . . . . 37
2.7.1
u
Ð
64
. . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7.2
X
I
64
º
. . . . . . . . . . . . . . . . . . . . . . . . 39
2.7.3
'
u
64
CPU
ª
µ
M
ì
¥
ê
â
. . . . . . . 39
2.8
Ä
/
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.8.1
{
ü
X
Ú
Ï
. . . . . . . . . . . . . . . . . . . . . . . 42
2.8.2
Ø
%
^
r
A
?
. . . . . . . . . . . . . . . . . . . . . . 43
2.8.3
ã
µ
64
/
N
. . . . . . . . . . . . . . . . 43
2.9
6
Y
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1
3
Ù
?
n
ì
0
µ
MIPS
?
n
ì
47
3.1 CPU
-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2
o
ÿ
^
=
M
ì
º
. . . . . . . . . . . . . . . . . . . . 52
3.3 CPU
M
ì
9
Ù
?
è
. . . . . . . . . . . . . . . . . . . . . . 53
3.3.1
G
M
ì
£
SR
¤
. . . . . . . . . . . . . . . . . . . . . . 53
3.3.2
Ï
M
ì
(Cause) . . . . . . . . . . . . . . . . . . . . . . 57
3.3.3
É
~
£
/
(EPC)
M
ì
. . . . . . . . . . . . . . . . . 58
3.3.4
Ã
J
[
/
(BadVaddr)
M
ì
. . . . . . . . . . . . . . 58
3.3.5 Count/Compare
M
ì
µ
CPU
¡
þ
½
ì
. . . . . . . . . 58
3.3.6
?
n
ì
ID(PRId)
M
ì
. . . . . . . . . . . . . . . . . . . 60
3.3.7 Config
M
ì
µ
CPU
]
&
E
Ú
. . . . . . . . . . . . 61
3.3.8 EBase
Ú
IntCtl
µ
¥
ä
Ú
É
~
. . . . . . . . . . . . . . 64
3.3.9 SRSCtl
Ú
SRSMap
µ
K
f
M
ì
. . . . . . . . . . 65
3.3.10
ë
£
\
1
/
£
LLAddr
¤
M
ì
. . . . . . . . . . . . . . 66
3.4 CP0
x
——
J
á
\
²
. . . . . . . . . . . . . . . . . . . . . 67
3.4.1
x
o
-
. . . . . . . . . . . . . . . . . . . . . . . . . 67
3.4.2
-
x
Ú
^
r
x
. . . . . . . . . . . . . . . . . . . . . 68
3.4.3
3
CP0
-
m
o
. . . . . . . . . . . . . . . . . . . 68
iv