Тест разгона К580ВМ80

8-битные микроконтроллеры и микропроцессоры от Intel и их клоны, а также компьютеры на них построенные

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:Ну если есть такая железка, то РС и непринципиально... хоть со "Специалиста" её заливай... :-?
Принципиально, если эта железяка ISA или вообще PCI...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Этим всем может справится и сам испытуемый: шустрое ПЗУ с тестом, порт управления частотой и какой-нить из видов вывода результата (хоть экран из ОЗУ, хоть семисегментник). ИМХО конечно. Если как следует подойти к решению поставленной задачи, то не нужно будет стрелять из пушки по воробьям.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:Этим всем может справится и сам испытуемый: шустрое ПЗУ с тестом, порт управления частотой и какой-нить из видов вывода результата (хоть экран из ОЗУ, хоть семисегментник). ИМХО конечно. Если как следует подойти к решению поставленной задачи, то не нужно будет стрелять из пушки по воробьям.
А может есть просто какой-то стенд, который можно взять поюзать с
предприятия - тогда не надо городить самодельных "велосипедов и мопедов"...
Не мы же первые столкнулись с такой проблемой?
Last edited by Lavr on 12 Jun 2011 01:38, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:
Lavr wrote:Ну если есть такая железка, то РС и непринципиально... хоть со "Специалиста" её заливай... :-?
Принципиально, если эта железяка ISA или вообще PCI...
ISA или вообще PCI - это не исключительно РС аттрибуты. Тем более что
они почти везде померли, чтобы ориентироваться на них - да и неудобно это
совать макетку двойного размера в корпус к PCI...
Раз уж отдельная железка и заливаем медленно - так хоть LPT, хоть RS-232...
Да и смысл - мучаться с PCI если скорость ею не обеспечивается и нужны отдельные
схемные решения...
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Мне кажется тест должен быть чем-то типа фразы у телеграфистов:
"The quick brown fox jumps over the lazy dog"

То есть, это должна быть программа, включающая все или большинство
команд процессора, причем результат выполнения предыдущей командой
используется следующей командой, а корректность теста проверяют по
известному результату.

Я встречал такой трюк в “Picaro”:viewtopic.php?t=9286

Code: Select all

01C           MVIL 10  8A         Specify count
01D           MOVR 4   64         Store count
01E           MVIL 1   81         Specify low nibble
01F           MVIH 4   94         Specify high nibble
020     SERO           04         Send character
021     INC 0    C0         Increment character
022     DEC 4    CC         Decrement count
023     JNZ             F0         Jump back unless done
024              20         Destination address
025     CALL           D8         Send CRLF
026                 4A
027     MVIL 13  8D
028     MOVR 1   61    Set index to 13
029     MVIL 10  8A    Accum = 0AH
02A     MOVR 3   63    Set counter to 10
02B     MVIH 5   95    Accum = 5AH
02C     INXO     0A    Write to indexed register
02D     ADD 0    40
02E              29    Add 29H to accu
02F     DEC 1    C9    Decrement index register
030     DEC 3    CB    Decrement counter
031     JNZ      F0    Jump to loop
032              2C
033     MOVA 13  7D    Start testing arithmetic
034     XOR 8    38
035     AND 6    16
036     ADD 11   4B
037     OR  4    24
038     SUB 6    56
039     SWAP     07
03A     XOR 0    30     Check result
03B              67
03C     JZ       F8
03D              45
03E     TYPE        06
03F                 04
040                 4F     "O"
041                 6F     "o"
042                 70     "p"
043                 73     "s"
044     EXIT        0F     Return to system

045     TYPE        06
046                 02
047                 4F     "O"
048                 4B     "k"
Вероятно, так же можно проверить точность эмуляции...
Тест точности эмуляции 8080
viewtopic.php?t=8790&start=0
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

HardWareMan wrote:Этим всем может справится и сам испытуемый: шустрое ПЗУ с тестом, порт управления частотой и какой-нить из видов вывода результата (хоть экран из ОЗУ, хоть семисегментник).
По-моему, самое простое и правильное решение. Собрать на макетке генератор тактовых импульсов на заведомо более быстрой логике, с возможностью регулировки частоты. Подключить быстрое статическое ОЗУ. ПЗУ можно и медленное, только предусмотреть в прошивке копирование теста в ОЗУ. Присоединить один-два светодиода. Запустить на низкой скорости программу, пусть она "переберётся" в быстрое ОЗУ, выполнит один цикл проверки, результаты запомнит и засветит зелёный светодиод. После этого постепенно поднимаем частоту, а программа в цикле проводит тестирование, сравнивает результат с предыдущим. Если отклонений нет, горит зелёный светодиод, если отклонения обнаружены, загорается красный, это и есть предельная частота. Мне кажется, на макетке схему сваять получится очень быстро, ну а написание программы займёт побольше времени.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

А при зависании программы мы имеем вечнозеленый светодиод. :3 Нужен еще и вочдог, который отследит спонтанное зависание, если вдруг оно будет. А в остальном поддерживаю.
С другой стороны - это все синтетика. Нужно делать так, как делают оверклокеры для РС: повышаем такты и херячим тяжелые программы на полезную нагрузку.
Last edited by HardWareMan on 12 Jun 2011 07:06, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:Собрать на макетке генератор тактовых импульсов на заведомо более быстрой логике, с возможностью регулировки частоты. После этого постепенно поднимаем частоту, а программа в цикле проводит тестирование, сравнивает результат с предыдущим. Если отклонений нет, горит зелёный светодиод, если отклонения обнаружены, загорается красный, это и есть предельная частота. Мне кажется, на макетке схему сваять получится очень быстро, ну а написание программы займёт побольше времени.
Экземляра так примерно 3 тестов гоняли вот здесь:
http://zx.pk.ru/showthread.php?t=9826&page=15
Но я пока не пришел к выводу о их пригодности т.к.
время выполнения лучшего - порядка 3-х часов...
Да и результаты как-то неоднозначно трактуются.
Тут неделю ручку частоты крутить придётся. :wink:
Но тесты я всёж скачал для примера.
Last edited by Lavr on 12 Jun 2011 09:20, edited 1 time in total.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

HardWareMan wrote:А при зависании программы мы имеем вечнозеленый светодиод. :3 Нужен еще и вочдог, который отследит спонтанное зависание, если вдруг оно будет.
Правильно. Но тогда можно поставить два зелёных светодиода и переключать их между собой в каждом цикле. Пока светятся попеременно (для глаза - оба), всё нормально, как только зажёгся один, а второй погас - значит, приехали. А вообще, могут быть и другие идеи по индикации (к примеру, ждущий мультивибратор, который каждый цикл перезапускается, и т.п.).
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Lavr wrote: время выполнения лучшего порядка 3-х часов...
Да и результаты как-то неоднозначно трактуются.
Мне кажется, для получения результата в первом приближении вполне хватит получаса. Ведь не очень важно, на какой частоте виснет проц - 3МГц или 3,003МГц. Поднял частоту на 200кГц, 3 минуты на тест, чтоб прогрелся, и так далее.

А вообще, применимо к ВМ80 лично я противник всяких разгонов. Вот если самодельный процессор потестировать - тогда да, есть прямой резон.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:А вообще, применимо к ВМ80 лично я противник всяких разгонов. Вот если самодельный процессор потестировать - тогда да, есть прямой резон.
Что так? 580ВМ80 военной приёмки гонится - но не знаю насколько...
Image
У меня есть - интересно бы его на рывок проверить. :wink:

Естественно сейчас речь идёт - самодельное АЛУ потестировать на максимум,
ожидаю траблы с последовательным переносом при сложении-вычитании.
А ПЗУ - ограничит скорость Устройства Управления и Синхронизации. Нада
оценить на каком уровне.

За диаграммы - благодарю. HardWareMan-а - тоже!
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Lavr wrote: Что так? 580ВМ80 военной приёмки гонится
Мне кажется, выгода от 100% устойчивой работы гораздо выше сомнительных преимуществ 20% роста производительности. Общеизвестно, что основную массу времени процессор в любой системе простаивает.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:
Lavr wrote: Что так? 580ВМ80 военной приёмки гонится
Мне кажется, выгода от 100% устойчивой работы гораздо выше сомнительных преимуществ 20% роста производительности. Общеизвестно, что основную массу времени процессор в любой системе простаивает.
А ему главное тепло успешно отвести. В остальном - нет "асаблывых"
причин у него работать ненадёжно...
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:С другой стороны - это все синтетика. Нужно делать так, как делают оверклокеры для РС: повышаем такты и херячим тяжелые программы на полезную нагрузку.
Кто бы нам написал этих тяжолых программ - а то я не против - захерячили бы... :wink:
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Разве есть "тяжёлые" программы для таких процессоров? Разве у них есть зависимость потребляемой мощности от того, какие команды выполняются? Я думаю, простой перебор с помощью NOP ничем не хуже других выполняющихся команд по "прогреву" процессора. Хотя сам я не экспериментировал в этом вопросе. :)