![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Fanat |
![]()
Сообщение
#1
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Собственно, интересно что это такое. В инете поискал, там в основном описание самих компиляторов.
А мне интересно что значит именно приставка 32?.. Это как то связано с разрядностью?..И что значит разрядность 32?.. Что за программы делаются на таких компиляторах?.. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Это как то связано с разрядностью? Именно с разрядностью... Цитата И что значит разрядность 32?.. А у тебя какая ОС установлена? NT? Она скольки-битная? 32-х, вестимо... Вот и расскажи, почему надо писать программы для 32-битной ОСи на старых 16-битных компиляторах? Пишем на более новых, 32-битных. Или на 64-битных (если под 64-битную ОСь)Цитата Что за программы делаются на таких компиляторах? Ну вот ты пишешь на 6-ом Билдере? 32-бита однако... Какие программы ты пишешь? ![]() |
andriano |
![]()
Сообщение
#3
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Основное преимущество 32-разрядных программ - возможность использовать достаточно большие объемы памяти. Адресное пространство с "плоской" адресацией в 16-разрядном режиме составляет 64 Кбайта, а в 32-разрядном - 4 Гбайта.
|
Fanat |
![]()
Сообщение
#4
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Именно с разрядностью... А у тебя какая ОС установлена? NT? Она скольки-битная? 32-х, вестимо... Вот и расскажи, почему надо писать программы для 32-битной ОСи на старых 16-битных компиляторах? Пишем на более новых, 32-битных. Или на 64-битных (если под 64-битную ОСь) Ну вот ты пишешь на 6-ом Билдере? 32-бита однако... Какие программы ты пишешь? ![]() То есть мне все свои вопросы надо задавать было в 32 компиляторы?.. ![]() У меня Windows XP...Наверно 32-х битная...Только я вот никак не пойму что значит 16, 32, 64- битная... В википедии написано Разрядность- Параметр, отражающий количесво одновременно отрабатываемых Электронным устройством (счётным или отображающим) разрядов (Чисел). volvo,andriano Как ето связано с ОС?..или процессором?.. |
andriano |
![]()
Сообщение
#5
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
С процессором - напрямую. Любой вменяемый процессор (х86, по-видимому, не очень вменяемый) имеет вполне конкретную разрядность - длину слова, обрабатываемую его АЛУ.
8086 задумывался как переходная модель от 8- к 16-разрядным процессорам, поэтому у него, в отличие от большинства его собратьев, была предусмотрена обработка как однобайтовых, так и двухбайтовых слов. 386 процессор создали 32-разрядным, но при этом программно совместимым с предыдущими моделями х86, так что он умеет обрабатывать 8-, 16- и 32-разрядные слова. В 80486 к процессорному ядру добавили устройство работы с плавающими числами. Внутреннее представление 80 разрядов, но при вводе/выводе поддерживает 32- и 64-разрядное представление. В Pentium MMX добавили 64-разрядные MMX-регистры. В Pentium III - 128-разрядные SSE. Но процессор по прежденму продолжает называться 32-разрядным по разрядности основного АЛУ и, самое главное, разрядности адреса памяти. ОС поддерживает определенную структуру памяти. Разрядность адреса и называется разрядностью ОС. |
Fanat |
![]()
Сообщение
#6
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
С процессором - напрямую. Любой вменяемый процессор (х86, по-видимому, не очень вменяемый) имеет вполне конкретную разрядность - длину слова, обрабатываемую его АЛУ. 8086 задумывался как переходная модель от 8- к 16-разрядным процессорам, поэтому у него, в отличие от большинства его собратьев, была предусмотрена обработка как однобайтовых, так и двухбайтовых слов. 386 процессор создали 32-разрядным, но при этом программно совместимым с предыдущими моделями х86, так что он умеет обрабатывать 8-, 16- и 32-разрядные слова. В 80486 к процессорному ядру добавили устройство работы с плавающими числами. Внутреннее представление 80 разрядов, но при вводе/выводе поддерживает 32- и 64-разрядное представление. В Pentium MMX добавили 64-разрядные MMX-регистры. В Pentium III - 128-разрядные SSE. Но процессор по прежденму продолжает называться 32-разрядным по разрядности основного АЛУ и, самое главное, разрядности адреса памяти. ОС поддерживает определенную структуру памяти. Разрядность адреса и называется разрядностью ОС. А зачем тогда добавили 64 и 128 разрядные регистры если АЛУ осталось 32 разрядным?.. Я так понимаю их использовали для увеличение адресной памяти... То есть разрядность адреса это и есть длина слова которую может обрабатывать АЛУ?.. |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
|
Fanat |
![]()
Сообщение
#8
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Цитата Это означает, например, что появляется возможность одновременно сложить или умножить с помощью всего одной инструкции два операнда из четырех чисел с плавающей точностью одинарной точности А как это 2 операнда, но 4 числа с плавающей точкой?.. Всё остальное понятно...и очень интересно...=)...так значит и 32битные компиляторы как раз могут использовать соотаетствующие регистры и инструкции...как я понял... |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата А как это 2 операнда, но 4 числа с плавающей точкой?.. 2 операнда - это 2 SSE-регистра, в каждый из которых можно запихать по 4 числа и потом одной инструкцией их перемножить. Классический пример - вычисление выражений вида "a0*x + a1*y + a2*z + a3*1". Забрасываем a0|a1|a2|a3 в один регистр, а x|y|z|1 - во второй. Перемножаем каждое с каждым одной инструкцией и в регистре-результате получаем a0*x|a1*y|a2*z|a3*1, после чего останется их только сложить...Сообщение отредактировано: volvo - 24.01.2008 19:12 |
Fanat |
![]()
Сообщение
#10
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
2 операнда - это 2 SSE-регистра, в каждый из которых можно запихать по 4 числа и потом одной инструкцией их перемножить. Классический пример - вычисление выражений вида "a0*x + a1*y + a2*z + a3*1". Забрасываем a0|a1|a2|a3 в один регистр, а x|y|z|1 - во второй. Перемножаем каждое с каждым одной инструкцией и в регистре-результате получаем a0*x|a1*y|a2*z|a3*1, после чего останется их только сложить... Понятно...а вот это АЛУ где находиться?..(всмысле в системном блоке...=)) Сообщение отредактировано: Fanat - 24.01.2008 19:39 |
andriano |
![]()
Сообщение
#11
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
А зачем тогда добавили 64 и 128 разрядные регистры если АЛУ осталось 32 разрядным?.. Я так понимаю их использовали для увеличение адресной памяти... То есть разрядность адреса это и есть длина слова которую может обрабатывать АЛУ?.. 1. Для векторных инструкций. Т.е. за одну команду обрабатывается не одно, а несколько чисел. MMX работают с целыми числами (8 байт или 4 слова или 2 двойных слова), полезны для звука и растровой графики. SSE работают с 4 числами с плавающей точкой, полезны для операций с векторами, которые обычно используются в 3D-графике. 2. Нет, адресация не изменилась т.к. осуществляется регистрами АЛУ. 3. АЛУ может обрабатывать как адреса, так и данные. Процессоры Intel 8086, 80286 и 80386 содержали в себе только АЛУ. В 80486 внутрь процессора перенесли FPU, которое раньше распоагалось в отдельном корпусе и могло устанавливаться в компьютер опционально. Начиная с Pentium MMX появился блок векторных инструкций. Добавлено через 2 мин. Понятно...а вот это АЛУ где находиться?..(всмысле в системном блоке...=)) АЛУ находится на кристалле, который находится в корпусе процессора, который закреплен в гнезде системной платы, которая находится в корпусе компьютера, который находится вероятнее всего на столе. |
Fanat |
![]()
Сообщение
#12
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Спасибо...
![]() Я так понимаю ассемблер как раз даёт доступ к этим регистрам... А где можно посмотреть все возможные регистры для моего компьютера?.. (к которым можно обратиться с помощью ассмблера) |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Ну, это смотря, какой у тебя процессор... Для Intel-овских - ходи сюда: http://www.intel.com/products/processor/manuals/ и смотри доки, начиная с "Volume 1: Basic Architecture"
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 5:17 |