MPR601UM 01_Power PC_601_Users_Manual_1995 01 Power PC 601 Users Manual 1995
User Manual: MPR601UM-01_PowerPC_601_Users_Manual_1995
Open the PDF directly: View PDF
Page Count: 777 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- 1.1 PowerPC 601 Microprocessor Overview
- 1.2 Levels of the PowerPC Architecture
- 1.3 The 601 as a PowerPC Implementation
- 2.1 Normal Instruction Execution State
- 2.2 User-Level Registers
- 2.3 Supervisor-Level Registers
- 2.3.1 Machine State Register (MSR)
- 2.3.2 Segment Registers
- 2.3.3 Supervisor-Level SPRs
- 2.3.3.1 Synchronization for Supervisor-Level SPRs ...
- 2.3.3.2 DAE/Source Instruction Service Register (D...
- 2.3.3.3 Data Address Register (DAR)
- 2.3.3.4 Real-Time Clock (RTC) Registers (Superviso...
- 2.3.3.5 Decrementer (DEC) Register
- 2.3.3.6 Table Search Description Register 1 (SDR1)...
- 2.3.3.7 Machine Status Save/Restore Register 0 (SR...
- 2.3.3.8 Machine Status Save/Restore Register 1 (SR...
- 2.3.3.9 General SPRs (SPRG0–SPRG3)
- 2.3.3.10 External Access Register (EAR)
- 2.3.3.11 Processor Version Register (PVR)
- 2.3.3.12 BAT Registers
- 2.3.3.13 601 Implementation-Specific HID Registers...
- 2.4 Operand Conventions
- 2.5 Floating-Point Execution Models
- 2.6 PowerPC Registers Unimplemented in the 601
- 2.7 Reset
- 3.1 Memory Addressing
- 3.2 Exception Summary
- 3.3 Integer Instructions
- 3.4 Floating-Point Instructions
- 3.5 Load and Store Instructions
- 3.5.1 Integer Load and Store Address Generation
- 3.5.2 Integer Load Instructions
- 3.5.3 Integer Store Instructions
- 3.5.4 Integer Load and Store with Byte Reversal In...
- 3.5.5 Integer Load and Store Multiple Instructions...
- 3.5.6 Integer Move String Instructions
- 3.5.7 Memory Synchronization Instructions
- 3.5.8 Floating-Point Load and Store Address Genera...
- 3.5.9 Floating-Point Load Instructions
- 3.5.10 Floating-Point Store Instructions
- 3.5.11 Floating-Point Move Instructions
- 3.6 Branch and Flow Control Instructions
- 3.6.1 Branch instruction Address Calculation
- 3.6.2 Conditional Branch Control
- 3.6.3 Basic Branch Mnemonics
- 3.6.4 Branch Mnemonics Incorporating Conditions
- 3.6.5 Branch Instructions
- 3.6.6 Condition Register Logical Instructions
- 3.6.7 System Linkage Instructions
- 3.6.8 Simplified Mnemonics for Branch Processor In...
- 3.6.9 Trap Instructions and Mnemonics
- 3.7 Processor Control Instructions
- 3.8 Memory Control Instructions
- 3.9 External Control Instructions
- 3.10 Miscellaneous Simplified Mnemonics
- 4.1 Cache Organization
- 4.2 Cache Arbitration
- 4.3 Cache Access Priorities
- 4.4 Basic Cache Operations
- 4.5 Cache Data Transactions
- 4.6 Access to I/O Controller Interface Segments
- 4.7 Cache Coherency
- 4.7.1 Memory Management Access Mode Bits—W, I, and...
- 4.7.2 MESI Protocol
- 4.7.3 MESI State Diagram
- 4.7.4 MESI Hardware Considerations
- 4.7.5 Coherency Precautions
- 4.7.6 Memory Loads and Stores
- 4.7.7 Atomic Memory References
- 4.7.8 Snoop Response to Bus Operations
- 4.7.9 Cache Reaction to Specific Bus Operations
- 4.7.10 Internal ARTRY Scenarios
- 4.7.11 Enveloped High-Priority Cache Sector Push O...
- 4.8 Cache Control Instructions
- 4.8.1 Cache Line Compute Size Instruction (clcs)
- 4.8.2 Data Cache Block Touch Instruction (dcbt)
- 4.8.3 Data Cache Block Touch for Store Instruction...
- 4.8.4 Data Cache Block Set to Zero Instruction (dc...
- 4.8.5 Data Cache Block Store Instruction (dcbst)
- 4.8.6 Data Cache Block Flush Instruction (dcbf)
- 4.8.7 Enforce In-Order Execution of I/O Instructio...
- 4.8.8 Instruction Cache Block Invalidate Instructi...
- 4.8.9 Instruction Synchronize Instruction (isync)
- 4.9 Bus Operations Caused by Cache Control 4.9 Ins...
- 4.10 Memory Unit
- 4.11 MESI State Transactions
- 5.1 Exception Classes
- 5.2 Exception Processing
- 5.3 Process Switching
- 5.4 Exception Definitions
- 5.4.1 Reset Exceptions (x'00100')
- 5.4.2 Machine Check Exception (x'00200')
- 5.4.3 Data Access Exception (x'00300')
- 5.4.4 Instruction Access Exception (x'00400')
- 5.4.5 External Interrupt (x'00500')
- 5.4.6 Alignment Exception (x'00600')
- 5.4.7 Program Exception (x'00700')
- 5.4.8 Floating-Point Unavailable Exception (x'0080...
- 5.4.9 Decrementer Exception (x'00900')
- 5.4.10 I/O Controller Interface Error Exception (x...
- 5.4.11 System Call Exception (x'00C00')
- 5.4.12 Run Mode/Trace Exception (x'02000')
- 6.1 MMU Overview
- 6.1.1 Memory Addressing
- 6.1.2 MMU Organization
- 6.1.3 Address Translation Mechanisms
- 6.1.4 Memory Protection Facilities
- 6.1.5 Page History Information
- 6.1.6 General Flow of MMU Address Translation
- 6.1.7 Memory/MMU Coherency Model
- 6.1.8 Effects of Instruction Fetch on MMU
- 6.1.9 Breakpoint Facility
- 6.1.10 MMU Exceptions Summary
- 6.1.11 MMU Instructions and Register Summary
- 6.1.12 TLB Entry Invalidation
- 6.2 ITLB Description
- 6.3 Memory/Cache Access Modes
- 6.4 General Memory Protection Mechanism
- 6.5 Selection of Address Translation Type
- 6.6 Direct Address Translation
- 6.7 Block Address Translation
- 6.8 Memory Segment Model
- 6.9 Hashed Page Tables
- 6.10 I/O Controller Interface Address Translation
- 6.10.1 Segment Register Format for I/O Controller ...
- 6.10.2 I/O Controller Interface Accesses
- 6.10.3 I/O Controller Interface Segment Protection...
- 6.10.4 Memory-Forced I/O Controller Interface Acce...
- 6.10.5 Instructions Not Supported in I/O Controlle...
- 6.10.6 Instructions with No Effect in I/O Controll...
- 6.10.7 I/O Controller Interface Summary Flow
- 7.1 Terminology and Conventions
- 7.2 Pipeline Description
- 7.3 Pipeline Timing
- 7.4 Execute Stage Delay Summary
- 8.1 Signal Configuration
- 8.2 Signal Descriptions
- 8.2.1 Address Bus Arbitration Signals
- 8.2.2 Address Transfer Start Signals
- 8.2.3 Address Transfer Signals
- 8.2.4 Address Transfer Attribute Signals
- 8.2.4.1 Transfer Type (TT0–TT4)
- 8.2.4.2 Transfer Size (TSIZ0–TSIZ2)
- 8.2.4.3 Transfer Burst (TBST)
- 8.2.4.4 Transfer Code (TC0–TC1)—Output
- 8.2.4.5 Cache Inhibit (CI)—Output
- 8.2.4.6 Write-Through (WT)—Output
- 8.2.4.7 Global (GBL)
- 8.2.4.8 Cache Set Element (CSE0–CSE2)—Output
- 8.2.4.9 High-Priority Snoop Request (HP_SNP_REQ)
- 8.2.5 Address Transfer Termination Signals
- 8.2.6 Data Bus Arbitration Signals
- 8.2.7 Data Transfer Signals
- 8.2.8 Data Transfer Termination Signals
- 8.2.9 System Status Signals
- 8.2.10 COP/Scan Interface
- 8.2.11 Clock Signals
- 8.3 Clocking in a Multiprocessor System
- 9.1 PowerPC 601 Microprocessor System Interface 9....
- 9.2 Memory Access Protocol
- 9.3 Address Bus Tenure
- 9.4 Data Bus Tenure
- 9.5 Timing Examples
- 9.6 Memory- vs. I/O-Mapped I/O Operations
- 9.7 Interrupt, Checkstop, and Reset Signals
- 9.8 Processor State Signals
- 9.9 IEEE 1149.1-Compatible Interface
- 9.9.1 Deviations from the IEEE 1149.1 Boundary-Sca...
- 9.9.2 Additional Information about the IEEE 1149.1...
- 9.9.3 IEEE 1149.1 Interface Description
- 9.9.4 IEEE Interface Clock Requirements
- 9.9.5 IEEE 1149.1 Interface Reset Requirements
- 9.9.6 IEEE Interface Instruction Set
- 9.9.7 IEEE 1149.1 Interface Boundary-Scan Chain
- 9.10 Using DBWO (Data Bus Write Only)
- 10.1 Instruction Formats
- 10.2 Instruction Set
- 10.3 Instructions Not Implemented by the 601