1. 

2. 

3.  Цель работы.

Углубление и закрепление теоретических знаний, приобретение навыков разработки узлов ЭВМ на структурном и функциональном уровнях. Разработка структурной схемы гипотетической ЭВМ широкого применения, функциональной схемы КЭШ.

4.  Исходные данные.

Разрабатываемая ЭВМ должна содержать следующие устройства:

-  центральный процессор (ЦП), который состоит из микропрограммного устройства управления (МУУ) и операционного блока (ОБ);

-  блок синхронизации (БС);

-  оперативную память (ОП);

-  системы прерывания программ (СПП);

-  КЭШ;

-  таймер;

-  систему ввода-вывода (СВВ);

-  монитор и клавиатуру;

Индивидуальные исходные данные:

-  магистраль двухшинная;

-  адресный КЭШ;

-  система прерывания программ последовательная на макроуровне;

-  система ввода/вывода с ПДП;

-  узел для детальной разработки - КЭШ;

-  организация ОП - сегментная.

Основные параметры ЭВМ:

-  разрядность не менее 16 бит;

-  длина команды переменная;

-  машина двухадресная.

Структурная схема ЭВМ.

ПЗУ

 

ОЗУ

 

Кэш

 
DAB

CB

 

Рис. 1. Структурная схема ЭВМ

5.  Структура и функционирование ЭВМ.

Структурная схема разрабатываемой ЭВМ приведена на рисунке 1.

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

Магистраль состоит из двух шин: шины данных/адреса (DAB) и шины управления (CB).

НЕ нашли? Не то? Что вы ищете?

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

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

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

Такая архитектура предполагает наличие дополнительных средств для обеспечения работы с шиной DAB, так как устройства ЭВМ могут работать в одном цикле либо с данными, либо с адресом. Это могут быть устройства мультиплексирования/демультиплексирования, либо управление работой интерфейсных элементов (разрешение загрузки, вывода) посредством сигналов с CB.

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

В состав ЦП входят операционный блок (ОБ) и микропрограмное устройство управления (МУУ) (рис.2). МУУ состоит из преобразователя начального адреса (ПНА), секвенсора, микропрограмной памяти (МПП), регистров команд и микрокоманд (RGk, RGmk). В ОБ входят процессорный элемент, логика сдвигов, статусный регистр (SRG), регистр входных и выходных данных (RGDin, RGDout).

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

Команда с шины данных DAB поступает на RGk, затем код операции поступает в ПНА, а данные с выхода ПНА в секвенсор. Секвенсор выбирает источник адреса и выдает его на вход МПП. На выходе МПП появляется микрокоманда, которая поступает в RGmk. Микрокоманда поступает в ОБ и там исполняется.

Процессорный элемент выполнен на микросхеме IDT49c402, а секвенсор на микросхеме Am29c10.

Примем, разрядность микроЭВМ равным 32 разряда.

 

Рис.2. Обобщённая структурная схема процессора

3.3  Основная память.

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

-  постоянное запоминающее устройство (ПЗУ), из которого происходит только чтение данных;

-  оперативное запоминающее устройство (ОЗУ), из которого можно считывать данные, а так же, в которое можно записывать данные.

В качестве ОЗУ была использована динамическая память M5M44280A фирмы Mitsubishi – 4 микросхемы, с организацией 256K´16 бит. А в качестве ПЗУ была использована ROMM-память MSM534000 – 4 микросхемы, с организацией 256K×16 бит.

Выбор ПЗУ и ОЗУ осуществляется на основе 19 бита адреса в соответствии с картой памяти:

Адреса ОЗУ располагаются в младшей части адресного пространства (адреса с 00000 до 7FFFF).

Адреса ПЗУ располагаются в старшей части адресного пространства (адреса с 80000 до FFFFF).

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

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

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

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

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

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

Рис.3. Распределение памяти сегментами.

3.4. Таймер.

Большинство микроЭВМ содержит источник реального времени - часы и таймер. Таймер предназначен для обеспечения работы ЭВМ в режиме реального времени.

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

3.5. Синхронизация.

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

3.6. Система прерываний.

Система прерываний – последовательная на макроуровне.

Прерывания представляют собой определенное средство изменения последовательности состояний в ответ на внешние асинхронно происходящие события (запросы на прерывание).

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

1.  Распознование запроса на прерывание.

На этом этапе происходит расрознование процессором запроса на прерывание, поступающего по линии запроса на прерывание.

2.  Запоминание состояния.

Нужно запомнить состояние прерванного процесса.

3.  Подтверждение прерывания.

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

4. Вызов подпрограммы обработки прерывания.

Устройство, запросившее прерывание само указывает адрес обработчика.

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

какое из них направило запрос на прерывание.

5. Восстановление и возврат.

Последовательная структура.

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

 

DAB

 

CB

 

Рис. 4. Структура с одной линией запроса и с подтверждением сигнала

Прерывания на макроуровне.

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

3.7. Ввод/вывод: ПДП.

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

Прямым доступом к памяти управляет контроллер ПДП (КПДП), который:

-  управляет инициируемой процессором или ПУ передачей данных между ОП и ПУ;

-  задает размер блока данных и области памяти, используемых при передаче;

-  формирует адреса ячеек ОП, участвующих в передаче;

-  подсчитывает число единиц данных, передаваемых из ОП в ПУ и обратно;

-  определяет момент завершения заданной операции ввода/вывода.

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

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

3.8. Консоль: клавиатура и монитор.

Клавиатура и монитор служат для организации общенния пользователя с ЭВМ. Устройство ввода - клавиатура позволяет вводить информацию в компьютер. Устройство вывода - монитор предназначено для передачи информации из компьютера и отображения на экране. Управляет этими устройствами контроллер дисплея.

4.  Разрабатываемый блок – КЭШ.

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

При чтении данных сначала выполняется обращение к кэш-памяти. Если в кэше имеется копия данных адресованной ячейки ОП, то кэш вырабатывает сигнал Hit (попадание) и выдает данные на общую шину данных. Впротивном случае Hit не вырабатывается и выполняется чтение из основной памяти и одновременное помещение считанных данных в кэш.

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

Выберем размер кэша как 4Кх29, а адресное пространство 220=1М слово.

 

Смещение в сегменте

 

20

 

Физический адрес

 

Рис.5. Основные информационные цепи считывания данных из кэш-памяти

Кэш-память содержит блок ОЗУ (SRAM). В блоке имеются разряды для хранения кода Tag, который отображает старшую часть адреса ячейки-оригинала, разряды A, в которых содержится 20-разрядов адреса ОЗУ, и разряд V - признак истинности информации в ячейке блока.

Когда процессор установил виртуальный адрес:

1. С помощью разрядов 20-31 адреса выбирается одна из 4К ячеек кэш-памяти, в которой содержится начальный физический адрес сегмента. На выходы накопителя кэш-памяти поступает информация, а именно коды Tag, биты V, а также данные A.

2. С помощью 8-разрядного компаратора сравниваются старшие разряды адреса поступившего из процессора с соответствующими разрядами, считанными из блока. Если совпадение не зарегистрировано, то это означает, что затребованный адрес сегмента в кэш-памяти отсутствует. Если произошло совпадение кодов, то вырабатывается сигнал Hit=1.

3. Данные A (начальный физический адрес сегмента) поступают на сумматор, где они складываются со смещением в сегменте (разряды 0-20 в виртуальном адресе). На выходе получается физический адрес ячейки в ОЗУ.

4. Если Hit=0, то схема управления осуществляет выбор из ОЗУ из сегментной таблицы начальный физический адрес запрашиваемого сегмента. Считанное из ОЗУ слово должно быть записано в кэш-память. Адрес сегментной таблицы может быть фиксирован. Чтобы определить, в какой блок следует записать считанное слово, анализируется разряд V всех ячеек кэш-памяти. В зависимости от его состояния определяется более устаревшая информация, которая затем заменяется новой.

При записи 20-разрядный начальный физический адрес сегмента записывается в разряды A соответствующей ячейки. В разрядах Tag запоминается группа разрядов 32-39 адреса, поступившего из процессора, признак V устанавливается в 1.

В исходном состоянии, после включения напряжения питания, все признаки V устанавливаются схемой управления в 0.

4.1 Функциональная схема

Виртуальный адрес

 


Адрес таблицы сегментов

 

Рис.6. Функциональная схема.

5. Список литературы:

1.  Конспект лекций по предмету «Организация ЭВМ». Лектор – доцент

2.  «Электронные вычислительные машины и системы»; Учеб. пособие для ВУЗов. – М.: Энергоатомиздат, 1991.

3.  «Проектирование элементов и узлов ЭВМ»; Учеб. пособие для ВУЗов – М.: Высшая школа, 1987.

4.  «Микропроцессорные структуры: инженерные решения»-М.: «Радио и связь», 1990.