Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Урок'
В нашем лицее уже в течение ряда лет ведется работа по использованию НИТ в обучении химии. Обобщая, накопленный опыт, можно выделить три варианта при...полностью>>
'Урок'
образ, футуризм, модернизм, символизм, метафора, эпитет, синекдоха, литота, аллегория, гипербола, романтизм, экспозиция, метонимия, амфибрахий, анапе...полностью>>
'Курсовая'
Напрасных крыл напрасны трепетанья. Ведь все равно я с вами до конца А.Ахматова « Многим» Анна Ахматова блестящий представитель одного из содержатель...полностью>>
'Автореферат'
Защита состоится «22» сентября 2011 г. в 16.00 на заседании Диссертационного совета Д 210.016.01 по присуждению ученых степеней кандидата и доктора и...полностью>>

Лабораторная работа №1 (6)

Главная > Лабораторная работа
Сохрани ссылку в одной из сетей:

Лабораторная работа № 1

1. Теоретическая часть: Состав вычислительной системы

1.1. Аппаратное обеспечение

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

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

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

Центральный процессор

Накопители

Принтер

Монитор

Оперативная
память

Клавиатура


Рис. 1. Некоторые компоненты вычислительной системы

Системная магистраль


контроллеры


1. Центральный процессор

Центральный процессор – это центральное устройство компьютера, которое выполняет операции по обработке данных и управляет периферийными устройствами компьютера. В состав центрального процессора входят:

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

  • арифметико-логическое устройство – выполняет арифметические и логические операции над данными: сложение, вычитание, умножение, деление, сравнение и др.;

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

  • генератор тактовой частоты – генерирует электрические импульсы, синхронизирующие работу всех узлов компьютера.

Центральный процессор выполняет различные операции с данными при помощи специализированных ячеек для хранения ключевых переменных и временных результатов – внутренних регистров. Регистры подразделяются на два вида (рис.2.):

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

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

Регистры данных программист может использовать по своему усмотрению для временного хранения любых объектов (данных или адресов) и выполнения над ними требуемых операций. Индексные регистры так же, как и регистры данных, могут использоваться произвольным образом; их основное назначение – хранить индексы или смещения данных и команд от начала базового адреса (при выборке операндов из памяти). Адрес базы при этом может находиться в базовых регистрах.

Сегментные регистры являются важнейшим элементом архитектуры процессора, обеспечивая адресацию 20-разрядного адресного пространства с помощью 16-разрядных операндов. Основные сегментные регистры: CS – регистр сегмента кода; DS – регистр сегмента данных; SS – регистр сегмента стека, ES – дополнительный сегментальный регистр. Обращение к памяти осуществляется посредством сегментов – логических образований, накладываемых на любые участки физического адресного пространства. Начальный адрес сегмента, деленный на 16 (без младшей шестнадцатеричной цифры) заносится в один из сегментных регистров; после чего предоставляется доступ к участку памяти, начинающегося с заданного сегментного адреса.

Адрес любой ячейки памяти состоит из двух слов, одно из которых определяет расположение в памяти соответствующего сегмента, а другое – смещение в пределах этого сегмента. Размер сегмента определяется объемом содержащихся в нем данных, но никогда не может превышать величину 64 Кбайт, что определяется максимально возможной величиной смещения. Сегментный адрес сегмента команд хранится в регистре CS, а смещение к адресуемому байту – в регистре указателе команд IP.

Рис.2. Регистры 32-х разрядного процессора

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

Сегментный адрес сегмента данных хранится в регистре DS, смещение может находиться в одном из регистров общего назначения. Дополнительный сегментный регистр ES используется для обращения к полям данных, не входящим в программу, например к видеобуферу или системным ячейкам. Однако при необходимости его можно настроить и на один из сегментов программы. Например, если программа работает с большим объемом данных, для них можно предусмотреть два сегмента и обращаться к одному из них через регистр DS, а к другому – через регистр ES.

Регистр-указатель стека SP используется как указатель вершины стека. Стеком называют область программы для временного хранения произвольных данных. Удобство стека заключается в том, что его область используется многократно, причем сохранение в стеке данных и выборка их оттуда выполняется с помощью команд push и pop без указания имен. Стек традиционно используется для сохранения содержимого регистров, используемых программой, перед вызовом подпрограммы, которая, в свою очередь, будет использовать регистры процессора в своих личных целях. Исходное содержимое регистров извлекается из стека после возврата из подпрограммы. Другой распространенный прием – передача подпрограмме требуемых ею параметров через стек. Подпрограмма, зная, в каком порядке помещены в стек параметры, может забрать их оттуда и использовать при своем выполнении.

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

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

Существует один регистр, который доступен как в привилегированном, так и в пользовательском режимах. Это регистр PSW (Program State Word - слово состояния программы), который называют флаговым. Флаговый регистр содержит различные биты, необходимые центральному процессору, самые важные – коды условий, которые используются при сравнениях и условных переходах Они устанавливаются в каждом цикле арифметико-логического устройства процессора и отражают состояние результата предыдущей операции. Содержимое флагового регистра зависит от типа вычислительной системы и может включать дополнительные поля, которые указывают: режим машины (например, пользовательский или привилегированный); бит трассировки (который используется для отладки); уровень приоритета процессора; статус разрешения прерываний. Флаговый регистр обычно читается в пользовательском режиме, но некоторые поля могут записываться только в привилегированном режиме (например, бит, который указывает режим).

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

Регистр аккумулятор используется в подавляющем числе команд. Часто применяемые команды, использующие данный регистр, имеют укороченный формат.

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

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

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

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

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

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

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

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

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

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

2. Память

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



В следующем слое находится кэш-память, в основном контролируемая оборудованием. Оперативная память разделена на кэш-строки, обычно по 64 байт, с адресацией от 0 до 63 в нулевой строке, от 64 до 127 в первой строке и т.д. Наиболее часто используемые строки кэша хранятся в высокоскоростной кэш-памяти, расположенной внутри центрального процессора или очень близко к нему. Когда программа должна прочитать слово из памяти, кэш-микросхема проверяет, есть ли нужная строка в кэше. Если это так, то происходит результативное обращение к кэш-памяти, запрос удовлетворяется целиком из кэша и запрос к памяти на шину не выставляется. Удачное обращение к кэшу, как правило, по времени занимает около двух тактов, а неудачное приводит к обращению к памяти с существенной потерей времени. Кэш-память ограничена в размере, что обусловлено ее высокой стоимостью. В некоторых машинах есть два или даже три уровня кэша, причем каждый последующий медленнее и больше предыдущего.

Далее следует оперативная память (ОЗУ – оперативное запоминающее устройство, англ. RAM, Random Access Memory – память с произвольным доступом). Это главная рабочая область запоминающего устройства вычислительной системы. Все запросы центрального процессора, которые не могут быть выполнены кэш-памятью, поступают для обработки в основную память. При работе нескольких программ на компьютере желательно сложные программы помещать в оперативную память. Защита программ друг от друга и их перемещение в памяти реализуется посредством оборудования компьютера двумя специализированными регистрами: базовым регистром и предельным регистром.



В простейшем случае (рис.4.а), когда программа начинает работать, в базовый регистр загружается адрес начала исполняемого модуля программы, а предельный регистр говорит о том, сколько занимает исполняемый модуль программы вместе с данными. При выборке команды из памяти аппаратура проверяет счетчик команд, и если он меньше, чем предельный регистр, то добавляет к нему значение базового регистра, а сумму передает памяти. Когда программа хочет прочитать слово данных (например, из адреса 10000), аппаратура автоматически добавляет к этому адресу содержимое базового регистра (например, 50000) и передает сумму (60000) памяти. Базовый регистр дает возможность программе ссылаться на любую часть памяти, следующую за хранящимся в нем адресом. Кроме того, предельный регистр запрещает программе обращение к любой части памяти после программы. Таким образом, с помощью этой схемы решаются обе задачи: защиты и перемещения программ.

В результате проверки и преобразования данных, адрес, сформированный программой и называемый виртуальным адресом, переводится в адрес, используемый памятью и называемый физическим адресом. Устройство, которое выполняет проверку и преобразование, называется устройством управления памятью или диспетчером памяти (MMU, Memory Management Unit). Диспетчер памяти располагается или в схеме процессора, или близко к ней, но логически находится между процессором и памятью.

Более сложный диспетчер памяти состоит из двух пар базовых и предельных регистров. Одна пара предназначена для текста программы, другая пара – для данных. Командный регистр и все ссылки на текст программы работают с первой парой регистров, ссылки на данные используют вторую пару регистров. Благодаря такому механизму появляется возможность делить одну программу между несколькими пользователями при хранении в ОЗУ только одной копии программы, что исключено в простой схеме. При работе программы №1 четыре регистра располагаются так, как показано на рис.4 (б) слева, при работе программы №2 – справа. Управление диспетчером памяти является функцией операционной системы.



Следующим в структуре памяти идет магнитный диск (жесткий диск). Дисковая память на два порядка дешевле ОЗУ в пересчете на бит и больше по величине, но доступ к данным, размещенным на диске, занимает примерно на три порядка больше времени. Причиной низкой скорости жесткого диска является тот факт, что диск представляет собой механическую конструкцию. Жесткий диск состоит из одной или нескольких металлических пластин, вращающихся со скоростью 5400, 7200 или 10800 оборотов в минуту (рис.5.). Информация записывается на пластины в виде концентрических окружностей. Головки чтения/записи в каждой заданной позиции могут прочитать кольцо на пластине, называемое дорожкой. Все вместе дорожки для заданной позиции вилки формируют цилиндр.

Каждая дорожка разделена на некоторое количество секторов, обычно по 512 байт на сектор. На современных дисках внешние цилиндры содержат большее количество секторов, чем внутренние. Перемещение головки от одного цилиндра к другому занимает около 1 мс, а перемещение к произвольному цилиндру требует от 5 до 10 мс, в зависимости от диска. Когда головка располагается над нужной дорожкой, нужно ждать, пока двигатель повернет диск так, чтобы под головкой стал требуемый сектор. Это занимает дополнительно от 5 до 10 мс, в зависимости от скорости вращения диска. Когда сектор находится под головкой, процесс чтения или записи происходит со скоростью от 5 Мбайт/с (для низкоскоростных дисков) до 160 Мбайт/с (для высокоскоростных дисков).

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

Кроме описанных выше видов во многих компьютерах есть постоянная память с произвольным доступом (ПЗУ – постоянное запоминающее устройство, ROM, Read Only Memory – память только для чтения), которая не теряет свое содержимое при выключении питания вычислительной системы. ПЗУ программируется в процессе производства и после этого его содержимое нельзя изменить. На некоторых компьютерах в ПЗУ находятся программы начальной загрузки, используемые при запуске компьютера, и некоторые карты ввода-вывода для управления низкоуровневыми устройствами.

Электрически стираемое ПЗУ (EEPROM, Electrically Erasable ROM) и флэш-ОЗУ (flash RAM) также энергонезависимы, но в отличие от ПЗУ их содержимое можно стереть и переписать. Однако запись данных на них требует намного больше времени, чем запись в оперативную память. Поэтому они используются точно так же, как и ПЗУ.

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

3. Устройства ввода-вывода

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

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

Само устройство ввода-вывода имеет простой интерфейс, который должен соответствовать единому стандарту IDE (IDE, Integrated Drive Electronics – встроенный интерфейс накопителей). Так как интерфейс устройства скрыт контроллером, то операционная система видит только интерфейс контроллера, который может отличаться от интерфейса устройства.

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

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

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

  • принять новые драйверы и оперативно их установить средствами операционной система во время ее работы; способ используется съемными шинами USB и IEEE 1394, которые всегда нуждаются в динамически загружаемых драйверах.



Скачать документ

Похожие документы:

  1. Лабораторная работа №1 (1)

    Лабораторная работа
    VBA относится к языкам объектно- ориентированного программирования (ООП). ООП можно описать как методику анализа, проектирования и написания приложений с помощью объектов.
  2. Лабораторная работа №1 (3)

    Лабораторная работа
    Цели: освоение принципов построения электронной таблицы. Ввод чисел, текста, формул, копирование формул, редактирование и пересчет ячеек, сохранение таблицы на диске, открытие существующей таблицы, закрытие таблицы без записи на диск.
  3. Лабораторные работы (2)

    Документ
    Одним из основных методов обучения физике в школе является проведение лабораторных работ. Но в то же время этот вид урока – один из самых сложных и хлопотных для учителя.
  4. Лабораторная работа №1 (4)

    Лабораторная работа
    Замечание: В задачах 1 – 3 «длинные» натуральные числа представить в виде одномерных массивов. Будем считать, что такое число имеет не более 100 цифр.
  5. Лабораторная работа 1

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

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

Другие похожие документы..