Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Что происходит при обращении к переменным в компьютере???

22K
09 февраля 2007 года
Хильда
11 / / 09.02.2007
:confused: Пожалуйста, объясните что происходит при обращении к ОДНОЙ переменной в самом компьютере, тоесть затрата памяти и др. Очень срочно!
252
09 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
на каком уровне объяснять : физическом или логическом ? )
22K
09 февраля 2007 года
Хильда
11 / / 09.02.2007
Лучше и так и так! =) Мне нужно показать что из-зи уменьшения обращений к переменным уменьшается время обработки и т.д.
252
09 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
для этого не надо знать что происходит . достаточно вспомнить что где бы данные не находились любое обращение к ним имеет конечную скорость . это значит что если обращение к одной переменной занимает время T , то к двум переменным последовательно время не може быть меньше чем 2T . имеется в виду физический носитель (не важно какой :HDD, оперативка или кеш проца ) .
22K
09 февраля 2007 года
Хильда
11 / / 09.02.2007
Я понимаю. Но мне нужно раскрыть именно то, что при обращении к переменной идет запрос в процессор там в лог.-арифм устройстве происходит..... Вот это мне надо! Спасибо!
9
09 февраля 2007 года
Lerkin
3.0K / / 25.03.2003
Цитата: Хильда
Я понимаю. Но мне нужно раскрыть именно то, что при обращении к переменной идет запрос в процессор там в лог.-арифм устройстве происходит..... Вот это мне надо! Спасибо!


Такой вопрос лучше задать инженерам компаний-производителей процессоров.

P.S. А обращение к переменной осуществляет именно процессор, и в него никакие запросы не идут...

252
09 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
рассмотрим конкретную операцию :mov eax,DATA
алу посылает через внутреннюю шину процессора адрес переменной (смещение относительно текущего сегмента данных ) и сигнал "читать" с внутренним адресом кеш-контроллера .
контроллер кеша воссоздаёт физический адрес переменной и проверяет атрибуты этого адреса . если есть атрибут "не кешировать" или получившийся адрес в кеше отсутствует , то физический адрес и сигнал читать передаются на внешнюю шину процессора , иначе содержимое кеш-записи передаётся на внутреннюю шину с сигналом "писать" и внутренним адресом регистра EAX .
в зависимости от конструкции компа сигналы между процем и оперативкой идут либо напрямую (пример:современные AMDехи) или через посредников (пример:северный мост ).
оперативка тоже содержит свой контроллер . он по принятому адресу делает выборку уз определённого чипа памяти определённой ячейки и передаёт её содержимое на шину процессора .
кеш память к этому времени (она быстрее работает) создаёт кеш-ячейку . принятые от оперативки данные записываются в эту ячейку и параллельно передаётся на внутреннюю шину с сигналом "писать" и внутренним адресом регистра EAX .
в АЛУ при получении сигнала "писать" и адресом EAX из очереди декодированных операций сбрасывается последняя операция с EAX .
регистр EAX видя на шине свой внутренний адрес выполняет сигнал "писать" меняя своё содержимое на данные с шины .
команда выполнена ) .
есть ещё всякие ньюансы например блокиравки конвейров выполнения и диспетчерезация шин , но это уж действительно к разработчикам . )
9
09 февраля 2007 года
Lerkin
3.0K / / 25.03.2003
koderAlex - 5 баллов. Очень толковое изложение.
Вот мне только интересно, какие выводы из всего этого сможет сделать Хильда? ;)
252
09 февраля 2007 года
koderAlex
1.4K / / 07.09.2005
чем бы дитя не плакало - лиш бы не кислотой ))
22K
09 февраля 2007 года
Хильда
11 / / 09.02.2007
Спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог