Несколько вопросов по Dec AlphaPC 164lx
-
avalon-samara
- Full Member
- Сообщения: 275
- Зарегистрирован: 06.08.2012,17:52
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Несколько вопросов по Dec AlphaPC 164lx
Есть AlphaPC 164LX Motherboard Technical Reference Manual под авторством уже Compaq.
На странице 2-10 написано:
"The AlphaPC 164LX uses BA1 as both BA1 and ADDR12. Therefore, four-bank DIMMs using ADDR<11:0> are the maximum size. (Two-bank DIMMs can use ADDR<12:0>"
То есть, там прямым текстом не написано, что линии М12-14 обрезаны, но зато понятно, что ВА1 используется как линия ADDR12, получается комбинированный сигнал - общий для выбора банка и строки. А раз так, то отдельная линия МА12 физически отсутствует. В результате доступен только диапазон адресов, где старшие три бита (12-14) всегда равны нулю и, таки образом, охватывается максимум 512 мб ОЗУ.
Получается, на DIMM слотах есть только линии ADDR0-ADDR11, вместо ADDR12 - BA1.
На странице 2-10 написано:
"The AlphaPC 164LX uses BA1 as both BA1 and ADDR12. Therefore, four-bank DIMMs using ADDR<11:0> are the maximum size. (Two-bank DIMMs can use ADDR<12:0>"
То есть, там прямым текстом не написано, что линии М12-14 обрезаны, но зато понятно, что ВА1 используется как линия ADDR12, получается комбинированный сигнал - общий для выбора банка и строки. А раз так, то отдельная линия МА12 физически отсутствует. В результате доступен только диапазон адресов, где старшие три бита (12-14) всегда равны нулю и, таки образом, охватывается максимум 512 мб ОЗУ.
Получается, на DIMM слотах есть только линии ADDR0-ADDR11, вместо ADDR12 - BA1.
-
avalon-samara
- Full Member
- Сообщения: 275
- Зарегистрирован: 06.08.2012,17:52
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Несколько вопросов по Dec AlphaPC 164lx
С трудом это представляю, ведь сделать на практике синхронные высокочастотные адресные линии едва возможно.
Да и DEC 21174 в корпусе BGA, а не DIP.
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Несколько вопросов по Dec AlphaPC 164lx
12×2 + 2 = 26 линий адреса после демультиплексирования: одна планка может быть размером в 2²⁹ = 512MB.
13×2 + 1 = 27 линий адреса после демультиплексирования: одна планка может быть размером в 2³⁰ = 1GB.
Банк тут — это логически доступное устройство внутри чипа.
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Несколько вопросов по Dec AlphaPC 164lx
Pyxis то умеет без ECC работать, а вот SRM — нет (как минимум в той версии, что у меня): пищит при вставке 64-bit модулей одинаковыми парами, что по 128MB, что по 256MB (и скорее это даже ещё не SRM, а первоначальный SROM загрузчик). Из парных 72-bit у меня только 64MB:ikle писал(а): 14.08.2025,11:45 Если что, обычные модули без ECC должны без проблем работать с 21174.
Код: Выделить всё
Digital AlphaPC 164LX 599 MHz Console V5.3-3, Sep 24 1998 14:02:11
...
>>>show memory
128 MBytes of system memory
Bank # Size Base Addr
------ ---------- ---------
0 128 MB 000000000
Total Bad Pages = 0
Total Good Memory = 128 MBytes
Bcache Size = 2 MB
>>>
Так что вопрос остаётся открытым.
P.S. На счёт ECC: В TRM не документированы джамперы CF4 — CF6 — есть шанс, что можно ими отрезать ECC.
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
-
avalon-samara
- Full Member
- Сообщения: 275
- Зарегистрирован: 06.08.2012,17:52
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Несколько вопросов по Dec AlphaPC 164lx
Но ведь BA1 уже выполняет роль ADDR12, то есть ADDR12 не доступна для адресации памяти.
Далее, демультиплексирование не добавляет реальных линий адреса, она просто распределяет существующие сигналы на банки и столбцы/строки.
Мне кажется, главная ошибка в том, что мы игнорируем тот факт, что ВА1 перекрывает ADR12.
Далее, демультиплексирование не добавляет реальных линий адреса, она просто распределяет существующие сигналы на банки и столбцы/строки.
Мне кажется, главная ошибка в том, что мы игнорируем тот факт, что ВА1 перекрывает ADR12.
-
avalon-samara
- Full Member
- Сообщения: 275
- Зарегистрирован: 06.08.2012,17:52
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Несколько вопросов по Dec AlphaPC 164lx
Я сейчас подумал, что отрезать ЕСС вполне реально, но линии данных ЕСС все равно будут физически задействованы?avalon-samara писал(а): 13.10.2025,20:48 P.S. На счёт ECC: В TRM не документированы джамперы CF4 — CF6 — есть шанс, что можно ими отрезать ECC.
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Несколько вопросов по Dec AlphaPC 164lx
И чего, что BA1 и A12 висят на одной линии? Перечитайте то, что вы сами процитировали: 4-хбанковые модули (использующие BA0 и BA1) могут использовать только A0...A11 (то есть не могут использовать A12), а 2-хбанковые (использующие только BA0) могут использовать A0...A12.avalon-samara писал(а): 13.10.2025,20:48 Но ведь BA1 уже выполняет роль ADDR12, то есть ADDR12 не доступна для адресации памяти.
Чего? Если у нас n адресных линий, то мы можем в максимуме использовать n адресных линий для задания как строки, так и столбца: то есть в максимуме 2n адресных сигналов для ячейки внутри банка. Адресация банков параллельна.avalon-samara писал(а): 13.10.2025,20:48 Далее, демультиплексирование не добавляет реальных линий адреса, она просто распределяет существующие сигналы на банки и столбцы/строки.
Сигналы на них будут просто игнорироваться. Причём, скорее всего, только при чтении. Работа с ECC или без — это проблема лишь настройки Pyxis. Pyxis TRM (EC–R12GC–TE), 1.1 21174 Features:avalon-samara писал(а): 13.10.2025,20:59 Я сейчас подумал, что отрезать ЕСС вполне реально, но линии данных ЕСС все равно будут физически задействованы?
Там же, 2.2.2 Error Checking and Correction:
- Quadword ECC support, longword parity, or no parity on system and memory data buses
— Последние два предложения говорят, что это чисто проблема FW, может система работать без ECC или нет.The 21174 operates in one of two software selectable modes — ECC or PCA56 longword parity. Use PYXIS_CTRL[ECC_CHK_EN] to enable ECC checking or use PYXIS_CTRL1[LW_PAR_MODE] to enable PCA56 longword parity mode.
Initialization firmware must check the memory banks and the 21164 to determine whether parity or ECC bits are present in the memory and whether the 21164 will support ECC. The firmware then establishes the state of the error checking and error code generation based on this criteria. If the memory does not provide ECC/parity bits, then all memory error checking should be turned off.
Во-первых, закрывающая скобочка в конце моего вопроса — это безглазый смайлик, отмечающий ироничность фразы. Во-вторых, а где вы тут увидели «высокочастотные линии»? Тут SDR и 66 MHz — период 15 нс, а, насколько я помню, дорожка на FR4 в два сантиметра даёт задержку что-то около 3 нс — так что проводок вполне реален (а вот то, что там BGA будет проблемой, если контакт на другую сторону не выведен). Но, всё таки, см. первый пункт сего параграфа.avalon-samara писал(а): 13.10.2025,19:35 С трудом это представляю, ведь сделать на практике синхронные высокочастотные адресные линии едва возможно.
P.S. Вот только Pyxis TRM использует понятие банков не в смысле банков SDRAM-модулей. Последние, насколько я понимаю, он называет суббанками.
Последний раз редактировалось ikle 13.10.2025,22:48, всего редактировалось 1 раз.
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Несколько вопросов по Dec AlphaPC 164lx
А они зато документированы в ebfw/srom/lx164/srom.s:
Код: Выделить всё
* (conf-6) bit6: Mini-Debugger (0=enabled 1= disabled) [23]
* (conf-5) bit5: BC_Speed<0> [19]
* (conf-4) bit4: BC_Speed<1> [20]
* (conf-3) bit3: PASSWORD Bypass
*
* BC_Speed<1:0> Bcache
* ------------ -------
* 00 Reserved
* 01 Reserved
* 10 Reserved
* 11 9ns (default)
*
А вот дальше в этом коде интересности:
Код: Выделить всё
//++
// ===========================================================================
// = srom_size_memory - size the main memory for volume =
// ===========================================================================
//
// OVERVIEW:
//
// This function will size the main memory on an bank per bank basis
//
// FORM OF CALL:
//
// bsr r26,srom_size_memory
//
// ARGUMENTS:
//
// none
//
// RETURNS:
//
// r10 - size mask with total size of configurable memory
// r11 - upper LW is speed of slowest DIMM on memory bus
// lower LW is 1 if all DIMMs have ECC bits, else 0
//
// FUNCTIONAL DESCRIPTION:
//
// This code uses the following definitions and assumptions:
//
// 1. A PC164LX / EV56+PYXIS based board will contain from 1 to
// two populated banks of SDRAM DIMMS. Each bank will
// consist of two DIMMS to create the 128 bit wide memory
// bus.
// 2. Each DIMM is JEDEC JC-42.5-95.164 compliant or better.
// Thus each DIMM will have a JEDEC compliant IIC ROM
// containing full DIMM specification data.
// 3. DIMMS in each bank must be IDENTICAL in almost every
// way. In addition all DIMMS will must meet a minimum
// set of timing specifications determined by reading the
// IIC ROM on each DIMM. SDRAM DIMMS come in many more
// speed variants than older 72 pin SIMMs, and many are too
// slow for EV56 + PYXIS.
// 4. Single, Dual, and Quad bank DIMMS are supported in sizes
// from 16MB up to 256MB using either 16Mbit or 64Mbit SDRAMS.
// 5. PYXIS supports eight total banks, though PC164LX only uses
// two.
//
//
// This function will size the amount of memory in the system by
// reading the IIC ROM for each DIMM. Banks containing mismatched
// DIMMS will cause an error beep code and prevent normal machine
// operation.
//
// A data structure of the following format is built as a
// result of the memory sizing. It represents the DIMM size
// in a given bank. PC164LX has two banks, and PYXIS supports eight.
//
// PC164LX size_mask (DIMMs):
// =========================
// 63 56 55 48
// +--------------+----------------+
// | 8MB | 16MB |
// +--------------+----------------+
//
// 47 40 39 32
// +--------------+----------------+
// | 32MB | 64MB |
// +--------------+----------------+
//
// 31 24 23 16
// +--------------+----------------+
// | 128MB | 256MB |
// +--------------+----------------+
//
// 15 8 7 0
// +--------------+----------------+
// | 512MB | 1GB (!!) |
// +--------------+----------------+
//
// Each bit within the size fields corresponds to a memory dimm size.
// This means that for a particular bank only one bit can be set in a
// particular field:
//
// I.E.
//
// if bank 1 is configured as a set of 128MB DIMMs then
// bit 1 = 0 (it IS NOT a 1GB DIMM)
// bit 9 = 1 (it IS a 512MB DIMM)
// bit 17 = 0 (it IS NOT a 256MB DIMM)
//
...
- модули в паре должны иметь практически идентичные SPD;
- 164LX явно должна поддерживать модули в 256MB.
Код: Выделить всё
// BCR0-BCR7 - Bank Config Reg
// [0] bank_enable if set
// [4:1] Bank Size
// 1000 2GB ** PYXIS is capable of these configs
// 0000 1GB ** but is not tested or documented.
// 0001 512MB
// 0010 256MB
// 0011 128MB
// 0100 64MB
// 0101 32MB
// 0110 16MB
// 0111 8MB
// [5] Sub Bank Enable
// [6] ROW sel 0=12, 1=14
// [7] 4BANK
Ещё на счёт совместимости планок:
Код: Выделить всё
// The following tests are made against each DIMM before it is
// sized. These checks insure electrical compatibility with
// PC164LX & PYXIS, considering the huge range on many of the
// DIMM characteristics.
//
// Any DIMM which does not pass these initial checks will cause
// a fatal error with beep codes, as the whole memory subsystem
// will become unusable.
Код: Выделить всё
// 6 64|72 ** 72 only for PC164LX I
Последний раз редактировалось ikle 13.10.2025,22:29, всего редактировалось 3 раза.
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
-
avalon-samara
- Full Member
- Сообщения: 275
- Зарегистрирован: 06.08.2012,17:52
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Несколько вопросов по Dec AlphaPC 164lx
Да, Вы правы. Действительно, 2х банковые модули могут использовать А0...А12.ikle писал(а): 13.10.2025,21:35 И чего, что BA1 и A12 висят на одной линии? Перечитайте то, что вы сами процитировали: 4-хбанковые модули (использующие BA0 и BA1) могут использовать только A0...A11 (то есть не могут использовать A12), а 2-хбанковые (использующие только BA0) могут использовать A0...A12
Я так погрузился в этот вопрос, что не заметил)ikle писал(а): 13.10.2025,21:35 Во-первых, закрывающая скобочка в конце моего вопроса — это безглазый смайлик, отмечающий ироничность фразы.
Теперь я сам немного в замешательстве, очень интересно, чем закончатся Ваши поиски.
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Несколько вопросов по Dec AlphaPC 164lx
Идём дальше:
— Тут говорится о поддержке 1GB планок, максимум (2GB на банк, 4GB всего). А ещё оно тут в SROM-порт пишет, что нашло: надо бы адаптер сделать (говорят, там RS-423).
Код: Выделить всё
// : //check for DIMM pair mismatch on odd slot numbers
// : if ((dimm_slot&1)==1)
// : : if (match_col==col) && (match_row==row)
// : : : //everything checks for DIMM so populate bitmap
// : : : //each dimm is 8 bytes wide
// : : : dimm_size=1<<(col+row+3+sub_bank+SDRAM_4bank)
// : : : mputs("DIMM") mputs(" siz") mputs("e:0x")
// : : : putl dimm_size mputs("MB ")
// : : : //2^27 is largest DIMM supported, set bit corresponding to
// : : : //size of dimm and position of slot. 2^27*8=1GB
// : : : size_mask |= 1<<[((27-row-col)<<3)+(dimm_slot>>1)]
// : : else
// : : : mputs("Error! DIMM Size mismatch slots #")
// : : : putl(dimm_slot-1) mputs(" and #") putl(dimm_slot)
// : : : feature_mask |= 1<<((slot>>1)+56) //put a mismatch flag in
// : : : maybe beep(1,1,3)
// : : end
// : else
// : : match_row=row
// : : match_col=col
// : end
Обычный TTL-UART адаптер нужен, то есть (J29.2 — TX, J29.3 — Gnd, J29.5 — RX).Connector J29 supports an RS-232 or RS-422 terminal connection to this port by using 1488 and 1489 line driver and receiver components. Additional external logic is not required.
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Несколько вопросов по Dec AlphaPC 164lx
AlphaPC 164LX Motherboard Product Brief:
Да и тут есть статья про 164LX от ТС, в которой говорится:
Ещё нашлась статья на Хабре, в которой говорится:
И, далее:
- 32MB to 1GB memory
— Официально поддерживались 4-банковые 72-битные 256MB модули.Samsung DIMM Part Number List for 164LX Motherboard:
Density Part Number Configuration # of Banks Base of Component 16MB KMM374S203CT-GH/GL 2M X 72 (2 Bank) 16 Mbit 32MB KMM374S403CT-GH/GL 4M X 72 (2 Bank) 16 Mbit 64MB KMM374S823BT-GH/GL 8M X 72 (4 Bank) 64 Mbit 128MB KMM374S1623BT-GH/GL 16M x 72 (4 Bank) 64 Mbit KMM374S1723T-GH/GL 16M x 72 (4 Bank) 128 Mbit 256MB KMM374S3323T-GH/GL 32M x 72 (4 Bank) 128 Mbit
Да и тут есть статья про 164LX от ТС, в которой говорится:
Кстати, на фото в этой статье явно буферизованная или регистровая 128MB SDRAM.В моей конфигурации на данный момент установлено четыре модуля по 128 мегабайт каждый, в наличие у меня есть 4 модуля по 256 мегабайт, но с ними возникли проблемы — вся память определяется в SRM, но при прохождении теста памяти в SRM возникают ошибки, также в ОС TRU64 UNIX с этой памятью возникает kernel panic.
Ещё нашлась статья на Хабре, в которой говорится:
UPD: Ещё один владелей 164LX подтвердил, что у него стоят и работают две 256MB ECC планки.Оперативная память — обычные DIMM SDRAM с ECC, модули без ECC и регистровые модули не поддерживаются.
Отыскать четыре планки по 256 Мбайт не составило больших проблем — 1 Гбайт как раз максимальный поддерживаемый объем памяти.
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций