0% found this document useful (0 votes)
93 views6 pages

Differences Between R10000 and R4400 R10000 R4400: Architecture Implementation Architecture Implementation

The R10000 architecture is a superscalar implementation that features speculative execution and out-of-order execution, caching, and memory handling. In contrast, the R4400 uses a superpipelined architecture without speculation and executes instructions sequentially. The R10000 has a more advanced instruction set and supports 64-bit addressing while the R4400 supports 32-bit programs. The cache structures, memory management, and system interfaces are also more advanced in the R10000.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views6 pages

Differences Between R10000 and R4400 R10000 R4400: Architecture Implementation Architecture Implementation

The R10000 architecture is a superscalar implementation that features speculative execution and out-of-order execution, caching, and memory handling. In contrast, the R4400 uses a superpipelined architecture without speculation and executes instructions sequentially. The R10000 has a more advanced instruction set and supports 64-bit addressing while the R4400 supports 32-bit programs. The cache structures, memory management, and system interfaces are also more advanced in the R10000.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

mips

Open RISC Technology


7/12/95

Differences between R10000 and R4400


R10000 R4400

Architecture Implementation Architecture Implementation


Superscaler Superpipeline
Speculative execution (branch No speculation
prediction)
Speculative memory access Execution in sequence
Out of order execution Processor stalls due to cache
Out of order cache miss detection miss
Non blocking Load/Store Pipeline stalls if to cache
miss

ISA ISA
MIPS IV set - Added Prefetch, MIPS III set
Conditional Move I/FP, Index
Load/Store FP, etc.
LL/SC, Sync definition and
Convert Long, Move instructions
different from those in R4400
Caches Caches
PI: 32K, 2-Way, 16Wd block PI: 16K, Direct map, 4 or 8Wd
PD: 32K, 2-Way, 8Wd block PD: 16K, Direct map, 4 or 8Wd

S: 512K-16M, 2-Way, SSRAM, 16 & S: 128K to 16M, Direct Map, 4 or


32 Wd block (no hardware change) 8 or 16 or 32Wd.

Instructions are 36-bits pre- Instructions are 32-bits (not


decoded pre-decoded)

Cache Coherency Cache Coherency


No Dirty Shared state Dirty Shared option

No Link Address Register - Link Address Register needed if


hardware makes sure the link linked line is replaced.
address is never replaced

pg1
mips
Open RISC Technology

Differences between R10000 and R4400


R10000 R4400
CEx line is owned by memory CEx line is owned by the
processor.

Cache Algorithm Cache Algorithm


No update protocol Update protocol option

Added uncached accelerated No uncached accelerated

CP0 & Memory Management CP0 & Memory Management


TLB has 64 entries TLB has 48 entries

VPN of 44 bits VPN 40 bits

PFN of 40 bits PFN of 36 bits without any


restriction in any mode.
Phys. Addr. space is limited to
238 if TLB is written in the 32-
bit User or Supr. mode.
Prevents same multiple entry in Causes TLB Shutdown if more
TLB. than one match of VPN.
In 64-bit Kernel mode, the xkuseg
access is controlled by UX bit
& the xkseg access is controlled
No such control for the 32-bit
by the SX bit. In 64-bit
& 64-bit programs available
supervisor mode, xsuseg space
access is controlled by UX bit.
This means, the Address Space
Access control and TLB miss
exception vectors support
separate page table for 32-bit
and 64-bit programs
No CP0 hazards Hazards be’t CP0 instructions

CP0 Registers:
LLAddr Register removed because LLAddr Register available &
it is not necessary necessary

Added Diagnostic register Not available

pg2
mips
Open RISC Technology

Differences between R10000 and R4400


R10000 R4400
Added Frame Mask Register to Framemask not available
masking of write into TLB[PFN]
Added Performance Counter Performance info from State
Registers Output pins.
Context/XContext do not share Context/XContext shares PTE
PTE Base Base
WatchHi adjusted to accommodate WatchHi smaller.
40 bits of physical address.
EntryLo/Hi bigger with new cache
EntryLo/Hi smaller
d coherency attributes
CacheErr & ECC are different
Config Register is different
Status Register is different
Cache Management
Cache Management
Hazards between CACHE/CP0
CACHE Instructions has no
instructions
hazards cause they are
serialized
No support for: Support for -
Create Dirty Exclusive Create Dirty Exclusive

Fill I Fill I

Hit Writeback Hit Write back

Hit Virtual Hit Virtual

Additional Instructions:
Index Load/Store Data (no No Index Ld/St Data
support needed for CE bit) Need CE bit
Read/Write is 36-bits pre- No pre-decode
decoded instructions to PICache
Cache Barrier instruction added Not applicable
Might bring lines in the cache
pg3
mips
Open RISC Technology

Differences between R10000 and R4400


R10000 R4400
that never get used No speculation; so always gets
used.

System Interface
Four outstanding Processor Req. System Interface
Cluster bus configuration with Single request except if
eight outstanding request. “Cluster Request” selected
Request can depend on the
speculation and might not be
used.
Request can come in different Request always in order
order in different conditions;
but never indeterminate for the
any condition.
No link address retained bit Link retained bit needed
SysIntf & SCIntf de-coupled by No input buffers so speed on
Input Buffers SysIntf dependent on SCIntf.
Data ordering subblock Data ordering programmable
Eliminate Request No Eliminate Request
Open Drain option on System Intf. No open drain
Uncached Attributes added No Uncache Attribute
No output buffer slew rate Output buffer slew rate
adjustment. adjustment possible
“Globally Performed” pin added No “Globally Performed” pin

SCache Interface SCache Interface


Same hardware for 16Wd & 32Wd Need to worry about the LSB of
block size the Tag.
SSRAM, HSTL interface SRAM CMOS/TTL interface
No uncompelled slave state Uncompelled releases of the bus

pg4
mips
Open RISC Technology

Differences between R10000 and R4400


R10000 R4400

Exceptions Exception
Aliasing prevented by the Aliasing handled by Virtual
hardware so no Virtual Coherency Exception
Coherency Exception
Can identify between the Soft Cannot differentiate be’t Soft
Reset & NMI Reset and NMI
Initialization Initialization
Mode bits entered in parallel Mode bits entered serially
Must write into the logical Not necessary to initialize
registers before reading register files
Interrupts Interrupts
Five hardwares by ext. request Six hardware interrupts via
using single cycle. write req. or pins
No hardware interrupts pins NMI via write or pin
No NMI by write (only pins) Timer Interrupt muxed by an
Timer Interrupt not muxed by external write
external write No Performance Counters (State
Performance counter causes Timer bits at the output)
Interrupt
Error protection Error protection
If DE bit is set, cache hits are If DE bit is set - always takes
taken when error is detected; so cache miss if uncorrectable
cache can get corrupted. Units error is detected.
detects & corrects but
exceptions are not taken. No
real need to set DE bit.
Option for parity check on SCache Data ECC - 8-bits for each DWd
read on the first pass.
Data ECC - 9-bits for QWd Single format Cache Error Reg.

pg5
mips
Open RISC Technology

Differences between R10000 and R4400


R10000 R4400
Separate Cache Error Reg. format
for each caches & system intf. System Interface has a choice
System Interface has ECC only. of ECC or Parity.
UncorrErr*/CorrErr* signals.
Clocks Clocks
Input clock SysClk is used to RClock & TClock available to
clock external logic clock external logic.
SClkTap to adjust SCClk.
Not applicable SyncIn/SyncOut to adjust T/
RClock

MISC MISC
External Intf. CMOS/TTL or HSTL External Intf. CMOS/TTL

Can bring lines in the cache that Lines in cache will always be
may never be used used

pg6

You might also like