Описание лабораторной установки. Самарский государственный технический университет

Часть 1

 

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

 

 

Самара

Самарский государственный технический университет

2017

Публикуется по решению Методического совета ФАИТ

 

 

УДК 681.324

 

 

Аппаратные средства вычислительной техники. Часть 1: лабораторный практикум/ Н.В. Ефимушкина, С.П. Орлов, В.П. Золотов, С.А. Федосов. - Самара: Самар. гос. техн. ун-т, 2017. - 109 с.

 

Представлено методическое руководство к девяти лабораторным работам первой части по одному из основных курсов – «Аппаратные средства вычислительной техники». Дисциплина изучается бакалаврами направлений 09.03.01 - «Информатика и вычислительная техника», (профили «Вычислительные машины, комплексы, системы и сети» и «Автоматизированные системы обработки информации и управления»), а также 09.03.04 - «Программная инженерия», 10.03.01 - «Информационная безопасность» и 11.03.01 - «Радиотехника». Для каждой работы приведена краткая теория и описана моделирующая программа, пользуясь которой студенты могут изучить структуру и особенности работы основных элементов современных компьютеров, их подсистем и вычислительных систем в целом. Определен порядок выполнения работы, содержание отчета и дан список контрольных вопросов, позволяющих закрепить изучаемый материал.

Методические указания предназначены для бакалавров направлений 09.03.01, 09.03.04, 10.03.01 и 11.03.01. Они могут быть использованы при исследовании реальных вычислительных систем соответствующих классов.

 

Ил. 12. Библиогр.: 13 назв.

 

Рецензент д.т.н., профессор

 

© Н.В. Ефимушкина, С.П. Орлов

В.П. Золотов, С.А. Федосов 2017

 

 

Ó Самарский государственный
технический университет, 2017

 

Введение

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

В Приложении приведены общие рекомендации по выполнению работ и оформлению отчетов.

Методическая часть для каждой лабораторной работы содержит краткую теорию, знание которой необходимо для понимания выполняемого имитационного эксперимента. Теоретический материал базируется на содержании учебных пособий С.П. Орлова и Н.В. Ефимушкиной [1, 2].

Лабораторная работа №1
Исследование подсистемы ввода-вывода данных
компьютера в однопрограммном режиме

Краткая теория

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

Классическая архитектура ЭВМ, построенная по принципу фон Неймана содержит следующие основные блоки:

- арифметико-логическое устройство (АЛУ);

- управляющее устройство (УУ);

- внешнее запоминающее устройство (ВЗУ);

- оперативное запоминающее устройство (ОЗУ);

- устройства ввода и вывода информации (УВВ).

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

- шина данных, по которой передается информация;

- шина адреса, определяющая, куда передаются данные;

- шина управления, регулирующая процесс обмена информацией.

Для современных процессоров выпускаются наборы микросхем окружения – чипсеты (chipset). Чипсет проектируют вместе с процессором с целью максимального использования его возможностей. Его основная функция – управление обменом данных через шины между основными устройствами компьютера. Чипсет устанавливается на материнской плате и содержит набор контроллеров, связывающих центральный процессор, память, видеоадаптеры и другие периферийные устройства.

Чипсет поддерживает:

- процессоры определенной модели конкретной фирмы;

- шины FSB процессоров;

- память SDRAM;

- шины видеоадаптера;

- клавиатуру и мышь;

- последовательные и параллельные порты для подключения периферийных устройств;

- порты подключения сетевых карт;

- устройства шины PCI.

Современные чипсеты представляют собой контроллер-концентратор (Hub) и содержат три микросхемы:

- North Bridge – северный мост;

- South Bridge – южный мост;

- Firmware Hub (FWH) – микросхема BIOS (базовая система ввода-вывода).

Северный мост GMCH (Graphic & Memory Controller Hub) – это микросхема, которая управляет обменом данных между оперативной и кэш-памятью, а также между процессором и графической подсистемой (видеокарты и монитор). Связь осуществляется через параллельную системную шину FSB (Front Side Bus). В последних моделях современных процессоров шину FSB заменили высокоскоростные последовательные шины QPI и HyperTransport.

Микросхема южного моста чипсета ICH (Input-Output Controller Hub) содержит набор контроллеров, управляющих обменом данными с устройствами ввода-вывода и внешними запоминающими устройствами, такими, как жесткие магнитные и оптические диски.

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

В любом компьютере выполняются два основных процесса:

- процессорная обработка,

- ввод-вывод информации.

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

 

Рис. 1.1. Компьютерная система с чипсетом

 

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

1) ввод (мышь, клавиатура, сенсорный экран, микрофон, сканер, веб-камера и т.п.);

2) вывод (видеокарта, монитор, принтер, акустическая система);

3) хранение информации (накопители на жестких и оптических дисках, феш-накопители и пр.).

Ввод – это передача данных с носителей информации в оперативную память (ОП) компьютера. Вывод – перепись данных из ОП на внешние носители информации.

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

1) пропускной способностью — количеством информации, которая может быть передана через интерфейс в единицу времени;

2) максимальной частотой передачи данных;

3) информационной шириной — числом бит или байтов данных, передаваемых одновременно;

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

5) временем передачи отдельного слова или блока данных с учетом продолжительности процедур подготовки и завершения передачи;

6) общим числом проводов (линий).

Различают интерфейсы:

a) символьные;

b) блочные;

c) сетевые;

d) графические.

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

- символьные (клавиатура, мышь, модем, принтер и т.п.);

- блочные (магнитные и оптические диски и т.д.).

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

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

Структура исследуемой в работе однопроцессорной вычислительной системы, содержащей центральный процессор, оперативную память, северный и южный мост, а также устройства ввода-вывода приведена на рис. 1.2.

Во время ее работы в оперативной памяти находятся системные и прикладные программы. Исполняемая программа и ее данные помещаются в кэш-память процессора.

Диалоговые и другие программы, требующие ввода данных с клавиатуры, реализуют циклическую последовательность операций процессорной обработки и ввода-вывода и работают следующим образом.

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

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

Ввод информации в ЭВМ с помощью клавиатуры может осуществляться в двух режимах:

- с одновременным выводом на экран (режим «эхо»);

- без вывода на экран.

Процесс ввода с клавиатуры и вывода на экран показан на рис. 1.3.

Клавиатура состоит из набора переключателей, объединенных в матрицу. При нажатии клавиши микроконтроллер, встроенный в клавиатуру, определяет координаты нажатой клавиши в матрице.

 

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

 

Рис. 1.3. Ввод с клавиатуры в режиме «эхо»

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

Когда скан-код поступает в контроллер клавиатуры, инициируется аппаратное прерывание. Процессор прекращает свою работу и выполняет процедуру анализа скан-кода. Прерывание обслуживается специальной программой, входящей в состав ROM BIOS. При поступлении скан-кода от клавиш сдвига (<Alt>,<Ctrl>) или переключателя (<Shift>, <CapsLock>) изменение статуса записывается в оперативную память. Во всех остальных случаях скан-код трансформируется в код символа (коды ASCII или расширенные коды). При этом обрабатывающая процедура сначала определяет установку клавиш и переключателей, чтобы правильно получить вводимый код ("а" или "А").

Затем введенный код помещается в кольцевой буфер клавиатуры, представляющий собой область памяти (32 байта), способную запомнить до 15 вводимых символов (ASCII+скан-код), пока прикладная программа не может их обработать. Буфер организован по принципу FIFO (первый вошел — первый вышел) и расположен в области ОП.

Таким образом, ввод информации с клавиатуры выполняется по следующему алгоритму:

1) при нажатии на клавишу (или комбинацию клавиш) специальная микросхема, встроенная в клавиатуру, генерирует и выдает скан-код;

2) скан-код поступает в микросхему, выполняющую функции порта клавиатуры;

3) порт клавиатуры через порт 0 южного моста, северный мост и системную шину выдает процессору прерывание с фиксированным номером (для клавиатуры номер прерывания – 9);

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

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

6) программа-обработчик прерывания направляет процессор к порту клавиатуры, где он находит код символа, загружает его в свои регистры, потом под управлением обработчика определяет, какой код символа соответствует данному скан-коду;

7) далее обработчик прерываний отправляет полученный код символа через системную шину и шину памяти в небольшую область оперативной памяти – буфер клавиатуры и прекращает свою работу, известив об этом процессор;

8) процессор завершает обработку прерывания и возвращается к отложенной задаче.

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

При вводе информации с одновременным выводом на экран во время выполнения пунктов 6 и 7 алгоритма работает подсистема вывода на монитор. Код введенного символа передается по шинам памяти, системной и графического интерфейса в видеокарту, а оттуда – на монитор.

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

Основными узлами современного видеоадаптера являются:

1) графический процессор (Graphics processing unit, GPU), который занимается построением выводимого изображения, освобождая от этой обязанности центральный процессор. Он производит расчеты для обработки команд трехмерной графики и является основой графической платы. Именно от него зависят быстродействие и возможности видеоадаптера;

2) видеоконтроллер отвечает за формирование изображения в видеопамяти, дает команды RAMDAC на формирование сигналов развертки для монитора и осуществляет обработку запросов центрального процессора. Кроме того, в нем обычно присутствуют контроллеры внешней и внутренней шин данных, а также контроллер видеопамяти;

3) видео-ПЗУ (Video ROM), в которое записаны BIOS видеокарты, экранные шрифты, служебные таблицы и т.п.;

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

5) цифро-аналоговый преобразователь (ЦАП) RAMDAC (Random Access Memory Digital-to-Analog Converter), служащий для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор.

Все современные видеоподсистемы могут работать в одном из двух основных видеорежимов:

- текстовом;

- графическом.

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

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

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

Современные ЖК-дисплеи имеют цифровые видеовходы DVI и HDMI и способны работать с видеосигналом без участия RAMDAC. Но пока остаются модели с аналоговыми входами, в целях совместимости, даже новые видеокарты оснащаются ЦАП и поддерживают подключение аналоговых устройств.

Описание лабораторной установки

Лабораторная работа выполняется на персональном компьютере с ОС Windows. Программа имитационного моделирования подсистемы ввода-вывода имеет имя Model_InputOutput и находится в папке Лаб_1. Она составлена на языке Delphi 2010 и позволяет задать один из трех режимов моделирования:

- непрерывный;

- потактовый;

- по таймеру.

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

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

Режим «по таймеру» позволяет варьировать скорость моделирования. При этом имитация осуществляется непрерывно. Имеется возможность в любой момент просматривать с помощью полос прокрутки содержимое кэш-памяти процессора. Интервал между тактами можно изменять в пределах от 0,1 до 5 секунд.

Модель обеспечивает исследование подсистемы ввода-вывода, работающей в двух основных режимах:

- без вывода символов на экран,

- с выводом на экран.

Программа позволяет задать следующие исходные данные:

1) количество задач (программ), выполняемых на ЭВМ – от 1 до 5, в данной работе исследуется однопрограммный режим, т.е. число задач равно 1;

2) для каждой задачи:

a) количество процессорных команд (от 100 до 1000, по умолчанию - 100);

b) количество операций ввода (от 10 до 500 - не более количества процессорных команд, по умолчанию -10);

c) среднее число вводимых символов за одну операцию (от 10 до 50, по умолчанию - 10);

d) объем памяти в ОП, занимаемый одной задачей (от 64 Кбайт до 512 Кбайт, по умолчанию – 64 Кбайт);

3) параметры устройств моделируемой системы, такие как:

a) быстродействие центрального процессора в млн. оп/с (от 10 до 1000, по умолчанию – 10);

b) объем ОП, Гбайт (от 1 до 64, по умолчанию – 1);

c) объем видеопамяти видеокарты, Гбайт[1] (от 1 до 4, по умолчанию – 1).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: