Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Самая большая legacy |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 | Печать |
Fe-Restorator |
Сообщение отправлено: 16 марта 2013 22:09 Сообщение отредактировано: 16 марта 2013 22:12
DrPass написал: Не настолько-уж они современные, не умеют одновременно с "чисто 486" особенностями программировать "множество потоков под ядра i7", например. Либо одно, либо другое. Более того, ассемблеры тож перестали содержать опции, генерирующие код под 386-486, и винить их за сей "промах" по меньшей мере - безосновательно. M$ Visual C++ еще годится для процедурного, и Embarcadero Delphi все еще в строю. DrPass написал: Снова вопрос об виртуозности программиста, а не об ТТХ проца/компилятора! Хороший программист изучил сию особенность архитектуры, и заранее "вывернул цикл наизнанку", в точности, как это делает компилятор, одновременно, выиграв десяток тактов/циклов у того-ж компилятора. Более того, компилятор создавался и оптимизировался именно на основе приёмов эффективного программирования квалифицированными людьми. Иначе - мгновенно получается Болген-ОС, или как её там зовут... Программист на ассемблере обычно знает инструкцию LOOP и использует ее. А компилятор при компиляции циклов возьмет регистр-счетчик и будет его декрементировать инструкцией DEC. Почему? А потому что так на самом деле быстрее, чем LOOP |
Сейчас на форуме |
User 0
Junior Member
Откуда: Moscow Всего сообщений: 112 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 25 дек. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 22:20 Сообщение отредактировано: 17 марта 2013 23:24
DrPass написал: Когда я приобрел компьютер на базе Celeron 1,2 ГГц, мне стало интересно посчитать его производительность по старому принципу «сложение „регистр+регистр”». Я написал программу, где блок из 16384 команд целочисленного сложения множество раз вызывался из LOOP-цикла. И, по-моему, именно эта программа на Celeron выполнялась гораздо дольше, чем на AMD K6-166. Может, из-за особенностей устройства конвейера, не знаю точно. А потому что так на самом деле быстрее, чем LOOP |
Fe-Restorator |
NEW! Сообщение отправлено: 16 марта 2013 22:25 Сообщение отредактировано: 16 марта 2013 22:28
User 0 написал: Сферическая лошадь в вакууме. Текст программы где? И, по-моему, именно эта программа на Celeron выполнялась гораздо дольше, чем на AMD K6-166. Вот, селерон-800, заторможенный аппаратно до 200, выполняет ASM-проги медленнее, чем первопень 200. Зато, доступ к памяти за пределом мегабайта у щелерона выше, несмотря на искусственную заторможенность. Исчаз мене кето-то выскажет ценнейшую мыслю об фиксированности множителя щелеронов... |
Сейчас на форуме |
Fe-Restorator |
NEW! Сообщение отправлено: 16 марта 2013 22:46
Ну, в щелеронах регистры EAX, а не просто AX, как в твоей проге, и при вызове "полрегистра" всякий раз срабатывает автообнуление старших битов, что есмь опция/фича компилятора... А ежли не быто перекомпиляции под щелерон - то отбрасывание старших битов при вызове биос-функций, те-ж |
Сейчас на форуме |
User 0
Junior Member
Откуда: Moscow Всего сообщений: 112 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 25 дек. 2007 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 22:50 Сообщение отредактировано: 16 марта 2013 23:33
Fe-Restorator написал: Это не так. При обращении к 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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 23:33 Сообщение отредактировано: 17 марта 2013 8:59
La Forge, спорим, что не любой 32-разрядный . У меня есть ARM, но в нем нет EAX. По поводу матчасти: компьютеры и программы к ним стали настолько сложны, что невозможно быть компетентным во всех областях, как 30 лет назад. |
La Forge
Advanced Member
Lt. Cmdr. Откуда: Рязань Всего сообщений: 3248 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 нояб. 2012 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 марта 2013 23:51 Сообщение отредактировано: 16 марта 2013 23:54
АРМ это не процы, а так,выдри...ки. Паразитирующая архитектура живущая по принципу "у кого бы чего содрать?". И пусть сейчас их много...ну так жуков колорадских тоже много. И это временно. (я не про жуков ) Тут я только ЗА Только бы не смешивать в ходе диалога предположения и догадки с фактами |
Fe-Restorator |
NEW! Сообщение отправлено: 17 марта 2013 0:10 Сообщение отредактировано: 17 марта 2013 0:43
User 0 написал: Fe-Restorator написал: Это не так. При обращении к AX в любом режиме старшее слово EAX остается неприкосновенны Читай внимательнее: компилятора, а не проца! Проц тупой, автоматически почти ничего не умеет в плане подмены кода! Однако, на обнуление тратятся такты, например: 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 написал: Сделай сие смостоятельно, ОК? Листинг, приведённый ТС вообще EAX не содержит, об чём пляшет весь мой пост. Запроси его у ТС, зря он спрятал листинг под "требование через ЛС". Fe-Restorator учите матчась. И впредь, знай, где звон, прежде, чем его услышишь. |
Сейчас на форуме |
La Forge
Advanced Member
Lt. Cmdr. Откуда: Рязань Всего сообщений: 3248 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 нояб. 2012 |
Автор, текст проги в студию pls. Fe-Restorator, повежливее pls. |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 | Печать |
Полигон-2 » Технический флейм » Самая большая legacy |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |