Аппаратные средства вычислительной техники
Покупка
Основная коллекция
Тематика:
Аппаратное обеспечение
Издательство:
Инфра-Инженерия
Автор:
Шкелев Евгений Иванович
Год издания: 2023
Кол-во страниц: 292
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9729-1307-7
Артикул: 810837.02.99
Изложены логика работы и схемотехнические решения цифровых функциональных узлов, включая базовые логические элементы, комбинационные схемы для выполнения логических и вычислительных операций, цифровые автоматы. Рассмотрены структурные и архитектурные решения, а также логика работы центрального процессорного элемента, особенности CISC- и RISC-архитектуры, организация и функциональный состав микропроцессорных систем, включая машину фон Неймана, системы с гарвардской архитектурой, многоядерные и многопроцессорные системы. Приводятся примеры построения и подходы к программированию микроконтроллеров, цифровых процессоров сигналов и процессоров общего назначения. Для студентов естественнонаучных и технических высших учебных заведений, изучающих цифровые вычислительные устройства и устройства цифровой обработки сигналов, включая программируемую логику, микропроцессоры и микропроцессорные системы.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Е. И. Шкелев АППАРАТНЫЕ СРЕДСТВА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ Учебное пособие Москва Вологда «Инфра-Инженерия» 2023
УДК 681.3 ББК 32.973.2 Ш66 Рецензенты: заведующий кафедрой теории цепей и телекоммуникаций ИРИТ Нижегородского государственного технического университета им. Р. Е. Алексеева д. ф.-м. н., профессор В. И. Есипенко; профессор кафедры бионики и статистической радиофизики Нижегородского государственного университета им. Н. И. Лобачевского д. т. н. В. Т. Ермолаев Шкелев, Е. И. Ш66 Аппаратные средства вычислительной техники : учебное пособие / Е. И. Шкелев. - Москва ; Вологда : Инфра-Инженерия, 2023. - 292 с. : ил., табл. ISBN 978-5-9729-1307-7 Изложены логика работы и схемотехнические решения цифровых функциональных узлов, включая базовые логические элементы, комбинационные схемы для выполнения логических и вычислительных операций, цифровые автоматы. Рассмотрены структурные и архитектурные решения, а также логика работы центрального процессорного элемента, особенности CISC- и RISC-архитектуры, организация и функциональный состав микропроцессорных систем, включая машину фон Неймана, системы с гарвардской архитектурой, многоядерные и многопроцессорные системы. Приводятся примеры построения и подходы к программированию микроконтроллеров, цифровых процессоров сигналов и процессоров общего назначения. Для студентов естественнонаучных и технических высших учебных заведений, изучающих цифровые вычислительные устройства и устройства цифровой обработки сигналов, включая программируемую логику, микропроцессоры и микропроцессорные системы. УДК 681.3 ББК 32.973.2 ISBN 978-5-9729-1307-7 Шкелев Е. И., 2023 Издательство «Инфра-Инженерия», 2023 Оформление. Издательство «Инфра-Инженерия», 2023
ʞ˓ˈˇˋ˔ˎˑ˅ˋˈ Аппаратные средства вычислительной техники можно рассматривать с разных точек зрения. Выделим две. Первая ориентирована на цифровые вычислительные устройства (ВУ), основным элементом которых являются программно управляемые процессоры. Вторая - на аппаратное решение, в основе которого лежит конфигурация линий связи (соединений) между логическими узлами используемыми для реализации того или иного алгоритма (например, в виде печатных плат или программируемых логических интегральных схем - ПЛИС). Если ВУ представить как систему, основным элементом которой является управляемый по заданной программе процессор, то при ее реализации потребуется определить: функциональный состав вычислительной системы (ВС); механизм взаимодействия этих составных частей; конструктивное оформление вычислительной системы в целом. Принцип действия электронных цифровых устройств до настоящего времени во многом остается неизменным. Существенно меняется элементная база, начиная с электронных ламп, затем «корпусных» транзисторов и гибридных интегральных схем (ГИС). На смену приходят монолитные интегральные микросхемы (ИС), являющиеся на сегодня основой для построения цифровых устройств. Среди них выделяются схемы с малой (МИС), со средней (СИС), с большой (БИС) и, наконец, со сверхбольшой или ультрабольшой (СБИС, УБИС) степенью интеграции. Повышения уровня интеграции ИС существенно уменьшило размеры цифровых устройств. Если иметь в виду компьютеры, то машины, построенные на электронных лампах, выглядели, как правило, в виде конструкций состоящих из нескольких приборных стоек со встроенными источниками питания и системой кондиционирования. На смену им пришли более компактные ячеечные контейнеры, собранные на одном или нескольких шасси (крейтах), затем однокрейтовые многоплатные, одноплатные и, наконец, однокристальные системы. Конструктивное оформление той или иной вычислительной системы зависит не только от используемой элементной базы, но и от ее функциональной принадлежности. В связи с этим можно упомянуть суперкомпьютеры, автоматизированные измерительные системы и системы обработки/управления с широким и нередко сильно разветвленным набором периферийных устройств. В дальнейшем основное внимание будет уделяться логике работы цифровых устройств и принципам их физической реализации. Это относится как к простейшим логическим элементам, так и к сложных цифровым автоматам, таким как процессор (Пр), микропроцессор (МП) или компьютер. К микропроцессорам нередко относят не только выполненные на одном кристалле процессоры, но и многофункциональные устройства, в которых наряду с процессорным элементом 3
(ЦПЭ, Central Processor Unit – CPU) имеется память, вспомогательные ВУ (например, сопроцессоры), а также устройства ввода-вывода (УВВ). Как вариант такого МП можно рассматривать, например, однокристальные ЭВМ или микроконтроллеры. Учитывая тенденцию развития цифровых ВУ, будем полагать равноправными понятия «процессорные - ПС» или «микропроцессорные - МПС» системы, отдавая предпочтение последнему в силу широкого распространения. Обсуждаются составные части и логика работы отдельных наиболее значимых цифровых функциональных узлов разной степени сложности - от простейших логических элементов до цифровых автоматов. Сначала рассматриваются комбинационные не имеющие элементов памяти схемы, с помощью которых выполняются базовые логические операции (операции И, ИЛИ, НЕ), более сложные арифметические и наиболее часто употребляемые (относящиеся к «стандартному» набору) логические (суммирование/вычитание, умножение, коммутация, дешифрация) операции, а также схемы на базе программируемой логики. Далее делается переход к цифровым автоматам, работа с которыми предполагает наличие или отсутствие синхронизации, наличие или отсутствие управляющих воздействий. К числу неуправляемых автоматов отнесены синхронизируемые фиксаторы (триггеры, регистры) и двоичные счетчики. Рассмотрение управляемых цифровых автоматов начинается с простого регистрового арифметическо-логического устройства (АЛУ). После этого делается переход к машинам состояния с управляемой под внешним воздействием последовательностью перехода из одного состояния в другое. Описывается автомат Мура, как основа для построения микропрограммного автомата, управляющего работой процессора в ответ на поступающие команды из памяти. Представлена реализация микропрограммного автомата в виде автомата с хранимой в памяти логикой и поясняется особенность его применения в процессорах со сложным набором команд (Complicated Instruction Set Computer - CISC). Рассматривается альтернативное решение управляющего автомата в виде автомата с жесткой логикой, используемого в процессорах с реальным набором команд (Real (Reduced) Instruction Set Computer - RISC). Обсуждаются особенности программирования и формат команд процессоров с CISC и RISC архитектурой. Любая МП система содержит две составляющие - аппаратную (hard) и программную (soft). Это же относится и к процессорам. Для того чтобы процессор мог выполнять ту или иную задачу, нужно ее сформулировать и определить аппаратные и программные средства, с помощью которых сформулированное задание будет выполнено. Поэтому в пособие включены разделы, поясняющие формирование и механизм восприятия процессором предназначенного для него потока команд (потока управления). Описывается обобщенная регистровая модель и работа центрального процессора (ЦП) в составе микропроцессорной системы, когда важным становится взаимодействие процессора с имеющимися в составе МПС устройствами - с памятью, с устройствами ввода-вывода. Первоначально рассматриваются однопроцессорные системы - системы с магистральным интерфейсом (машина фон Неймана) и системы с элементами 4
гарвардской архитектуры, после чего делается переход к многопроцессорным системам. Отдельный раздел посвящен устройствам памяти - оперативным (ОЗУ, или Random Access Memory - RAM), постоянным (ПЗУ, или Read-Only Memory - ROM), программируемым постоянным (ППЗУ, или Programmable Read-Only Memory – PROM) запоминающим устройствам. Сюда же включены вопросы, связанные с иерархией памяти, с поддержкой виртуального адресного пространства, с описанием и функционированием кэш-памяти. Изучение МП систем - это многоплановая задача, которая включает в себя все, что связано с правилами формирования (кодирования) управляющих процессором инструкций (команд); со структурой процессора, включая структуру его отдельных функциональных блоков; с архитектурой (с регистровой моделью) процессора используемой при создании управляющих работой процессора программ; с регистровой моделью и способами обмена данными с устройствами ввода-вывода. Особое место в МП системах занимает работа с устройствами вводавывода. К ним относятся как стандартные (такие как клавиатура, дисплей, дисковые накопители и др.), так и специализированные УВВ. Последние отличаются разнообразием, как по предназначению, так и по быстродействию, по объему и способам хранения и передачи данных. Среди устройств ввода-вывода (ВВ) есть такие, которые обладают высокой скоростью передачи данных (дисководы, аналого-цифровые преобразователи, …), но и другие, обмен данными с которыми требуется не часто, но пропуск затребованного сеанса связи может вызвать катастрофические (и не только для МП системы) последствия. Можно выделить, например, МП системы, основная задача которых состоит в предоставлении пользователю ресурсов (доступа к памяти, к устройствам ввода-вывода и т. д.); и системы реального времени, основной характеристикой которых является время реакции на связанные с УВВ события. В связи с этим обсуждаются способы обмена данными с устройствами ввода-вывода, включая программный обмен и обмен по запросам от УВВ. К последним относятся запросы прерывания (прерывания исполнения текущей программы с последующим вызовом обслуживающей ВУ процедуры) и по запросам прямого доступа к памяти для ввода или вывода данных непосредственно в память или из памяти без участия процессора. Важным является повышение производительности МП систем. Этому всегда служит распараллеливание операций и, в частности, возможность одновременного обращения к программному коду и к данным. Поэтому в пособие включены разделы, посвященные процессорам с гарвардской архитектурой. Заложенные в гарвардскую архитектуру идеи рассмотрены на примере цифровых процессоров сигналов (ЦПС) ф. Analog Devices и ф. Texas Instruments 5
с гарвардской архитектурой на уровне памяти и микроконтроллеров ф. Advanced RISC Machine с гарвардской архитектурой на уровне кэш-памяти. Все эти процессоры помимо внутренней ориентации на повышение производительности обладают средствами, позволяющими создавать на их основе многопроцессорные системы. На примере этих процессоров проиллюстрировано построение многопроцессорных систем магистральным и сетевым (через линкпорты) интерфейсом. Последний раздел относится к многозадачным (многопроцессным, многопотоковым) и многопроцессорным системам. Построение многопроцессорных систем и особенности их программирования поясняются на примере вычислительной сети на базе транспьютеров (transfer computer) - процессоров, разработанных специально для сетевых приложений. 6
1.ʝ˔ːˑ˅ː˞ˈ˒ˑˎˑˉˈːˋˢ˃ˎˆˈ˄˓˞ˎˑˆˋˍˋ Используемые в цифровой технике сигналы близки по форме к прямоугольным и имеют два фиксированных уровня: низкий 0 - для положительной логики, 1 для отрицательной логики высокий 1 - для положительной логики, 0 - для отрицательной логики Математическим аппаратом анализа и синтеза цифровых систем служит алгебра логики (булева алгебра - по имени создателя Дж. Буля). Алгебра логики - это алгебра состояний, а не чисел. Любое логическое выражение, любая логическая функция y = f(xn-1, ..., x1, x0) принимает только два значения y = 0, 1 (ложь - истина, да нет), точно так же, как и аргументы xn-1, ..., x1, x0 = 0, 1 (ложь - истина, да нет). В основе алгебры логики лежат три основные операции: 1) логическое сложение (дизъюнкция, ИЛИ) y = xn-1 ... x1 x0 { xn-1 ... x1 x0 (рис. 1.1); 1 & n=2 n=2 # # y x0 x1 xn-1 y x0 x1 xn-1 x1 x0 y 0 0 0 0 1 0 1 0 0 1 1 1 x1 x0 y 0 0 0 0 1 1 1 0 1 1 1 1 Рис. 1.1. Элемент ИЛИ Рис. 1.2. Элемент И 2) логическое умножение (конъюнкция, И) y = xn-1 ... x1 x0 { xn-1 ... x1 x0 (рис. 1.2); 3) инверсия (отрицание, НЕ), рис. 1.3. B y=x x B y=x x 1 x y 0 1 1 0 Рис. 1.3. Элемент НЕ 7
Операции И, ИЛИ и НЕ в совокупности образуют логический базис. С его помощью можно представить любое сколь угодно сложное логическое выражение. Есть две формы этого представления: совершенная дизъюнктивная (СДНФ) нормальная форма; совершенная конъюнктивная (СКНФ) нормальная форма. При составлении СДНФ сначала задаются все значения y = yi и соответствующие им комбинации значений аргументов (xn-1, ..., x1, x0)i: (xn-1, ..., x1, x0)i o yi; xi, yi = 0 или 1. Сделать это можно в виде таблицы, которую называют таблицей истинности. Примером может послужить таблица 1.1 для некоторой произвольной функции y = f(x0, x1, x2, x3) четырех переменных. Затем по всем возможным комбинациям значений аргументов по приведенным ниже правилам составляются сначала конъюнкции Ki, затем их произведения yiKi с требуемыми значениями y = yi: y0K0 m 0 0 1 2 1 ... K x x x x n n ; Таблица 1.1 y x3 x2 x1 x0 y1K1 m 1 0 2 1 ... K x x x x 1 n n ; 1 0 0 0 0 y2.K2 m 2 0 2 1 ... K x x x x 1 n n ; 0 0 0 0 1 1 0 0 1 0 # 1 0 0 1 1 2 2 2 2 n n K y m 2 2 0 2 1 n n n K x x ... x x 1 ; # # # # # 0 1 1 1 0 1 2 1 2 n n K y m 1 2 0 1 2 1 n n n K x x ... x x . В Ki табличным значениям xi = 0 соответствуют i x ( i x o xi = 0), а значениям xi = 1 o xi. Конъюнкции Ki называют минтермами. Их общее число равно 2n - числу возможных комбинаций двоичного кода xn-1, xn-2, ..., x1, x0. СДНФ получается после логического сложения всех полученных произведений: n n 1 . 1 2 2 * (1.1) i i i i i 0 0 i K y K y y { ¦ Аналогичным образом составляется СКНФ, но заменой конъюнкций Ki на дизъюнкции Di, называемые макстермами. Макстермы Di суммируются с соответствующими значениями y = yi и полученные после сложений результаты логически перемножаются: n n 1 2 1 2 i D y D y y . (1.2) { i i i 0 i i 0 Здесь ; ... 0 1 2 1 x x x x D n n 0 ; ... 0 1 2 1 x x x x D n n 1 8
; ... 0 1 2 1 x x x x D n n 2 # 1 2 n D = xn1 xn2 x1 ... x1 x0. Схемная реализация логических функций всегда предполагает минимизацию соответствующих логических выражений. При этом уменьшается число логических операций и, как следствие, уменьшаются аппаратные затраты. Для минимизации логических выражений используются аксиомы и законы алгебры логики. Они достаточно очевидны и потому ограничимся их простым перечислением. Аксиомы 6) x 0 = 0; 7) x 1 = x; 8) x x = x; 9) x x = 0. 1) x = x; 2) x 0 = x; 3) x 1 = 1; 4) x x = x; 5) x x = 1; Законы 1) Переместительный (закон коммутативности): x y = y x; x y = y x; 2) Сочетательный (закон ассоциативности): x y z= (y x) z = x (y z); x y z= (y x) z = x (y z); 3) Распределительный (закон дистрибутивности): x (y z) = (y x) (x z); (или x(yz) = (yx)(xz)). В качестве примера рассмотрим функцию двух переменных - функцию равнозначности (эквивалентности) y = x0 a x1. (1.3) Таблица 1.2 x1, x0 y Минтермы Макстермы D0 = 1 x 0 x K0 = 1 x 0 x K1 = 1 x x0 D1 = 1 x x0 0, 0 0, 1 1, 0 1, 1 y0 = 1 y1 = 0 y2 = 0 y3 = 1 K2 = x1 0 x K3 = x1x0 D2 = x1 0 x D3 = x1 x0 Составим ее СДНФ и СКНФ, а затем минимизируем полученные выражения. Минимизированные выражения называются соответственно минимальной 9
дизъюнктивной (МНДФ) и минимальной конъюнктивной (МКНФ) формами. В общем случае вид МНДФ и МНКФ различен, но не исключается и их совпадение. Таблица истинности для функции (1.3) представлена в таблице 1.2. В таблице 1.2 помимо значений функции y приведены выражения для всех ее минтермов и макстермов. При переходе от табличного представления к алгебраическому каждому набору значений переменных в соответствие ставится либо минтерм, либо макстерм. СДНФ для функции (1.3) равна y = (y0K0)(y1K1)(y2K2)(y3K3) = = 1 0 x 1 x )0 0 x x10 x0 1 x x0 x1 и ей соответствует МНДФ y = x0 x1 0 x 1 x . (1.4) Другая алгебраическая форма представления функции (СКНФ) получается при использовании макстермов: y = (y0 D0)(y1 D1)(y2 D2)(y3 D3) = = (1 1 x 0 x )(0 1 x x0(0 x1 0 x x1 x0 ( 1 x x0( x1 0 x ) = x1 1 x 1 x 0 x x0x1 x0 0 x = x0x1 0 x 1 x . Получающееся из нее минимизированное выражение также равно (1.4), что лишний раз подчеркивает равноправность обеих форм представления логических функций. Как уже говорилось, любую логическую функцию можно представить как совокупность простейших операций логического базиса И, ИЛИ и НЕ. Но наряду с уже перечисленными законами алгебры логики важную роль играет закон инверсии для логических операций сложения и умножения, который известен как теорема де Моргана: z y x z y x ; (1.5) z y x z y x . Из этой теоремы следует, что всегда операцию И можно заместить операцией ИЛИ и наоборот, если изменить тип логики и перейти от логики положительной к логике отрицательной. По этой причине наряду с логическим базисом существует понятие минимального логического базиса, в основе которого лежат либо операции И и НЕ, либо операции ИЛИ и НЕ. 10