Поиск портов SATA Диска

Тема в разделе "WASM.OS.DEVEL", создана пользователем drem1lin, 15 фев 2011.

  1. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Если говорить о поддержке DMA конкретным устройством, то BIOS должна настроить биты 5/6 в регистрах состояния BMI. Если отдельно взятый бит сброшен, то для соответствующего устройства не следует использовать DMA, ну или прежде чем это делать, нужно выполнить тщательное тестирование качественных и скоростных характеристик DMA.


    Опечатка.
     
  2. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Спасибо за слоть подробный ответ, а зачем мне использовать Bus Master? Я его роль не очень понимаю... В принципе я пришел к тем же выводам по поводу портов, но решал уточнить.
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    drem1lin
    1.7 DMA
    DMA- Прямой доступ к памяти.
    Скорость работы шины памяти гораздо выше чем других шин. Так вот чтобы не загружать процессор передачью данных используют контроллер DMA. PCI DMA и ISA DMA отличаются по реализации. Но суть одна передача данных занимается отдельный блок. Что позволяет распаралеллить задачи и тем самым повысить быстродействие. Происходит это следующим образом пока процессор считает свои данные и работает с кэшем. DMA контроллер начинает записывать данные из памяти в устройство или наоборот из устройства в память. Или из памяти в память.
    «Прямой доступ к памяти» означает что устройство само обращается к памяти минуя процессор. Т.е. процессор не участвует в передачи.

    Так вот 8237A это устаревший контроллер прямого доступа он расположен на ISA шине(LPC).
    Так вот шина ISA имеет частоту 8МГц и разрядность 16. Так вот больше 16мбайт/с ты не сможешь выжить.
    Да и шина адреса ограничены 24 линиями. 2^24=16 мбайт

    Поэтому нет смысла его использовать лучше перейти на Bus Master с UDMA. Там минимальная скорость от 16 мбайт/с, а максимальная 150 мбайт/с.
    Да и шина адреса доступна вся.

    А про PIO я молчу мало того что скорость маленькая так еще и процессор вынужден простаивать пока данные не считаются.
     
  4. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    То есть Bus Master контролирует DMA? В документации ATA/ATAPI про него написано?
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    drem1lin
    Bus Master - мастер шины.
    Относится к PCI. Это способность устройств PCI захватывать шину PCI. Тем самым осуществлять прямой доступ к памяти.
    Применительно к контроллеру IDE это способность реализации DMA и одноименный интерфейс. При этом HDD настраивается на режим UDMA.
    Bus Master работает в связке с UDMA.
    UDMA описан в спецификации ATA/ATAPI. Кстати UDMA тоже выполняет захват шины, но уже IDE.

    Bus Master описан:
    1. На wasm.ru есть небольшая статья, но без подробностей.
    2. Programming Interface for Bus Master IDE Controller
    3. PCI IDE Controller Specification
    4. Любой datashet на северный мост от Intel. 5 глава и главы посещенные SATA/IDE контроллерам.
     
  6. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Спасибо, а не южный мост разве отвечает за перефирию?
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    drem1lin
    Да, да ошибся южный.