Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы архитектуры, устройство и функционирование вычислительных систем

Покупка
Основная коллекция
Артикул: 653023.06.01
Доступ онлайн
от 348 ₽
В корзину
Учебник создан в соответствии с Федеральным государственным образовательным стандартом по специальности 09.02.04 «Информационные системы (по отраслям)». Рассмотрены цифровые вычислительные системы и их архитектурные особенности, работа основных логических блоков системы, вычисления в многопроцессорных и многоядерных системах. Дана классификация вычислительных платформ. Описаны методы повышения производительности многопроцессорных и многоядерных систем. Значительное внимание уделено Организации памяти в микропроцессорных системах (МПС) и подсистеме прерываний в МПС.
5
43
152
244
Степина, В. В. Основы архитектуры, устройство и функционирование вычислительных систем : учебник / В.В. Степина. — Москва : ИНФРА-М, 2021. — 288 с. — (Среднее профессиональное разование). - ISBN 978-5-906923-19-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1460280 (дата обращения: 16.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
В.В. СТЕПИНА 

УЧЕБНИК

Москва
КУРС 

ИНФРА-М 

2021

ОСНОВЫ АРХИТЕКТУРЫ, 

УСТРОЙСТВО 

 И ФУНКЦИОНИРОВАНИЕ 

ВЫЧИСЛИТЕЛЬНЫХ 

СИСТЕМ 

Рекомендовано Экспертным советом при ГБОУ УМЦ ПО ДОгМ  

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

образовательных организаций города Москвы в качестве учебника для 

студентов среднего профессионального образования по специальности 

2.09.02.04 «Информационные системы (по отраслям)»

СРЕДНЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ

УДК 004.2(075.8)
ББК 32.973-02я73

ISBN 978-5-906923-19-6 (КУРС)
ISBN 978-5-16-012698-2 (ИНФРА-М, print)
ISBN 978-5-16-102994-7 (ИНФРА-М, online)
Учебник создан в соответствии с Федеральным государственным образова
тельным стандартом по специальности 2.09.02.04 «Информационные системы 
(по отраслям)».

Рассмотрены цифровые вычислительные системы и их архитектурные осо
бенности, работа основных логических блоков системы, вычисления в многопроцессорных и многоядерных системах. Дана классификация вычислительных 
платформ. Описаны методы повышения производительности многопроцессорных и многоядерных систем. Значительное внимание уделено Организации памяти в микропроцессорных системах (МПС) и подсистеме прерываний в МПС.

УДК 004.2(075.8)
ББК 32.973-02я73

С79

Р е ц е н з е н т ы:
Е.И. Ночка — кандидат физико-математических наук кафедры «Ин
формационные технологии» ГАПОУ Колледж предпринимательства 
№ 11.

Степина В.В.

Основы архитектуры, устройство и функционирование вычислительных систем: Учебник / В.В. Степина.  —  Москва: 
КУРС: ИНФРА-М, 2021.  —  288 с.  — (Среднее профессио- 
нальное образование) 

С79

©  Степина В.В.,  

2017

© КУРС, 2017

ISBN 978-5-906923-19-6 (КУРС)
ISBN 978-5-16-012698-2 (ИНФРА-М, print)
ISBN 978-5-16-102994-7 (ИНФРА-М, online)

ФЗ 

№ 436-ФЗ

Издание не подлежит маркировке 
в соответствии с п. 1 ч. 4 ст. 11

ПРЕДИСЛОВИЕ

Учебник ориентирован на дисциплину «Основы архитектуры, 
устройство и функционирование вычислительных систем» для специальности 09.02.04 «Информационные системы (по отраслям)».
Учебник построен на фундаментальном утверждении современного классика компьютерной науки Эндрю Танненбаума о том, что 
компьютер можно рассматривать как иерархию структурных уровней 
организации.
Это утверждение в равной мере относится как к аппаратной организации, так и к структуре и организации программного обеспечения. Более того, исследование взаимодействия уровней организации компьютеров показывает, что нередко затруднительно провести 
четкую границу между аппаратной и программной реализациями 
функциональностей. Однако просматривается определенная закономерность, состоящая в том, что чем ниже расположен уровень, тем 
в большей степени он реализован средствами аппаратуры (а не средствами программирования).
Появляются новые языки программирования еще более высокого 
уровня, и каждый такой язык использует своего предшественника как 
основу, поэтому вычислительную машину можно рассматривать в виде 
ряда многоуровневой машины, и самый нижний уровень — это уровень физической реализации цифровых логических элементов.
Подход к компьютеру как к многоуровневой иерархической 
структуре позволяет продолжать заниматься дальнейшей разработкой системы, работая на вышележащем уровне. Однако реализация 
по крайней мере некоторых функций с использованием возможностей нижележащих уровней позволяет повысить эффективность системы, иногда ценой повышения трудоемкости разработки.
Изучение иерархических уровней (особенно изучение уровня команд процессора) дает возможность приобрести знания, использование которых может помочь как системному, так и прикладному 
программисту в эффективной разработке программного продукта, 
позволяя повысить эксплуатационные характеристики программных 
модулей (уменьшить объем требуемой памяти, увеличить скорость 
выполнения).
Учебник состоит из семи глав.
Первая глава, предназначена для знакомства с уровнем физической реализации и с некоторыми начальными сведениями о вычислительных системах:

 
• технические и эксплуатационные характеристики вычислительных машин;

 
• классическая архитектура вычислительной машины;

 
• основные характеристики и структура типового микропроцессора;

 
• иерархия памяти вычислительных систем.
Во второй главе рассматривается цифровой логический уровень: 
арифметические и логические основы вычислительной техники, основные цифровые логические устройства (комбинационные логические устройства и устройства с памятью).
Третья глава посвящена уровню микроархитектуры. На этом 
уровне в обработке команд участвует арифметико-логическое 
устройство (АЛУ).
В четвертой главе представлен уровень архитектуры набора команд. На этом уровне рассматривается архитектура памяти, взаимодействие с внешними устройствами ввода/вывода, режимы адресации, регистры, машинные команды, обработчики прерываний 
и исключительных состояний.
В пятой главе описывается уровень операционных систем. Приводится краткий обзор операционных систем, управление ресурсами 
вычислительных систем.
Шестая глава посвящена четвертому уровню, который представляет собой символическую форму одного из языков более низкого 
уровня — ассемблера. Рассмотрены примеры программ на языке ассемблера для конкретной архитектуры, операционной системы и варианты синтаксиса языка.
В седьмой главе рассматриваются параллельные вычислительные 
системы, производительность параллельных вычислительных систем 
и тенденции развития вычислительных систем.

Глава 1 
ВычИСЛИтЕЛьныЕ СИСтЕмы. 

начаЛьныЕ СВЕДЕнИя

Изучение любого вопроса принято начинать с договоренностей 
о терминологии.В нашем случае определению подлежат такие термины, как «электронная вычислительная машина» (ЭВМ), «вычислительная система» (ВС), «информационная система» (ИС) и понятие «архитектура вычислительных систем».

1.1. Основные понятия и определения

Определение вычислительной машины

Согласно ГОСТ 15971-90 вычислительная машина (ВМ) — совокупность технических средств, создающая возможность проведения обработки информации (данных) и получения результата в необходимой 
форме. Под техническими средствами понимают все оборудование, 
предназначенное для автоматизированной обработки данных. Как 
правило, в состав ВМ входит и системное программное обеспечение.
Вычислительную машину, основные функциональные устройства 
которой выполнены на электронных компонентах, называют электронной вычислительной машиной (ЭВМ).
В последнее время в отечественной литературе широкое распространение получил англоязычный термин «компьютер» (англ. 
сomputer — вычислитель). Мы будем использовать эти термины как 
равноправные. Следует отметить, что в настоящее время активно 
ведутся разработки компьютеров, работа которых основана на оптических, фотонных, квантовых и других физических принципах. Например, оптические компьютеры в своей работе используют скорость света, а не скорость электричества, что делает их наилучшими 
проводниками данных. Сверхъестественный мир квантовой механики не подчиняется законам общей классической физики. Квантовый бит (qubit) не существует в типичных 0- или 1-бинарных формах 
сегодняшних компьютеров — квантовый бит может существовать 
в одной из них или же в обеих системах одновременно. В связи 
с этим понятие «электронная вычислительная машина», в котором 
акцентируется, что машина построена на основе электронных 
устройств, становится более узким, чем понятие «компьютер».

С развитием вычислительной техники появились многопро
цессорные системы и сети, объединяющих большое количество отдельных процессоров и вычислительных машин, программные системы, реализующие параллельную обработку данных на многих вычислительных узлах. Появился термин «вычислительные системы».

Определение вычислительной системы

Система (от греч. systema — целое, составленное из частей соединение) — это совокупность элементов (объектов), взаимодействующих друг с другом, образующих определенную целостность, единство.
Объект (от лат. objectum — предмет) — это термин, используемый 
для обозначения элементов системы.
Вычислительную систему (ВС) стандарт ISO/IEC 2382/1-93 определяет как одну или несколько вычислительных машин, периферийное оборудование и программное обеспечение которых выполняют 
обработку данных.
Вычислительная система состоит из связанных между собой 
средств вычислительной техники, содержащих не менее двух основных процессоров, имеющих общую память и устройства вводавывода.
Формально отличие ВС от ВМ выражается в количестве вычислительных средств. Множественность этих средств позволяет реализовать в ВС параллельную обработку.
Таким образом, вычислительная система является результатом 
интеграции аппаратных средств и программного обеспечения, функционирующих в единой системе и предназначенных для совместного 
выполнения информационно-вычислительных процессов.
Аппаратное средство (hardware) включает в себя все внешние 
и внутренние физические компоненты компьютерной системы 
[п. 3.7.2 ГОСТ Р 53394-2009].
Программное обеспечение (software) по ГОСТ Р 53394-2009 — это 
совокупность информации (данных) и программ, которые обрабатываются компьютерной системой.
С технической точки зрения вычислительная система — это комплекс вычислительных средств, объединенных в информационновычислительную сеть.
Основной отличительной чертой вычислительных систем по отношению к ЭВМ является наличие в них нескольких вычислителей, 
реализующих параллельную обработку. Точное различие между вычислительными машинами и вычислительными системами опреде
лить невозможно, так как вычислительные машины даже с одним 
процессором обладают разными средствами распараллеливания, 
а вычислительные системы могут состоять из традиционных вычислительных машин или процессоров.

Определение информационной системы

Необходимо понимать разницу между компьютерами и информационной системой: компьютеры оснащены специальными программными системами, являются технической базой и инструментом 
для информационных систем.
Информационная система — это организационно упорядоченная 
совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы [1, 
ст. 2] [п. 3.1.7 ГОСТ Р 54089—2010].
Информационная система немыслима без персонала, взаимодействующего с компьютерами и телекоммуникациями.
Информационная система с технической точки зрения — это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах 
достижения поставленной цели.

Понятие архитектуры вычислительных машин 
и вычислительных систем

С развитием средств вычислительной техники изменился подход 
к созданию вычислительных машин. Вместо разработки аппаратуры 
и средств математического обеспечения стала проектироваться система, состоящая из синтеза аппаратных и программных средств. При 
этом на главный план выдвинулась концепция взаимодействия аппаратных и программных средств. Так возникло новое понятие — 
«архитектура ЭВМ».
Архитектура (architecture) — это базовая организация системы, 
воплощенная в ее компонентах, их отношениях между собой 
и с окружением, а также принципы, определяющие проектирование 
и развитие системы [ИСО/МЭК 15288:2008, определение 4.5].
Архитектура вычислительной машины (сomputer architecture) — это 
концептуальная структура вычислительной машины, определяющая 
проведение обработки информации и включающая методы преобразования информации в данные и принципы взаимодействия технических средств и программного обеспечения [ГОСТ 15971-90, определение 29].

Таким образом, архитектуру вычислительной машины можно 
представить как множество взаимосвязанных компонентов, включающих элементы различной природы: программное обеспечение 
(software), аппаратное обеспечение (hardware), алгоритмическое обеспечение (brainware), специальное фирменное обеспечение (firmware), 
создающих возможность проведения обработки информации и получения результата в необходимой форме.
Следует отличать архитектуру вычислительной машины от ее 
структуры.
Структура — это отношение между элементами системы [ISO/
IEC 2382/1-93].
Структура вычислительной машины определяет отношение 
между ее элементами (множество взаимосвязанных компонентов) на 
уровне детализации. Элементами детализации могут быть различные 
функциональные узлы (блоки, устройства и т. д.). Графически описание вычислительной машины на любом уровне детализации представляется в виде структурных схем.
Под архитектурой вычислительной машины понимают общее описание принципов организации аппаратно-программных средств 
и основных их характеристик, определяющих функциональные возможности вычислительной машины.
Архитектура вычислительной системы — совокупность характеристик и параметров, определяющих функционально-логичную 
и структурно-организованную систему и затрагивающих в основном 
уровень параллельно работающих вычислителей.
Понятие архитектуры охватывает общее понятие организации 
системы, включающее такие высокоуровневые аспекты разработки 
компьютера, как система памяти, структура системной шины, организация ввода/вывода и т. п. 

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

1.2. многоуровневая организация  
вычислительных машин

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

 
• каждый верхний уровень интерпретируется одним или несколькими нижними уровнями;

 
• каждый из уровней можно проектировать независимо;

 
• чем ниже уровень, на котором реализуется программа, тем более 
высокая производительность достижима;

 
• модификация нижних уровней не влияет на реализацию верхних.

Понятие семантического разрыва между уровнями

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

Языки, уровни и виртуальные машины

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

как основу, поэтому вычислительную машину рассмотрим в виде 
ряда многоуровневой машины, структура которой изображена на 
рис. 1.1. Между языками программирования и существующей виртуальной машиной существует тесная связь. Язык, находящийся 
в самом низу иерархической структуры компьютера, является примитивным, а тот, что расположен на ее вершине, — самым сложным. 
Большинство современных вычислительных машин включают 
6–7 уровней виртуализации. Нижние уровни, начиная с машинного, 
более консервативны к изменениям.

Программы на языке Mn либо 
интерпретируются программойинтерпретатором, работающей на 
машине более низкого уровня, 
либо транслируются на машинный язык более низкого уровня

Уровень
Виртуальная машина Mn 
с машинным языком Яn

...
Программы на языке M3 либо 
интерпретируются программойинтерпретатором, работающей на 
машине более низкого уровня, 
либо транслируются на машинный язык более низкого уровня

Уровень 2
Виртуальная машина M2 
с машинным языком Я2

Программы на языке M1 либо 
интерпретируются 
программойинтерпретатором, работающей на 
машине более низкого уровня, 
либо транслируются на машинный язык более низкого уровня

Уровень 1
Виртуальная машина M1 
с машинным языком Я1

Программы на языке M0 либо 
интерпретируются программойинтерпретатором, работающей на 
машине более низкого уровня, 
либо транслируются на машинный язык более низкого уровня

Уровень 0
Виртуальная машина M0 
с машинным языком Я0

Рис. 1.1. Структура многоуровневой вычислительной машины

Компьютер с п уровнями можно рассматривать как п разных виртуальных машин, у каждой из которых есть свой машинный язык. 
Термины «уровень» и «виртуальная машина» мы будем использовать 
как синонимы. Только программы, написанные на Я0, могут выполняться компьютером без трансляции или интерпретации. Программы, написанные на Я1, Я2, …, Яn, должны проходить через ин
Доступ онлайн
от 348 ₽
В корзину