Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Проясните понятия wait-stait и время доступа на примере ХТ
RSS

Проясните понятия wait-stait и время доступа на примере ХТ

<<Назад  Вперед>> Страницы: 1 2
Печать
 
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
В общих чертах, я понимаю так: ws - это задержка, вводимая процессором для согласования с медленной памятью. А конкретно ws=1 - это пропуск одного такта? То есть замедление вдвое по частоте? А время доступа (60нс, 80нс и т.д.) - это длительность сигнала чтения/записи, т.е. величина обратная частоте работы памяти?
Пример1:
Nec V20, частота процессора 12МГц. Чтобы работать на частоте проца, нужна была бы память с временем доступа 1/12млн=85нс. Но в материнке стоит память 100нс. Значит, процессор при работе с памятью вводит задержку (пропуск одного такта) - верно? И на практике, в эту материнку можно "запихнуть" память вплоть до 170нс - верно для этого примера?
Пример2:
286 с частотой 20МГц. Поскольку не существует памяти simm 30пин с временем доступа менее 60нс, значит, процессор работает тоже с задержкой ws=1, и можно ставить память от 60нс и до 100нс - верно?
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
sanders написал:
[q]
Пример2:
286 с частотой 20МГц. Поскольку не существует памяти simm 30пин с временем доступа менее 60нс, значит, процессор работает тоже с задержкой ws=1, и можно ставить память от 60нс и до 100нс - верно?
[/q]
XT нет, но могу замолвить пару слог про 286:

1) имея AMD 16мгц 286, можно ставить от 80ns, 70ns и до 60ns с 0WS

2) как дошел до 20мгц (перепаял кварц и поменял проц на harris) - точно не помню, но 80 ns отсеял, из-за глюков в процессе работы или нагрева микросхем.

3) как дошел до 25мгц, вот тут началось интересное: отсеялись 70ns и какие-то 60ns.. выдержал только Siemens 60ns

4) как дошел до 28мгц - Siemens тоже скглюкнулись: при прогреве или в процессе сложных процессов. Но первый запуск успеваю запускать различные бенчмарки, до первого сбоя..

5) как дошел до 30мгц, пришлось переключить на 1 WS, и резко все стало тормозить... опять заработали 70ns, любые 60 ns.. но работает система как будто 25мгц или хуже - по некоторым бенчмаркам:


Красным помечено - как "the best"

Видимо внутри процессора - регистры работают на 30мгц, а передачи данных в память работает на 15мгц (1WS)..
поэтому в некоторых случаях - что-то быстро, а что-то жутко медленно.

Официально примерно так:
DRAM:
80ns = для 12,5мгц проц
60ns = для 16,6мгц проц
кэши:
20ns = для 50мгц шины
15ns = для 66мгц шины

***

6) Для 386-40мгц в биосе стоит 2WS как по дефолту, так как 30-пиновые плашки у народа в основном 70ns или 80ns.. 60ns не видел :(
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Не понятно. если подразумевается изначально ws=0, тогда для процессора 16МГц нужна память 60нс и менее. 70нс - это небольшой разгон для памяти, а 80 - вообще в полтора раза.
Для 25МГц нужна вообще память 40нс. Как там могла работать память 70нс - непонятно. Но ведь разгон - да?
Правильно ли я считаю, поделив 1 на время доступа и получив максимальную частоту, на которой память будет работать при ws=0? Или нужно/можно вводить какой-то коэффициент? Например, может, как в последних строчках Ekb упомянул - шина работы с памятью уже рассчитана на меньшую частоту, чем ядро? Меня интересуют в этом плане 8088/8086 и 80286 процы.
Ekb, просьба дополнить свое сообщение тестовой прогой. Когда наведу порядок с памятью и материнками, начну тестить.
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
sanders написал:
[q]
Для 25МГц нужна вообще память 40нс. Как там могла работать память 70нс - непонятно. Но ведь разгон - да?
[/q]
Да, это разгон. Потому что одна группа 60ns от какой-то фирмы - не заработал. Заработал только Siemens 60ns.

Разгон составил в 1,5 раз. Siemens - молодцы :thumbup:


sanders написал:
[q]
просьба дополнить свое сообщение тестовой прогой.
[/q]
в другой теме, есть три основных бенчмарка: http://www.phantom.sannata.ru/...y=48455028

В ближайшее время, думаю дополнить Wolf3D с его встроенным бенчмарком. Но печально то что нет поддержки XT. Точнее есть перекомпилированный EXEшник для XT (проц 8088 или NEC V20), но тогда нет встроенного бенчмарка :frown:

А так уже набран большой архив бенчмарков :)
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
CPU не может обращаться к памяти в каждом такте.

Из книги М. Гука:
Максимальная пропускная способность 286 - одно слово за два цикла внутренней тактовой
частоты(PCLK). 286 способен генерировать шинные циклы с минимальным периодом в два
такта внутренней тактовой частоты. При частоте процессора 16MHz(внешней, CPU 8MHz)
шинные циклы пойдут с периодом 250ns.Для устройств на шине ISA потребуются
дополнительные такты ожидания.

Время доступа к памяти - время от спада импульса #RAS до появления действительных данных
на выходе. Напомню, что память динамическая и CPU работант с ней посредством контроллера
памяти DRAM, который формирует необходимые управляющие сигналы. Минимальный период
чтения/записи складывается из времени доступа, собственно получением данных и
минимальным интервалом между импульсами RAS#. Если быстордействме памяти
недостаточно, вводятся wait states(с помощью сигнала READY) и еще (только для 286)
задержкой командного импульса системной шины(MEMRD#, MEMWR# итд) относительно
соответствующей фазы адресации и идентификации.

Это если не учитывать конвейерную адресацию, которой на XT еще не было, а появилась
только на 286.

Upd.

Судя по временной диаграмме, максимальная пропускная способность для 088/086
один байт(для088) или одно слово за 4 такта частоты(у 088/86 внешняя и внутренняя частоты одинаковы). Шина данных у 088/086 мультиплексирована.
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
i8088 написал:
[q]
При частоте процессора 16MHz(внешней, CPU 8MHz)шинные циклы пойдут с периодом 250ns
[/q]
То есть с памятью 286й процессор работает с частотой F/4?
И время доступа не напрямую связано с рабочей частотой памяти и вычислять рабочую частоту памяти по формуле 1/T.дост. - нельзя?
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
sanders написал:
[q]
То есть с памятью 286й процессор работает с частотой F/4?
[/q]
По отношению к внешней F/4, по отношению к внутренней(под которой обычно и
понимают тактовую частоту) - F/2. А вот для 8088/86 - F/4.

Те к примеру CPU - 80286 12MHz, T CLK - 83ns, T RAM min 166ns.

Но контроллер памяти вносит(может вносить) свои задержки, например моя Super286E-plus
прославилась самой медленной работой с памятью по сравнению с другими 286.


sanders написал:
[q]
И время доступа не напрямую связано с рабочей частотой памяти и вычислять рабочую частоту памяти по формуле 1/T.дост. - нельзя?
[/q]
Конечно. Минималиный период обращения к памяти складывается из времени доступа, времени
получения данных и временем предзаряда Trp. Trp - это минимальное время нахождения RAS#
в неактивном состоянии(высокий уровень). Еще не забываем про потери времени на
регенерацию(для XT шина памяти периодически занимается каждые 15.6mks).

Но, использование конвеерной адресации, чередования банков, пакетного режима и FPM
позволяет в определенных случаях ускорять работу памяти.

Для 286 может потенциально может использоваться конвеерная адресация, режим FPM
и чередования банков. Для 088/86 может в принципе использоваться режим FPM и
чередование банков, но я не уверен, что это реально применяется на какой либо XT плате.

В случае FPM - доступ может быть ускорен для обращения к ячейкам относящимся к одной
строке матрицы. Минимальный период в этом случае T pc(page CAS time). Например при
времени доступа 100ns, Tpc ~20ns(из книги М. Гука).

Для выхода на максимальную скорость тестовая программа должна все время читать/писать
память и только это, те
REP LODSW чтение из памяти
REP STOSW запись в память
(еще можно проверить скорость пересылки данных REP MOSW).
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
На 286 процессоре на писано 12МГц - это внешняя или внутренняя частота? И на какой частоте он работает с памятью? А далее Вы все же делите 1/12млн и еще на 2.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
sanders написал:
[q]
На 286 процессоре на писано 12МГц - это внешняя или внутренняя частота? И на какой частоте он работает с памятью? А далее Вы все же делите 1/12млн и еще на 2.
[/q]
Внутренняя. Максимальная (теоретически возможная)скорость работы с памятью - 6MHZ. (T 166ns).
Уменьшить скорость можно на сколько угодно, работает он с памятью через контроллер памяти.
Уже на 286 влияние чипсета стало заметным, хотя для моих задач скорость памяти на 286
не сильно важна(в разумных пределах).
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Ясно более-менее.
Если проц 286, то скорость работы с памятью в 2 раза ниже его внутренней частоты, нанесенной на процессор. И память должна быть не хуже, чем T=1/2/Fпроц.
Если проц 8088/8086, то T=1/Fпроц.
Значит, я правильно знал (кроме того, что 286 работает с памятью на половинной частоте). И рассуждение о регенерации, RAS, CAS и т.д. меня сбили с толку. 80-100ns - это память для 10МГц 8088-1, 100-120ns - это для 8088-2 (8МГц) и т.д.
<<Назад  Вперед>> Страницы: 1 2
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Проясните понятия wait-stait и время доступа на примере ХТ
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS