Понимание частоты / колебаний чипа - PullRequest
4 голосов
/ 17 марта 2011

Я буквально понятия не имею, что это такое. Даже не знал бы, как найти то, что это. Буду очень признателен за любую помощь.

Ответы [ 2 ]

5 голосов
/ 17 марта 2011

Подумайте о звуке тик-так у дедушки или других маятниковых часов. В этом случае полный цикл тиков и токов обычно составляет одну секунду. С часами и часами мы перешли от механического гравитационного и / или пружинного к чему-то электрическому. Некоторые кристаллы могут быть использованы в цепях таким образом, что они создают электрические колебания. Цифровая электроника теперь использует кристаллы, а также вы можете получить высокую скорость и очень точное время. Таким образом, тактовая частота в этом случае - это электрическая мощность этого кварцевого генератора, тактовая частота 10 000 000 Гц (или 10 МГц) означает, что в секунду происходит 10 миллионов электрических тиковых сигналов. Подайте это в логики AND, OR и NOT, и вы сможете запускать процессоры и периферийные устройства.

Позволяет ограничить обсуждение на секунду более старыми процессорами или микроконтроллерами, чем-то, где процессор и память и все использует одни и те же часы. С этим тактовым сигналом, питающим цифровую логику, вы можете иметь логику, которая считывает инструкции из памяти и выполняет эти инструкции с некоторой производной скоростью. Загрузка регистра со значением из памяти (чтение) может занять 3 такта, один такт для извлечения инструкции из памяти, другой такт для декодирования и начала выполнения этой инструкции, и поскольку инструкция является чтением из памяти и память не может делать две вещи одновременно (в этой модели), то есть третий тактовый цикл для чтения из памяти, затем следующая инструкция считывается и выполняется и так далее. Поэтому некоторые процессоры меняют время выполнения по этим причинам, всегда есть выборка команды из памяти, а также декодирование и выполнение, и каждый из этих этапов занимает один или несколько тактов. Некоторые конструкции процессоров предпочитают использовать фиксированные, скажем, 4 такта для каждого цикла команд, при этом самая длинная исполняемая команда для этого процессора составляет 4 такта, а некоторые могут занимать только один такт.

Затем все стало лучше, и вы услышали слово конвейер, и вы увидели рекламу того, что x86 может выполнять одну инструкцию за такт или суперскаляр, где он выполняет более одной инструкции за такт. это немного вводит в заблуждение. Что делает конвейер, так это создает сборочную линию, если хотите. вспомним о заводских сериалах, как это делают и другие. Машина, которая производит навесные замки, имеет много шагов вдоль линии сборки, каждый шаг выполняет одну простую операцию, рисует числа на циферблате, перемещает циферблат на вал, вставляет циферблат плюс вал в блок и т. Д., Если все вы смотрели На последнем шаге это выглядело бы так, как будто они делали одну блокировку за цикл сборки, тогда как на блокировку могло потребоваться по 30 часов. С процессорами в одном такте один член в конвейере выбирает команду из оперативной памяти, следующая память декодирует предыдущую инструкцию, третья выполняет две инструкции назад и т. Д. Так что, когда вы слышите сброс канала или остановка конвейера, что это такое сборочная линия остановлена, или они должны остановить сборочную линию и выбросить каждый элемент на линии и начать все заново. Традиционно, когда у вас есть инструкция ветвления, которая означает, что две или несколько инструкций сразу после того, как они не будут выполнены, вы должны очистить канал и начать заполнять его снова с адреса, к которому ведет ветвь.

Если вы были достаточно долго или читали гугл или читали википедию, вы услышите о процессоре 486DX.Это было начало чего-то, что сейчас чрезвычайно распространено.До этого в процессоре были монокристаллические тактовые генераторы, вы хотели, чтобы ваш процессор работал на частоте 16 МГц, вы устанавливали тактовую частоту 16 МГц.Несколько проблем, одна из которых заключалась в том, что интерфейсы памяти не могли поддерживать, очень простое решение, которое заключается в том, что вы можете взять эти контакты на вашем процессоре и общаться с памятью с пониженной скоростью, скажем, ваш процессор работает на 16 МГц, вы можете запуститьпамять на 8 МГц, создавая новые часы, которые в два раза меньше частоты основных часов.Таким образом, с тик-ток-тик-ток на 16 МГц вы меняете выходной сигнал в памяти только на тиках.Таким образом, первый внутренний тик ставит галочку на часах шины памяти, первый ток, без изменений на выходе памяти, второй тик, который вы ставите ток на часы шины памяти, третий тик на память, четвертый тик на токна шину памяти и тд.Настоящая проблема возникла, когда сам ввод-вывод, все контакты процессора были не в состоянии работать с тактовой частотой, на которой могли работать транзисторы внутри.Таким образом, с 486DX они взяли тактовую частоту 25 МГц, и с помощью некоторого аналогового волшебства превратили его в тактовую частоту 50 МГц внутри детали, края части, память и другие шины работали на частоте 25 МГц или медленнее, но процессор, так чтоЕсли вы могли бы передавать инструкции достаточно быстро (это приводит к разговору о кешировании), конвейер работал бы на частоте 50 МГц.В пакетах без остановок или промывок это будет 50 миллионов инструкций в секунду.Создание стабильного 2-кратного множителя в то время было непростым делом.но сегодня это относительно тривиально.Современные процессоры с частотой в несколько гигагерц не используют гигагерцовые тактовые частоты, они часто используют тактовые частоты около 100 МГц и масштабируют их до нескольких гигагерц для ядер процессора, тогда вы можете услышать около 800 МГц памяти DDR или 1066 МГц памяти или 1333 и т. Д. То же самое с тактовой частотой 100 МГцссылка умножается для создания этих скоростей для шины памяти.

Таким образом, в современных компьютерах, как и в прежние времена, вы все еще используете кварцевые генераторы в качестве источника тактовых импульсов, волшебство природы, благодаря чему вы создаете много разных тактовых частот для процессора и периферийных устройств вокруг компьютера.Например, вы можете погуглить различные тактовые частоты для интерфейсов USB и FireWire и интерфейсов жесткого диска (ide / sata) и т. Д.

Я видел ваши другие вопросы о программировании PIC, например, PIC, в том, чтотрадиционный тип режима, в котором все запускается от одних часов с одной тактовой частотой, и если вы посмотрите на один из моих ответов, то увидите счет тактов «часы» и подсчитайте их, используя единицы циклов.Как только это будет сделано, вы можете применить к нему единицу времени для умножения или деления, в зависимости от случая с тактовой частотой 4 МГц или тактовой частотой 1 МГц и т. Д. Для выполнения одной и той же секции кода может потребоваться 100 циклов, процессор, использующий тактовую частоту 4 МГц, будетвыполнить эти 100 команд в 4 раза быстрее, чем если бы вы использовали генератор с частотой 1 МГц.Как и предполагал Дрирш, он почти линейный, по крайней мере, для простых случаев, подобных этому.Для современных компьютеров, если вы читаете данные с одного и того же жесткого диска с тем же кодом, процессор 3 ГГц не в 3 раза быстрее, чем процессор 1 ГГц, потому что скорость жесткого диска одинакова, а и процессор 3 ГГц, и процессор 1 ГГц останавливаютсяв ожидании данных с жесткого диска.У вас может быть такси, которое является Ferrari, но если вы живете в городе со взрослыми, более медленными людьми длиной 1 милю и шириной, ваш Ferrari будет припаркован большую часть времени, загружая и разгружая пассажиров, а не разгоняясь длянесколько сотен ярдов.Микроавтобус на самом деле будет быстрее, чем Ferrari (узкие места в том, что люди приходят и уходят).

0 голосов
/ 17 марта 2011

В этом контексте тактовая частота или тактовая частота - это частота, с которой выполняются отдельные команды или наименьшие неделимые части команд в CPU. Это обратная длительность тактового цикла.

Примеры: Один такт на Z80 длится 250 нс (из-за его частоты 4 МГц), на Phenom - 0,333 нс (его частота около 3 ГГц).

В более старом Z80 для перемещения 8-битных данных из одного регистра процессора в другой требовалось 4 тактовых цикла, когда в одном и том же действии требуется один цикл - и до 3 таких команд могут выполняться параллельно.

Это, очевидно, зависит от архитектуры процессора, и для данного типа процессора существует почти линейная зависимость скорости выполнения и тактовой частоты.

...