Почему полученная тактовая частота составляет 6,144 МГц, а внутренне она (процессор 8085) использует только 3,072 МГц. Также, что приводит к удельному значению 6.144 в часах.
Я нашел ответ на Yahoo .... http://answers.yahoo.com/question/index?qid=20080810090119AAurr2i
но я должен признать, что я все еще не понял это хорошо. Ребята, не могли бы вы выкинуть несколько строк по этому поводу, пожалуйста?
8085
microprocessor
clock
loxxy
источник
источник
Ответы:
Одна из причин разделить часы на два состоит в том, чтобы получить прямоугольную волну с коэффициентом заполнения равной 50%. Может случиться так, что 8085 внутренне использует оба фронта часов и не будет работать, если одна половина цикла окажется намного короче другой.
В те дни, когда 8085 был новым, эти хорошие генераторы не были обычными, и люди часто собирали тактовые цепи из дискретных кристаллов, конденсаторов и логических элементов. Деление на два гарантирует, что у вас есть одинаково растущие и падающие края.
Что касается 6,144 МГц, вы обнаружите, что его можно разделить на целое число, чтобы получить общие значения скорости передачи, по крайней мере, до 38400.
следовать за ...
Глядя на спецификации Intel для 8085, есть три интересных утверждения
Итак, рассуждения об использовании нечетных краев часов для внутреннего перемещения в сторону, становится очевидным, что когда они разработали 8085, Intel заменила потребность в специальном контроллере часов, интегрировав эту функцию в чип. Разделение временной базы X1-X2 пополам перед выводом ее в виде CLK гарантирует, что система получит хороший равномерный рабочий цикл, если не больше.
источник
В то время, когда был разработан этот чип, люди использовали как можно меньше транзисторов в процессоре, чтобы сделать их достаточно маленькими, чтобы соответствовать имеющимся чипам.
Я подозреваю, что практически каждый «регистр» (как видимый программисту регистр набора команд, так и внутренние защелки микроархитектуры) в ЦП той эпохи хранил данные в прозрачной стробированной D-защелке или что-то подобное. В настоящее время в микросхеме много транзисторов, поэтому проще использовать полные триггеры типа «ведущий-ведомый», хотя они используют вдвое больше транзисторов.
Многие инструкции берут данные из некоторого регистра A, объединяют его с некоторыми другими данными с ALU и сохраняют результат обратно в регистр A. Это довольно легко сделать, если регистр A реализован с полным триггером D-master-slave.
Но если регистр A представляет собой прозрачную стробированную D-защелку, вам нужны неперекрывающиеся часы. Вы используете импульс на одном такте для хранения какого-либо промежуточного результата где-то (в то время как регистр A сохраняет свою выходную постоянную), а затем импульс на другом такте для загрузки регистра A с новым значением (в то время как промежуточный регистр сохраняет свою выходную постоянную).
Это требует двухфазных часов. Самый простой способ сделать неперекрывающиеся 2-фазные часы (в те дни, когда транзисторов было мало) - это небольшая внешняя схема, которая берет входные часы и делит их на два.
Со временем люди выяснили, как упаковать все больше и больше транзисторов в ИС. Таким образом, люди, разрабатывающие ЦП, все больше и больше интегрировали все компоненты ЦП в полную компьютерную систему в чип ЦП.
Читая между строк статьи о тактовых сигналах в Википедии , у меня складывается впечатление, что у людей, которые проектировали 8085, 6502 и другие чипы той эпохи, было немного больше места, чем в интегрированных процессорах предыдущего поколения, и они решили, что лучше. использование этой комнаты состояло в том, чтобы поместить эту маленькую внешнюю цепь в чип. Но они сохранили все регистры той же закрытой D-защелки, что и раньше.
Вот почему тактовая частота делится на два. Можно вспомнить, что первый внешний тактовый импульс генерирует импульс во внутреннем тактовом сигнале phase_one для обновления этого промежуточного регистра результата, а второй импульс из внешнего тактового генератора генерирует импульс во внутреннем тактовом сигнале phase_two для обновления видимого программистом регистра.
источник
Есть много причин разделить цикл команд на несколько тактов. Хорошим примером является доступ к шине основной памяти.
Большинство современных процессоров являются архитектурами фон Неймана; то есть их код и данные существуют в одном и том же чипе памяти. Ну, если вы хотите прочитать инструкцию, и эта инструкция будет загружать переменную из памяти ... это два обращения к памяти. Но большая часть памяти только однопортовая (то есть она может выполнять только одно чтение или запись за цикл). Итак, как вы читаете инструкцию и читаете переменную?
Решение состоит в том, чтобы использовать двухэтапный цикл инструкций. Первый этап извлекает инструкцию из памяти, а второй этап может затем прочитать (или записать!) Переменную из основной памяти.
Некоторые старые чипы пошли еще дальше. В свое время, если ваша микросхема имела 16-битную адресуемую память, а внешняя адресная шина только 8-битная, то вы были бы знакомы с Address Latch Enable. Один тактовый цикл отправляет старшие 8 бит 16-битного адреса, а следующий тактовый цикл отправляет младшие 8 бит. Третий цикл может затем прочитать / записать переменную из / в память.
Есть и другие, более веские причины иметь цикл инструкций длиной несколько тактов. Одна из лучших причин - конвейерная обработка. Это хитрость, которую современные процессоры используют для более полного использования всех исполнительных блоков, имеющихся в чипе; например, когда выполняется одна инструкция, в то же время выбирается следующая.
источник
Внутренне ядро 8085A требует двухфазных часов. Внутренняя логика, которая выводит две тактовые фазы, также делит входную тактовую частоту на две. Как указывалось ранее, причина использования входной тактовой частоты 6,144 МГц заключается в том, что для скорости передачи данных чип работает нормально на частоте 6 МГц. Чип на самом деле рассчитан на 3 МГц, для которого требуется кристалл 6 МГц, но он успешно работает на частоте 6,144 МГц, что обеспечивает более простую генерацию скорости передачи данных (Uart может работать с тактовой частотой 6,144 МГц от генератора, работающего на 8085, или на частоте 3,072 МГц от выхода CLK 8085 года. обеспечение многих полезных скоростей в бодах). Я до сих пор использую эти архаичные чипы для выполнения специальных функций в некоторых из моих роботов. Я синхронизирую Uarts с собственным генератором, а 8085A - с тактовой частотой 6,4 МГц, которая работает на частоте 3,2 МГц. 3. 2 МГц хорошо делится, чтобы обеспечить тактовую частоту 40 кГц для моих ультразвуковых преобразователей. В моих ботах более разумно использовать более современные ИС-устройства, но у меня есть тонна старых 8085, Z80, 63C09 и 63C09E, 68B09 и 68B09E и т. Д., С которыми мне действительно нравится играть.
источник
Часы - это не что иное, как момент, когда вы хотите, чтобы произошло событие. Теперь мы не предпочитаем запуск уровня в цифровых цепях, потому что, когда дается больше времени, может происходить взаимодействие между разными цепями в микропроцессоре, что приводит к коротким замыканиям. Таким образом, мы идем к краю TRIGGERING. Теперь микропроцессор не знает, когда произошел запуск по фронту. Он понимает только 1 или 0. Таким образом, триггер необходим для получения 1 и 0 при каждом обнаружении фронта тактового сигнала. Таким образом, становится необходимым использовать триггер. В результате тактовая частота делится на два.
источник