- •Часть 1
- •Тема 1: Принципы построения компьютеров
- •1.1. История развития вычислительной техники
- •1.2 Варианты классификации эвм
- •1.3 Классическая архитектура эвм
- •Выводы по теме
- •Тема 1: Принципы построения компьютеров
- •1.4 Состав компьютера
- •1.5 Биты, байты, слова
- •1.6 Ячейки памяти, порты и регистры
- •Тема 1: Принципы построения компьютеров
- •1.7 История развития пк
- •1.8 Структурная схема
- •1.9 Состав системного блока
- •Контрольные вопросы по теме 1
- •Тема 2: Физические основы представления информации в компьютерах
- •2.1. Информатика, информация, сигналы и их представление
- •1.2 Измерение количества информации
- •1.3 Кодирование символьной информации
- •Тема 2: Физические основы представления информации в компьютерах
- •Контрольные вопросы по теме 2
- •Тема 3: Архитектуры микропроцессоров
- •Тема 3: Архитектуры микропроцессоров
- •Контрольные вопросы
- •Тема 3: Архитектуры микропроцессоров
- •Логические узлы (агрегаты) эвм,
- •Простейшие типы архитектур
- •Контрольные вопросы к теме 3
- •Тема 4: Принцип адресации и структура команд
- •Общие сведения, определения и классификация
- •Логическая организация памяти и методы адресации информации
- •Тема 4: Принцип адресации и структура команд
- •4.3 Командный цикл процессора
- •4.3 Структура команд процессора
- •4.4 Система операций
- •Контрольные вопросы по теме 4
- •Тема 5: Система прерываний и организация ввода/вывода
- •Пространство ввода-вывода
- •Параллельный обмен
- •Последовательный обмен
- •Тема 5: Система прерываний и организация ввода/вывода
- •5.5 Виды прерываний
- •5.6 Обнаружение изменения состояния внешней среды
- •Тема 5: Система прерываний и организация ввода/вывода
- •Распределение системных ресурсов
- •Контрольные вопросы по теме 5
- •Тема 6: Многопроцессорные архитектуры
- •6.1 Представление о вычислительных системах
- •6.2 Основные определения.
- •6.3 Уровни и средства комплексирования.
- •Тема 6: Многопроцессорные архитектуры
- •6.3 Классификация м. Флинном
- •6.4 Другие подходы к классификации вс
- •Тема 6: Многопроцессорные архитектуры
- •6.7 Кластерная архитектура
- •Тема 6: Многопроцессорные архитектуры
- •6.8 Коммуникационные среды
- •6.9 Коммутаторы для многопроцессорных вычислительных систем
- •Контрольные вопросы по теме 6
- •Тема 7: Особенности реализации оперативной памяти в компьютерах типа ibm pc
- •7.1 Виды электронная память
- •7.2 Структура оперативной памяти
- •7.3 Кэширование оперативной памяти
- •Тема 7: Особенности реализации оперативной памяти в компьютерах типа ibm pc
- •Основные характеристики зу
- •Основные принципы работы
- •Тема 7: Особенности реализации оперативной памяти в компьютерах типа ibm pc
- •7.7 Динамическая память
- •7.8 Статическая память
- •Контрольные вопросы к теме 7
-
Основные принципы работы
Рассмотрим адресные ЗУ. Команды, исполняемые ЭВМ при выполнении программы, равно как и числовые и символьные операнды, хранятся в памяти компьютера. Память состоит из многих миллионов ячеек, в каждой из которых содержится один бит информации (значения 0 или 1). Биты редко обрабатываются поодиночке, а как правило, группами фиксированного размера. Для этого память организуется таким образом, что группы по п бит могут записываться и считываться за одну операцию. Группа п бит называется словом, а значение п — длиной слова.
Схематически память компьютера можно представить в виде массива слов (рис. 2.14).
Обычно длина машинного слова компьютеров составляет от 16 до 64 бит. Если длина слова равна 32 битам, в одном слове может храниться 32-разрядное число в дополнительном коде или четыре символа ASCII, занимающих 8 бит каждый.
Восемь идущих подряд битов являются байтом. Для представления машинной команды требуется одно или более слов.
Для доступа к памяти с целью записи или чтения отдельных элементов информации, будь то слова или байты, необходимы имена или адреса, определяющие их расположение в памяти. В качестве адресов традиционно используются числа из диапазона от 0 до 2k - 1 со значением k, достаточным для адресации всей памяти компьютера. Все 2k адресов составляют адресное пространство компьютера. Следовательно, память состоит из 2к адресуемых элементов.
Например, использование 24-разрядных (как в процессоре 80286) адресов позволяет адресовать 224 (16 777 216) элементов памяти. Обычно это количество адресуемых элементов обозначается как 16 Мбайт (1 Мбайт = 220 = 1 048 576 байт).
Поскольку у процессоров 80386, 80486, Pentium и их аналогов 32-разрядные адреса, им соответствует адресное пространство из 232 байт, или 4 Гбайт элементов.
Байтовая адресация. Итак, отдельные биты, как правило, не адресуются и чаще всего адреса назначаются байтам памяти. Именно так адресуется память большинства современных компьютеров.
Память, в которой каждый байт имеет отдельный адрес, называется памятью с байтовой адресацией. Последовательные байты имеют адреса 0, 1, 2 и т. д. Таким образом, при использовании слов длиной 32 бита последовательные слова имеют адреса 1, 4, 8,..., и каждое слово состоит из 4 байт.
Прямой и обратный порядок байтов.
Существует два способа адресации байтов в словах:
-
в прямом порядке (рис. 2.15, а);
-
в обратном порядке (рис. 2.15, б).
Обратным порядком байтов (big-endian) называется система адресации, при которой байты адресуются слева направо, так что самый старший байт слова (расположенный с левого края) имеет наименьший адрес.
Прямым порядком байтов (little-endian) называется противоположная система адресации, при которой байты адресуются справа налево, так что наименьший адрес имеет самый младший байт слова (расположенный с правого края). Слова «старший» и «младший» определяют вес бита, т. е. степень двойки, соответствующей данному биту, когда слово представляет число.
В ПЭВМ на основе 80x86 используется прямой порядок, а в ПЭВМ на основе Motorola 68000 — обратный. В обеих системах адреса байтов 0, 4, 8 и т. д. применяются в качестве адресов последовательных слов памяти в операциях чтения и записи слов.
Наряду с порядком байтов в слове важно также определить порядок битов в байте. Наиболее естественный порядок битов для кодирования числовых данных (непосредственно соответствующий их разрядам) «слева направо»: b32, ..., b1, Ь0. Однако существуют компьютеры, для которых характерен обратный порядок битов.
Расположение слов в памяти.
В случае 32-разрядных слов их естественные границы располагаются по адресам 0, 4, 8 и т. д. При этом считается, что слова выровнены по адресам в памяти. Если говорить в общем, слова считаются выровненными в памяти в том случае, если адрес начала каждого слова кратен количеству байтов в нем. По практическим причинам, связанным с манипулированием двоично-кодированными адресами, количество байтов в слове обычно является степенью двойки. Поэтому, если длина слова равна 16 бит (2 байтам), выровненные слова начинаются по байтовым адресам 0, 2, 4, ..., а если она равна 64 бит (23, т. е. 8 байтам), то выровненные слова начинаются по байтовым адресам 0, 8, 16, ... .
Не существует причины, по которой слова не могли бы начинаться с произвольных адресов. Такие слова называются невыровненными. Как правило, слова выравниваются по адресам памяти, но иногда этот принцип нарушается.
Доступ к числам, символам и символьным строкам.
Обычно число занимает целое слово, поэтому, для того чтобы обратиться к нему, нужно указать адрес слова, по которому оно хранится. Точно так же доступ к отдельно хранящемуся в памяти символу осуществляется по адресу содержащего его байта.
Во многих приложениях необходимо обрабатывать строки символов переменной длины. Для доступа к такой строке нужно указать адрес байта, в котором хранится ее первый символ. Последовательные символы строки содержатся в последовательных байтах. Существует два способа определения длины строки. Первый из них заключается в использовании специального управляющего символа, обозначающего конец строки и являющегося ее последним символом. Второй способ состоит в использовании отдельного слова памяти или регистра процессора, содержащего число, которое определяет длину строки в байтах.
Операции с памятью. Как команды программ, так и данные, являющиеся операндами этих команд, хранятся в памяти. Для выполнения команды управляющие схемы процессора должны инициировать пересылку содержащего ее слова или слов из памяти в процессор.
Операнды и результаты также должны пересылаться между памятью и процессором. Таким образом, для выполнения команды программы необходимо произвести две операции с памятью:
Load (также Read, или Fetch) — загрузка (или чтение, или выборка соответственно);
Store (или Write) — сохранение (или запись).
Операция загрузки пересылает в процессор копию содержимого памяти по заданному адресу. При этом содержимое памяти остается неизменным. Для того чтобы начать операцию загрузки, процессор отсылает в память адрес и запрашивает содержимое памяти по этому адресу. Из памяти считываются соответствующие данные и пересылаются в процессор.
Операция сохранения пересылает элемент информации из процессора в память по заданному адресу, уничтожая предыдущие данные, хранившиеся по этому адресу. Для выполнения такой операции процессор отсылает в память данные и адрес, по которому они должны быть записаны.
Информацию из одного слова или одного байта можно переслать между процессором и памятью за одну операцию. Процессор содержит небольшое количество регистров, вмещающих по одному слову. Эти регистры служат либо источниками, либо приемниками данных, пересылаемых в память и из памяти. Пересылаемый байт обычно располагается в младшей (крайней справа) позиции в регистре.
Конкретные системы оперативной памяти.
Память, хранящая обрабатываемые в текущее время данные и выполняемые команды (программу), называется основной памятью — RAM (Random Access Memory), т. е. память с произвольным доступом. Она составляет основу системной памяти. В ПК в большинстве случаях основная оперативная память строится на микросхемах динамического типа (DRAM — Dynamic Random Access Memory), где в качестве запоминающего элемента (ЗЭ) используется простейшая сборка, состоящая из одного транзистора и одного конденсатора. Основными причинами широкого применения этой памяти является высокая плотность интеграции (увеличение числа ЗЭ на чип и сокращение числа чипов, необходимых для одного модуля), малое потребление энергии (тратится минимум энергии на хранение одного бита, уменьшается потребляемая системой мощность, снижается стоимость) и т. д. Но имеются и недостатки: каждый ЗЭ представляет, по сути дела, разряжаемый со временем конденсатор, поэтому чтобы предотвратить потерю хранящейся в конденсаторах информации, микросхема RAM постоянно должна регенерироваться.
Имеется другой вид памяти, который лишен этого недостатка. Эта память называется статической (Static RAM — SRAM), где в качестве ЗЭ используется так называемый статический триггер (состоящий из 4—6 транзисторов). Из-за сложности ЗЭ плотность упаковки микросхем SRAM меньше, чем для DRAM. Следовательно, если бы SRAM устанавливалась в качестве оперативной памяти, то это привело бы к увеличению быстродействия ПК, однако при этом существенно изменилась бы его стоимость, поскольку стоимость микросхемы SRAM значительно выше стоимости DRAM. Для повышения быстродействия в настоящее время применяются различные архитектурно-логические решения. Сейчас имеется множество различных типов памяти, отличающихся друг от друга своими основными характеристиками.
Основная память соединяется с процессором посредством адресной шины и шины данных. Каждая шина состоит из множества электрических цепей (линий или бит). Ширина (разрядность) адресной шины определяет, сколько адресов может быть в ОЗУ (адресное пространство), а шины данных — сколько данных может быть передано за один цикл.
Например, в 1985 г. процессор Intel 386 имел 32-разрядную адресную шину, что дало возможность поддерживать адресное пространство в 4 Гбайт. В процессоре Pentium (1993 г.) ширина шины данных была увеличена до 64 бит, что позволяет передавать 8 байт информации одновременно.
Каждая передача данных между процессором и памятью называется циклом шины. Количество бит, которое процессор может передать за один цикл шины, влияет на производительность компьютера и определяет, какой тип памяти требуется.
Для описания характеристик быстродействия оперативной памяти применяются так называемые циклы чтения/записи (или временные схемы пакета). Дело в. том, что при обращении к памяти на считывание или запись первого машинного слова расходуется больше тактов, чем на обращение к трем последующим словам. Так, для асинхронной SRAM чтение одного слова выполняется за 3 такта, запись — за 4 такта, чтение нескольких слов определяется последовательностью 3—2—2—2 такта, (что означает, что чтение 1-го элемента данных занимает 3 такта ЦП, включая 2 такта ожидания, а чтение последующих — по 2 временных такта), а запись — 4—3—3—3.
Лекция 20