RDRAM: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(Provide better details about setting Delay after reset.) |
(Document AddressSelect and DeviceManufacturer) |
||
Line 517: | Line 517: | ||
''The N64 implements refresh by broadcasting one SetRR command whenever VI emits a horizontal sync pulse.'' |
''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 = |
= RDRAM addressing = |