Chapter 1
Programming the MIPS32® 74K™ Core Family, Revision 02.14
11
Introduction
The MIPS32® 74K
™
core is the first member of a family of synthesizable CPU cores launched in 2007, and offers
the highest performance yet from a synthesizable core. It does this by issuing two instructions simultaneously (where
possible) and by using a long pipeline to enable relatively high frequency operation. Conventional high-throughput
designs of this type are slowed by dependencies between consecutive instructions, so 74K family cores use out-of-
order execution to work around short-term dependencies and keep the pipeline full.
74K Cores offer better performance in the same process compared to MIPS Technologies’ mid-range 24K® family, at
the cost of a larger and more complex core.
Intended Audience
This document is for programmers who are already familiar with the MIPS® architecture and who can read MIPS
assembler language (if that’s not you yet, you’d probably benefit from reading a generic MIPS book - see
More precisely, you should definitely be reading this manual if you have an OS, compiler, or low-level application
which already runs on some earlier MIPS CPU, and you want to adapt it to the 74K core. So this document concen-
trates on where a MIPS 74K family core behaves differently from its predecessors. That’s either:
•
Behavior which is not completely specified by Release 2 of the MIPS32® architecture: these either concern priv-
ileged operation, or are timing-related.
•
Behavior which was standardized only in the recent Release 2 of the MIPS32 specification (and not in previous
versions). All Release 2 features are formally documented in
1
, and
changes added by Release 2.
But the summary is too brief to program from, and the details are widely spread; so you’ll find a reminder of the
changes here. Changes to user-privilege instructions are found in
Appendix C, “MIPS® Architecture quick-
reference sheet(s)” on page 151
, and changes to kernel-privilege (OS) instructions and facilities are detailed in
Chapter 5, “Kernel-mode (OS) programming and Release 2 of the MIPS32® Architecture” on page 67
•
Details of timing, relevant to engineers optimizing code (and that very small audience of compiler writers), found
in
Section 4.5 “Tuning software for the 74K‘ family pipeline”
.
This manual is distinct from the
reference manual: that is a CPU reference organized from a hardware view-
point. If you need to write processor subsystem diagnostics, this manual will not be enough! If you want a very care-
ful corner-cases-included delineation of exactly what an instruction does, you’ll need
For readability, some MIPS32 material is repeated here, particularly where a reference would involve a large excur-
sion for the reader for a small saving for the author. Appendices mention every user-level-programming difference
any active MIPS software engineer is likely to notice when programming the 74K core.
1.
References (in square brackets) are listed in
Содержание MIPS32 74K Series
Страница 1: ...Document Number MD00541 Revision 02 14 March 30 2011 Programming the MIPS32 74K Core Family...
Страница 10: ...Programming the MIPS32 74K Core Family Revision 02 14 10...
Страница 20: ...1 4 A brief guide to the 74K core implementation Programming the MIPS32 74K Core Family Revision 02 14 20...
Страница 28: ...2 2 PRId register identifying your CPU type Programming the MIPS32 74K Core Family Revision 02 14 28...
Страница 54: ...3 8 The TLB and translation Programming the MIPS32 74K Core Family Revision 02 14 54...
Страница 83: ......
Страница 86: ...6 5 FPU pipeline and instruction timing Programming the MIPS32 74K Core Family Revision 02 14 86...
Страница 101: ...The MIPS32 DSP ASE 101 Programming the MIPS32 74K Core Family Revision 02 14...
Страница 134: ...8 4 Performance counters Programming the MIPS32 74K Core Family Revision 02 14 134...
Страница 154: ...C 3 FPU changes in Release 2 of the MIPS32 Architecture Programming the MIPS32 74K Core Family Revision 02 14 154...