Важная информация

User Tag List

Показано с 1 по 10 из 10

Тема: Минимальное время чтения/записи байта

  1. #1
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Минимальное время чтения/записи байта

    Есть интерес к повторению этой разработки http://zxdn.narod.ru/hardware/dv07vghd.htm. Но дело в том что клон не Пентагон, и турбировать его можно только в части обращения к ПЗУ. Это все лирика, вопрос следующий. Какова минимальная длина кода, который надо выполнить чтобы прочитать/записать байт на дискету? По идее нужны проверки на окнчание сектора и т.п. Интересует ширина "бутылочного горлышка".

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если интересует частота следования информации на дискете, то тут для стандартных режимов около 100 тактов на 1 байт. Типовой цикл работы ПЗУ тырдоса при этом - чтение регистра состояния пока не появится готовность и затем считывание командой регистра данных.
    На 1 сектор - около 30000 тактов, на одну дорожку - около 8 прерываний.
    (2,5 физических трека в секунду).
    Если интересует программа чтения которая в ПЗУ тырдоса лежит, то тут бери ревюшки там полный дизасм есть с понятными каментами, для версии 5.03, а версии поломанные нашими ломакиными - там уже только самому разбираться.
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  4. #3
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Такты на дисководе я сам могу вычеслить Интересует участок кода в ПЗУ и ОЗУ, раздельно, в такты CPU сам смогу пересчитать. Кто в этом смыслит, подскажите.

  5. #4
    Member Аватар для Antipod
    Регистрация
    19.08.2008
    Адрес
    Украина, Львов
    Сообщений
    116
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    Такты на дисководе я сам могу вычеслить Интересует участок кода в ПЗУ и ОЗУ, раздельно, в такты CPU сам смогу пересчитать.
    Участка кода (который побайтно читает данные) в ОЗУ не бывает, так как порты контроллера в норме открыты сам-знаешь-когда, и сектор целиком считывается процедурами тр-доса. Поэтому дорога тебе к дизассемблерному листингу ПЗУ тр-доса - считай там.
    Цитата Сообщение от spensor Посмотреть сообщение
    Кто в этом смыслит, подскажите.
    [ Когда-то написал глючную тулзовину для копирования с мс-дос в тр-дос, глюки в основном были в гуе. Работа с дисководом частично была подсмотрена в storm. ]

  6. #5
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В ОЗУ там точно выходить не нужно, для каких нибудь проверок? Имею в виду неTRDOS формат диска.

  7. #6
    Member Аватар для Antipod
    Регистрация
    19.08.2008
    Адрес
    Украина, Львов
    Сообщений
    116
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    В ОЗУ там точно выходить не нужно, для каких нибудь проверок? Имею в виду неTRDOS формат диска.
    Точно не нужно .
    Например, даем команду "прочитать сектор", и выполнение не выйдет из ПЗУ тр-доса до тех пор пока не прочитает _весь_ сектор, тость пока целиком не выполнится команда. Если сектор окажется, к примеру, длиной 512 байт вместо 256, то все равно прочитается все... Другими словами получить управление между считываниями байтов и не вызвав ошибки низя. Получить управление вообще-то можно - при аппаратном прерывании ( нажать кнопочку NMI, например. Или начать читать при разрешенных прерываниях ), но это, как правило, вызывает рассинхронизацию и еррор.

  8. #7
    Veteran
    Регистрация
    22.02.2005
    Адрес
    Украина, Харьков
    Сообщений
    1,527
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, по идее у нас есть все равно задержка на ОЗУ, байты то туда-оттуда идут.

  9. #8
    Member Аватар для Antipod
    Регистрация
    19.08.2008
    Адрес
    Украина, Львов
    Сообщений
    116
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от spensor Посмотреть сообщение
    Кстати, по идее у нас есть все равно задержка на ОЗУ, байты то туда-оттуда идут.
    Ну да, тогда твоя турба обламывается... Ну, значит, при подсчете тактов когда обращении к ОЗУ турбу не учитывать. И придется турбу делать "авто", тость когда обращение к ОЗУ - турба выключается.

  10. #9
    Junior
    Регистрация
    24.01.2006
    Адрес
    Москва
    Сообщений
    12
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос к участникам. Может быть кто нибудь подключал винчестер на 8ми битную
    шину Синклера . Дело в том что в протоколе АТА есть режим 8ми битного DMA
    старых винчестеров полно интересует подключение. Я слышал что кто-то уже подключал винчестер может быть ссылочку на драйвер кто даст желательно с
    исходником

  11. #10
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    винты подключали, не тока старые, но дма не использовали, только порты. схем несколько и их надо искать...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Плагин FAR для чтения реальных дисков TR DOS
    от Alexandr Medvedev в разделе Утилиты
    Ответов: 2
    Последнее: 15.09.2010, 06:17
  2. Ответов: 4
    Последнее: 17.04.2008, 17:47
  3. Ответов: 35
    Последнее: 22.10.2007, 20:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •