Портал аспирантов
 

Вернуться   Портал аспирантов > Общие > Свободное общение

Ответ
 
Опции темы
Старый 17.06.2011, 11:34   #21
Paul Kellerman
Gold Member
 
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,830
По умолчанию

А вообще с макросами я тоже раньше любил поизголяться. Было время, когда
писал свой макросовый "add-on" для Turbo Assembler, чтобы можно было в про-
граммах использовать SSE-инструкции процессора Pentium III, который тогда
только-только вышел, 97-й кажись год был, и очень хотелось SSE попробовать.
Вложения
Тип файла: txt pentium3.txt (76.4 Кб, 3 просмотров)

Последний раз редактировалось Paul Kellerman; 17.06.2011 в 12:33.
Paul Kellerman вне форума   Ответить с цитированием
Реклама
Старый 17.06.2011, 14:05   #22
saovu
Gold Member
 
Регистрация: 07.09.2005
Сообщений: 1,326
По умолчанию

Вообще-то решений тут я и не ждал (gav просил вопросики).
Но раз пошла такая пьянка.

Цитата:
Сообщение от PavelAR Посмотреть сообщение
Дальний jump по абсолютному адресу, который вычисляется на этапе компиляции.
16-битное смещение зависит от положения точки применения макроса в исходном
коде, 16-битный сегментный адрес берется из того, что передается как параметр,
который тоже подставляется на этапе компиляции. Подобный прием используется
везде, где требуется сбросить конвейер процессора, чтобы избежать конфликтов.
Да, разумеется.
Кстати, это вполне официальный способ рекомендуемый Интелом для очистки конвейера команд. Я так понимаю, что особую команду для этого заводить не стали (для экономии, ага; тем более она бы использовалась крайне редко) - поскольку уже есть побочное действие другой команды, дающее нужный результат.

На последнюю часть вопроса
Цитата:
Сообщение от saovu Посмотреть сообщение
для чего-почему он используется строго СРАЗУ ЖЕ после включения защищенного режима процессора
не ответили


Цитата:
Сообщение от PavelAR Посмотреть сообщение
4-байтная переменная, для хранения адреса (16-битный сегмент: 16-битное
смещение) обработчика прерывания, по совместительству выполняющая роль
исполняемого кода (jump на метку begin). При установке новых обработчиков
переменная разумеется модифицируется, и уже не годится для исполнения
Это верно.
На самом деле смысл этого кода в экономии 4 байт.
Переменная будет объявлена и затрет программный код, который уже точно не будет нужен к моменту использования переменной.
saovu вне форума   Ответить с цитированием
Старый 17.06.2011, 14:16   #23
gav
Silver Member
 
Аватар для gav
 
Регистрация: 03.09.2004
Сообщений: 895
По умолчанию

saovu, да, хорошие вопросики. особенно про конвейер команд, возьму на вооружение, вот нечто подобное и нужно
А насчет устного счета, то это скорее против непонятно откуда взявшейся проблемы.
Определенный процент студентов каждый год, почему то считает, что в паре
mov ax,4c00h
int 21h
Именно первая команда завершает работу досовской программы. При том, что команда mov - самая популярная в различных примерах. Этот пример достаточно эффективно отрезвляет.
gav вне форума   Ответить с цитированием
Старый 17.06.2011, 14:27   #24
saovu
Gold Member
 
Регистрация: 07.09.2005
Сообщений: 1,326
По умолчанию

Цитата:
Сообщение от gav Посмотреть сообщение
Определенный процент студентов каждый год, почему то считает, что в паре
mov ax,4c00h
int 21h
Именно первая команда завершает работу досовской программы
Зная нонешних студентов - охотно верю.
saovu вне форума   Ответить с цитированием
Старый 18.06.2011, 11:44   #25
Ink
Киберпанк
 
Регистрация: 24.04.2009
Сообщений: 10,958
По умолчанию

Между делом хотелось бы узнать: для чего нужны вот такие профессиональные видеокарты и почему они так дорого стоят?
Ink вне форума   Ответить с цитированием
Старый 18.06.2011, 13:06   #26
saovu
Gold Member
 
Регистрация: 07.09.2005
Сообщений: 1,326
По умолчанию

Цитата:
Сообщение от Ink Посмотреть сообщение
для чего нужны вот такие профессиональные видеокарты
ну там же написано
Цитата:
приложениях проектирования, анимации и видеообработки.
Цитата:
Сообщение от Ink Посмотреть сообщение
почему они так дорого стоят
Цитата:
Видеокарта PNY Quadro 5000 2560MB оснащена 2,5 Гб графической памяти GDDR5, 352 процессорами параллельных вычислений NVIDIA CUDA и передовой архитектурой Fermi.
352 процессора - не шутки.
saovu вне форума   Ответить с цитированием
Старый 18.06.2011, 13:09   #27
Ink
Киберпанк
 
Регистрация: 24.04.2009
Сообщений: 10,958
По умолчанию

saovu, а обычная видеокарта? Ведь она то же может работать в
Цитата:
Сообщение от saovu Посмотреть сообщение
приложениях проектирования, анимации и видеообработки.
Т.е всё дело в
Цитата:
Сообщение от saovu Посмотреть сообщение
352 процессора
?
А практическое применение?
Ink вне форума   Ответить с цитированием
Старый 19.06.2011, 12:28   #28
saovu
Gold Member
 
Регистрация: 07.09.2005
Сообщений: 1,326
По умолчанию

Графика это такое дело, что "чем больше, тем лучше" и разумный предел наступит только когда будет достигнута реалистичность (тавтология) реального мира.


gav, да в ответе на вопросик про две метки, я оговорился: смысл кода в экономии 3 байт ! (а не четырёх)

Поскольку PavelAR не появляется, то сам же отвечу на последнюю часть вопроса про конвейер.
Код очистки конвейера используется строго СРАЗУ ЖЕ после включения защищенного режима процессора потому что в конвейер выбраны команды с адресацией (для тех команд где в качестве операндов - адреса) по правилам реального режима, а переключение в защищенный режим меняет, в том числе, все правила адресации.
saovu вне форума   Ответить с цитированием
Старый 20.06.2011, 09:11   #29
Paul Kellerman
Gold Member
 
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,830
По умолчанию

Цитата:
Сообщение от saovu Посмотреть сообщение
что в конвейер выбраны команды с адресацией (для тех команд где в
качестве операндов - адреса) по правилам реального режима
Угу, адресация в защищенном режиме на порядок, а то и на два порядка сложнее
(если страничная адресация еще включена). JMP в вышеуказанной форме помимо
сброса конвейра заставляет еще в CS новый селектор загрузить, насколько помню.

Цитата:
Сообщение от saovu Посмотреть сообщение
Зная нонешних студентов - охотно верю
Некоторые даже уверены, что сначала появилась винда, графический интерфейс,
ворд-эксель, а уж потом специально ради всего этого придумали процессоры x86
Paul Kellerman вне форума   Ответить с цитированием
Старый 20.06.2011, 11:32   #30
saovu
Gold Member
 
Регистрация: 07.09.2005
Сообщений: 1,326
По умолчанию

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

Принес (шоб им стыдно стало) показать выполненную мной (в 1995 году и тоже на 2-ом курсе) аналогичную работу, причем еще и с весьма навороченным UI в текстовом режиме (чего в данном случае от них точно не требовалось).

Студенты притихли. Работу, правда, всё равно не выполнили.

Вот, прилагаю свое творение.
Вложения
Тип файла: zip ObratnMatr.zip (61.7 Кб, 6 просмотров)
saovu вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 22:56. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»
Рейтинг@Mail.ru