Файл: Архитектура современных компьютеров..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 17.06.2023

Просмотров: 506

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

Помимо тактовой частоты практическое значение также имеет разрядность, т.е. количество бит, которое процессор в состоянии обработать единовременно, то есть за один такт. Большинство процессоров сейчас 32-разрядные, но разработка новых, более мощных, процессоров не прекращается.

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


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

  • Команды переписи данных, копирующие информацию из одного места памяти в другое.
  • Арифметические операции, которым фактически обязана своим рождением вычислительная техника. Конечно, доля вычислительных действий в современном компьютере уменьшилась, но они по-прежнему играют в программах важную роль.
  • Логические операции, позволяющие компьютеру производить анализ получаемой информации. Условный переход, поставленный после такой команды, позволяет процессору выбрать дальнейший ход выполнения программы. Примерами могут служить сравнение, а также логические операции И, ИЛИ, НЕ (инверсия). К ним часто добавляются анализ отдельных битов кода, их сброс или установка.
  • Сдвиги двоичного кода влево и вправо.
  • Команды ввода и вывода информации для обмена с внешними устройствами. Часто внешние устройства являются специальными служебными адресами памяти, тогда ввод и вывод осуществляется с помощью обычных команд перезаписи.
  • Команды управления, реализующие нелинейные алгоритмы. Сюда, прежде всего, следует отнести условный и безусловный переход, а также команды обращения к подпрограмме (переход с возвратом). Некоторые компьютеры имеют специальные команды для организации циклов, но это не обязательно: любой цикл может быть сведен к той или иной комбинации условного и безусловного переходов. К этой же группе команд относят операции по управлению процессором и его состоянием[7].

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

Для того, чтобы получить некоторое представление о том, как компьютер выполняет программу по обработке информации, в нашем практикуме рассматривается некоторая упрощенная его модель.

2.4 Модель для изучения компьютера

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


Альтернативным способом изучения является метод моделирования. Его главная идея состоит в том, чтобы выявить все наиболее важные черты моделируемого объекта и отразить их в модели. Таким образом, модель оказывается «очищенной» от всех второстепенных деталей, зато в главном ведет себя также как и изучаемый объект. Очевидно, что изучение модели легче и, в то же время, позволяет отчетливо выделить все наиболее существенные черты.

Воспользуемся для знакомства с принципами выполнения программ некоторой простой моделью современного компьютера. Наша модель будет состоять из процессора и оперативной памяти; устройства ввода/вывода для простоты рассматривать не будем.

Процессор в такой модели выполняет наиболее простые операции (в основном арифметические). В его состав входят 4 регистра общего назначения R0-R3, а также программный счетчик PC (Program Counter).

Программа вычислений хранится в небольшом ОЗУ размером 256 байт, пронумерованных в шестнадцатеричной системе от 0 до FF.

Любая команда нашего процессора состоит из трех частей:

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

Наш учебный процессор имеет следующую систему команд:

Таблица 2.1 – Система команд

КОП

ОП1

ОП2

ПОЯСНЕНИЯ

00

0

0

нет операции

01

X

X

оп1 ==> оп2

02

X

X

оп2 + оп1 ==> оп2

03

X

X

оп2 — оп1 ==> оп2

05

X

X

оп2 * оп1 ==> оп2

06

X

X

оп2 / оп1 ==> оп2 (деление нацело)

0F

0

0

останов

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


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

Таблица 2.2 – Содержание команд

Содержание

Код команды

Комментарии

0112

R1 ==> R2

значение из регистра R1 копируем в R2

0130

R3 ==> R0

значение из R3 копируем в R0

01D2
0003

3 ==> R2

в регистр R2 заносится константа 3, которая следует за командой

0212

R2 + R1 ==> R2

сложить числа, находящиеся в указанных регистрах, и записать результат во второй из них

02D2
0001

R2 + 1 ==> R2

увеличить R2 на1

0312

R2 — R1 ==> R2

из R2 вычесть R1, и записать результат в R2

02D2
0001

R2 — 1 ==> R2

уменьшить R2 на1

0F00

стоп

прекратить выполнение программы

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

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

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


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

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

Рис. 2.1 – Иерархия памяти

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

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

Характерными особенностями данного вида памяти являются следующие.

  • Возможность немедленного доступа к информации, расположенной в любой части ОЗУ. Не случайно английской аббревиатурой, эквивалентной русскому термину ОЗУ, является RAM (Random Access Memory), что переводится в литературе как память с произвольным доступом.
  • Байтовая структура ОЗУ — возможность доступа с помощью адреса к любому байту (или группе последовательных байтов).
  • Высокая (по сравнению с другими видами памяти) скорость считывания и записи информации, соизмеримая со скоростью работы процессора.
  • Необходимость принятия специальных мер по сохранению нужной информации из ОЗУ во внешнюю память после завершения работы.