Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
"Ассемблер? Это просто! Учимся программировать (FAQ)"
Выпуск № 206
от 05.03.2002, 02:05
Администратор: Калашников Олег
Сайт Администратора: Программирование на Ассемблере
Старейшины рассылки |
1. Broken Sword - ответов: 367. 2. Painbringer (нечто наподобие домашней страницы) - ответов: 357. 3. Sensey - ответов: 312. 4. Dron (Операционная система с нуля!) - ответов: 255. 5. DiGiT - ответов: 244. |
Новости |
Вопрос № 46 |
Здравствуйте, эксперты!
У меня ужасная проблема:
у нас в универе проводится компьютерное тестирование,
на компах стоят Windows NT, но есть доступ в локальную сеть -
в частности на мою страничку, откуда можно было бы запустить прогу-шпаргалку
Но.... :( как только я запускаю свою софтину - вылазиет сообщение
о нарушении прав доступа и через несколько минут прибегает
админ (полный ламер) с криком "У КОГО ДИСКЕТА" ]:-[]
Что делать? ПОМОГИТЕ please!!! Очень нада прогу запустить.....
Отправитель: CoolerTheGreat
Вопрос отправлен: 28.02.2002, 02:20
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32
_______________
Отвечает DiGiT
Здравствуйте, CoolerTheGreat!
Какую то прогу написали. А какую прогу то ты собираешься запустить, может там стоит белый список, тогда нужно отгрузить эту прогу. Да там может быть все что угодно. Млин если админ ламер, ты его что обмануть не можешь. А полный ламер это ты. У нас тоже в универе таких дофига, там пришлось на win98 лепить вещь типа антиквейк и прочее. Вроде воркает. Пиши поконкретнее может поможем если сильно надо. Тока прямо на мыло.
Отправлено: 01.03.2002, 09:03
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 244)
ICQ:133534725
Russia(),Student
Вопрос № 47 |
Есть EXE фаил и картинка BMP как их объединить чтобы картинка показывалась при работе программы ?
Отправитель: good_angel (angel_tu@mail.ru)
Вопрос отправлен: 28.02.2002, 10:23
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает AllAddIn
Добрый день, good_angel!
Совет, прекрепи картинку к файлу, Append, а вот в проге в конце после RET постави метку BITMAP___, и все что будет прикреплено к концу файла будет принадлежать метке BITMAP___
Отправлено: 28.02.2002, 19:48
Отправитель: AllAddIn (регистрация: 28/12/2001, ответов на счету: 30)
_______________
Отвечает baldr
Приветствую Вас, good_angel!
Эх... Я аж слов найти не могу...
Вообще говоря, эта программа должна выводить эту картинку сама - то есть, переходить в
соответствующий графический режим, настраивать системную палитру, тоже если надо,
читать файл посимвольно и выводить в соответствующие координаты соответствующие цветные точки.
Вообще-тО, это все просто...
А объединить - это как? Можно, конечно, засобачить эту картинку в exe-файл, но это не есть
пример хорошего стиля написания приложений...
Отправлено: 28.02.2002, 23:45
Отправитель: baldr (регистрация: 28/12/2001, ответов на счету: 94)
URL: http://www.dospage.far.ru - Сайт об ОС DOS. Всем, кто любит эту ОС!
Россия, г. Семенов, Нижегородская обл.
_______________
Отвечает Nek
Добрый день, good_angel!
Что значит объединить ? Если твой экзешник, то тогда вставить в исходник процедуру
вывода картинок, если нет, то взать какимнить "клеем" склеить два экзешника исходный и еще один,
который будет выводить эту картинку. А вообще под какую ОС?
Отправлено: 01.03.2002, 05:26
Отправитель: Nek (регистрация: 16/02/2002, ответов на счету: 16)
fUcKraine, Kh
Вопрос № 48 |
Есть EXE фаил и картинка BMP как их объединить чтобы картинка показывалась при работе программы ?
Отправитель: good_angel (angel_tu@mail.ru)
Вопрос отправлен: 28.02.2002, 10:24
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Kurt
Здравствуйте, good_angel!
Поместить BMP в ресурсы твоей программы. См. приложение.
Приложение:
Отправлено: 28.02.2002, 11:27
Отправитель: Kurt (регистрация: 08/02/2002, ответов на счету: 4)
ICQ #99826732
Россия
_______________
Отвечает DiGiT
Добрый день, good_angel!
тебу надо ее пихать в ресурсы. Если у тебя delphi or builder. То там все просто. А если например в Borland с там есть редактор ресурсов. А потом в проге пишешь LoadFromRecource(..)
А на асме фиг знает что то вроде етого.
Отправлено: 01.03.2002, 08:54
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 244)
ICQ:133534725
Russia(),Student
Вопрос № 49 |
Категорически приветствую,
У меня такой вопрос (даже два):
1. В ЛинуХе (ЮниХе) есть необратимая функция кодирования паролей, формулу я где то видел, но не понял как она работает... Кто нить может обьяснить? и показать релизацию в асме и дельфе?
2. Опять же про ЛинуХ. У кого нить получилось заставить Самбу работать с 2000 НыТёй? Какая там заморочка??? Сразу говорю - Самба 2.2.2
Отправитель: Roman (fluck@rambler.ru)
Вопрос отправлен: 28.02.2002, 11:56
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает rusty knight
Здравствуйте, Roman!
Это HASH функция
Отправлено: 28.02.2002, 17:33
Отправитель: rusty knight (регистрация: 13/02/2002, ответов на счету: 10)
_______________
Отвечает jc
Добрый день, Roman!
В линухе и в юнихе используются несколько стандартов щифрования DES и MD5 их описание и реальизацию можно найти на сайте blackwol.da.ru
Самбу настраивать у меня получалось только на что конкретно ? На сетевой принтер ? На взаимодейстивие ? или что то другое пожалуйста уточни !
Отправлено: 01.03.2002, 11:50
Отправитель: jc (регистрация: 05/02/2002, ответов на счету: 26)
Россия, Йошкар-Ола
Вопрос № 50 |
Уважаемые эксперты! Помогите, пожалуйста, с получением кода возврата от Dos-программ (н., от arj) в прикладной программе (н., написанной на Fox-е). Если будете предлагать обработку в .bat файле с помощью errorlevel, то или напомните pls синтаксис, или укажите, где в Inet-e можно найти описание. Если это можно решить программно - еще лучше.
Кстати, каким бы (документированным) средством Windows можно решить вопросы создания/распаковки архива ?
Да, еще один вопрос - есть ли в Win32 функция, которая устанавливает заданную цветовую схему (н., сброс настроек после "творчества" пользователя в стандартную схему)
Заранее благодарен.
Отправитель: George (tyrin@tut.by)
Вопрос отправлен: 28.02.2002, 13:40
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32
_______________
Отвечает baldr
Добрый день, George!
Вот, насчет .bat-файлов - на моем сайте есть статья на эту тему - писал все сам, есть примеры
из жизни... Скоро еще будут.
А если из других программ - так это просто запускаешь процесс (ну, то есть, тот же arj) из
нее, а по завершении его имеешь код завершения. Извиняюсь, не помню номер функции DOS - не
то 4Bh, не то еще какая...
Не совсем понял про создание/распаковки средствами винды... А почему бы не написать тот
же пакетный файлик, который из командной строки берет все, что Вам надо запаковать... Можно
добавить в контекстное меню на правой мышке... В общем, час-полтора настраивать, зато потом
всю жизнь :) иметь удобный сервис и чувство собственного достоинства!
Если сильно надо, пишите мне - поподробнее только, там разберемся...
Установка заданной цветовой схемы - однозначно, в реестре.
Отправлено: 28.02.2002, 23:46
Отправитель: baldr (регистрация: 28/12/2001, ответов на счету: 94)
URL: http://www.dospage.far.ru - Сайт об ОС DOS. Всем, кто любит эту ОС!
Россия, г. Семенов, Нижегородская обл.
Вопрос № 51 |
Здарова Эксперты. А как можно инициализировать режим, возникающий при нажатии клавиш alt+f9 в norton commander?
Отправитель: V-elican
Вопрос отправлен: 28.02.2002, 16:50
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает vitya
Доброе время суток, V-elican!
С помощью прерывания BIOS int 10h функция
АH = 00h
AL = то что тебе требуется.
Отправлено: 28.02.2002, 16:56
Отправитель: vitya (регистрация: 03/01/2002, ответов на счету: 28)
103935193
Armenia, Yerevan
_______________
Отвечает AllAddIn
Приветствую Вас, V-elican!
Я точно не помню, но это третий режим с каким то установленным битом, то ли в BX, или СХ, посмотри доку на INT 10H, книга Питера Абеля, или про програмирование под MS-DOS
Отправлено: 28.02.2002, 19:51
Отправитель: AllAddIn (регистрация: 28/12/2001, ответов на счету: 30)
_______________
Отвечает BMR
Добрый день, V-elican!
А между прочим только недавно был такой вопрос делается это:
mov ax,1112h
int 10h
А вообще посмотри в рассылке 478 вопрос там народ много чего интересного рассказывает.
Отправлено: 01.03.2002, 01:10
Отправитель: BMR (регистрация: 10/02/2002, ответов на счету: 81)
Россия, Пенза
Вопрос № 52 |
комп стоит win 95,винт 20 гБ,разбит так: C-активный,d,e,f
никаких прог кроме worda excela i acssesa не стоит!
такая проблема:
при изменении каких то данных на диске с (например создание ,удаление файла,
внесение изменение в файл,изменеие в реестре,и тд и тп)
изменеия происходят но при перезагрузкой все данные восстанавливаются(например создал файл
на диске с написал в нем пару строчек он сохранился все отлично но потом перезагружаешься
а файла никакого нету и тд и тп)
плз помогите....
ps может че с реестром или с autoexec.bat
ето не глюк винды ето мы специально сделаи подскажите как от етого избавиться
my autoexec.bat
@echo off
verify off
SET PATH =C:\windows;C:\windows\command;c:\Dos;c:\Arc;c:\Aids
rem -By Windows Setup - C:\win\command\deltree /y c:\temp > nul
mkdir c:\temp
SET TEMP=D:\temp
set tmp=d:\temp
goto config
:DOS
c:\nc\nc
goto END
:WINDOWS
mode con codepage prepare=((866) C:\WIN\COMMAND\ega3.cpi)
mode con codepage select=866
keyb ru,,C:\WIN\COMMAND\keybrd3.sys
:END
Отправитель: Евгений Кубик (kubuz@ukr.net)
Вопрос отправлен: 28.02.2002, 19:26
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает baldr
Доброе время суток, Евгений Кубик!
Вообще говоря, то, что файлы не сохраняются - никто точно, думаю, не знает... Может, там
FAT не сохраняется, может, Винда самовольничает, а может, это вообще Искуственный Разум шутит...
После переустановки Винды (НАЧИСТО!) должно это пропасть.
Гляжу вот я на Ваш autoexec.bat и мурашки по коже... В общем - еще разок проведу
рекламную акцию... На моем сайте описан (в статье про .bat-файлы) более удобный способ
запуска Win/DOS/ещечтонибудь. А у Вас, кажется, это надо выбирать два раза?
Отправлено: 28.02.2002, 23:46
Отправитель: baldr (регистрация: 28/12/2001, ответов на счету: 94)
URL: http://www.dospage.far.ru - Сайт об ОС DOS. Всем, кто любит эту ОС!
Россия, г. Семенов, Нижегородская обл.
_______________
Отвечает DivX
Приветствую Вас, Евгений Кубик!
Ну к примеру обычный "свежий" autoexec.bat выглядит вот так:
mode con codepage prepare=((866) C:\WIN98\COMMAND\ega3.cpi)
mode con codepage select=866
keyb ru,,C:\WIN98\COMMAND\keybrd3.sys
Как говорится - найди десять отличий :) Вообще не похоже, что ТАКОЕ в autoexec'e может учинить программа. Попробуй сделать резервную копию своего bat'а НА ЗАГРУЗОЧНУЮ ДИСКЕТУ (куда нибудь в отдельную директорию, только не перезаписывай ее bat) и потом подправь его так, чтобы он был похож на вышеприведенный. Если система вдруг заругается грузись с дискетки и восстанавливай старый bat, а там подумаем что еще можно сделать.
Отправлено: 01.03.2002, 04:54
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 208)
_______________
Отвечает Serik
Приветствую Вас, Евгений Кубик!
@echo off
SET PATH =C:\windows;C:\windows\command;c:\Dos;c:\Arc;c:\Aids
mode con codepage prepare=((866) C:\WIN\COMMAND\ega3.cpi)
mode con codepage select=866
keyb ru,,C:\WIN\COMMAND\keybrd3.sys
Попоробуйте сделать так!!!
Или переустановите Виндовс(можно записать поверх старой, ваши настройки и программы останутся наместе)
Отправлено: 01.03.2002, 22:03
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 47)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск
_______________
Отвечает змей
Добрый день, Евгений Кубик!
У меня был похожий глюк, тока с партишином, делаю партишн
пегружаюсь, запускаю Fdisk а партишна нету...дрючился..
думал что винт глюкавый..замена непомогла..оказалась
в том месте где крепится мамка с корпусом винтик коротил пару дорожек, поставил туды изоляционую шайбу и партишн (УРА!!!)
создался...могет у тя тоже где то чего то ..посмотри
Отправлено: 04.03.2002, 10:04
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 208)
Вопрос № 32 |
Добрый день экспертам!
Народ, тут такой трабл. Админы поставили на прокси авторизацию. Вследствие чего я не могу играть в старкрафт по инету :( А хочется. Как это обойти? В старкрафте нет настроек на прокси, видимо, он ожидает, что на прокси авторизации не будет. Как, с наименьшими программистскими изощрениями, помочь ему пройти авторизацию?
Если не знаете ответа, то хоть кто-нибудь, форвардните, плиз, может, читатели ответят.
С уважением,
serenatoor.
Отправитель: serenatoor (serenatoor@softline.kiev.ua)
Вопрос отправлен: 27.02.2002, 11:19
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32
_______________
Отвечает DiGiT
Приветствую Вас, serenatoor!
А никак. Если эти порты не открыты. Стар юзает какие то порты для прокси та тебя через них никто не пустит просто так.
Отправлено: 27.02.2002, 12:11
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 244)
ICQ:133534725
Russia(),Student
Вопрос № 36 |
Мне необходимо сделать следующее, имеется посылка N байт и сигнал RTS, который переводит самодельный модем в состояние приема-передачи. После установки сигнала RTS я загружаю в буфер передачи порта посылку, и отслеживаю состояние буфера
после опустошения буфера убираю сигнал RTS. Происходит такая ситуация, что последний байт еще не передался (находится в сдвиговом регистре порта адрес флаг которого находится в 3DFh-6 бит), а модем переключился на прием. Программа должна работать под WINNT и 2000 поэтому напрямую считать состояние регистра сдвига невозможно, а в API функциях я этого не нашел, там только флаг на очистку буфера передачи. Кто может подсказать, может все таки есть какая нибудь API функция которая может определить состояние сдвигового регистра или может сделать как нибудь по другому, хотелось бы все реализовать программным методом
Отправитель: Алексей (aleksey_@aport2000.ru)
Вопрос отправлен: 27.02.2002, 12:15
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32
_______________
Отвечает Kurt
Добрый день, Алексей!
Если ты пишешь в порт с помощью WriteFile в nonoverlapped режиме, то функция вроде и не вернется пока не отправит все, а потом и убираешь RTS, сам ручками, EscapeCommFunction (hCom, CLRRTS). Если же ком открыт как overlapped, то юзай ClearCommError - которая заполняет структуру типа COMSTAT информацией об ошибках и состоянии устройства. Там ждешь пока cbOutQue не станет равным 0.
Если я неправильно понял вопрос - то пиши мылом, разберемся :)
Отправлено: 27.02.2002, 15:57
Отправитель: Kurt (регистрация: 08/02/2002, ответов на счету: 4)
ICQ #99826732
Россия
Вопрос № 37 |
Здраствуйте!
у меня два вопроса:
1) Что такое предсказание правельного адреса перехода?
2) Что такое декодирование команды?
Эти вопросы связаны с конвеером! "Суть" работы конвеера понятна.
Если у когонибуть есть эл. справочник или книга по устройству ПК, дайту ссылку или кинте на мыло. Буду О-очень благодарен.
Заранее спасибо...!
С уважением...!
Отправитель: kuper (kuper@hotbox.ru)
Вопрос отправлен: 27.02.2002, 15:04
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает vitya
Добрый день, kuper!
Предсказание перехода заключается в том, что процессов на основе какой-либо информации (эвристической)пытается определить как выполнится следующий оператор сравнения
if (x == 0)
...
else
...
в данном случае процессор может что x равен нулю и заполнить конвейер коммандами из блока if, а может наоборот из блока else; очевидно, что процессор может ошибиться, и тогда ему придется очистить конвейр и заполнить его снова правильными коммандами.
А декодирование команды, это в данном случае следующее
аdd ax, 3
соответствует какой-либо машинный код. Теперь внутри процессора есть АЛУ (арифметическо-логическое устройство), которое и выполняет все комманды. Когда машинный код декодируется выбираются операнды и режим АЛУ и по внутренним шинам посылаются данные и КОП (код операциии) в АЛУ, где и выполняется комманда.
Отправлено: 27.02.2002, 15:13
Отправитель: vitya (регистрация: 03/01/2002, ответов на счету: 28)
103935193
Armenia, Yerevan
_______________
Отвечает Joker
Приветствую Вас, kuper!
Pentium процессор. Технические нововведения.
Многочисленные нововведения - характерная особенность
Pentium процессора в виде уникального сочетания высокой произ-
водительности, совместимости, интеграции данных и наращивае-
мости. Это включает:
- Суперскалярную архитектуру;
- Раздельное кэширование программного кода и данных;
- Блок предсказания правильного адреса перехода;
- Высокопроизводительный блок вычислений с плавающей за-
пятой;
- Расширенную 64-битовую шину данных;
- Поддержку многопроцессорного режима работы;
- Средства задания размера страницы памяти;
- Средства обнаружения ошибок и функциональной избыточ-
ности;
- Управление производительностью;
- Наращиваемость с помощью Intel OverDrive процессора.
Архитектура Pentium процессора
+------------------------------------------------------------+
¦ Intel Pentium Processor ¦
+------------------------------------------------------------¦
¦ 2------------+ 8------------+ ¦
¦ 64-bits ¦ Code ¦ ¦ Branch ¦ ¦
¦ +-----¦ Cache +------¦ Prediction ¦ ¦
¦ ¦ +------------+ +------------+ ¦
¦ ¦ 256-bits¦ +----------------+ ¦
¦ ¦ 3------------+ 9------------+ ¦
¦ ¦ ¦ Prefetch ¦ ¦ ¦ ¦
¦ ¦ ¦ Buffers ¦ ¦ ¦ ¦
¦ ¦ +------------+ ¦ ¦ ¦
¦ 1------------+ ¦ 4---------+5---------+ ¦ Pipelined ¦ ¦
¦ ¦ 64-bit ¦ ¦ ¦ Integer ¦¦ Integer ¦ ¦ Floating- ¦ ¦
¦-¦ Bus +---¦ ¦ ALU ¦¦ ALU ¦ ¦ Point Unit ¦ ¦
¦ ¦ Interface ¦ ¦ +---------++---------+ ¦ ¦ ¦
¦ +------------+ ¦ 6------------+ +--¦ ¦ ¦
¦ +-----¦ Register ¦ ¦ ¦ ¦ ¦
¦ 64-bits ¦ Set ¦ ¦ +------------¦ ¦
¦ +------------+ ¦ ¦ Multiply ¦ ¦
¦ 32-bits+-----+------+ +------------¦ ¦
¦ 7------------+64-bit¦ Add ¦ ¦
¦ ¦ Data ¦ +------------¦ ¦
¦ ¦ Cache ¦ ¦ Divide ¦ ¦
¦ +------------+ +------------+ ¦
+------------------------------------------------------------+
1 - 64-битовый шинный интерфейс;
2 - Средства кэширования программного кода;
3 - Буферы выборки с упреждением;
4 - 32-битовый целочисленный блок АЛУ;
5 - 32-битовый целочисленный блок АЛУ;
6 - Набор регистров;
7 - Средства кэширования данных;
8 - Блок предсказания правильного адреса перехода;
9 - Блок конвеерных вычислений с плавающей запятой.
Суперскалярная архитектура.
+------------------------------------------------------------+
¦ +--------+ +--------+ ¦ ¦
¦ +-¦ +------¦ ¦ ¦ ¦
¦ ¦ +--------+ +--------+ ¦ ¦
¦ ¦ ¦ +-------------+ ¦ ¦
¦ ¦ +--------+ +--------+ ¦ ¦
¦ +---+ ¦ ¦________+------¦ ¦ ¦ ¦
¦ ¦ +-¦ +--------+ ¦ ¦ ¦ ¦
¦ +---+ ¦ +---++---+ ¦ ¦ ¦ ¦
¦ ¦ ¦___¦¦___¦ +--¦ ¦ ¦ Суперскалярная ¦
¦ ¦ +---++---+ ¦ ¦ ¦ ¦ архитектура ¦
¦ ¦ +--------+ ¦ +--------¦ ¦ ¦
¦ ¦ ¦________¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ +--------+ ¦ +--------¦ ¦ ¦
¦ ¦ +----+-----+ ¦ ¦ ¦ ¦
¦ ¦ +--------+ +--------¦ ¦ ¦
¦ +-¦ ¦ ¦ ¦ ¦ ¦
¦ +--------+ +--------+ ¦ ¦
+------------------------------------------------------------+
Суперскалярная архитектура Pentium процессора представля-
ет собой совместимую только с INTEL двухконвеерную индустри-
альную архитектуру, позволяющую процессору достигать новых
уровней производительности посредством выполнения более, чем
одной команды за один период тактовой частоты. Термин "су-
перскалярная" обозначает микропроцессорную архитектуру, кото-
рая содержит более одного вычислительного блока. Эти вычисли-
тельные блоки, или конвееры, являются узлами, где происходят
все основные процессы обработки данных и команд.
Появление суперскалярной архитектуры Pentium процессора
представляет собой естественное развитие предыдущего семейства
процессоров с 32-битовой архитектурой фирмы INTEL. Например,
процессор Intel486 способен выполнять несколько своих команд
за один период тактовой частоты, однако предыдущие семейства
процессоров фирмы INTEL требовали множество циклов тактовой
частоты для выполнения одной команды.
Возможность выполнять множество команд за один период
тактовой частоты существует благодаря тому, что Pentium про-
цессор имеет два конвеера, которые могут выполнять две
инструкции одновременно. Так же, как и Intel486 с одним конве-
ером, двойной конвеер Pentium процессора выполняет простую ко-
манду за пять этапов: предварительная подготовка, первое деко-
дирование ( декодирование команды ), второе декодирование (
генерация адреса ), выполнение и обратная выгрузка. Это позво-
ляет нескольким командам находиться в различных стадиях выпол-
нения, увеличивя тем самым вычислительную производительность.
Каждый конвеер имеет свое арифметическо-логическое устройство
(ALU), совокупность устройств генерации адреса и интерфейс кэ-
ширования данных. Так же как и процессор Intel486, Pentium
процессор использует аппаратное выполнение команд, заменяющее
множество микрокоманд, используемых в предыдуших семействах
микропроцессоров. Эти инструкции включают загрузки, запомина-
ния и простые операции АЛУ, которые могут выполняться аппарат-
ными средствами процессора, без использования микрокода. Это
повышает производительность без затрагивания совместимости. В
случае выполнения более сложных команд, для дополнительного
ускорения производительности выполнения расширенного микрокода
Pentium процессора для выполнения команд используются оба кон-
веера суперскалярной архитектуры.
В результате этих архитектурных нововведений, по сравне-
нию с предыдущими микропроцессорами, значительно большее коли-
чество команд может быть выполнено за одно и то же время.
Раздельное кэширование программного кода и данных.
+------------------------------------------------------------+
¦ +--------+ +--------+ ¦ ¦
¦ +-¦________+------¦ ¦ ¦ ¦
¦ ¦ +--------+ +--------+ ¦ ¦
¦ ¦ ¦ +-------------+ ¦ ¦
¦ ¦ +--------+ +--------+ ¦ ¦
¦ +---+ ¦ ¦ +------¦ ¦ ¦ ¦
¦ ¦ +-¦ +--------+ ¦ ¦ ¦ Кэнирование команд ¦
¦ +---+ ¦ +---++---+ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦¦ ¦ +--¦ ¦ ¦ ¦
¦ ¦ +---++---+ ¦ ¦ ¦ ¦ Кэширование данных ¦
¦ ¦ +--------+ ¦ +--------¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ +--------+ ¦ +--------¦ ¦ ¦
¦ ¦ +----+-----+ ¦ ¦ ¦ ¦
¦ ¦ +--------+ +--------¦ ¦ ¦
¦ +-¦________¦ ¦ ¦ ¦ ¦
¦ +--------+ +--------+ ¦ ¦
+------------------------------------------------------------+
Другое важнейшее революционное усовершенствование, реали-
зованное в Pentium процессоре, это введение раздельного кэши-
рования. Кэширование увеличивает производительность посредст-
вом активизации места временного хранения для часто используе-
мого программного кода и данных, получаемых из быстрой памяти,
заменяя по возможности обращение ко внешней системной памяти
для некоторых команд. Процессор Intel486, например, содержит
один 8-KB блок встроенной кэш-памяти, используемой одновремен-
но для кэширования программного кода и данных.
Проектировщики фирмы INTEL обошли это ограничение исполь-
зованием дополнительного контура, выполненного на 3.1 миллио-
нах транзисторов Pentium процессора ( для сравнения, Intel486
содержит 1.2 миллиона транзисторов ) создающих раздельное
внутреннее кэширование программного кода и данных. Это улучша-
ет производительность посредством исключения конфликтов на ши-
не и делает двойное кэширование доступным чаще, чем это было
возможно ранее. Например, во время фазы предварительной подго-
товки, используется код команды, полученный из кэша команд. В
случае наличия одного блока кэш-памяти, возможен конфликт меж-
ду процессом предварительной подготовки команды и доступом к
данным. Выполнение раздельного кэширования для команд и данных
исключает такие конфликты, давая возможность обеим командам
выполняться одновременно. Кэш-память программного кода и дан-
ных Pentium процессора содержит по 8 KB информации каждая, и
каждая организована как набор двухканального ассоциативного
кэша - предназначенная для записи только предварительно
просмотренного специфицированного 32-байтного сегмента, причем
быстрее, чем внешний кэш. Все эти особенности расширения про-
изводительности потребовали использования 64-битовой внутрен-
ней шины данных, которая обеспечивает возможность двойного кэ-
ширования и суперскалярной конвеерной обработки одновременно с
загрузкой следующих данных. Кэш данных имеет два интерфейса,
по одному для каждого из конвееров, что позволяет ему обеспе-
чивать данными две одельные инструкции в течение одного машин-
ного цикла. После того, как данные достаются из кэша, они за-
писываются в главную память в режиме обратной записи. Такая
техника кэширования дает лучшую производительность, чем
простое кэширование с непосредственной записью, при котором
процессор записывает данные одновременно в кэш и основную па-
мять. Тем не менне, Pentium процессор способен динамически
конфигурироваться для поддержки кэширования с непосредственной
записью.
Таким образом, кэширование данных использует два различ-
ных великолепных решения: кэш с обратной записью и алгоритм,
названный MESI ( модификация, исключение, распределение, осво-
бождение) протокол. Кэш с обратной записью позволяет записы-
вать в кэш без обращения к основной памяти в отличие от
используемого до этого непосредственного простого кэширования.
Эти решения увеличивают производитльность посредством исполь-
зования преобразованной шины и предупредительного исключения
самого узкого места в системе. В свою очередь MESI-протокол
позволяет данным в кэш-памяти и внешней памяти совпадать - ве-
ликолепное решение в усовершенствованных мультипроцессорных
системах, где различные процессоры могут использовать для ра-
боты одни и те же данные.
Рекомендуемый объем общей кэш-памяти для настольных
систем, основанных на Pentium процессоре, равен 128-256 K, а
для серверов - 256 K и выше.
Блок предсказания правильного адреса перехода.
+------------------------------------------------------------+
¦ +--------+ +--------+ ¦ ¦
¦ +-¦ +------¦________¦ ¦ ¦
¦ ¦ +--------+ +--------+ ¦ ¦
¦ ¦ ¦ +-------------+ ¦ ¦
¦ ¦ +--------+ +--------+ ¦ ¦
¦ +---+ ¦ ¦ +------¦ ¦ ¦ ¦
¦ ¦ +-¦ +--------+ ¦ ¦ ¦ Предсказание ¦
¦ +---+ ¦ +---++---+ ¦ ¦ ¦ правильного ¦
¦ ¦ ¦ ¦¦ ¦ +--¦ ¦ ¦ адреса ¦
¦ ¦ +---++---+ ¦ ¦ ¦ ¦ перехода ¦
¦ ¦ +--------+ ¦ +--------¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ +--------+ ¦ +--------¦ ¦ ¦
¦ ¦ +----+-----+ ¦ ¦ ¦ ¦
¦ ¦ +--------+ +--------¦ ¦ ¦
¦ +-¦ ¦ ¦ ¦ ¦ ¦
¦ +--------+ +--------+ ¦ ¦
+------------------------------------------------------------+
Блок предсказания правильного адреса перехода - это сле-
дующее великолепное решение для вычисленй, увеличивающее про-
изводительность посредством полного заполнения конвееров ко-
мандами, основанное на предварительном определении правильного
набора команд, которые должны быть выполнены. Pentium про-
цессор - это первый и единственный PC-совместимый процессор,
использующий блок предсказания, который до этого традиционно
был связан с вычислительными платформами больших ЭВМ.
Для лучшего понимания этой концепции, рассмотрим типичное
программное приложение. После выполнения каждого программного
цикла, программа выполняет соответствующую проверку для опре-
деления, необходимо ли возвратиться в начало цикла или выйти и
продолжить выполнение следующего шага. Эти два решения, или
пути, называют предсказанием адреса перехода. Блок предсказа-
ния правильного адреса перехода прогнозирует, какая ветвь
программы будет затребована, основываясь на допущении, что
предыдущая ветвь, которая была пройдена, будет использоваться
снова. Pentium процессор выполняет предсказание правильного
адреса перехода, используя специальный буфер предсказания пе-
рехода (BTB). В отличие от альтернативной архитектуры, это
программно-шаблонное нововведение дает возможность для пере-
компилирования программного кода, увеличивая при этом скорость
и производительность существующего прикладного программного
обеспечения. Если команда управляет ветвлением программы, бу-
фер BTB запоминает команду и адрес, на который необходимо пе-
рейти, и предсказывает, какая ветвь команд в следующий момент
будет использоваться. Когда буфер содержит правильное предска-
зание, переход выполняется без задержки.
НУ ЕСЛИ ЧТО ПИШИ!!!
Отправлено: 27.02.2002, 23:49
Отправитель: Joker (регистрация: 12/01/2002, ответов на счету: 22)
Россия, Волгоград
_______________
Отвечает VicSimon
Добрый день, kuper!
1) Предсказание переходов связано с тем, что в младших моделях интеловских процессоров любая операция перехода вызывала очистку конвейера (так как "расстояние", на которое можно "прыгнуть" может быть больше размера конвейера), что отрицательно сказывалось на производительности. Суть предсказания - для команд перехода (безусловных и некоторых условных) еще ДО выполнения команды в конвейер помещаются код и данные с того адреса, куда (возможно) будет переход. Для этого анализируются команды: если в очереди безусловный переход - считывается адрес назначения и с этого адреса читается некоторое кол-во байт в конвейер; в случае условного перехода - существуют "короткие" и "длинные" переходы. Что касается второго варианта - предсказание бесполезно, так как "расстояние" перехода при этом может превысить размер конвейера (и не понятно, сколько байт и откуда читать). Во втором случае смещение при переходе не может превышать, если не ошибаюсь, "вперед" 128 и "назад" 127 байт. То есть, можно в конвейер считать ВЕСЬ диапазон адресов возможного перехода.
Таким образом, сократится кол-во обращений Процессор-Память и возрастет производительность.
2) Все команды микропроцессора можно разбить на несколько действий, осуществляемых его внутренними устройствами. Для определения последовательности этих действий, которые соответствуют каждой команде, составляется МИКРОПРОГРАММА(программа, говорящая внутренним логическим устройствам процессора какую операцию с какими данными произвести) устройством декодирования. То есть, в процессоре каждой команде соответствует своя микропрограмма. Таким образом, декодирование - "расшифровка" команды в микропрограмму, понятную внутренним устройствам процессора.
3) Рекомендую ftp://ftp.secna.ru/pub/text/harddoc/ioport.arj. В свое время я по ней постигал азы программирования "по железу". А по устройству компьютера - Книжка Р.Джордейна "Справочник программиста на персональном компьютере IBM PC". Есть здесь (и еще много полезного): http://home.od.ua/~blackw/WinAsm/winasmbooks.html
Отправлено: 28.02.2002, 07:21
Отправитель: VicSimon (регистрация: 25/01/2002, ответов на счету: 25)
Россия, Красноярск
_______________
Отвечает Lonely L
Добрый день, kuper!
Наверное лучше начать с декодирования команд. Каждая команда когда попадает в процессор как бы разбивается на множество микрокоманд. Для повышения быстродействия пока один блок обрабатывает команду другой раскладывает ее и загоняет в буфер для дальнейшего выполнения. А теперь не сложно представить, что происходит когда попадает для раскладки какой ни буть условный переход. Что по логике нужно делать? Логично нужно подождать пока разложенный джамп не дойдет то процессора и процессор не укажет откуда дальше грузить команды. Однако при этом опустошается буфер и потом еще нужно время, чтобы его заполнить и т.д. Вот, что бы такого не было и используется блок предсказания переходов. Он еще на этапе раскладки джампа на микрокоманды предсказывает, куда прыгнет дальше джамп и соответственно дает для обработки последующие команды. Бывает, что и ошибается (Примерно в 10% случаях), но тогда мы возвращаемся к варианту проце без блока предсказания переходов. Вывод хуже от него не стало только лучше. Как он предсказывает можно только догадываться. Например: Цикл в нем один условный переход если он уже 2000 прошел по ДА логично предположить, что и 2001 он тоже будет ДА.
Отправлено: 28.02.2002, 20:54
Отправитель: Lonely L (регистрация: 26/01/2002, ответов на счету: 33)
Тел.: (0572) 11-66-62
Украина, Харьков
Вопрос № 23 |
Здраствуйте уважаемые эксперты!
Я очень надеюсь на вашу помощь, нужна ХОРОШАЯ дока по программам шпионам, всяким там Нюкерам, протоколам, и т.д. и вообще по тому как залесть на чужой комп,как можно чуточку напакастить, ну и сами проги тоже нужны.
Очень хочеться скорее уйти подальше от пользователя с навыками програмирования на многих языках.
Помогите если сможете!
Заранее спасибо!
Отправитель: Antuan Undegro (undegro@mail.ru)
Вопрос отправлен: 27.02.2002, 00:10
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Den
Добрый день, Antuan Undegro!
А зачем ограничиваться владельцами компьютеров?
Берешь фомку, вскрываешь чью-нибудь квартиру и пакостишь сколько душе угодно!!!
А не хочешь быть пользователем - напиши тетрис какой-нибудь, да чтоб покруче уже существующих был.
Arrividerchi Da!
Отправлено: 27.02.2002, 00:36
Отправитель: Den (регистрация: 28/12/2001, ответов на счету: 22)
Россия, СПб, Ломоносов
_______________
Отвечает змей
Добрый день, Antuan Undegro!
мыльни snake@asia.pv.uz я те пришлю доку, читать будешь года 3
Отправлено: 27.02.2002, 11:12
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 208)
_______________
Отвечает 10ck
Хай, Antuan Undegro!
Решил хаком заняться... ну-ну. Лучшего сайта чем www.xakep.ru найти нельзя! Там есть все, о чем ты спрашивал.
Отправлено: 27.02.2002, 12:53
Отправитель: 10ck (регистрация: 18/02/2002, ответов на счету: 34)
Россия, Нижний Новгород
_______________
Отвечает Tiger
Добрый день, Antuan Undegro!
:)) Как-то Painbringer ответил уже на подобный вопрос под номером 425 от Alexer. Даже ничего не буду говорить, а просто его копирну сюда и все. :)))
"ага на руки помочиться захотелось. да еще и типа самому не судьба всё сделать надо чтоб кто
то подержал. а вот хрен тебе, хакер, бля. яндексом пользоваться научись!!!"
Отправлено: 27.02.2002, 23:13
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 117)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает Serik
Добрый день, Antuan Undegro!
Одна из прог для отслеживания это PSPY 101, Посмотрите такую прогу на сайтах www.files.com.ua , www.bleadzone.com или ru , а может вместе!!!
Чтобы залесть в чужой комп воспользуйтесь установочным диском WindowsXP, и установите из автозагрузки прогу которая называется "Управление удалённым рабочим столом", подклучитесь к другому комку через модем и творите чюдеса!!!
Отправлено: 01.03.2002, 21:34
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 47)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск
_______________
Отвечает kostik
Доброе время суток, Antuan Undegro!
Да зайдите вы на какой-нибудь хакерский сайт. Там вы найдёте много чего. И информацию и программы. Просто попробуйте полазить по этим ссылкам.
1. www.xaker.ru
2. www.hackzone.ru
3. www.rusdoc.df.ru/vzlom.shtml
4. www.hackers-paradize.com
5. www.pilorama.com.ru
На крайний случай можно вопользоваться поисковой системой!
Отправлено: 03.03.2002, 15:52
Отправитель: kostik (регистрация: 01/02/2002, ответов на счету: 60)
URL: http://www.ospedia.boom.ru - Что-то вроде домашней странички
mrkirov@mail.ru ICQ UIN #151014798
Россия, Хабаровск
Форма отправки сообщения |
Заполните приведенную ниже форму для того, чтобы отправить вопрос. Дополнительную информации по пользованию формой для подписчиков и экспертов можно получить, нажав на знак вопроса в соответствующем разделе, при этом информация будет отображена в отдельном окне.
В почтовых программах форма не работает!!! Открывайте рассылку в браузере Internet Explorer, где и набирайте Ваш вопрос.
© 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А. |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||