0 / 0 / 0 Регистрация: 29.04.2019 Сообщений: 18 |
|
1 |
|
Такт- это сколько в секундах?29.04.2019, 06:41. Показов 17082. Ответов 4
Такт процессора или такт ядра процессора — промежуток между двумя импульсами тактового генератора, который синхронизирует выполнение всех операций процессора.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
29.04.2019, 06:41 |
4 |
9374 / 5781 / 1374 Регистрация: 25.05.2015 Сообщений: 17,605 Записей в блоге: 14 |
|
29.04.2019, 07:42 |
2 |
Сообщение было отмечено Eclect как решение РешениеМежду импульсами проходит время, равное 1/(частота генератора, Гц).
3 |
0 / 0 / 0 Регистрация: 29.04.2019 Сообщений: 18 |
|
02.05.2019, 07:07 [ТС] |
3 |
как узгать частоту генератора? Он же должен быт у всех одинаковый, нет? время в секундах получается?
0 |
9374 / 5781 / 1374 Регистрация: 25.05.2015 Сообщений: 17,605 Записей в блоге: 14 |
|
02.05.2019, 12:41 |
4 |
Номинальная частота пишется в характеристиках процессора и дополнительно настраивается в биосе.
0 |
21265 / 8281 / 637 Регистрация: 30.03.2009 Сообщений: 22,638 Записей в блоге: 30 |
|
02.05.2019, 20:03 |
5 |
1/(частота генератора, Гц) Чисто на всякий случай. Не «частота генератора», а «частота процессора». А то там, условно говоря, генератор на 100 МГц и множитель 40, итого получается процессор работает на частоте 4ГГц. Вот эта частота по смыслу означает количество импульсов в секунду (т.е. 4 миллиарда). А то кто-нибудь неправильно поймёт
Он же должен быт у всех одинаковый, нет? Он будет одинаковый только у процессоров, работающих на одинаковой частоте
время в секундах получается? Да
1 |
С коллегами обсуждаем до смешного простой вопрос: чем является такт работы процессора?
Википедия уточняет:
В самом первом приближении тактовая частота характеризует производительность подсистемы (процессора, памяти и пр.), то есть количество выполняемых операций в секунду.
Обсуждаются два варианта:
- изменение значения бита (одного)
- ассемблерная операция (над рядом битов)
Благодарю!
Grundy♦
79.6k9 золотых знаков74 серебряных знака132 бронзовых знака
задан 7 авг 2013 в 13:55
AlexThumbAlexThumb
3,2091 золотой знак16 серебряных знаков34 бронзовых знака
5
Такт работы — это такт работы, т.е. промежуток времени между двумя соседними «пиками» некоего задающего тактового сигнала. Увы, без него не обойтись, т.к. схемы у нас цифровые и нам нужно фиксировать состояние сигналов.
Физически к изменению битов и выполнению команд такт относится опосредованно. Во-первых, разные блоки процессора работают на разной частоте. Но если рассматривать простейший случай, то одна команда выполняется минимум за один такт работы исполнительного у-ва. Всякие команды типа умножения или деления могут выполняться за сотни тактов. Во-вторых, общение с внешним миром у процессора происходит через шины, например, шину данных. У этой шины есть разрядность, например, 64 бит. Опять же в простейшем случае мы можем по этой шине передать за единицу времени кол-во информации равное произведению частоты на битность. Т.е. за такт можно сделать одну передачу, при этом все 64 бита передаются одновременно
Еще раз поясню, что «кол-во тактов» — это по сути единица измерения времени.
Связь со временем через частоту:
<Время> = <частота>*<кол-во тактов>
ответ дан 7 авг 2013 в 16:43
2
Если говорить про такт у процессора — это
промежуток между двумя импульсами тактового генератора
Нас так учили в университете. Когда разрабатывал калькулятор на схемах, тактом был импульс сигнала.., и я соглашусь с @avp
Но если отвечать на вопрос Такт как единица измерения
это:
отдельная стадия (временной промежуток) какого-либо циклического процесса
и тут не важно, выполняется одна операция, или комплекс операций, изменяется 1 бит или несколько бит.
ответ дан 7 авг 2013 в 17:14
IVsevolodIVsevolod
6,7144 золотых знака26 серебряных знаков51 бронзовый знак
Генератор тактовой частоты (генератор тактовых импульсов) генерирует электрические импульсы заданной частоты (обычно прямоугольной формы) для синхронизации различных процессов в цифровых устройствах ЭВМ.
Тактовые импульсы часто используются как эталонная частота — считая их количество, можно, например, измерять временные интервалы.
ссылка
ГТЧ необходим, чтобы множество процессов того же процессора выполнялось последовательно, сначала установка адреса команды на шину адреса, затем через 2 такта чтение данных с шины данных, через 80 тактов выполнение декодирования считанной команды и так далее.
Число тактов произведённых генератором с момента подачи питания (включения компьютера) хранится в специальном счётчике, который можно читать.
Схема прямоугольного импульса
ответ дан 16 ноя 2015 в 11:50
tomastomas
554 бронзовых знака
я думаю,
ассемблерная операция (над рядом битов)
это последовательная операция (рассматриваем в контексте одноядерной машины), потому приходим к определению, что тактовая частота — это количество выполняемых операций в секунду. Хотя если операция над рядом бит делается за 1 такт(например умножение) — значит кол-во байт в этой операции не учитывается
ответ дан 7 авг 2013 в 14:02
GoretsGorets
12.4k1 золотой знак19 серебряных знаков43 бронзовых знака
3
Такты для разработчиков
Время на прочтение
10 мин
Количество просмотров 22K
Если у вас есть опыт создания ПО и вы хотите познакомиться с проектированием цифровых логических схем (digital design), то одна из первых вещей, которые вам нужно понять, — это концепция тактов. Она раздражает многих программных инженеров, начинающих HDL-проектирование. Без использования тактов они могут превратить HDL в язык программирования с $display
, if
и циклами for
, как в любом другом языке. Но при этом такты, которые новички игнорируют, — зачастую один из основополагающих элементов при проектировании любых цифровых логических схем.
Ярче всего эта проблема проявляется именно при рассмотрении первых схем, созданных начинающими HDL-разработчиками. Я недавно общался с некоторыми из них. Новички опубликовали свои вопросы на форумах, которые я читаю. Когда я проанализировал то, что они делают, от увиденного волосы встали дыбом.
Например, один из студентов попросил объяснить, почему никого в сети не заинтересовала его HDL-реализация AES. Не стану смущать его, приводить ссылку на проект или имя его создателя. Вместо этого я буду называть его студентом. (Нет, я не профессор.) Так вот, этот студент создал Verilog-схему, в которой AES-шифрование выполняется в течение не одного раунда, а каждый раунд, с комбинаторной логикой без тактов. Не помню, какой именно AES он применил, 128, 192 или 256, но AES требует от 10 до 14 раундов. В симуляторе его движок шифрования работал идеально, при этом на шифрование/дешифрование своих данных он использовал только один такт. Студент гордился своей работой, но не мог понять, почему те, кто её смотрел, говорили ему, что он мыслит как программный инженер, а не аппаратный.
Иллюстрация 1. Программное обеспечение последовательно
Теперь у меня есть возможность дать советы программным инженерам вроде того студента. Многие из них обращаются с HDL как ещё с одним языком для написания приложений. Имея опыт программирования, они берут основы из любого софтверного языка программирования — как объявлять переменные, как сделать выражение «если», оператор выбора, как писать циклы и т. д., — а затем пишут код как компьютерную программу, в которой всё выполняется последовательно, при этом полностью игнорируя реалии проектирования цифровых логических схем, где всё происходит параллельно.
Иногда эти программисты находят симулятор вроде Verilator, iverilog или EDA playground. Тогда они используют в своей логике кучу команд $display
, обращаясь с ними, как с последовательными printf
, заставляя код работать без применения тактов. Затем их схемы «работают» в симуляторе с использованием одной лишь комбинаторной логики.
И потом эти студенты описывают мне свои схемы и объясняют, что они «без тактов».
Знаете что?
Дело в том, что никакая цифровая логическая схема не может работать «без тактов». Всегда существуют физические процессы, создающие входные данные. Все эти данные должны быть валидны на старте — в момент, формирующий первый «тик» тактового генератора в схеме. Аналогично некоторое время спустя из входных данных нужно получить выходные. Момент, когда все выходные данные валидны для данного набора входных данных, образует следующий «такт» в «бестактовой» схеме. Возможно, первый «тик» — это когда настроен последний переключатель на плате, а последний «тик» — когда глаза считывают результат. Неважно: такт существует.
В результате, если кто-то утверждает, что в его схеме «нет тактов», то это означает, что либо он каким-то неестественным образом использует симулятор, либо у его схемы есть какой-то внешний такт, задающий входные данные и считывающие выходные — и тогда получается, что на самом деле такты есть.
Если вы пытаетесь понять необходимость тактов при работе над цифровой логической схемой либо если вы знаете кого-то, кто ломает голову над этой концепцией, то эта статья для вас.
Давайте пока обсудим такт и важность постройки и проектирования вашей логики вокруг него.
Урок № 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). Триггеры — это структуры, которые удерживают и синхронизируют ваши данные в такте. Им нужно время до начала такта, чтобы данные стали постоянны и определены. Хотя многие считают, что такт начинается мгновенно, на самом деле это не так. В разных частях микросхемы он начинается в разное время. И это тоже требует буфера между операциями.
К каким заключениям можно прийти в результате этого урока?
- Выполнение логики требует времени.
- Чем больше логики, тем больше нужно времени.
- Скорость такта ограничена количеством времени, которое нужно для выполнения логики, находящейся между тиками тактов (плюс задержки при маршрутизации, время установки и удержания, неопределённость начала такта и т. д.).
Чем больше логики в тактах, тем ниже тактовая частота. - Скорость быстрейшей операции будет ограничена скоростью такта, необходимой для выполнения самой медленной операции.
Например, вышеописанная операция сложения. Она могла выполняться быстрее умножения и любого одиночного раунда применения AES, однако ей приходилось ждать выполнения остальной логики в схеме. - Существует аппаратное ограничение скорости такта. Какое-то время уходит даже на операции, не требующие логики.
Получается, что при сбалансированной архитектуре в тактах нужно располагать более-менее равное количество логики на протяжении всей схемы.
Сколько логики помещать в тактах?
Теперь вы знаете, что вам необходимо работать с тактами. Как вы измените или построите свою схему в свете этой информации? Правильный ответ: вы ограничите количество логики в тактах. Но насколько ограничить и как это понять?
Один из способов определения оптимального количества логики в такте — задать среднее значение скорости тактов, а затем построить схему с помощью набора инструментов, которые понимают ваше оборудование. Каждый раз, когда схема не будет соответствовать требованиям тайминга, вам придётся возвращаться назад и разбивать компоненты схемы либо замедлять тактовую частоту. Нужно иметь возможность использовать свои инструменты проектирования для поиска наиболее длинного пути.
Сделав это, вы освоите ряд эвристических правил, которые потом будете использовать для вычисления количества логики в тактах применительно к оборудованию, с которым вы работаете.
Например, я хочу построить схему с тактовой частотой 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), которую я сделал для таких случаев. Она содержит несколько вариантов умножения, что позволяет мне выбирать подходящие для текущего оборудования опции.
Ваше оборудование также может изначально поддерживать 18×18-битные умножения. Некоторые FPGA поддерживают умножение и накапливание в рамках одного оптимизированного аппаратного такта. Изучите своё оборудование, чтобы узнать, какие возможности вам доступны.
3. Любое блочное обращение к оперативной памяти (block RAM access) занимает один такт. Старайтесь не подстраивать индекс в ходе этого такта. Также избегайте в это время любых операций с выходным данными.
Хотя я утверждаю, что это хорошее правило, но мне приходилось успешно нарушать обе его части без (серьёзных) последствий при работе на 100 МГц на устройстве Xilinx 7 (у iCE40 с этим проблемы).
Например, ZipCPU считывает из своих регистров, добавляет непосредственный операнд к результату, а затем выбирает, должен ли результат быть регистр плюс константа, PC плюс константа либо регистр кода условия (condition code register) плюс константа — всё в одном такте.
Другой пример: долгое время Wishbone Scope определял адрес для считывания из своего буфера на основе того, выполняется ли чтение из памяти в ходе текущего такта. Разрыв этой зависимости потребовал добавления ещё одного такта задержки, так что текущая версия больше не нарушает это правило.
Эти правила — не более чем эвристика, которой я пользуюсь для определения того, сколько логики помещается в такты. Это зависит от оборудования и скорости тактов, так что вам может и не подойти. Рекомендую выработать свои эвристики.
Следующие шаги
Возможно, лучший совет, что я могу напоследок дать новичкам-разработчикам FPGA, — это изучать HDL, параллельно практикуясь на реальном оборудовании, а не на одних лишь симуляторах. Инструменты, связанные с реальными аппаратными компонентами, позволят вам проверять код и необходимые тайминги. Кроме того, разрабатывать схемы для быстрых тактов — хорошо, но в аппаратном проектировании на этом свет клином не сошёлся.
Помните, аппаратная архитектура по своей природе параллельная. Всё начинается с такта.
-
Структура процессора. Регистры процессора: сущность, назначение, типы.
Процессор
— это центарльное устройство ПК, которое
выполняет операции по обработке данных
и управляет периферийными устройствами
ПК.
Сопроцессор
– специальный блок для операций с
плавающей точкой.
Структура
процессора:
-
Устройство
управления -
Арифметико-логическое
устройство -
Запоменяющее
устройство на основе регистровпрограммной
памяти и кеш памяти процессора -
Генератор
тактовой частоты
Регистры
-
Общего
назначения -
Данных
Регистр
процессора — сверхбыстрая оперативная
память (СОЗУ) внутри процессора,
предназначенная прежде всего для
хранения промежуточных результатов
вычисления — РОН (регистр общего
назначения) или содержащая данные,
необходимые для работы процессора —
смещения базовых таблиц, уровни доступа
и т. д. (специальные регистры)[1]
-
Структура команды процессора. Понятие рабочего цикла, рабочего такта. Классификация команд.
Комманда
– описание операции, которую необходимо
выполнить.
Цикл
процессора – период времени за который
осуществляется выполнение комманды.
Такт
– промежуток времени между соседними
импульсами генератора тактовых импульсов,
частота которых есть тактовая частота
процессора.
Виды
комманд:
-
Пересылки
данных -
Арифметические
комманды -
Логические
комманды -
Комманды
переходов
-
Арифметико-логическое устройство (алу): назначение и классификация.
Арифме́тико-логи́ческое
устро́йство
(АЛУ) (англ. arithmetic and logic unit, ALU) — блок
процессора, который под управлением
устройства управления (УУ) служит для
выполнения арифметических и логических
преобразований (начиная от элементарных)
над данными, представляемыми в виде
машинных слов, называемыми в этом случае
операндами.
По
способу представления чисел различают
АЛУ:
-
для
чисел с фиксированной точкой; -
для
чисел с плавающей точкой; -
для
десятичных чисел.
По
характеру использования элементов
-
бочные
-
многофункциональны
По
действию на операндами
-
Параллельного
-
Паследователного
По
стуктуре
-
С
последовательными связями -
Многосвязны
-
Интерфейсная часть процессора: назначение, состав, функционирование.
В
это понятие включают тип разъема и
системной шины, электрические параметры
(разводка контактов, напряжение питания
ядра и блоков ввода-вывода процессора),
возможности BIOS по поддержке конкретных
моделей процессоров.
Характеристики
-
Тактовая
частота -
Разрядность
-
Кэш
-
Технический
процесс -
Сокет
-
Количество
ядер -
Частота
системной шины -
Коэффициент
умножения -
Тепловыделение
-
Максимальная
рабочая температура -
Поддержка
различных технологий(инструкций) SS2,
3DNOW!(
3DNow!
расширяла возможности технологии MMX)
-
Иерархическая структура памяти. Основная память эвм. Организация оперативной памяти. Виды адресации.
-
Память
динамического
типа
(англ.
DRAM (Dynamic Random Access Memory)) -
Память
статического
типа
(англ.
SRAM (Static Random Access Memory))
иерархическуая
структура
обычно предполагает использование
нескольких запоминающих устройств,
имеющих различные характеристики.
Организация
-
адресное
пространство процессора и физической
памяти могут не совпадать, -
размещение
программы и данных в физической памяти
могут не совпадать с их размещением по
адресам в адресном пространстве
процессора, -
прикладные
программы вместо прямой адресации
физической памяти используют обращение
к некоторой модели (отображению) памяти, -
обращение
к физической памяти производится при
помощи диспетчера памяти, согласующего
модель математической памяти с динамикой
распределения программ и данных в
физической памяти.
Основная
память ЭВМ- преднгазначена для хранения
и оперативного обмена информацией
Виды
-
Оперативная
-
Постоянна
-
Внешняя
Адресация
памяти вычислительных систем — метод
указания на ячейку памяти, к которой
производится доступ.
Адресация
может быть:
-
Абсолютная
— указывается прямой адрес ячейки
памяти, это метод адресации в абсолютных
адресах, представленных двоичными
кодами. -
Ассоциативная
— метод адресации ячеек памяти,
основанный на указании содержимого
ячейки, а не её точного положения. Для
этого указывается слово, которое
характеризует содержимое нужной ячейки,
а не её обычный адрес. Для реализации
механизма поиска, основанного на
сравнении части содержимого памяти с
каким-либо словом-признаком, применяется
ассоциативное устройство памяти. -
Сегментная
— указывается адрес относительно
начала сегмента, в случае, если сегменты
отсутствуют или совпадают, эквивалентна
абсолютной. -
Относительная
— метод адресации данных в памяти, при
котором указанное в команде число
добавляется к счету, который находится
в установленном регистре. По этому
методу адресации подпрограмма может
быть перемещена в любую часть программы
без необходимости что-либо менять в
них. -
Косвенная
— метод адресации в машинных кодах, в
котором адресная часть команды содержит
косвенный адрес. В команде указывается
адрес ячейки памяти, где находится
адрес данных, который и должен быть
использован при выполнении команды. -
Индексная
— метод адресации, при котором актуальный
(исполнительный) адрес формируется
путем прибавления к базовому адресу
содержимого индексного регистра.
Используется при программировании на
языке Ассемблер: в индексный регистр
закладывается базовый адрес, а в команде
указывается число, которое необходимо
прибавить к базовому адресу, чтобы
получить адрес нужных сведений. -
Непосредственная
— указывает на определённое число,
константу (Например: mov A,#50H — записать
число 50H в аккумулятор). -
Регистровая
— указывает на определённый регистр
РОН (регистры общего назначения). -
Стековая
— с использованием специального
регистра — указателя стека (SP — Stack
Pointer). Используется для занесения
операндов в стек в одном порядке и
извлечения в обратном порядке. -
Неявная
— регистр источник или регистр приёмник
подразумевается в самом коде операции.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
У этого термина существуют и другие значения, см. Такт (значения).
Такт процессора или такт ядра процессора — промежуток между двумя импульсами тактового генератора, который синхронизирует выполнение всех операций процессора.
Выполнение различных элементарных операций может занимать от долей такта до многих тактов в зависимости от команды и процессора. Общая тенденция заключается в уменьшении количества тактов, затрачиваемых на выполнение элементарных операций.
См. также
- Тактовая частота
- Машинный цикл
- Тактовый сигнал
Введение в тактовый цикл
Тактовый период также называется периодом колебаний и определяется как величина, обратная тактовой частоте. Такт — это самая основная и наименьшая единица времени в компьютере. В тактовом цикле ЦП выполняет только одно из самых основных действий. Тактовый период — это количество времени. Тактовый цикл представляет собой самую высокую частоту, которую может работать SDRAM. Меньший такт означает более высокую рабочую частоту.
Тактовый период обратно пропорционален основной частоте тактовых импульсов в цепи синхронизации. Он измеряется минимальным периодом времени повторения действия, а единицей измерения является единица времени. За один такт (время современных невстроенных микропроцессоров обычно короче 1 наносекунды) состояние логического нуля и состояние логической единицы переключаются взад и вперед. Из-за ограничений нагрева и электрических характеристик длительность состояния логического нуля в цикле исторически была больше, чем состояния логической единицы.
Обзор тактового цикла процессора
В микропрограммном контроллере синхронизирующий сигнал является относительно простым и обычно использует двухуровневую систему импульса потенциального биения. Другими словами, ему нужен только один потенциал биений, а в потенциале биений есть несколько импульсов биений (тактов). Потенциал биений представляет собой время цикла ЦП, а импульс биений делит цикл ЦП на несколько меньших временных интервалов. Эти временные интервалы могут быть равными или неравными по мере необходимости.
Цикл инструкций — это время для выборки и выполнения инструкции.
Командный цикл часто состоит из нескольких циклов ЦП. Цикл ЦП также называется машинным циклом. Поскольку ЦП требует много времени для доступа к памяти, самое короткое время для чтения командного слова в памяти обычно используется для определения цикла ЦП. Это означает, что фаза выборки команды (обычно выборка команды) требует времени одного цикла ЦП. Время цикла ЦП содержит несколько тактовых циклов (обычно импульс биений или Т-цикл, который является самой базовой единицей операций обработки). Сумма этих тактовых циклов определяет ширину цикла ЦП.
Для инструкции процессора требуется несколько тактов
Инженеры-программисты могут подумать, что выполнение инструкции занимает один такт. Инструкция — это наименьшая атомарная операция, и ее невозможно разделить.
Если вы посмотрите такие книги, как «see mips run», «arm architecture» и другие книги, вы поймете, что эта проблема не так проста, потому что в конструкции процессора используется конвейерная технология.
Инструкция по-прежнему довольно сложна, и процессор определенно не сможет выполнить ее за один такт, и для завершения выполнения может потребоваться много тактов. Если процессор завершает выполнение одной инструкции, а затем выполняет другую, эффективность процессора очень низкая. Если инструкция выполняется за 5 тактовых циклов, для процессора 500 МГц для последовательного выполнения инструкции команда будет выбрана в течение 1 секунды. 100 миллионов раз.
Таким образом, процессор представляет конвейерную технологию, которая разделяет инструкцию на несколько функций, которые выполняются разными функциональными компонентами, и эти функциональные компоненты могут работать параллельно. Ниже представлена трехступенчатая схема работы конвейера arm7.
Конвейер разделен на выборку, декодирование и выполнение инструкций, но для выполнения инструкции требуется не только 3 тактовых цикла. Поскольку модуль исполнительного устройства имеет много операций, он может занять несколько циклов. Выборка и декодирование команд обычно представляют собой тактовый цикл. Можно видеть, что, хотя для выполнения инструкции требуется несколько тактовых циклов, это обычно наблюдается в каждом тактовом цикле. Есть инструкция по получению инструкций. Если наш процессор имеет частоту 500 МГц, он выполнит выборку 500000000 раз за 1 секунду.
Различные конструкции процессоров имеют разные этапы конвейера. Теперь у основного потока есть три этапа, пять этапов и семь этапов. Увеличение количества этапов конвейера и упрощение логики каждого уровня конвейера может улучшить производительность процессора.
Отвечая на вопрос в начале, мы понимаем, что тактовый цикл, необходимый для инструкции, на самом деле не фиксированный. Он зависит от количества этапов конвейера процессора и сложности инструкции.На этапе выполнения требуется несколько тактов.
Я не буду вдаваться в подробности конкретной работы на всех уровнях сборочного конвейера. В Интернете много статей. Ведь мы занимаемся программным обеспечением. Аппаратное обеспечение по сути. Работу на всех уровнях сборочного конвейера выполняет внутренний логический блок процессора. Невидимая, самая маленькая атомарная операция, которую может выполнять программа, — это инструкция.
Однако конвейерная технология процессора влияет на наше программное обеспечение, и в этом заключается ценность ПК.
Я понимаю, что в соответствии с конструкцией конвейера процессора первые три этапа — это в основном выборка, декодирование и выполнение инструкций. Регистр ПК процессора хранит адрес выборки инструкций процессора.Согласно вышеупомянутому конвейерному механизму адрес инструкции, выполняемой нашим процессором, находится за адресом инструкции, которая должна быть предварительно выбрана, что на 2 тактовых цикла.
Другими словами, после того, как мы извлекаем первую инструкцию, когда она достигает стадии выполнения, наш процессор фактически предварительно выбирает вторую инструкцию в будущем.
Для 32-битного процессора одна инструкция занимает 4 байта. Это основная причина того, что значение ПК = текущий адрес инструкции + 8.
Микропроцессор для персонального компьютера а, так же и для других устройств, будь то телефоны, планшеты, ноутбуки или другие интересные гаджеты, является основным центральным устройством, которое выполняет практически все вычисления и отвечает за обработку данных. Можно даже сказать так — центральный процессор это “мозг” любого современного компьютера или высокотехнологичного устройства. Так же он является одним из самых дорогостоящих элементов в составе современных компьютеров.
Подробнее об истории, работе и технологических характеристиках вы узнаете из этой статьи.
1. История появления процессора
Первые компьютерные процессоры, основу которых составляло механическое реле, появились в пятидесятых годах прошлого века. Спустя какое-то время появились модели с электронными лампами, которые в итоге были заменены на транзисторы. Сами же компьютеры представляли собой довольно габаритные и дорогостоящие устройства.
Последующее развитие процессоров свелось к тому, что было принято решение входящие в них компоненты, представить в одной микросхеме. Позволило осуществить данную задумку появление интегральных полупроводниковых схем.
В 1969 г. компания Busicom заказала двенадцать микросхем у Intel , которые они планировали использовать в собственной разработке – в настольном калькуляторе. Уже в то время разработчиков Intel посещала идея заменить несколько микросхем одной. Идею одобрило руководство корпорации, поскольку подобная технология позволяла существенно сократить расходы на производстве микросхем, при этом у специалистов появилась возможность сделать процессор универсальным для использования его в других вычислительных устройствах.
В результате чего появился первый микропроцессор Intel 4004, который выполнял 60 тыс. операций в секунду.
2. Принцип действия процессора
Центральный процессор по праву считается сердцем любого компьютера. В его структуру входит небольших размеров кремниевый кристалл, основу которого составляет несколько миллионов транзисторов.
Подобного рода процессоры могут выполнить до нескольких миллионов задач в секунду.
Процесс выполнения всех команд включает: извлечение из памяти по указанному адресу двоичного кода и последующее его преобразование во внутренний понятный для процессора код, иными словами происходит дешифрование полученной команды. Последней стадией считается выполнение команды. Для одновременного выполнения двух и более команд процессор использует считывающие информацию процедуры из памяти.
Следовательно, выполнение описанных задач нуждается в большом количестве времени, что усложняет работу центрального процессора, поскольку ему приходится ждать поступления данных. Чтобы работа процессора выполнялась быстрей, современные машины используют механизм конвейеризации, суть которого состоит в том, что пока извлекается одна команда из памяти, вторая в это время уже дешифруется, тогда как третья – выполняется.
3. Параметры и характеристики процессора
Что такое процессор выяснили, теперь предлагаем рассмотреть основные характеристики процессора:
• Количество ядер. Чем больше число входящих в состав процессора ядер, тем выше его производительность.
• Разрядность процессора — означает, какое максимальное количество оперативной памяти можно установить на компьютер.
• Технический процесс. Чем этот параметр меньше, тем лучше, поскольку иными словами – это занимаемая кристаллом площадь на процессоре, следовательно, чем размер кристаллов меньше, тем большее их количество уместится, что увеличит тактовую частоту.
• Кэш процессора также является немаловажным параметром. Чем показатели его выше, тем больше данных можно сохранить в особой памяти, ускоряющей работу процессора.
• Тактовая частота. Тактом условно называется одна операция. Единицей измерения тактовой частоты считается МГц и ГГц. Так, например один МГц означает, что процессору под силу выполнить один миллион команд в секунду.
• Socket. Данный параметр позволяет стандартизировать все процессоры по подключаемым к материнской плате разъемам.
4. Разрядность процессора (32/64 бит)
Бит представляет собой краткую форму двоичного разряда, представленную 0 или 1, поскольку компьютер хранит и производит операции посредствам именно этих двоичных цифр. Следовательно, напрашивается вывод, что у 32-битных процессоров имеется возможность представить числа от нуля до двух в 32-й степени, тогда как 64-х битные процессоры могут представить числа от нуля до двух в 64-й степени. Путем нехитрых подсчетов можно прикинуть, что 64-битные процессоры обрабатывают больший диапазон чисел, нежели 32-разрядные процессоры.
Термин разрядность процессора включает в себя понятие ширины шины данных, являющейся кабелем, передающим информацию из памяти ПК в процессор. Шина данных в 64-битном процессоре способна передать больший объем информации, чем шина в 32-разрядном процессоре, потратив на это одинаковое количество времени.
5. Быстродействие процессора (частота и мегагерцы)
Термин тактовая частота компьютера подразумевает количество тактовых импульсов, которое вырабатывает тактовый генератор в секунду.
Тактовая частота как различных, так и одинаковых моделей процессоров может варьироваться в широком диапазоне значений. Процессор выполняет все программные команды за необходимое число тактов. К примеру, простейшая операция сложения может быть выполнена за два такта, тогда как делению может понадобиться 25 тактов. Из всего вышесказанного следует, что чем выше показатель тактовой частоты, тем быстрее компьютером выполняются возлагаемые на него задачи. Сегодняшние ПК снабжены процессорами, тактовая частота которых — от нескольких сотен МГц до нескольких ГГц.
Быстродействие работы ПК непосредственным образом связано с его тактовой частотой, которая позволяет определить количество выполняемых им команд в секунду.
6. Частота процессора и системной платы
Быстродействие является одним из наиболее важных показателей работы процессора. Самая меньшая единица измерения времени для процессора – такт или как его еще именуют – период тактовой частоты. На все выполняемые процессором операции тратится минимум один такт.
Сегодня практически каждый процессор работает на тактовой частоте, являющейся произведением множителя и тактовой частотой системной платы. Так, например, тактовая частота Celeron 600 в более чем 9 раз превышает тактовую частоту системной платы. Аналогичным примером является Pentium III 1000, тактовая частота которого в 8,5 раз выше тактовой частоты системной платы.
Довольно часто тактовая частота системной платы одновременно с множителем устанавливается посредствам перемычек или иных инструментов конфигурирования системной платы, к категории которых можно отнести соответствующие значения в установочной программе параметров BIOS.
Некоторые системы позволяют увеличить уже имеющуюся рабочую частоту процессора, данная процедура называется «разгоном». Установка большей частоты процессора позволяет увеличить и его показатели быстродействия.
7. Сравнение фирм-производителей Intel и AMD
Американская компания под названием Intel была основана в 1968 году, тогда как ее основной конкурент – компания AMD – появилась спустя год.
То, что AMD явила себя свету на год позже, нежели Intel, в существенной мере отразилось на их соперничестве. Первые процессоры от компании AMD представляли собой копии процессоров, выпущенных компанией Intel, однако этот факт не помешал AMD разработать первый 16-ядерный процессор. При этом в 2005 обычному пользователю был предложен первый 2-ядерный процессор, носящий название AMD Athlon 64 X2.
Двухъядерные процессоры Core 2 Duo, разработанные компанией Intel, на год позже появились на соответствующем рынке, при этом стоимость процессоров AMD и сегодня намного дешевле процессоров от Intel.
Какому процессору все же стоит отдать предпочтение? Если пользователю необходимо использование компьютера для работы со сложным профессиональным программным обеспечением, то в этом случае лучше приобрести ПК с процессором от Intel.
Процессоры AMD – отличный вариант для игровых ПК и в ситуациях, не требующих высокой производительности аппаратной начинки.
8. Кэш-память процессора
Кэш – не что иное, как память процессора, задачи которой схожи с задачами, возлагаемыми на оперативную память. Процессор использует кэш для хранения в нем данных. В данной разновидности памяти буферизируется наиболее часто используемая информация, за счет чего временные затраты на последующее обращение к ней в существенной мере сокращаются.
Оперативная память реализуемых сегодня компьютеров, составляет от 1 Гб, при этом кэш процессоров не превышает 8 Мб. Как видно из приведенных данных, разница в этих разновидностях памяти довольно существенная. Несмотря на это, даже указанного объема достаточно для обеспечения нормального быстродействия всей системы. Немалый интерес у пользователей сегодня вызывают процессоры с двухуровневой кэш-памятью: L1 и L2. Память первого уровня меньше памяти второго уровня и необходима она для хранения инструкций. При этом второй уровень за счет того, что он больше, используется для непосредственного хранения данных. У многих процессоров на данный момент кэш второго уровня общий.
9. Функции и технологии процессоров: MMX, SSE, 3DNow!, Hyper Threading
Современные процессоры снабжены характерными дополнительными функциями и технологиями, расширяющими их возможности:
• 3DNow!, ММХ, SSE, SSE2, SSE3 – технологии, оптимизирующие работу с объемными данными и мультимедийными файлами;
• В процессорах AMD с целью защиты от ряда вирусов предусмотрена технология NX-bit (No Execute), при этом в процессорах Intel имеется аналогичная технология XD (Execute Disable Bit);
• Cool’n’Quiet (в AMD), ТМ1/ТМ2, С1Е, EIST (в Intel) снижается потребление электрической энергии;
• В технологии AMD64 или ЕМТ64 (для процессоров Intel) нуждаются 64-битные инструкции;
• Одновременное выполнение нескольких потоков команд в некоторых процессорах Intel подразумевает наличие технологии НТ (Hyper-Threading Technology).
10. Многоядерность процессоров
Центр современных центральных микропроцессоров снабжен ядрами. Ядро представляет собой кристалл кремния, площадь которого составляет около одного квадратного сантиметра. Несмотря на небольшие размеры, микроскопические логические элементы позволили реализовать на его поверхности принципиальную схему процессора, так называемую архитектуру (chip architecture).
Многоядерность процессора заключается в наличии в центральном микропроцессоре двух и более вычислительных ядер на поверхности одного процессорного кристалла, которые также могут быть заключены в одном корпусе.
Перечень преимуществ многоядерного процессора:
• появляется возможность распределить работу приложений по нескольким ядрам;
• процессы, нуждающиеся в интенсивных вычислениях, работают существенно быстрее;
• увеличивается скорость отклика приложений;
• снижение потребления электрической энергии;
• более продуктивное использование ресурсоемких мультимедийных программ;
• более комфортная работа пользователей ПК.
11. Производство процессоров
Производство микропроцессоров включает минимум два важных этапа. На первом этапе производятся подложки, которым впоследствии придают проводящие свойства. На втором этапе произведенные подложки тестируются, после чего собирается и упаковывается процессор.
Сегодня такие ведущие производители процессоров, как AMD и Intel стараются наладить выпуск продукции, задействовав при этом максимально возможные сегменты рынка, максимально сократив возможный ассортимент кристаллов. Отличным тому подтверждением являются процессоры Intel Core 2 Duo. В линейку упомянутой продукции входят три процессора с разными кодовыми наименованиями: Merom, предназначенный для мобильных устройств, Conroe – для настольных версий, Woodcrest – для серверных версий. У всех трех процессоров одна технологическая основа, что дает возможность производителю принимать решение, будучи на последнем этапе производства. Так, например, если на рынке будут более востребованы мобильные процессоры, компания сфокусируется на выпуске модели Socket 479. Если возрастет потребность в настольных моделях, то компания Intel упакует кристаллы, необходимые для Socket 775. В случае роста спроса на серверные процессоры, все вышеуказанные действия будут применены для Socket 771.
12. Маркировка и кодовые названия процессоров
Разнообразная продукция, произведенная на заводах крупных предприятий, обозначается кодовыми наименованиями, что является довольно удобным решением, нежели использование длинных официальных обозначений при проведении служебных разговоров и переписки. Порой о внутрифирменных кодовых названиях узнают широкие слои пользователей, однако довольно редко они употребляются в повседневном обиходе.
Ситуация с кодовыми наименованиями процессоров обратно противоположная, поскольку в последнее время они стали употребляться в разговорах и в качестве маркировки процессоров входить в официальную документацию.
При этом запомнить необходимо лишь некоторые кодовые названия, к примеру, для успешной модернизации ПК, поскольку чаще всего помимо красивого звучания и рекламных амбиций, подобные наименования никакой полезной информации для потребителя не несут.
13. Гнезда (socket) для процессоров
Сокет процессора в переводе с английского языка означает «разъем» или «гнездо». Если применить этот термин к компьютеру, то гнездом называется место установки центрального процессора. Каждая модель процессора снабжена своим вариантом разъема, связанно это с тем, что технологии изготовления процессоров совершенствовались, а потому модернизировалась их архитектура, количество транзисторов, гнезда и т.д.
Сокет центрального процессора имеет вид щелевого или гнездового разъёма, предназначенного для того, чтобы упростить процесс установки центрального процессора. Использование разъёмов значительно упрощает замену процессора для последующего ремонта или модернизации ПК.
14. Охлаждение процессора
Вентилятор или, как его еще называют кулер, — устройство, задача которого сводится к тому, чтобы обеспечивать охлаждение процессора. Существую разные модели кулеров, однако чаще всего они устанавливаются поверх самого процессора.
Кулеры бывают активными и пассивными. К категории пассивных кулеров относятся обычные радиаторы, довольно дешевые, потребляющие минимум электричества и при этом практически бесшумные. Активный же кулер представляет собой радиатор с прикрепленным к нему вентилятором.
Наибольшей популярностью сегодня пользуются активные воздушные кулеры, состоящие из металлического радиатора с установленным на нем вентилятором.
Будучи механическим устройством, трущиеся детали кулера нуждаются в своевременном смазывании машинным маслом, при этом категорически запрещается для этих целей использовать масла растительного происхождения.
О необходимости смазать устройство можно узнать характерному и постепенно увеличивающемуся шуму от кулера.
15. Неисправности и ошибки в процессорах
В случае неисправности процессора, ПК может начать самостоятельно выключаться и перезагружаться, операционная система «зависать», а жёсткий диск попросту не отображаться. При этом все вышеописанное сопровождается сильным нагреванием процессора. Нередко, неисправный процессор становится причиной постоянных ошибок в работе операционной системы и сопутствующего программного обеспечения.
Ни при каких условиях нельзя неисправный процессор проверять на рабочей материнской плате, поскольку подобные действия вполне могут спровоцировать вывод из строя материнской платы.
Чаще всего процессоры подвергаются поломке по причине перегрева и некорректной сборки компьютера, что может стать причиной случайного загиба контактов процессора, а вследствие и возникновения короткого замыкания. Решить проблему в этом случае может лишь замена процессора.
Загрузка…