На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Hardware:
1. Если вы не уверены в правильности ответа, напишите об этом, или не отвечайте вообще, не давайте дезинформацию!
2. Не забывайте указывать полное наименование, модель, изготовителя и краткие характеристики оборудования.
3. Аргументируйте свое мнение - приводите развернутое высказывание или источник информации.
4. Прежде чем задать вопрос посмотрите, нет ли ответа на него на перечисленных ниже ресурсах:
FAQ
Полезные ссылки
www.ixbt.com
www.overclockers.ru
www.fcenter.ru
www.3dnews.ru
www.thg.ru
www.nvworld.ru
www.radeon2.ru

Здесь вы можете выразить мнение о модераторе этого раздела, ^D^ima.
Модераторы: Akina
  
> Отличие перезагрузки холодной от горячей , На пальцах...
    Пива всем!

    Есть у нас такой предмет в универе Микропроцессорные средства, где препод нам рассказал в общих чертах (в общих, потому что мы заочники :) по другому с нами нельзя) про холодную перезагрузку (на примере 8086):
    (пишу по памяти, возможны очепятки)
    При нажатии на кнопку RESET асинхронный сигнал RESETIN приходит на генератор тактовых импульсов (ГТИ), синхронизируется с сигналм SYNC от процессора. Синхронизированный сигнал RESET приходит на одноименную ножку процессора. Процессор при этом обнуляет программный счетчик (ProgramCount) и сбрасывает три триггера
    1. триггер останова HALTA
    2. триггер обработки прерывания INTA
    3. триггер выполнения прямого доступа к памяти HLDA
    что делается дальше - не совсем ясно...

    А далее вопрос: что происходит при горячей перезагрузке?
    Мои рассуждения таковы: при нажатии на три клавиши (пусть это будет ДОС) процессору предлагается обработать какое-то прерывание, т.е. отложить выполнение так называемой основной программы и уйти на выполнение подпрограммы. Очевидно, что в данном случае в подпрограмме и будет какая-то команда перезагрузки. Поковырявшись в инете, смутно выяснил, что при этом надо просто начать заново исполнять POST, т.е. выполнить безусловный переход на какой-то там адрес. И далее строки типа
    Цитата
    DB 0EAh, 0, 0, 0FFh, 0FFh ;jmp 0FFFFh:0000h
    По адресу 0FFFFh:0000h (или 0F000h:0FFF0h) находится точка входа BIOS, а именно начало программы POST (Power On Self Test), которая выполняется при загрузке компьютера. Архитектура IBM-совместимых компьютеров такова, что при включении питания процессор начинает выполнение инструкций именно с этого адреса...

    а также
    Цитата
    Еще способы:
    - самый короткий - int 19h
    - jmp dword ptr ds:[467h], если ds=0


    Проясните ситуацию, плз.

    С уважением и надеждой.
    Сообщение отредактировано: Lerik -
      Холодная перезагрузка эквивалентна загрузке по включению
      ПЭВМ, теплая - перезагрузке по нажатию Ctrl+Alt+Del и отличается
      от холодной пропуском теста ОЗУ. Для выполнения теплой переза-
      грузки до передачи управления на F000h:FFF0h нужно заслать по
      адресу 00472h слово 1234h.
        Цитата Black Trinitron @
        Холодная перезагрузка эквивалентна загрузке по включению
        ПЭВМ
        Да это все понятно. Это такая общая терминология: нажми на эту кнопку питания - включится этот телевизор. А что внутри-то происходит? Что выполняется после п.3?

        Цитата Black Trinitron @
        Для выполнения теплой переза-
        грузки до передачи управления на F000h:FFF0h
        Вот это бы поподробнее... Я в Асме практически ничего не понимаю, поэтому неплохо бы расшифровать, что значит
        Цитата
        DB 0EAh, 0, 0, 0FFh, 0FFh ;jmp 0FFFFh:0000h
        Желательно с точностью до каждого символа. :whistle:

        Цитата Black Trinitron @
        нужно заслать по
        адресу 00472h слово 1234h
        А там чего хранится? Это адрес чего? Что это дает?
          когда-то давно я копался в коде по адресу 0FFFh:0000h - эх хорошие были времена.... :rolleyes:
          кароч, как оказалось, для перезагрузки (программной) достаточно послать 1 байт (0FEh) в порт 64h (притом, что это - порт контроллера клавиатуры :wacko: )
          Цитата Lerik @
          Цитата Black Trinitron @
          нужно заслать по
          адресу 00472h слово 1234h
          А там чего хранится? Это адрес чего? Что это дает?

          это просто типа флага - если по этому адресу записано 1234h, значит перезагрузка "теплая", иначе - "холодная" :)
          Сообщение отредактировано: MichSpar -
            Цитата MichSpar, 10.02.2006, 21:54:10, 1013097
            притом, что это - порт контроллера клавиатуры

            это-то очень просто... исторически так получилось, что у той микросхемы, которая была контроллером клавиатуры на был свободный выход... вот его и повесили на reset... не ставить же ради такой ерунды отдельную микруху...:)
              Цитата Lerik @
              DB 0EAh, 0, 0, 0FFh, 0FFh ;jmp 0FFFFh:0000h
              Желательно с точностью до каждого символа.


              EA - код jmp
              00
              00
              FF
              FF - Адрес
              ;)
                Ну, значит, в общем я прав?

                Вот еще нашел:
                Цитата
                В компьютерах IBM PC ROM находится по адресу FFFF0H. При включении компьютера процессор устанавливает состояние сброса, выполняет контроль четности, устанавливает в регистре CS значение FFFFH, а в регистре IP - нуль. Первая выполняемая команда поэтому находится по адресу FFFF:0 или FFFF0, что является точкой входа в BIOS. BIOS проверяет различные порты компьютера для определения и инициализации подключенных устрой ств. Затем BIOS создает в начале памяти (по адресу 0) таблицу прерываний, которая содержит адреса обработчиков прерываний, и выполняет две операции INT 11H (запрос списка присоединенного оборудования) и INT 12H (запрос размера физической памяти). Следующим шагом BIOS определяет имеется ли на диске или дискете операционная система DOS. Если обнаружена системная дискета, то BIOS выполняет прерывание INT 19H для доступа к первому сектору диска, содержащему блок начальной загрузки. Этот блок представляет собой программу, которая считывает системные файлы IBMBIO.COM, IBMDOS.COM и COMMAND.COM с диска в память. После этого память имеет следующее распределение: Таблица векторов прерываний
                Данные BIOS
                IBMBIO.COM и IBMDOS.COM
                Резидентная часть COMMAND.COM
                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,1036 ]   [ 14 queries used ]   [ Generated: 8.07.25, 00:34 GMT ]