Раздел 1. Архитектура компьютера

Тема 1. Начальные сведения

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

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

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

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

1.1.Данные и программы.

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

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

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

Рис. 1.1 – Непрерывный и дискретный сигналы

Сигнал называется непрерывным, или аналоговым, если множество значений его параметров бесконечно. Например, звуковой сигнал.

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

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

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

Знак вместе с его смыслом принято называть символом.

Множество знаков, в котором определен линейный порядок, называется алфавитом. Например, алфавит естественных языков, топографические знаки, дорожные и т.д.

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

Можно показать, что оптимальным является алфавит, содержащий ближайшее целое к e = 2,71828… количество знаков (е – основание натуральных логарифмов). Очевидно, что это число 3, а не 2, и следовательно, более эффективным является использование троичного алфавита. Однако технические трудности в реализации компьютера, базирующегося на троичном алфавите, оказались значительными, поэтому современные компьютеры используют для представления информации исключительно двоичный алфавит.

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

Как следует из сказанного ранее, естественной, «понятной» для компьютера формой задания алгоритмов и обрабатываемых данных является их запись в двоичном алфавите {0, 1}. Переход к двоичному алфавиту в записи программ и данных принято называть двоичным кодированием. А сами программы и данные, записанные в этом алфавите, часто называют двоичным кодом. Поскольку двоичный код используется для хранения информации в компьютерах – вычислительных машинах, его называют также машинным кодом.

1.2. Понятие архитектуры компьютера

Термин «архитектура» трактуется самым различным образом и вообще-то не имеет общепризнанного определения.

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

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

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

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

1. Память – группа устройств, которые обеспечивают хранение программ и данных;

2. Процессор (от process – обработка) – одно или несколько устройств, которые обеспечивают задаваемую программой обработку данных;

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

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

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

1.3 Элементарные логические устройства памяти.

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

Не рассматривая способы физической реализации бита рассмотрим его основные функциональные возможности.

1. Бит может находится только в одном из двух возможных состояниях, одно из которых принято считать «0», а другое – «1».

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

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

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

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

Самостоятельный элемент памяти компьютера, состоящий из восьми битов, называется байтом.

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

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

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

Нумерация бит в байте и байт в слове может быть разной. Рассмотрим некоторые примеры.

Система IBA 360/370. Адрес в этой система представляет целое 24-разрядное число, позволяющее адресовать 16 Мб оперативной памяти. Основные единицы информации – байт, полуслово (2 байта), слово (4 байта), двойное слово (8 байт), учетверенное слово (16 байт). Организация памяти IBA 360/370 иллюстрируется следующим рисунком.

Адрес | Ячейка ОП |  | 32-разрядное слово по адресу 0
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 |
1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 1. . . . . 7 | 8. . . . 15 | 16. . . 23 | 24. . .31 |
2 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | полуслово | полуслово | двойное
3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | слово
4 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |  |  |  |  |
5 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 4 | 5 | 6 | 7 |
6 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | слово по адресу 4 |
7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |  |  |  |  |
8 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |  |  |  |  |
9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |  |  |  |  |

Рис.1.2

Отметим следующие особенности:

1. Нумерация бит в байте идет слева направо от 0 до 7. Таким же образом идет нумерация бит в слове, полуслове и т.д.

2. Адресом единицы информации (слова, например) является самый младший из номеров, составляющих ее байтов.

3. Старшие разряды слов, полуслов и т.д. записываются в байты с меньшим номером. Т.е. более значащие разряды хранятся по меньшим адресам.

Для организации памяти IBM 360 характерна одна особенность, называемая выравниванием; она требует, чтобы любая единица информации хранилась по адресу, кратному размеру единицы информации в байтах. Например, слово можно хранить только по адресам 0, 4, 8, 12, и т.д.

Такая организация памяти отражалась на языках программирования. Например, FORTRAN IV для IBM 360/370 переменные в т.н. COMMON-блоках (глобальные переменные, extern и C) программист должен был обязательно размещать в порядке убывания их размеров в байтах.

Сейчас распространена несколько другая, более логичная, в некотором смысле, организация памяти. Рассмотрим, например, организацию памяти для процессоров х86 – 32 разрядных и для системы DEC VAX. В этих системах адрес представляет собой целое 32-разрядное число, позволяющее адресовать 4 Гц оперативной памяти. Структура организации памяти приведена на рисунке 1.3.

Адрес

##### Ячейка ОП

Слово по адресу 0

0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |  | 1 | 0 |
1 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 15 . . . 8 | 7. . . . . 0
2 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Слово по адр.2 Дв. слово по адр.0
3 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 3 | 2 |  | 3 | 2 | 1 | 0
4 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |  |  |  |
5 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Слово по адр.5
6 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 6 | 5 |
7 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
9 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0

Рис. 1.3

Отметим особенности:

1. Нумерация бит в байте слева направо, т.е. от младшего к старшему.

2. Адрес единицы информации – адрес младшего байта.

3. Старшие разряды слов (двойных слов) хранятся в байтах с большими адресами.

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

Организация памяти х86 и VAX такова, что позволяет использовать и не выровненные данные, хотя это может сказываться на производительности. Например, в процессоре 8086 выборка из памяти не выровненного слова занимает в два раза больше времени, чем выборка выровненного.

1.4 Объем памяти

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

[N1] Точно?