Delete Other/Basic definitions.md

Дубликат файла, расположенного в вопросах к экзамену
This commit is contained in:
Andrei Solodovnikov
2024-01-15 15:34:16 +03:00
committed by GitHub
parent 1040fa4a60
commit 73f4c7dde8

View File

@@ -1,83 +0,0 @@
# Список основных терминов (must know!)
Ниже приводится перечень основных терминов, понимание которых является обязательным, без чего нельзя заключить вывод о том, что акт передачи знаний студенту совершен! В противном случае, из непонимания какого-то термина следует непонимание тех разделов дисциплины, в которых на него опираются. Некоторые из них имеют критически высокий уровень значимости. К таковым, например, относятся *процессор*, *архитектура*, *система команд.* Непонимание выпускником технической специальности смысла этих слов сравнимо со врачом непонимающим, что такое иммунитет. Это неприемлемо!
Главное не заучить определения, а именно понимать смысл. Если не ошибаюсь, это сказал Эйнштейн: «если ты не можешь что-то объяснить школьнику, значит ты сам это не понимаешь». На экзамене, в беседе, мы будем проверять понимание нижеизложенного.
Отдельно подчеркну: нижеизложенное является необходимым, но недостаточным для успешной сдачи экзамена.
**Процессор** это программно-управляемое устройство, как правило, выполненное на одной интегральной схеме, осуществляющее цифровую обработку информации и управление этим процессом.
**Микроконтроллер** это устройство, конструктивно выполненное на базе одной интегральной схемы и содержащее в себе процессор, оперативное и постоянное запоминающие устройства, а также различные периферийные устройства (например: АЦП, ЦАП, контроллеры интерфейсов, таймеры, модули ШИМ и т.д.).
**Интегрированный процессор** это специализированный процессор, функциональные возможности которого отражают специфику решаемых с его помощью задач.
**Процессор цифровой обработки сигналов** (ПЦОС, Digital Signal Processor, DSP) это специализированный процессор, ориентированный на реализацию процедур, обеспечивающих преобразование аналоговых сигналов, представленных в цифровой форме.
**Инструкция** (Команда) это отдельная операция процессора, определенная системой команд и, которая, содержит в себе закодированную информацию о том, какое действие необходимо совершить и, если это требуется, над какими данными.
**Программа** это комбинация инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления.
**Слово** это определяемая архитектурой величина, измеряемая в битах или байтах и равная разрядности регистров процессора и\или шины данных.
**Арифметико-логическое устройство** (АЛУ) это устройство, предназначенное для выполнения арифметических и поразрядно-логических операций над многоразрядными словами.
**Критический путь** это самый длинный путь прохождения сигнала в комбинационной схеме (характеризует максимальное время распространения сигнала в этой комбинационной схеме: от начала изменений значений на входах, до момента, когда все выходы достигнут установившихся значений).
**Архитектура** абстрактная модель совокупности функциональных возможностей процессора.
**Микроархитектура** это структурная организация процессора, описывающая, как именно расположены и соединены друг с другом его функциональные узлы (регистры, АЛУ, конечные автоматы, блоки памяти и другие блоки, необходимые для реализации архитектуры).
**Архитектура системы команд** (Instruction Set Architecture, ISA) часть архитектуры, определяющая программируемую часть процессора, то есть средства вычислительной машины, которые видны и доступны программисту (система команд, поддерживаемые форматы данных, системы регистров, способы адресации, модели памяти и т.д.).
**Система команд** это совокупность команд (инструкций), выполнение которых на аппаратном уровне поддерживает процессор.
**Устройство управления** блок процессора, организующий последовательную выборку команд из памяти, их дешифрацию и формирование соответствующих управляющих сигналов для всех блоков процессора.
**Конвейер команд** (Вычислительный конвейер) это способ временного распараллеливания исполняемых команд, при котором выполнение команд разделяется на несколько более простых операций (называемых ступенями), под каждую из которых выделен свой блок аппаратуры и организована передача данных между ними, благодаря чему можно одновременно выполнять несколько команд на разных стадиях конвейера.
**Конфликты конвейера** это ситуации, которые препятствуют выполнению очередной команды из потока команд в предназначенном для нее такте, по причине нехватки ресурсов (структурный конфликт), зависимости от данных, получаемых в еще незавершенной команде (конфликт по данным) или из-за неопределенности какую команду загружать после команды условного перехода, до того, как истинность условия стала известной (конфликт по управлению).
**Прерывание** это автоматическое изменение хода выполнения программы (запуск подпрограммы обработчика прерывания), вызванное событием (программным или аппаратным) или совокупностью событий, возникших в некоторой части вычислительной системы.
**Вектор прерывания** адрес начала подпрограммы обработчика прерывания, который загружается в счетчик команд (Program counter) при возникновении соответствующего прерывания.
**Исключения** это нештатные ситуации, возникающие при ошибках в работе процессора, либо ошибках при работе с памятью.
**Стек** способ организации памяти, при котором слово данных, записанное последним, при считывании будет доступно первым (Last In, First Out, LIFO).
**Ассоциативная память** это способ организации памяти, при котором поиск требуемых данных происходит не по адресу местоположения в памяти, а по уникальным признакам (тегам), хранящимся вместе с соответствующими данными.
**Локальность по обращению** это понятие, отражающее закономерность обращений программ к памяти и, с высокой вероятностью, проявляющееся в повторном использовании данных, к которым недавно уже обращались (временная локальность данных), и в использовании в ближайшем будущем данных, находящихся по соседним адресам (пространственная локальность программ и данных).
**Кэш-память** память малого объема, работающая значительно быстрее основной памяти на частоте ядра процессора, и, храня в себе одновременно лишь малую часть основной памяти, призвана повысить скорость доступа к данным за счет их временной и пространственной локальности.
**Виртуальная память** это способ автоматического управления иерархической памятью, при котором для нескольких ее уровней организуется единое адресное пространство, благодаря чему можно создать для программиста видимость памяти большого объема, а перемещая данные между уровнями (согласно локальности по обращению) для большинства обращений к памяти обеспечивать скорость доступа, равную скорости более быстрых типов памяти.
**Транзакция** операция на шине.
**Шина** это группа сигнальных линий, предназначенных для выполнения определенной функции в программно-управляемом процессе передачи данных.
**Интерфейс** совокупность механических, электрических и программных средств, с помощью которых компоненты системы объединяются для решения задачи обмена информации.
**Арбитр магистрали** это устройство, контролирующее соблюдение правил предоставления общей шины одному из запросивших ее устройств, другими словами, арбитр выбирает какому устройству и на сколько время предоставить управление шиной для передачи информации, вместе с тем контролирует присутствие на общей шине строго не более одного ведущего устройства в любой момент времени.
**Совмещенное адресное пространство** это способ построения систем ввода\вывода, при котором определенная область адресов памяти отводится для адресации регистров устройств ввода\вывода.
**Выделенное адресное пространство** это способ построения систем ввода\вывода, при котором система памяти и система ввода\вывода имеют собственные, отдельные системы адресов, с изолированными, раздельными линиями адреса, в связи с чем, для управления вводом\выводом используются специальные инструкции.
**Принстонская архитектура** это способ организации памяти, при котором для хранения программ и данных используется единая (общая) память с разделенным по времени доступом (по очереди) к командам, либо данным, по общей шине процессор-память.
**Гарвардская архитектура** это способ организации памяти, при котором используют отдельную память для хранения программ, и отдельную память для данных, каждая из которых соединена с процессором собственной шиной.
**CISC** (Complex Instruction Set Computer) это архитектура с полным набором команд, изначально ориентированная на уменьшении рутины при программировании, она характеризуется наличием большого (около тысяча и более) количества разнообразных простых и сложных команд и множеством различных способов адресации операндов, благодаря чему коды инструкций имеют переменную длину, а в качестве операндов могут использоваться ячейки основной памяти.
**RISC** (Reduced Instruction Set Computer) это архитектура с сокращенным набором команд, которая ориентирована на простоту реализации, из-за чего поддерживает, в основном, не более сотни команд, кодируемых словами фиксированной длины, и использующей всего несколько способов адресации операндов, но выполнять операции можно только с данными из регистрового файла, в связи с чем необходимо применять специальные команды пересылки данных между основной памятью и процессором.
**VLIW** (Very Long Instruction Word) это архитектура со сверхдлинным командным словом, характеризующаяся увеличенным количеством исполнительных устройств, а сверхдлинная команда, является, по сути, склейкой нескольких выполняющихся одновременно RISC-инструкций, каждая из которых управляет определенным исполнительным устройством, что предоставляет программисту все возможности параллельной обработки.
**Скалярный процессор** это процессор, в каждый момент времени осуществляющий работу только над одной порцией данных.
**Суперскалярный процессор** это процессор, который одновременно выполняет более чем одну скалярную команду.
**Суперскалярная архитектура** это архитектура с увеличенным количеством исполнительных устройств, в которой параллельная обработка достигается за счет выборки сразу нескольких инструкций за раз, динамически распределяя между исполнительными устройствами с целью их максимальной загрузки.