![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.01.2015
Сообщений: 15
|
![]()
Привет всем,
У меня экзамен по assembler, и не могу найти конкретный ответ для этих вопросы: 1. Архитектура IA 32 процессоров 2. Система команд процессора IA 32 3. Синтаксис assembler P.S. Читала некоторых книгах очень сложно написано, не могу понять ![]() |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]() Цитата:
То что мне помогало: - "Изучаем Ассемблер", Крупник - Введение в крэкинг с нуля, используя OllyDbg - Глава 1 - "Архитектура компьютера", Таненбаум |
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,609
|
![]()
Архитектура IA32
Впервые объектный код для процессоров на архитектуре IA32 был создан в 1978 году и используется до сих пор. Предшествующими архитектуре IA32 процессорами были 16-битные процессоры Intel 8086 и 8088. Процессор 8086 включал 16-битные регистры, 16-битную шину данных с 20-битной адресацией и адресным пространством 1 мегабайт. 8088 имел шину данных 8 бит. В процессоре Intel 286 появился защищенный режим. Защищенный режим использует содержимое сегментных регистров как указатели на таблицы дескрипторов. Дескрипторы обеспечивают 24-битные базовые адреса и доступ к оперативной памяти размером до 16 мегабайт. Защищенный режим включает 4 уровня привелений для защиты системного кода операционной системы от приложений или пользовательских программ, проверку на сегментные ограничения, настройки сегмента только на чтение или только на исполнение. Первым процессоров на архитектуре IA-32 был Intel 386, выпущенный в 1985 году. В нем использовались 32-битные регистры для адресов и операндов. 16-битные части 32-битных регистров сохраняют свойства 16-битных регистров предыдущих процессоров. Это обеспечивает обратную совместимость. Адресная шина 32 битная поддерживат до 4 гигабайт физической памяти. Логическое пространство адресов обеспечивается для каждого программного процесса. Поддерживаются два типа моделей памяти - сегментированная и фиксированная. При фиксированной модели памяти, сегментные регистры указывают на тот же самый адрес. Процессор поддерживает разбивку на страницы с фиксированным размером страницы 4 килобайт и обеспечивает метод для управления виртуальной памятью. Процессор Intel 386 был первым, в котором использовалось 6 параллельных стадий обработки. 1. блок шинного интерфейса (обеспечивает ввод-вывод для других блоков и доступ к памяти) 2. блок упреждающей выборки (получает объектный код с шины и помещает в 16-битную очередь) 3. блок декодирования инструкции (декодирует объектный код с блока упреждающей выборки в микрокод) 4. блок исполнения (выполняет микрокод) 5. блок сегмента (преобразует логические адреса в линейные и осуществляет защитную проверку) 6. блок разбивки на страницы (преобразует линейные адреса в физические, осуществляет проверку защиты страницы и содержит кэш с информацие о 32 последних использованных страницых) Процессорами, использующими эту архитектуру являются: - Intel 486 (1989). В процессор был добавлен кэш первого уровня размером 8 килобайт, что позволило увеличить количество инструкций, выполняемых за один тик. Кроме того был добавлен арифметический сопроцессор (FPU). Блок исполнения 5-стадийный, конвейерный. - Intel Pentium (1993). Добавлен второй конвейер. В процессоре два конвейера u и v, которые могут выполнять 2 инструкции за тик. Кэш первого уровня удвоился, и размер стал 8 килобайт для кода и 8 килобайт для данных. Внутренние пропускные пути 128,256 битные. Добавлен APIC (продвинутый программируемый контроллер прерываний). Представлена технология MMX с моделью исполнения SIMD (одна инструкция, множество данных) для выполнения параллельных вычислений над пакованными целочисленными данными, содержащимися в 64-битных MMX регистрах. - семейство процессоров P6 (1995) со суперскалярной конвейерной архитектурой, позволяющей выполнять 3 инструкции за тик. Семейство включало Pentium Pro, Pentium II, Pentium II Xeon, Celeron, Pentium III, Pentium II Xeon. В процессоре представлено динамическое исполнение. Кэш первого уровня - 8 килобайт. Кэш второго уровня - 256 килобайт с 64-битной скоростной шиной. Кэш второго уровня поддерживает 4 совместных доступа. Максимальный физический размер памяти для Pentium Pro - 64 гигабайт - Intel Pentium 4 (2000) (...) - Intel Xeon (...) - Intel Pentium M (...) Схема передачи данных: системная шина <---> блок шины <---> кэш второго уровня <---> кэш первого уровня, постобработка <--> ядро исполнения <--- исполнение / кэш инструкций / микрокод / постоянное запоминающее устройство <--- извлечение/ декодирование<---ветка упреждения <--- постобработка http://flint.cs.yale.edu/cs422/doc/24547012.pdf
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,609
|
![]()
- Intel Pentium II. Кэш первого уровня - 16 килобайт. Поддерживается кэш второго уровня размерностью 256 килобайт, 512 килобайт, 1 мегабайт.
- Intel Pentium II Xeon поддерживает кэш второго уровня размером 2 мегабайта. - Intel Celeron содержит кэш второго уровня 128 килобайт. - Intel Pentium III включает набор инструкций SSE (потоковый SIMD), расширяющий набор инструкций MMX посредством добавления 128-битных регистров для выполнения операций над запакованными одинарными данными с плавающей точкой - Intel Pentium III Xeon содержит продвинутый транспортный кэш (ATC) - Intel Pentium 4 (2000). Поддерживает микро-архитектуру NetBurst, которая выключает "движок" для быстрого исполнения, гипер-конвейерную технологию, продвинутое динамическое выполнение, инновационную подсистему кэшей. В данном процессоре реализован набор инструкций SSE2, расширяющий возможности MMX и SSE 144 новыми инструкциями, которые выключают поддержку для арифметических операций над 128-битными целыми числами и операций с плавающей точкой двойной точности над 128-битными операндами, а также операции для управления кэшем и памятью. Системная шина частотой 400 мегагерц с пропускной способностью 3,2 гигабайта в секунду - Intel Xeon - Intel Pentium M. Предназначен для мобильных устройств. Комментарий: дальше в документации идет описание P5 архитектуры, набора инструкций SSE2 и netBurst. Не знаю, нужно ли перевести. http://flint.cs.yale.edu/cs422/doc/24547012.pdf
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 30.07.2008
Сообщений: 1,609
|
![]()
2. Система команд включает инструкции общего назначения, инструкции для сопроцессора (FPU), наборы инструкций SIMD, MMX, SSE, SSE2.
Фундаментальные типы данных: - байт (byte) 8 бит - слово (word) 16 бит - двойное слово (double word, dword) 32 бита - четверное слово (quadword) 64 бита - двойное четверное слово (double quadword) 128 бит Примеры команд: - CALL (процедура вызова) - RET (возврат из процедуры) - INT (программное прерывание) - JMP (безусловный переход) - ADD (сложение) - SUB (вычитание) - MUL (беззнаковое умножение) - DIV (беззнаковое деление) - CMP (сравнение) - MOV (поместить данные) - PUSH (поместить в стек) - POP (вытолкнуть из стека) - INC (инкремент) - DEC (декремент) 3. Стандартный формат инструкции: префикс - код операции (1,2 байта) - режим (байт) - масштаб, индекс, база(1,2,4 байта) - смещение - непосредственные данные(1,2,4 байта) Пример: add eax, 1 У ассемблера два синтаксиса: - At&T - Intel Про синтаксис At&T на странице http://paukpv.pp.ru/atit.php Сравнение синтаксисов - http://webhamster.ru/mytetrashare/index/mtb0/744 http://flint.cs.yale.edu/cs422/doc/24547012.pdf http://flint.cs.yale.edu/cs422/doc/24547112.pdf
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Assembler | DEFOX | Помощь студентам | 0 | 14.12.2011 14:32 |
Как программировались первые процессоры ? | gefest58 | Свободное общение | 17 | 21.03.2011 13:16 |
Процессоры | elektroniks | Компьютерное железо | 5 | 15.02.2011 00:47 |
6-ти ядерные процессоры? | Mixim | Компьютерное железо | 22 | 11.11.2010 13:35 |
Assembler | Morgusha | Помощь студентам | 11 | 12.02.2010 18:05 |