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

Полигон-2

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

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

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

Полигон-2 »   Технический флейм »   Самая большая legacy
RSS

Самая большая legacy

Система команд x86

<<Назад  Вперед>> Страницы: 1 2 3 * 4
Печать
 
Fe-Restorator
Гость

Ссылка

DrPass написал:
[q]
M$ Visual C++ еще годится для процедурного, и Embarcadero Delphi все еще в строю.
[/q]
Не настолько-уж они современные, не умеют одновременно с "чисто 486" особенностями программировать "множество потоков под ядра i7", например. Либо одно, либо другое. Более того, ассемблеры тож перестали содержать опции, генерирующие код под 386-486, и винить их за сей "промах" по меньшей мере - безосновательно.
DrPass написал:
[q]
Программист на ассемблере обычно знает инструкцию LOOP и использует ее. А компилятор при компиляции циклов возьмет регистр-счетчик и будет его декрементировать инструкцией DEC. Почему? А потому что так на самом деле быстрее, чем LOOP
[/q]
Снова вопрос об виртуозности программиста, а не об ТТХ проца/компилятора! Хороший программист изучил сию особенность архитектуры, и заранее "вывернул цикл наизнанку", в точности, как это делает компилятор, одновременно, выиграв десяток тактов/циклов у того-ж компилятора. Более того, компилятор создавался и оптимизировался именно на основе приёмов эффективного программирования квалифицированными людьми. ;) Иначе - мгновенно получается Болген-ОС, или как её там зовут... :biggrin:
Сейчас на форуме
User 0
Junior Member


Откуда: Moscow
Всего сообщений: 112
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 дек. 2007
DrPass написал:
[q]
А потому что так на самом деле быстрее, чем LOOP
[/q]
Когда я приобрел компьютер на базе Celeron 1,2 ГГц, мне стало интересно посчитать его производительность по старому принципу «сложение „регистр+регистр”». Я написал программу, где блок из 16384 команд целочисленного сложения множество раз вызывался из LOOP-цикла. И, по-моему, именно эта программа на Celeron выполнялась гораздо дольше, чем на AMD K6-166. Может, из-за особенностей устройства конвейера, не знаю точно.
Fe-Restorator
Гость

Ссылка

User 0 написал:
[q]
И, по-моему, именно эта программа на Celeron выполнялась гораздо дольше, чем на AMD K6-166.
[/q]
Сферическая лошадь в вакууме. Текст программы где?
Вот, селерон-800, заторможенный аппаратно до 200, выполняет ASM-проги медленнее, чем первопень 200. Зато, доступ к памяти за пределом мегабайта у щелерона выше, несмотря на искусственную заторможенность. Исчаз мене кето-то выскажет ценнейшую мыслю об фиксированности множителя щелеронов...
Сейчас на форуме
Fe-Restorator
Гость

Ссылка

Ну, в щелеронах регистры EAX, а не просто AX, как в твоей проге, и при вызове "полрегистра" всякий раз срабатывает автообнуление старших битов, что есмь опция/фича компилятора... А ежли не быто перекомпиляции под щелерон - то отбрасывание старших битов при вызове биос-функций, те-ж я..., только в-профиль.
Сейчас на форуме
User 0
Junior Member


Откуда: Moscow
Всего сообщений: 112
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 дек. 2007
Fe-Restorator написал:
[q]
и при вызове "полрегистра" всякий раз срабатывает автообнуление старших битов, что есмь опция/фича компилятора
[/q]
Это не так. При обращении к AX в любом режиме старшее слово EAX остается неприкосновенным (как и старший байт AX при обращении к AL).
La Forge
Advanced Member
Lt. Cmdr.

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


Ссылка


Дата регистрации на форуме:
16 нояб. 2012
Fe-Restorator учите матчась. Регистры EAX. EBX и т.д. появились в 386-м. И пень и селерон и вообще любой 32-х разрядный проц их содержит
User 0
Junior Member


Откуда: Moscow
Всего сообщений: 112
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 дек. 2007
La Forge, спорим, что не любой 32-разрядный :). У меня есть ARM, но в нем нет EAX.
По поводу матчасти: компьютеры и программы к ним стали настолько сложны, что невозможно быть компетентным во всех областях, как 30 лет назад.
La Forge
Advanced Member
Lt. Cmdr.

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


Ссылка


Дата регистрации на форуме:
16 нояб. 2012
АРМ это не процы, а так,выдри...ки. Паразитирующая архитектура живущая по принципу "у кого бы чего содрать?". И пусть сейчас их много...ну так жуков колорадских тоже много. И это временно. (я не про жуков :) )
[q]
Только бы не смешивать в ходе диалога предположения и догадки с фактами
[/q]
Тут я только ЗА
Fe-Restorator
Гость

Ссылка

User 0 написал:
[q]
Это не так. При обращении к AX в любом режиме старшее слово EAX остается неприкосновенны
[/q]
Fe-Restorator написал:
[q]
автообнуление старших битов, что есмь опция/фича компилятора...
[/q]
Читай внимательнее: компилятора, а не проца! Проц тупой, автоматически почти ничего не умеет в плане подмены кода! Однако, на обнуление тратятся такты, например: XOR EAX,EAX, MOV EAX,1... Причём, сперва нужно привести конструкцию MOV AL,2 к виду MOV EAX,0002h!!!
ЗЫ. Все мы, хором, отклонились от темы. ТС вопрошал, будет-ли код отличаться, и правильный ответ - будет, однозначно. Даже при оптимизации "под старый проц". Ибо по конструкции MOV EAX,0002h трудно определить, адресуется весь AX или только его половинка, AL/AH!!! Более того, компилятор уже заточен оперировать половинками EAX, т.е. целыми регистрами 8086, без деления на их половинки, и на 8088 такой код неоперабелен, на 60% минимум.
Иными словами, у современных процов давно-уж нет "наследия 8086", в том виде, как сие утверждал ТС. Говорить, что i7 строго следует "архитектуре и принципам 8086" - неверно, принципиально! Современные процы поддерживают программирование "в стиле х8086", ценою потери 97% производительности всего компа.

La Forge написал:
[q]
Fe-Restorator учите матчась.
[/q]
Сделай сие смостоятельно, ОК? Листинг, приведённый ТС вообще EAX не содержит, об чём пляшет весь мой пост. Запроси его у ТС, зря он спрятал листинг под "требование через ЛС".
И впредь, знай, где звон, прежде, чем его услышишь.
Сейчас на форуме
La Forge
Advanced Member
Lt. Cmdr.

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


Ссылка


Дата регистрации на форуме:
16 нояб. 2012
Автор, текст проги в студию pls.
Fe-Restorator, повежливее pls.
<<Назад  Вперед>> Страницы: 1 2 3 * 4
Печать
Полигон-2 »   Технический флейм »   Самая большая legacy
RSS

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

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

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