Разработка блока преобразования виртуальных адресов и буфера TLB

Разработка основных блоков компьютера и требования к ним: центральный процессор, система прерывания программ, ввода-вывода, оперативная, кеш-память. Блок начальной установки и синхронизации. Внутреннее устройство блока преобразования виртуальных адресов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.05.2014
Размер файла 207,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

1. Задание на курсовой проект

1.1 Цель курсового проекта

компьютер оперативный память виртуальный

Целью выполнения курсового проекта является углубление и закрепление теоретических знаний, полученных в курсах «Схемотехника» и «Организация ЭВМ», а также приобретение навыков разработки узлов ЭВМ на структурном, функциональном и алгоритмическом уровнях, углубление знаний о сопряжении различных узлов ЭВМ.

1.2 Задание на курсовой проект

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

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

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

1.3 Исходные данные

В состав ЭВМ должны входить следующие блоки (типовое задание):

· центральное обрабатывающее устройство (ЦОУ);

· микропрограммное устройство управления (МУУ);

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

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

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

· таймер;

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

· монитор, клавиатура, мышь;

· НГМД;

· Винчестер.

· в качестве дополнительных устройств в состав могут входить ЦАП и АЦП.

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

· архитектура ЭВМ - магистральная 3-х шинная;

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

· КЭШ-память - КЭШ команд, данных, буфер TLB;

· структура и тип СПП - с индивидуальными шинами (радиальная), обработка на уровне микрокоманд;

· организация СВВ - с прямым доступом в память;

· разрабатываемый блок - блок преобразования виртуальных адресов.

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

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

· емкость ОП - не менее 16 Mбайт.

2. Разработка структурной схемы ЭВМ

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

По заданию архитектура ЭВМ трёхшинная:

· шина адреса (AB) - служит для передачи данных между устройствами (32 разряда).

· шина данных (DB) - используется для передачи адресов, которыми могут являться как адреса оперативной памяти (ОП), так и адреса памяти внешних запоминающих устройств (32 разряда).

· шина управления (CB) - используется для передачи сигналов управления между устройствами.

Структурная схема представлена на рис. 2.1.

ъ

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

Приведём краткое описание представленных на схеме устройств.

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

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

Связи:

· С AB - выставление адресов.

· С DB - двунаправленная шина, обмен данными с устройствами.

· С CB - выставление управляющих сигналов.

· С СПП - обработка прерываний.

Система прерывания программ

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

Связи:

· С ЦП - передача данных для осуществления прерывания.

· С ПУ - получение запросов на прерывания.

Система ввода-вывода

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

Связи:

· С AB - выставление адресов для ОП.

· С DB - двунаправленная шина, обмен данными между ОП и ПУ.

· С CB - двунаправленная шина, выставление управляющих сигналов, получение инструкций от ЦП.

· С ПУ - обмен данными и получение сигналов готовности ПУ к обмену.

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

Оперативная память (ОП) служит для хранения информации (данных, программ, промежуточных и конечных результатов обработки). Поскольку шина адреса 32-разрядная, то адресное пространство составляет 4 Гслова. Для управления работой ОП и повышения быстродействия в её состав входят устройство управления памятью (УУП) и буфер TLB (Translation Lookaside Buffer - буфер быстрого преобразования адреса). В состав оперативной памяти входит только ОЗУ, функции постоянного запоминающего устройства выполняют внешние запоминающие устройства: «винчестер», НГМД.

Связи:

· С AB - получение адреса ячейки памяти, к которой будет произведено обращение.

· С DB - двунаправленная шина, выдача считанных данных или получение данных для записи.

· С CB - для получения сигналов управления от процессора или СВВ.

Контроллер монитора

Служит для организации вывода информации на монитор.

Связи:

· С AB - обращение к видеопамяти как части общего адресного пространства машины.

· С DB - двунаправленная шина. Позволяет осуществлять обмен данными между ОЗУ и памятью видеоадаптера.

· С CB - управляющие сигналы для контроллера монитора.

Монитор

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

Контроллер клавиатуры

Служит для управления режимами работы с клавиатуры, а также для получения информации о нажатых клавишах.

Связи:

· С DB - выдача скан-кодов нажатых клавишей.

· С CB - получение управляющих сигналов от ЦП.

Клавиатура

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

Блок синхронизации

Генерацию системного синхросигнала и выдача его на линию синхронизации.

Блок начальной установки

Генерация сигнала Reset при включении питания и подача его на МУУ.

Таймер

Предназначен для деления машинного времени на временные интервалы и выдачи запросов на системное прерывание.

Связи:

· С DB - обмен данными при программировании.

· С CB - получение управляющих сигналов от ЦП.

3. Разработка основных блоков ЭВМ

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

В структуре ЦП можно выделить два основных блока: микропрограммное устройство управления и операционный блок. Рассмотрим их более подробно:

Операционный блок

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

Разрабатываемая ЭВМ 32-разрядная, для реализации данной разрядности используются две объединённые 16-разрядные микропроцессорных секции (МПС) IDT49С402А. Этот выбор обусловлен наличием знаний по данному семейству микросхем (опыт при разработке курсового проекта по дисциплине «Схемотехника»). Секция IDT49С402А содержит внутренний регистровый файл с организацией 64*16 бит, таким образом, после объединения двух секций получаем 64 32-разрядных регистра.

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

В составе МПС IDT49C402A не имеется статусного регистра, поэтому в ОБ встраивается внешний по отношению к МПС блок статусного регистра. Слово состояния имеет разрядность 8 бит, но анализировать в МУУ из них можно только 7 младших, так как место старшего занимает бит Cache hit / miss из буфера TLB (см. раздел 4). Обеспечивается возможность сохранения слова состояния в РОН и восстановление его с шины Y (младшие 8 разрядов), это позволяет производить операции над флагами, а также микропрограммно формировать пользовательские признаки.

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

Селекторы адресов производят выбор источника адреса РОН для каждого из каналов (A и B) - из регистра команд или из регистра микрокоманд. Число программно доступных регистров 64 по каждому из каналов.

На входе С0 (бит переноса, подаётся в АЛУ) МПС включен мультиплексор, выбирающий в зависимости от соответствующих битов микрокоманды один из источников: «1», «0» или бит С16 статусного регистра.

Адрес для обращения к памяти хранится в регистре адреса памяти, сам адрес формируется непосредственно МПС и записывается в регистр по фронту синхросигнала при высоком активном уровне соответствующего биты микрокоманды.

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

Структурная схема операционного блока приведена на рис. 3.1.1.

Рис. 3.1.1. Структурная схема операционного блока

Микропрограммное устройство управления

В качестве типа структуры МУУ была выбрана схема с конвейером первого порядка (регистр микрокоманд), как наиболее распространенная и экономичная.

Устройство микропрограммного управления состоит из секвенсора микрокоманд, микропрограммной памяти, преобразователя начального адреса (ПНА), регистров команд и микрокоманд, буфер и трансивер для работы с системой прерывания программ.

В регистр команд с шины данных (DB) по фронту синхросигнала загружается 32-разрядое слово, представляющее собой машинную команду. Младшие 12 бит (адресное поле) поступает в ОБ, а старшие 20 бит (КОП) идут на преобразователь начального адреса (ПНА). Преобразованный адрес поступает на секвенсор, который адресует микропрограммную память (МПП). Имеется возможность осуществления условных переходов в микропрограммах, для чего из ОБ поступают флаги (содержимое статусного регистра, а также бит Cache hit / miss из буфера TLB). При считывании следующей команды секвенсером реализована возможность выбора источника (из регистра команд или константа с шины управления).

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

Структурная схема микропрограммного устройства управления приведена на рис. 3.1.2.

Рис. 3.1.2. Структурная схема микропрограммного устройства управления

3.2 Система прерывания программ

Во время работы ЭВМ внутри нее самой или во внешней среде могут возникнуть события, требующие немедленных ответных действий.

Прерывание программы - это способность ЭВМ при возникновении определенных ситуаций, требующих немедленной реакции ЭВМ, прекратить выполнение текущей программы и передать управление программе, реализующей реакцию ЭВМ на возникшую ситуацию.

Функции системы прерывания:

· Организация вхождения в прерывающую программу

· Организация приоритетного выбора между запросами, поступающими одновременно

· Организация возврата в прерванную программу

Заданная исходными данными радиальная СПП с обработкой на уровне микрокоманд реализуется с помощью контроллера прерываний.

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

Реализована возможность установки и считывания центральным процессором маски прерываний по шине данных. Режим запись / чтение маски устанавливается соответствующими битами микрокоманды. Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам прерывания. Состояние «1» в данном разряде регистра маски разрешает, а состояние «0» запрещает (маскирует) прерывание от соответствующего запроса. Изменяя маску прерывания можно устанавливать произвольные приоритетные соотношения без перекоммутации линий, по которым поступают запросы прерываний.

Последовательность действий при обработке прерываний:

1. Для осуществления прерывания программы устройства подают на вход контроллера запрос на прерывание.

2. Контроллер в соответствии с заданными приоритетами и словом маски выбирает устройство и формирует вектор одновременно с подачей запроса на прерывания в ЦП.

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

4. После приёма сигнала INTC, контроллер прерываний выдаёт сформированный вектор прерывания, который связан с шиной данных интерфейсным буфером, контролируемым битом микрокоманды.

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

6. После завершения подпрограммы обработки прерывания, осуществляется восстановления всех сохранённых данных и возврат к прерванной микропрограмме.

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

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

Структурная схема системы прерывания программ приведена на рис. 3.2.1.

Рис. 3.2.1. Структурная схема системы прерывания программ

3.3 Система ввода-вывода

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

Для возможности сопряжения ЭВМ с несколькими ПУ разрабатываемый контроллер ПДП должен иметь централизованную структуру и уметь обрабатывать запросы от ПУ.

Контроллер ПДП, имеющий централизованную структуру, обеспечивает выполнение следующих функций:

1. Обнаружение запросов на ПДП от ПУ;

2. Возможность инициализации с шины данных начальными значениями: адреса и числа слов;

3. Распознавание характера обмена: чтение или запись в ОП и выставление соответствующих управляющих битов в ОП;

4. Поддержание диалога с ПУ во время обмена с целью выяснить готовность ПУ к приёму или передаче данных;

5. Информирование ЦП о завершении операции ввода-вывода.

Структурная схема системы ввода-вывода приведена на рис. 3.3.1.

Рис. 3.3.1. Структурная схема системы ввода-вывода

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

Разрядность ЦП разрабатываемой ЭВМ составляет 32 бита, что позволяет адресовать 4Гслова ОП. Реальный размер ОП значительно меньше. Возможность использования всего адресного пространства реализуется посредством механизма виртуальной памяти. Если программа не помещается в ОП, то те части, которые в данный момент не используются, переносятся во вторичное запоминающее устройства, например, на «винчестер». Программы, а в ходе их выполнения и процессор, ссылаются на пространство команд и данных, не зависимое от реального физического пространства ОП. Генерируемые процессор двоичные адреса памяти называются виртуальными адресами.

Заданием предусмотрена сегментно-страничная организация памяти. При такой организации адресное пространство делится на сегменты, каждый из которых, в свою очередь, делится на страницы фиксированного размера. Адресация ячеек памяти происходит уже внутри страниц. Для того, чтобы реализовать такую адресацию, необходимо задать формат виртуального адреса. Разрядность адреса - 32. Два старших бита отводятся под управляющие значения: бит присутствия P, используемый для генерации страничных прерываний (1 - страница находится в ОП, 0 - страница выгружена из ОП), и второй бит, имеющий разное значения для КЭШа адреса и для страничных таблиц. В первом случае он является битом достоверности D, сигнализирующим об актуальности данных (если данные в ОП изменились, бит сбрасывается в 0, и что означает необходимость обновления данных КЭШа). Для страничных таблиц он служит битом модификации M (если информация в ОП изменилась, то при удалении страницы из ОП её необходимо выгрузить на «винчестер»). Следующие 8 разрядов выделяются на адресацию сегментов 28 = 256 сегментов. Следующие 10 разрядов отводятся на адресацию страниц внутри сегмента 210 = 1024 страницы. Младшие 12 разрядов служат для задания смещения внутри заданной страницы. Таким образом, объём страницы составляет 212 = 4096 слов. За счёт того, что два бита используются как управляющие, адресное пространство сокращается до 1Гслова. Решение пожертвовать частью адресного пространства объясняется значительным выигрышем в скорости и в упрощении реализации. Процессор за один цикл может принять только 32 информационных разряда, следовательно, при превышении этого значения передачу дескрипторов придётся производить в два цикла, поэтому для передачи управляющих битов было решено выделить два адресных разряда.

Формат виртуального адреса

Номер сегмента

Номер страницы

Смещение внутри страницы

По заданию разрабатываемым блоком является блок преобразования виртуальных адресов, поэтому более подробно процесс преобразования адресов описан в разделе 4.

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

Схема подключения ОП представлена на структурной схеме ЭВМ (рис. 2.1.).

3.5 Кэш команд и кэш данных

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

Кэш-память реализуется как ассоциативная память, в которой для каждой единицы памяти хранятся дополнительные сведения, называемые тэгом или признаком. Для однозначного определения единицы памяти тэгом должен быть адрес данных в ОП. Так как в разрабатываемой ЭВМ применяется ОП со странично-сегментной организацией, роль тэга выполняет виртуальный адрес. Когда в ассоциативную память подается адрес, с ним одновременно сравниваются все тэги. Если один из тегов равен поданному адресу (кэш попадание, Cache hit), производится обращение к этой единице памяти. Если равенства не обнаруживается (кэш промах, Cache miss), требуется обратиться к ОП [3]. Для передачи признака попадания, блок КЭШа связан с шиной управления.

Схема подключения КЭШа данных и команд представлена на структурной схеме операционного блока (рис. 3.1.1.).

3.6 Монитор

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

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

Схема подключения монитора и контроллера монитора представлена на структурной схеме ЭВМ (рис. 2.1.).

3.7 Клавиатура

Клавиатура является одним из основных устройств ввода, обеспечивающих интерактивное общение пользователя с ЭВМ. Она содержит микропроцессор (контроллер клавиатуры), который воспринимает каждое нажатие на клавишу и выдает последовательный скан-код. Скан-код - это однобайтовое число, младшие 7 бит которого представляют идентификационный номер, присвоенный каждой клавише, а старший 8-ой бит кода говорит о том, была ли нажата клавиша (бит = 1, код нажатия) или освобождена (бит = 0, код освобождения). Таким образом, каждое нажатие клавиатуры дважды регистрируется в контроллере клавиатуры, подключенном к системной шине ЭВМ, которые также преобразует последовательный скан-код в параллельный. При поступлении скан-кода из порта вызывается прерывание. Процессор моментально прекращает свою работу и выполняет процедуру, анализирующую скан-код. Так как в системе предусмотрен контроллер прерываний, то контроллер клавиатуры посылает запрос на прерывание в него.

Схема подключения клавиатуры и контроллера клавиатуры представлена на структурной схеме ЭВМ (рис. 2.1.).

3.8 Блок начальной установки

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

Блок НУ построен с применением микросхемы MAX810 фирмы Philips. Данная микросхема улавливает момент включения питания и формирует сигнал Reset длительностью от 140 до 560 мс.

Функциональная схема блока начальной установки приведена на рис. 3.7.1.

Рис. 3.7.1. Функциональная схема блока начальной установки

3.9 Блок синхронизации

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

В качестве генератора, выдающего тактовый сигнал в схему, взята микросхема CY2071A фирмы Cypress - системный тактовый генератор, предназначенный для применения в составе блоков синхронизации центральных процессоров ЭВМ и других вычислительных устройств в качестве задающего тактового генератора. Микросхема имеет стабилизированный с помощью внешнего кварцевого резонатора генератор опорной частоты от 10 МГц до 25 МГц и может выдавать сигнал частотой от 500 кГц до 130 МГц. Микросхема содержит в себе программируемый делитель частоты. Программирование производится путём записи в блок памяти EPROM соответствующих значений, это позволяет задать требуемую выходную частоту в заданном интервале.

Функциональная схема блока синхронизации приведена на рис. 3.8.1.

Рис. 3.8.1. Функциональная схема блока синхронизации

3.10 Таймер

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

· запроса и получения канала;

· формирования вектора прерывания.

В качестве таймера можно использовать микросхему аналогичную КР580ВИ53 предназначенную для организации работы микропроцессорной системы в режиме реального времени. Реализация данного программируемого таймера позволяет работать с тремя независимыми 16-разрядными каналами с общей схемой управления, при этом каждый канал способен работать в шести режимах (программирование режимов работы каналов осуществляется индивидуально и в произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в счетчики запрограммированного числа байтов). Управляющее слово определяет режим работы канала, тип счета (двоичный или двоично-десятичный), формат чисел (одно- или двухбайтовый), разрешение или запрещение работы канала.

Структурная схема подключения таймера приведена на рис. 3.9.1.

Рис. 3.9.1. Структурная схема подключения таймера

4. Разработка блока преобразования виртуальных адресов

Структура ОП, а также формат виртуального адреса рассмотрены в разделе 3.4., поэтому перейдём к описанию общей последовательности действий при преобразовании виртуального адреса:

1. Из базового регистра (в данной реализации используется внутренний регистр процессора) извлекается физический адрес начала таблицы сегментов и суммируется с номером сегмента.

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

3. Физический адрес начала страничной таблицы сегмента суммируется с номером страницы.

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

5. Анализируется значение бита присутствия:

· 1 - страница находится в ОП;

· 0 - страница выгружена из ОП.

В случае, когда страницы нет в ОП и микрокомандой разрешены страничные прерывания, в контроллер прерываний подаётся запрос на страничное прерывание.

В результате выполнение активной задачи прерывается, управление передаётся операционной системе. Операционная система копирует запрошенную страницу с диска в ОП и возвращает управление прерванной задаче. При отсутствии свободного места в ОП, нужно удалить одну из страниц, уже имеющихся в ОП. Выбор удаляемой страницы возлагается на алгоритм замещения страниц. Наиболее популярным алгоритмом является алгоритм удаления наиболее давно использовавшихся страниц (Least Recently Used, LRU), но в данной реализации ОП в дескрипторе страницы не выделяется место под биты, необходимые для алгоритма LRU. В связи с этим, операционной системой может быть использован алгоритм случайного выбора заменяемой страницы. Так как количество страниц в памяти велико, то вероятность удачного выбора высока и этот алгоритм даёт хорошую эффективность [4]. Бит модификации указывает на то, была ли страница изменена во время хранения в ОП. Модифицированная страница перед удалением из ОП должна быть записана на диск.

6. Полученный физический адрес начала страницы суммируется с 12-разрядным смещением в странице, образуя физический адрес требуемой ячейки памяти.

Схема преобразования виртуального адреса в физический представлена на рис. 4.1.

Рис. 4.1. Схема преобразования виртуального адреса в физический

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

Рассмотрим особенности реализации блока:

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

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

· RG1 - хранение смещение в странице (младшие 12 разрядов адреса);

· RG2 - хранение номер страницы (10 разрядов адреса);

· RG3 - хранение первоначального значения виртуального адреса.

3. Кэш строится на 10-ти микросхемах SRAM информационной организацией 1Kx4, что позволяет хранить 1K слов разрядностью 40. В каждой слово входят:

· тэг, в качестве которого используется номер сегмента, так как смена сегмента происходит относительно редко, поэтому можно рассчитывать на высокую эффективность КЭШа - 8 разрядов;

· физический адрес начала страницы, это также сделано для повышения эффективности использования КЭШа и уменьшения числа его перезаписей, для получения физического адреса ячейки остаётся только прибавить смещение в 8 младших разрядов - 30 разрядов;

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

Адресация КЭШа происходит номером страницы (10 разрядов). После чтения слова из КЭШа происходит сравнение полученного тэга с искомым (8 разрядов) и далее анализ бита достоверности. Результат анализа передаётся на селектор выбора условий в МУУ в качестве бита Cache hit / miss (попадание / промах - 0 / 1) для использования микропрограммой.

4. Для управления КЭШем имеются сигналы WE# (разрешение записи) и RS# (стирание).

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

На схеме блока используются следующие обозначения:

· MK - бит микрокоманды;

· P - бит присутствия;

· D - бит достоверности;

· Cache hit / miss - бит попадания / промаха КЭШа;

· Тэг - номер сегмента;

· CLK - системный синхросигнал.

Функциональная схема блока преобразования виртуальных адресов представлена на рис. 4.2.

На схеме используются следующие номиналы микросхем:

· 74LCX32646 - 32-разрядный регистр;

· CY7C150 - SRAM 1Kx4;

· 74AC520 - 8-разрядный компаратор;

· IDT74ALVC1G08 - логический элемент И;

· IDT74ALVC1G32 - логический элемент ИЛИ;

· IDT74ALVC1G04 - инвертор.

Рис. 4.2. Функциональная схема блока преобразования виртуальных адресов

Выводы

В процессе выполнения данного курсового проекта были закреплены и углублены знания и навыки по разработке структуры ЭВМ и построения устройств, входящих в её состав.

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

Размещено на Allbest.ru


Подобные документы

  • Основные части персонального компьютера: системный блок, устройства ввода и вывода информации. Основные элементы системного блока: материнская плата, процессор, оперативная память, кэш-память, накопители. Операционная система, объекты Windows, окна.

    реферат [135,0 K], добавлен 21.09.2009

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

    курсовая работа [1,7 M], добавлен 25.12.2011

  • Операционные системы, среды и оболочки. Компоненты персонального компьютера: центральный процессор, память, устройства ввода-вывода, контроллер видеопамяти. Управление диском, способы установки драйверов. Алгоритм начальной загрузки операционной системы.

    презентация [113,9 K], добавлен 24.07.2013

  • Виды и внешние устройство системных блоков. Вывод звукового сигнала на акустическую систему. Оперативная память (Random Access Memory - память с произвольным доступом). Системная плата компьютера. Дисководы для работы со сменными носителями информации.

    презентация [1,8 M], добавлен 20.09.2013

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

    презентация [1,2 M], добавлен 26.05.2013

  • Функционально-структурная организация ЭВМ: архитектура, назначение основных блоков компьютера, принцип взаимодействия устройств. Физические характеристики компонентов ЭВМ: центральный процессор, память, шина; устройства ввода информации; периферия.

    реферат [25,5 K], добавлен 24.03.2011

  • Разработка структурной схемы гипотетической ЭВМ, ее функциональной или принципиальной схемы и алгоритма работы конкретного блока, входящего в состав этой ЭВМ. Принципы работы и архитектура центрального процессора и памяти, система прерывания программ.

    курсовая работа [4,1 M], добавлен 25.03.2012

  • Конфигурация современного персонального компьютера. Назначение и типы монитора, модема, системного блока, принтера, клавиатуры. Материнская плата, процессор, оперативная память. Сборка компьютера, установка компонентов. Безопасность на рабочем месте.

    курсовая работа [557,9 K], добавлен 19.11.2009

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

    курсовая работа [37,3 K], добавлен 17.12.2014

  • Проектирование ОС Windows 2000, ее архитектура. Процессы и потоки. Уровни запросов на прерывания. Менеджер объектов. Распределение виртуальной памяти. Трансляция виртуальных адресов в физические. Локальный вызов процедуры. Структура сообщения LPC.

    презентация [1,5 M], добавлен 24.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.