Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Проясните понятия 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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2015 12:40 Сообщение отредактировано: 17 октября 2015 19:45
sanders написал: XT нет, но могу замолвить пару слог про 286: Пример2: 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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2015 12:49 Сообщение отредактировано: 17 октября 2015 12:53
Не понятно. если подразумевается изначально ws=0, тогда для процессора 16МГц нужна память 60нс и менее. 70нс - это небольшой разгон для памяти, а 80 - вообще в полтора раза. Для 25МГц нужна вообще память 40нс. Как там могла работать память 70нс - непонятно. Но ведь разгон - да? Правильно ли я считаю, поделив 1 на время доступа и получив максимальную частоту, на которой память будет работать при ws=0? Или нужно/можно вводить какой-то коэффициент? Например, может, как в последних строчках Ekb упомянул - шина работы с памятью уже рассчитана на меньшую частоту, чем ядро? Меня интересуют в этом плане 8088/8086 и 80286 процы. Ekb, просьба дополнить свое сообщение тестовой прогой. Когда наведу порядок с памятью и материнками, начну тестить. |
Ekb
Advanced Member
Всего сообщений: 1628 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 июня 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2015 13:15 Сообщение отредактировано: 17 октября 2015 13:35
sanders написал: Да, это разгон. Потому что одна группа 60ns от какой-то фирмы - не заработал. Заработал только Siemens 60ns. Для 25МГц нужна вообще память 40нс. Как там могла работать память 70нс - непонятно. Но ведь разгон - да? Разгон составил в 1,5 раз. Siemens - молодцы sanders написал: в просьба дополнить свое сообщение тестовой прогой.другой теме, есть три основных бенчмарка: http://www.phantom.sannata.ru/...y=48455028 В ближайшее время, думаю дополнить Wolf3D с его встроенным бенчмарком. Но печально то что нет поддержки XT. Точнее есть перекомпилированный EXEшник для XT (проц 8088 или NEC V20), но тогда нет встроенного бенчмарка А так уже набран большой архив бенчмарков |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2015 15:20 Сообщение отредактировано: 17 октября 2015 15:29
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 написал: То есть с памятью 286й процессор работает с частотой F/4? При частоте процессора 16MHz(внешней, CPU 8MHz)шинные циклы пойдут с периодом 250ns И время доступа не напрямую связано с рабочей частотой памяти и вычислять рабочую частоту памяти по формуле 1/T.дост. - нельзя? |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2015 19:36 Сообщение отредактировано: 17 октября 2015 19:52
sanders написал: По отношению к внешней F/4, по отношению к внутренней(под которой обычно и То есть с памятью 286й процессор работает с частотой F/4? понимают тактовую частоту) - F/2. А вот для 8088/86 - F/4. Те к примеру CPU - 80286 12MHz, T CLK - 83ns, T RAM min 166ns. Но контроллер памяти вносит(может вносить) свои задержки, например моя Super286E-plus прославилась самой медленной работой с памятью по сравнению с другими 286. sanders написал: Конечно. Минималиный период обращения к памяти складывается из времени доступа, времени И время доступа не напрямую связано с рабочей частотой памяти и вычислять рабочую частоту памяти по формуле 1/T.дост. - нельзя? получения данных и временем предзаряда 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 написал: Внутренняя. Максимальная (теоретически возможная)скорость работы с памятью - 6MHZ. (T 166ns). На 286 процессоре на писано 12МГц - это внешняя или внутренняя частота? И на какой частоте он работает с памятью? А далее Вы все же делите 1/12млн и еще на 2. Уменьшить скорость можно на сколько угодно, работает он с памятью через контроллер памяти. Уже на 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 и время доступа на примере ХТ |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |