Что такое такт в информатике кратко

Обновлено: 05.07.2024

Та́ктовая частота́ — частота синхронизирующих импульсов синхронной электронной схемы, то есть количество синхронизирующих тактов, поступающих извне на вход схемы за секунду. Обычно термин употребляется применительно к компонентам компьютерных систем. В самом первом приближении тактовая частота характеризует производительность подсистемы (процессора, памяти и пр.) , то есть количество выполняемых операций в секунду. Однако системы с одной и той же тактовой частотой могут иметь различную производительность, так как на выполнение одной операции разным системам может требоваться различное количество тактов (обычно от долей такта до десятков тактов) , а кроме того, системы, использующие конвейерную и параллельную обработку, могут на одних и тех же тактах выполнять одновременно несколько операций.

Это скоко раз в секунду последовательно исполняется элеметарных операций (2,53ГГц=2530000000 операций)

ну чтобы вам было понятно это как у вашего сердца частота примерно 60 -- 70 ударов в минуту так и у процессора! только быстрее в миллионы раз!

плохо училась в школе ?
из шлольного курса 11-х классов
частота амплитудного колебания Гц это число изменений в ед времени
точно не помню довно учился в школе ;)
это было доступным языком, а теперь то как я эо понимаю

Та́ктовая частота́ — частота синхронизирующих импульсов синхронной электронной схемы, то есть количество синхронизирующих тактов, поступающих извне на вход схемы за секунду. Обычно термин употребляется применительно к компонентам компьютерных систем. В самом первом приближении тактовая частота характеризует производительность подсистемы (процессора, памяти и пр.) , то есть количество выполняемых операций в секунду. Однако системы с одной и той же тактовой частотой могут иметь различную производительность, так как на выполнение одной операции разным системам может требоваться различное количество тактов (обычно от долей такта до десятков тактов) , а кроме того, системы, использующие конвейерную и параллельную обработку, могут на одних и тех же тактах выполнять одновременно несколько операций.

тактов. част. процессора характеризует быстродействие компа. режим работы процессора задается микросхемой которая назыв. тактов. част. это своеобразный метроном. внутри компа. на выполнение каждой операции процессором отводится определенное кол-во тактов. если метроном стчит быстрее то и процессор работает быстрее.

Сразу хочу обратить ваше внимание, что данная статья уже имеет прямое отношение к применению микроконтроллера и ее нельзя назвать иллюстративной. Зато она проще предыдущей.

Давайте продолжим наше знакомство с процессором микроконтроллера, которое мы начали во второй части. Если помните, мы остановились на упрощенной функциональной схеме абстрактного процессора микроконтроллера. В той схема все хорошо и правильно, но увы, она не работоспособна. Как же так?

На самом деле причина очень проста. У нас все составные части процессора работают когда хотят и сколько хотят. А это приводит к конфликтам, гонкам, запрещенным состояниям, что хорошо знакомо разработчикам цифровых схем. Время распространения сигналов с нашей схеме зависит от пути, по которым они проходят.

В результате, у нас может оказаться, что сигнал выбора местоположения результата уже добрался до демультиплексора, а вот результат из АЛУ еще нет. А время формирования результата в АЛУ зависит от выбранной операции. Когда же мы получим результат вполне может оказаться так, что сигнал выбора местоположения результата уже неверен.

Что же делать? Мы должны добавить в наш процессор синхронизацию, которая позволит всем узлам работать согласованно. Давайте еще раз вспомним основные этапы работы процессора

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

Всего 4 этапа, которые будут соответствовать 4 состояниям процессора. Этапы мы будем называть тактами процессора. Все четыре этапа, вместе взятые, образуют машинный цикл . Таким образом, машинный цикл у нас будет состоять из четырех тактов. Иногда это называют фазами работы процессора. Сразу замечу, что это упрощенная модель синхронизации для нашего абстрактного процессора . Теперь нам надо сформировать сигналы управляющие работой узлов процессора и соответствующие этим 4 фазам.

Все очень просто. Тактовый генератор G формирует импульсы Т на каждый такт работы процессора. Двоичный (2-разрядный, в данном случае) счетчик CT2 вместе с дешифратором DC из тактовых импульсов формируют сигналы состояний процессора, или фаз, F1-F4. Все эти сигналы поступают на узлы процессора и упорядочивают их работу. Вот такую, очень простую, временную диаграмму одного машинного цикла мы получим.

А теперь посмотрим, какие узлы процессора будут работать во время разных фаз.

Работающие, активные, узлы процессора и задействованные сигналы я выделил красным цветом. Адрес команды у нас хранится в регистре PC, а полученная команда в регистре CMD.

Теперь из кода команды мы получаем информацию об операнде (или операндах) и обеспечиваем их подачу на входы АЛУ. Здесь я отметил все возможные комбинации сигналов, так как не указываю, что за команда будет выполняться.

Теперь процессор готов выполнить команду (АЛУ выполняет заданную операцию) и поместить результат на место. Обратите внимание, шина памяти у нас использовалась и в фазе 1 и в фазе 2 для получения информации. А в фазе 3 мы используем шину памяти для сохранения информации. Таким образом у нас операции с памятью оказываются разнесенными во времени и не мешают друг другу.

Наконец мы можем сформировать адрес команды, которая будет выполняться в следующем машинном цикле. Это не обязательно следующая команда, если мы выполнили команду перехода.

Вот так просто и легко мы навели порядок в работе процессора и смогли избежать хаоса. Конечно, в реальных процессорах все устроено сложнее, но суть именно такова.

Латентность

Но почему предыдущая статья была иллюстративной, а эта уже имеет отношение к практике? Дело в том, что микроконтроллеры обычно применяются для управления какими либо объектами и процессами, а это иногда требует точного соблюдения времени реакции и временных параметров сигналов управления. И вот тут схема тактирования и синхронизации начинает иметь значение.

Давайте забежим немного вперед. Предположим, что у нас один машинный цикл состоит из 4 тактов, как мы и рассматривали. А частота тактовых импульсов равна 4 МГц. Тогда мы получаем, что один такт занимает 250 нс, а один машинный цикл 1 мкс. Пусть нам нужно обрабатывать поступление сигнала на вход микроконтроллера.

Предположим, что наш микроконтроллер считывает состояние входных сигналов во втором такте цикла независимо от того, какую команду он выполняет. А полученные данные доступны только в следующем цикле. Пусть следующая команда анализирует полученные данные, а следующая за ней формирует выходной сигнал, если мы получили сигнал на входе. При этом выходной сигнал формируется на выходе микроконтроллера в третьем такте цикла, если выполняется соответствующая команда.

Через какое время мы сможем выдать выходной сигнал после получения входящего? Два такта, плюс полный цикл, плюс три такта? То есть, 9 тактов, что составляет 2,25 мкс? Ответ неверный. А что, если у нас входящий сигнал появился во время первого такта? Мы получим дополнительный такт задержки, что даст нам уже 2,5 мкс между входящим и выходным сигналами.

А если входящий сигнал появился в третьем такте? Мы получим 1 или 2 такта в цикле, в котором наш сигнал запоздал. Плюс, мы пропустим весь следующий цикл, так как сигнал будет считан только во втором такте и еще не будет доступен. Таким образом, дополнительная задержка составит 5 или 6 тактов. А время нашей реакции на сигнал составит уже 3,25 мкс.

Таким образом, время нашей реакции, в этом очень простом примере, будет колебаться между 2,25 мкс и 3,25 мкс. В некоторых случаях это может быть очень критично . Такие вот неявные, или скрытые, задержки называют латентностью . И избежать их невозможно, но можно учитывать. Причем не спасут и прерывания, о которых мы будем в дальнейшем говорить, там латентность может быть даже больше.

Совершенно не обязательно вам потребуется учитывать схему тактирования вашего микроконтроллера. Но знать о ней необходимо. И необходимо понимать, к чему она может привести и когда ее нужно учитывать.

Заключение

Вот и закончилась наша короткая статья о тактировании и синхронизации. Она была проще, надеюсь, предыдущей. И уже гораздо ближе к практике.

В следующей статье я кратко коснусь понятия микропрограммы, как средства и принципа реализации процессора. Тот процессор, который мы рассматривали в последних двух статьях был построен на жесткой логике. Эта статья будет факультативной, то есть, не обязательной. Но надеюсь, что она все таки будет интересной и полезной (хотя бы для общего развития).


Если у вас есть опыт создания ПО и вы хотите познакомиться с проектированием цифровых логических схем (digital design), то одна из первых вещей, которые вам нужно понять, — это концепция тактов. Она раздражает многих программных инженеров, начинающих HDL-проектирование. Без использования тактов они могут превратить HDL в язык программирования с $display , if и циклами for , как в любом другом языке. Но при этом такты, которые новички игнорируют, — зачастую один из основополагающих элементов при проектировании любых цифровых логических схем.

Ярче всего эта проблема проявляется именно при рассмотрении первых схем, созданных начинающими HDL-разработчиками. Я недавно общался с некоторыми из них. Новички опубликовали свои вопросы на форумах, которые я читаю. Когда я проанализировал то, что они делают, от увиденного волосы встали дыбом.

Например, один из студентов попросил объяснить, почему никого в сети не заинтересовала его HDL-реализация AES. Не стану смущать его, приводить ссылку на проект или имя его создателя. Вместо этого я буду называть его студентом. (Нет, я не профессор.) Так вот, этот студент создал Verilog-схему, в которой AES-шифрование выполняется в течение не одного раунда, а каждый раунд, с комбинаторной логикой без тактов. Не помню, какой именно AES он применил, 128, 192 или 256, но AES требует от 10 до 14 раундов. В симуляторе его движок шифрования работал идеально, при этом на шифрование/дешифрование своих данных он использовал только один такт. Студент гордился своей работой, но не мог понять, почему те, кто её смотрел, говорили ему, что он мыслит как программный инженер, а не аппаратный.

Иллюстрация 1. Программное обеспечение последовательно

Если вы пытаетесь понять необходимость тактов при работе над цифровой логической схемой либо если вы знаете кого-то, кто ломает голову над этой концепцией, то эта статья для вас.

Давайте пока обсудим такт и важность постройки и проектирования вашей логики вокруг него.

Урок № 1: аппаратная архитектура — это параллельная архитектура

Первая и, вероятно, самая трудная часть изучения аппаратного проектирования заключается в том, чтобы осознать, что вся аппаратная архитектура параллельна. Ничто не выполняется последовательно, как одна инструкция за другой (см. иллюстрацию 1) в компьютере. На самом деле всё происходит за раз, как на иллюстрации 2.

Иллюстрация 2. Аппаратная логика работает параллельно

Это многое меняет.

Иллюстрация 3. Программный цикл

Первое, что должно измениться, — сам разработчик. Научитесь мыслить параллельно.

Хороший пример, иллюстрирующий это различие, — аппаратный цикл.

В ПО цикл состоит из серии инструкций, как на иллюстрации 3. Они создают набор начальных условий. Затем в цикле применяется логика. Для определения этой логики используется переменная цикла, которая часто инкрементируется. Пока эта переменная не достигнет состояния прерывания, процессор будет циклически повторять инструкции и логику. Чем больше раз прогоняется цикл, тем дольше выполняется программа.

Аппаратные циклы на базе HDL работают совсем не так. Средство синтеза (synthesis tool) HDL использует описание цикла для создания нескольких копий логики, все они выполняются параллельно. Нет нужды синтезировать логику, используемую для создания цикла, — например индекс, инкрементирование этого индекса, сравнение индекса с финальным состоянием и т. д., — поэтому её обычно убирают. Более того, поскольку средство синтеза создаёт физические соединения и логические блоки, количество прохождений цикла не может изменяться после завершения синтеза.

Получающаяся структура показана на иллюстрации 4. Она очень отличается от структуры программного цикла на иллюстрации 3.

Иллюстрация 4. Цикл, сгенерированный HDL


Из этого есть ряд следствий. Например, итерации циклов необязательно зависят от выходных данных предыдущих итераций, как в ПО. В результате трудно прогонять цикл логики по всем данным в наборе, получая ответ в следующем такте.

Но… теперь мы снова вернулись к концепции цикла.

Цикл — это основа любой FPGA-схемы. Всё вращается вокруг него. Вся разработка вашей логики должна начинаться с такта. Это не второстепенная вещь, такт в первую очередь формирует структуру вашего мышления о проектировании цифровых логических схем.

Почему важен такт

Сначала нужно понять, что все операции, которые вы проектируете в цифровой логической схеме, выполняются аппаратно в течение какого-то времени. Причём разные операции длятся по-разному. Переход с одного края микросхемы на другой занимает время.

Эта мысль изображена на графике. Давайте поместим сверху входные данные для нашего алгоритма, в середине — логику, а внизу — выходные данные. Ось времени отложим сверху вниз, от одного такта до другого.

Иллюстрация 5. Выполнение логики занимает время, три операции


На иллюстрации 5 показано несколько операций (сложение, умножение) и несколько раундов применения AES, хотя для нашего примера это могут быть раунды любого другого алгоритма. Вертикальный размер блоков характеризует длительность каждой операции. Кроме того, операции, зависящие от других операций, идут друг за другом. То есть если вы хотите в пределах такта выполнить много раундов применения AES, то имейте в виду, что второй раунд не начнётся до тех пор, пока не завершится первый. Следовательно, внедрение такой логики увеличит длительность между тиками тактов и замедлит общую тактовую частоту.

Посмотрите на розовые блоки.

Они отражают потери активности вашей аппаратной схемы (hardware circuit) — время, которое можно было бы потратить на выполнение каких-то операций. Но поскольку вы решили дождаться завершения такта или ждёте, чтобы сначала обработать входные данные, то вы ничего не можете делать. Например, на этом графике умножение длится не больше одного раунда применения AES, как и сложение. Однако вы не можете ничего сделать с результатами этих двух операций, пока выполняются вычисления AES, потому что для получения их следующих входных данных нужно дождаться следующего такта. То есть розовые блоки — это время простоя электронной схемы. Причём в данном случае оно увеличено из-за того, что раунды применения AES отдаляют следующий такт. Так что такая схема не сможет использовать всех возможностей оборудования.

Если бы нам нужен был лишь конвейер применения AES-алгоритма, чтобы один раунд мог быть вычислен в каждом такте, то схема могла бы работать быстрее, тратя меньше времени на ожидания.

Иллюстрация 6. Разбиение операций для ускорения тактов


После разбиения операции на более мелкие операции, каждая из которых может быть выполнена между тиками тактов, потери активности сильно уменьшаются. Причём вместо шифрования только одного блока данных за раз мы можем превратить алгоритм шифрования в конвейер. Получившаяся логика не будет шифровать одиночный блок быстрее, чем на иллюстрации 5, но если поддерживать наполненность конвейера, то это в 10—14 раз увеличит скорость AES-шифрования.

Это следствие более качественной архитектуры.

Можно ли сделать ещё лучше? Да! Если вы знакомы с AES, то знаете, что каждый раунд состоит из дискретных шагов. Их тоже можно раскидать, ещё больше увеличив скорость такта, пока выполнение логики AES-раунда не станет занимать меньше времени, чем умножение. Это увеличит количество сложений и умножений, которые вы можете выполнить, так что разложение движка шифрования на микроконвейеры позволит пропускать за такт ещё больше данных.

Также на иллюстрации 6 показана парочка других вещей.

Во-первых, будем считать стрелки задержками при маршрутизации (routing delays). График не масштабный, это лишь иллюстрация для отвлечённой дискуссии. Каждая часть логики должна получать результат предыдущей части логики. Это означает, что даже если какой-то части логики не требуется времени для выполнения — как если бы просто менялся порядок проводов, — то переход логики с одного конца микросхемы к другому всё же займёт время. Следовательно, даже если вы максимально упрощаете свои операции, всё равно будут задержки на перемещение данных.

Во-вторых, вы могли заметить, что ни одна стрелка не начинается с начала такта. И ни одна не доходит до следующего такта. Это сделано для иллюстрирования концепции времени установки и удержания (setup and hold timing). Триггеры — это структуры, которые удерживают и синхронизируют ваши данные в такте. Им нужно время до начала такта, чтобы данные стали постоянны и определены. Хотя многие считают, что такт начинается мгновенно, на самом деле это не так. В разных частях микросхемы он начинается в разное время. И это тоже требует буфера между операциями.

К каким заключениям можно прийти в результате этого урока?

  1. Выполнение логики требует времени.
  2. Чем больше логики, тем больше нужно времени.
  3. Скорость такта ограничена количеством времени, которое нужно для выполнения логики, находящейся между тиками тактов (плюс задержки при маршрутизации, время установки и удержания, неопределённость начала такта и т. д.).
    Чем больше логики в тактах, тем ниже тактовая частота.
  4. Скорость быстрейшей операции будет ограничена скоростью такта, необходимой для выполнения самой медленной операции.
    Например, вышеописанная операция сложения. Она могла выполняться быстрее умножения и любого одиночного раунда применения AES, однако ей приходилось ждать выполнения остальной логики в схеме.
  5. Существует аппаратное ограничение скорости такта. Какое-то время уходит даже на операции, не требующие логики.

Получается, что при сбалансированной архитектуре в тактах нужно располагать более-менее равное количество логики на протяжении всей схемы.

Сколько логики помещать в тактах?

Теперь вы знаете, что вам необходимо работать с тактами. Как вы измените или построите свою схему в свете этой информации? Правильный ответ: вы ограничите количество логики в тактах. Но насколько ограничить и как это понять?

Один из способов определения оптимального количества логики в такте — задать среднее значение скорости тактов, а затем построить схему с помощью набора инструментов, которые понимают ваше оборудование. Каждый раз, когда схема не будет соответствовать требованиям тайминга, вам придётся возвращаться назад и разбивать компоненты схемы либо замедлять тактовую частоту. Нужно иметь возможность использовать свои инструменты проектирования для поиска наиболее длинного пути.

Сделав это, вы освоите ряд эвристических правил, которые потом будете использовать для вычисления количества логики в тактах применительно к оборудованию, с которым вы работаете.

Например, я хочу построить схему с тактовой частотой 100 МГц с деталями серии Xilinx 7. Эти схемы потом обычно работают на 80 МГц и на Spartan-6 либо на 50 МГц и на iCE40 — хотя это и не строгие сочетания. На одном чипе пойдёт нормально, другой чип окажется избыточно мощным, на третьем появятся проблемы с проверкой синхронизации (timing check).

Вот несколько примерных эвристических правил, относящихся к тактам. Поскольку это эвристика, вряд ли она применима для всех видов схем:

1. Обычно я могу в рамках такта выполнять 32-битное сложение с мультиплексированием 4—8 элементов.

Если будете использовать более быстрые такты, например 200 МГц, то вам может понадобиться отделить сложение от мультиплексора. Самый длинный путь ZipCPU начинается с выходных данных ALU и заканчивается входными данными ALU. Звучит просто. Даже соответствует вышеописанной эвристике. Проблема, с которой борется ZipCPU на более высоких скоростях, заключается в маршрутизации выходных данных обратно в ALU.

Давайте разберём маршрут: после ALU логический путь сначала идёт через четырёхсторонний мультиплексор, чтобы решить, чьи выходные данные нужно записать обратно — из ALU, памяти или операции деления. Затем записанный результат передаётся в схему обхода (bypass circuit), чтобы определить, нужно ли немедленно передавать его в ALU в качестве одних из двух входных данных. Только в конце этого мультиплексора и обхода наконец-то выполняется ALU-операция и мультиплексор. То есть на каждом этапе логический путь может пройти через ALU. Но благодаря конструкции ZipCPU любые такты, вставленные в логический путь, пропорционально замедлят выполнение ZipCPU. Это означает, что самый длинный путь наверняка на время останется самым длинным путём ZipCPU.

Если бы меня интересовало выполнение ZipCPU с более высокой скоростью, то это был бы первый логический путь, который я попытался бы разбить и оптимизировать.

2. 16×16-битное умножение занимает только один такт. Иногда на каком-нибудь оборудовании я могу реализовать в одном такте 32×32-битные умножения. А на другом оборудовании придётся разбивать на части. Так что если мне когда-нибудь понадобится знаковое (signed) 32×32-битное умножение, я воспользуюсь конвейерной подпрограммой (pipelined routine), которую я сделал для таких случаев. Она содержит несколько вариантов умножения, что позволяет мне выбирать подходящие для текущего оборудования опции.

3. Любое блочное обращение к оперативной памяти (block RAM access) занимает один такт. Старайтесь не подстраивать индекс в ходе этого такта. Также избегайте в это время любых операций с выходным данными.

Хотя я утверждаю, что это хорошее правило, но мне приходилось успешно нарушать обе его части без (серьёзных) последствий при работе на 100 МГц на устройстве Xilinx 7 (у iCE40 с этим проблемы).

Например, ZipCPU считывает из своих регистров, добавляет непосредственный операнд к результату, а затем выбирает, должен ли результат быть регистр плюс константа, PC плюс константа либо регистр кода условия (condition code register) плюс константа — всё в одном такте.

Другой пример: долгое время Wishbone Scope определял адрес для считывания из своего буфера на основе того, выполняется ли чтение из памяти в ходе текущего такта. Разрыв этой зависимости потребовал добавления ещё одного такта задержки, так что текущая версия больше не нарушает это правило.

Эти правила — не более чем эвристика, которой я пользуюсь для определения того, сколько логики помещается в такты. Это зависит от оборудования и скорости тактов, так что вам может и не подойти. Рекомендую выработать свои эвристики.

Следующие шаги

Возможно, лучший совет, что я могу напоследок дать новичкам-разработчикам FPGA, — это изучать HDL, параллельно практикуясь на реальном оборудовании, а не на одних лишь симуляторах. Инструменты, связанные с реальными аппаратными компонентами, позволят вам проверять код и необходимые тайминги. Кроме того, разрабатывать схемы для быстрых тактов — хорошо, но в аппаратном проектировании на этом свет клином не сошёлся.

Помните, аппаратная архитектура по своей природе параллельная. Всё начинается с такта.

В этом разделе приведены самые основные термины и определения, с которыми вы встретитесь, если начнёте изучать микроконтроллеры.

Тактовый сигнал (или просто такт)

Это сигнал, который используется для согласования операций в одной или более цифровых схем. Если речь идёт о микроконтроллере, то тактовый сигнал используется для согласования операций внутри микроконтроллера (по сути микроконтроллер - это несколько цифровых схем, объединённых в одном корпусе).

Тактовый сигнал обычно имеет прямоугольную форму. То есть этот сигнал (например, логическая единица - появление напряжения на выводе), появляется и исчезает через какие-то промежутки времени.

Активным уровнем тактового сигнала принято называть момент переключения из одного состояния в другое. Активным уровнем является высокий уровень, если схема переключается в момент, задаваемый фронтом синхросигнала, то есть когда синхросигнал переключается из нижнего уровня в верхний. Если переключение происходит по срезу синхросигнала, то активный уровень - низкий.

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

Выполнение различных элементарных операций может занимать от долей такта до многих тактов в зависимости от команды и процессора. Общая тенденция заключается в уменьшении количества тактов, затрачиваемых на выполнение элементарных операций.

Тактовая частота

Тактовая частота - частота синхронизирующих импульсов синхронной электронной схемы, то есть количество синхронизирующих тактов, поступающих извне на вход схемы за одну секунду.

А теперь по простому: тактовая частота - это количество тактовых сигналов за одну секунду.

В самом первом приближении тактовая частота определяет производительность подсистемы (процессора, памяти и пр.), то есть количество выполняемых операций в секунду. Однако системы с одной и той же тактовой частотой могут иметь различную производительность, так как на выполнение одной операции разным системам может требоваться различное количество тактов (обычно от долей такта до десятков тактов), а кроме того, системы, использующие конвейерную и параллельную обработку, могут на одних и тех же тактах выполнять одновременно несколько операций.

Период синхросигнала (clock period) - отрезок времени между соседними переключениями, совершаемыми в одном и том же направлении.

Частота синхросигнала (clock frequency) - величина, обратная периоду.

Скважность синхросигнала - отношение периода синхросигнала к длительности его активного состояния (скважность меандра равна двум).

Коэффициент заполнения - величина, обратная скважности.

КМОП (комплементарная структура металл-оксид-полупроводник. Английская аббревиатура CMOS (complementary metal-oxide-semiconductor). Это набор полупроводниковых технологий построения интегральных микросхем и соответствующая ей схемотехника микросхем. Подавляющее большинство современных цифровых микросхем имеют технологию КМОП.

IPS (англ. instructions per second - инструкций в секунду) - мера быстродействия процессора компьютера. Показывает число определённых инструкций, выполняемых процессором за одну секунду. Часто заявляемые производителями значения IPS являются пиковыми и получены на последовательностях инструкций, не характерных для реальных программ. Также на значения IPS сильно влияет пропускная способность иерархии памяти. В связи с этим, вместо исходных значений IPS для оценки быстродействия принято использовать результаты синтетических тестов (англ. benchmark), например SPECint или Dhrystone.

Производные единицы измерения:

  • 1 kIPS = 10 3 IPS (кило ИПС)
  • 1 MIPS (англ. million IPS) или 1 MOPS (англ. million operations per second, рус. МИПС) = 10 6 IPS (мега ИПС)
  • 1 GIPS = 10 9 IPS (гига ИПС)

На этом пока всё. Новые термины и определения будем раскрывать по мере продвижения на пути изучения устройства микроконтроллеров.

Оценочный комплект (Evaluation kits) - программное и/или аппаратное обеспечение, передаваемое потенциальным клиентам для ознакомления. В случае с микроконтроллерами позволяет тестировать устройства в условиях, максимально приближённым к реальным.

SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.

Статическая память с произвольным доступом (SRAM, static random access memory) — полупроводниковая оперативная память, в которой каждый двоичный или троичный разряд хранится в схеме с положительной обратной связью, позволяющей поддерживать состояние без регенерации, необходимой в динамической памяти (DRAM). Тем не менее, сохранять данные без перезаписи SRAM может, только пока есть питание, то есть SRAM остается энергозависимым типом памяти.

Произвольный доступ (RAM — random access memory) — возможность выбирать для записи/чтения любой из битов (тритов) (чаще байтов (трайтов), зависит от особенностей конструкции), в отличие от памяти с последовательным доступом (SAM, англ. sequential access memory).

EEPROM (англ. Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое ПЗУ (ЭСППЗУ), один из видов энергонезависимой памяти (таких, как PROM и EPROM). Память такого типа может стираться и заполняться данными до миллиона раз.

Читайте также: