RDRAM: Difference between revisions

2,519 bytes added ,  7 months ago
Document AddressSelect and DeviceManufacturer
(Provide better details about setting Delay after reset.)
(Document AddressSelect and DeviceManufacturer)
Line 517:
 
''The N64 implements refresh by broadcasting one SetRR command whenever VI emits a horizontal sync pulse.''
 
==== <span style="display:none;">AdrS[9:2] 0x08 - AddressSelect ====
----
{{#invoke:Register table|head|600px| AddressSelect <code>0x08</code>}}
{{#invoke:Register table|row|31:24}}
| RW-0 || RW-0 || RW-0 || RW-0 || RW-0 || RW-0 || RW-0 || U-?
|-
| colspan="7" | SwapField[6:0] || -
{{#invoke:Register table|row|23:16}}
| U-? || U-? || U-? || U-? || U-? || U-? || RW-0 || RW-0
|-
| - || - || - || - || - || - || colspan="2" | SwapField[8:7]
{{#invoke:Register table|row|15:8}}
| U-? || U-? || U-? || U-? || U-? || U-? || U-? || U-?
|-
| - || - || - || - || - || - || - || -
{{#invoke:Register table|row|7:0}}
| U-? || U-? || U-? || U-? || U-? || U-? || U-? || U-?
|-
| - || - || - || - || - || - || - || -
{{#invoke:Register table|foot}}
{{#invoke:Register table|definitions
| 31-25,16-15 | SwapField | Each bit swaps two bits of the address. When all bits are 0, there is no swaping.
}}
 
'''Extra Details:'''
: The address swapping feature allows banks to be interleaved. For example, Bank 0 row 0 can be followed by Bank 1 row 0 and so on. <br> This can improve performance for many memory access patterns.
 
: However, RI doesn't appear to support this feature. It expects Bank zero to be in the first megabyte of address space, Bank one in the second megabyte, and so on.
 
==== <span style="display:none;">AdrS[9:2] 0x09 - DeviceManufacturer ====
----
{{#invoke:Register table|head|600px| DeviceManufacturer <code>0x09</code>}}
{{#invoke:Register table|row|31:24}}
| R-? || R-? || R-? || R-? || R-? || R-? || R-? || R-?
|-
| colspan="8" | ManufactureCode[7:0]
{{#invoke:Register table|row|23:16}}
| R-? || R-? || R-? || R-? || R-? || R-? || R-? || R-?
|-
| colspan="8" | ManufactureCode[15:8]
{{#invoke:Register table|row|15:8}}
| R-? || R-? || R-? || R-? || R-? || R-? || R-? || R-?
|-
| colspan="8" | Manufacture[7:0]
{{#invoke:Register table|row|7:0}}
| R-? || R-? || R-? || R-? || R-? || R-? || R-? || R-?
|-
| colspan="8" | Manufacture[15:8]
{{#invoke:Register table|foot}}
{{#invoke:Register table|definitions
| 31-24,23-16 | ManufactureCode | Manufacture is allowed to put whatever they want here?
| 15-8,7-0 | Manufacture | Code specifying the manufacturing company, see table below.
}}
 
{|
|-
! Manufacture !! ID Code
|-
| Toshiba || <code>0x0002</code>
|-
| Fujitsu || <code>0x0003</code>
|-
| NEC || <code>0x0005</code>
|-
| Hitachi || <code>0x0007</code>
|-
| Oki || <code>0x0000</code>
|-
| LG Semicon || <code>0x000a</code>
|-
| Samsung || <code>0x0010</code>
|-
| Hyundai || <code>0x0013</code>
|}
 
= RDRAM addressing =
22

edits