Многофункциональный контроллер ВЗУ
Многофункциональный контроллер ВЗУ
МИНИСТЕРСТВО СВЯЗИ РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ
И ИНФОРМАТИКИ
Кафедра ВТ и УС
К У Р С О В А Я Р А Б О Т А
по теме
Многофункциональный контроллер ВЗУ
Выполнение:
Студент гр. А19301
Рыбалко С.О.
Проверка:
д.т.н. Кириллова Л.В.
Задание на курсовое проектирование...
по дисциплине “Теория и проектирование ЭВМ”:
Разработать структурную схему многофункционального контроллера ВЗУ. На
основе выбранного варианта реализации аппаратуры контроллера разработать
функционально-логическую схему одного из модулей структурной схемы.
Для выполнения задания следует:
1. Изучить принципы функционирования накопителей на ГМД и накопителей типа
“Винчестер”.
2. Изучить методы контроля передачи информации при обмене ЭВМ с ВЗУ.
3. Сформулировать требования, предъявляемые к многофункциональному
контроллеру ВЗУ.
4. Построить дерево функций контроллера.
5. Построить алгоритм функционирования многофункционального контроллера
ВЗУ.
6. Выделить участки алгоритма, допускающие параллельную или конвейерную
обработку.
7. Распределить операторы алгоритма между функциональными модулями.
8. Разработать вариант структурной схемы.
9. Оценить быстродейтсвие, реализуемое полученной структурной схемой.
10. Выполнить оценку аппаратных затрат на основе выбранного критерия.
11. Разработать функционально-логическую схему одного из функциональных
модулей, предварительно согласовав свой выбор с преподавателем.
Индивидуальное задание (№ 18)
|НГМД (FDD) |НЖМД (HDD) |Скорость передачи |Элементная база |
|1 |2 |> 625 (K байт/с) |МИС и СИС |
Принцип функционирования накопителя на ГМД и накопителя типа “Винчестер”
Основой любого дискового устройства является магнитный носитель,
имеющий форму диска. поверхность д логически разделена на концентрические
окружности, отсчет которых у жестких дисков начинается от центра, а у
гибких дисков - от внешней кромки диска. Каждая такая концентрическая
окружность названа дорожкой.
Однако так как двусторонние дискеты и фиксированные диски имеют больше
одной поверхности, то для определений местоположения байта данных
пользуются трехмерными координатами. Понятие дорожка заменяют понятием
цилиндр- группа дорожек в одной и той же позиции магнитной головки на всех
дисках (пластинах) в одном дисководе определяется разрешающей способностью
позиционера магнитных головок и вертикальной плотностью носителя, которая
измеряется числом дорожек на дюйм (track per inch - TPI).
Сектор представляет собой зону дорожки, в которой собственно и хранятся
разряды данных. количество секторов на дорожке зависит от многих
переменных, но в основном определяются суммарной длиной поля данных и
служебного поля, образующих сектор (горизонтальная плотность). размер
сектора
обычно 512К для большинства дискет и некоторых типов жестких дисков.
Информационная структура всех типов дисков для РС АТ одинакова и
определяется базовой операционной системой DOS. С точки зрения операционной
системы элементарной единицей размещения данных на диске является кластер.
Он представляет собой группу секторов, с точностью до которой происходит
размещение файлов на диске. В РС АТ: для гибкого диска один кластер - это
два сектора (обычно 1К), для жесткого диска - четыре и более (>2K). Точное
значение размера кластера указывается в самом первом секторе диска -
загрузочном секторе - Boot sector.
Дискета (или раздел жесткого диска ) структурирована следующим образом
-
|Область начальной загрузки |Boot sector | | |
| | | |Системная |
|Первая копия FAT | | |область |
|Вторая копия FAT |не используется в RAM-дисках | |диска |
|Корневое оглавление |Root directory | | |
|Область данных, включая |data area | | |
|подоглавления | | | |
Область начальной загрузки помещается на дорожке 0, сектор 1, сторона
0 любой дискеты или головка 0 жесткого диска. Область начальной загрузки
содержит важную информацию о типе носителя, структуре носителя (для
механизма позиционера носителя) и о том, как данные размещены на диске.
Помещенная ниже таблица демонстрируем наиболее распространенные
форматы гибких и жестких дисков.
|Тип дискеты |Емкость |Число |Число секторов на |Число |
| |Мбайт |цилиндров |дорожке |головок |
|5 1/4 ” |1,2 |80 |15 |2 |
|3 1/2 ” |0,72 |80 |9 |2 |
| |1,44 |80 |18 |2 |
|Тип жесткого диска |Емкость |Число |Число секторов на |Число |
| |Мбайт |цилиндров |дорожке |головок |
|РС/ХТ |10 |306 |17 |4 |
|Тип 20 на РС АТ |30 |733 |17 |5 |
|Современные типы |128 |1024 |17 |15 |
|накопителей |210 |1024 |34 |12 |
Загрузочный сектор диска (или раздела диска) должен иметь следующий формат:
|Смещ. |Длина |Содержимое | |
|+0 |3 |JMP |xx |xx |NEAR-переход на код загрузки |
|+3 |8 |‘I|‘B’ |‘M’ | | |‘3’|‘.|‘3’|OEM-имя фирмы версия системы |
| | |’ | | | | | |’ | | |
|+0Bh |2 |Sector|size|Байтов на сектор |начало ВРВ |
|+0Dh |1 |Cluster size|Кластера размер | |
|+0Eh |2 |Reserve |sect|Число резервных секторов (перед 1-й FAT) | |
| | | |. | | |
|+10h |1 |FatCnt |Число таблиц FAT | |
|+11h |2 |Root |Size|Макс. число 32-байтовых элементов корневого |
| | | | |оглавления |
|+13h |2 |Tot |Sects|Общее число секторов на носителе (раздел DOS) |
|+15h |1 |Media |Дескриптор носителя (То же, что 1-й байт FAT) |
|+16h |2 |Fat |Size |Число секторов в одной FAT | конец ВРВ |
|+18h |2 |Trk |Sects|Секторов на дорожку (цил.) |
|+1Ah |2 |Head |Cnt |Число головок ЧТ/ЗП (поверхн-тей) |
|+1Bh |2 |Hidn |Sec |Число скрытых секторов |
|+1Eh |Размер форматированной порции корневого сектора, начало кода и данных |
| |загрузки |
Таблица размещения файлов (FAT)
Это связный список, который DOS использует для отслеживания физического
расположения данных на диске и для поиска свободной памяти для новых
файлов. При размещении файла на диске FAT выделяет место на диске с
дискретностью с один кластер, поскольку FAT рассматривает все секторы
одного кластера как один сектор. Если файл не заполняет выделенные ему
секторы в кластере, то они теряются и не могут быть использованы для
другого файла. Файл может занимать несмежные кластеры, тогда FAT связывает
кластеры в цепочки. Размер элемента FAT от используемого диска. FAT
включает 12-разрядный элемент (1,5 байта) (или 16-разрядный - для жестких
дисков емкостью свыше 10 Мбайт) для каждого кластера.
Производительность диска определяется четырьмя основными физическими
параметрами:
1. временем доступа (мс)
2. размером цилиндра (секторов)
3. скоростью передачи данных (Кбайт/с)
4. средним временем ожидания (мс)
Время доступа - то время, которое требуется для перевода головок
чтения-записи на нужные дорожки (цилиндры). После установки над нужными
дорожками головки должны перейти из транспортного положения в положение
чтения-записи. Все это и составляет обычно время доступа.
Скорость передачи данных (скорость, с которой они выдаются с диска)
зависит от скорости вращения диска, плотности записи и секторного
интерливинга. (Расслоение. Фактор интерливинга, равный 4 означает, что
имеются три сектора, разделяющие смежные сектора. Следование секторов под
головкой будет следующим- сектор 1, сектор X, сектор Y, сектор Z, сектор 2
и т.д.). При коэффициенте интерливинга, равного 6, у РС ХТ скорость
передачи снижается с 5 М бит/с до 0.83 М бит/с.
Среднее время ожидания - время, за которое диск совершит половину
оборота и нужный сектор окажется под головкой.
Механизм общения контроллера с диском
Контроллер жесткого диска
Использование контроллера DMA (Прямого доступа к памяти) в настоящее
время не применяется для операций ввода-вывода с жестким диском. Контроллер
в жесткого диска в АТ использует 512-байтный секторный буфер, к которому
МП (i80286) обращается как к 16-разрядному устройству. Когда этот буфер
полон или пуст, контроллер прерывает МП (с помощью INT 14), после чего
данные передаются при помощи строковых команд ввода-вывода в память или из
памяти со скоростью 2 Мбайта в секунду (у IBM XT, использовавшего
подсистему DMA, скорость передачи в два раза ниже). Такая скорость
достигается за счет использования трех тактов (включая одно состояние
ожидания) для переноса данных (16 бит) в процессор и еще трех тактов
(включая еще одно состояние ожидания) для переноса данных в память. Таким
образом, для передачи двух байтов данных используется шесть тактов шины.
Таблица параметров жесткого диска
Она находится по адресу вектора прерывания INT 41h для первого
жесткого диска и INT 46h для второго (если он есть):
|Смещ. |Длина | |Содержимое |
|+0 |2 | | |Максимальное число цилиндров |
|+2 |1 | | Максимальное число головок |
|+3 |2 | | |Не используется в АТ |
|+5 |2 | | |Стартовый цилиндр предкомпенсации записи |
|+7 |1 | | Не используется в АТ |
|+8 |1 | |Управляющий |7: запрет повторного доступа |
| | | |байт |6: запрет повторения по ошибке ЕСС |
| | | | |3: более 8 головок |
|+9 |1 | | Не используется в АТ |
|+0Ah |1 | | Не используется в АТ |
|+0Bh |1 | | Не используется в АТ |
|+0Ch |2 | | |Зона парковки головок |
|+0Eh |1 | | Количество секторов на дорожку |
|+0Fh |1 | | Резерв |
Методы контроля передачи информации при обмене ЭВМ и ВЗУ
Дефекты информации, хранимой на магнитном носителе можно подразделить на
две основные группы:
1. Временные (обратимые) - это пыль, частицы отслоившегося лакового
покрытия.
2. Постоянные (необратимые) - это различные царапины, трещины в
покрытии, прилипшая грязь и т. п.
Для обнаружения и коррекции ошибок были разработаны системы
кодирования информации с избыточностью (внедрение контрольных разрядов,
образуемых с помощью выполнения определенных арифметических операций над
всеми информационными разрядами).
Но следует учитывать при разработке и применении конкретной системы
кодирования, что возможность обнаружения и коррекции ошибок возрастает с
избыточностью кода, но одновременно усложняется алгоритм кодирования и
декодирования и, как следствие, возрастает объем буферной памяти, и
снижается скорость передачи информации , усложняется аппаратура кодирования
и декодирования и, следовательно, система становится менее надежной.
Для двоичного кода М сообщений, каждое из которых имеет дину n, можно
закодировать, если выполняется условие: 2n >=M или n>=log2 M.
Приведем примеры различных методов кодирования:
Пусть имеются четыре события:
А1, А2, А3, А4, причем вероятности их появления различны:
Р(А1)=0,5; Р(А2)=0,25; Р(А3)= Р(А1)=0,125.
Равномерное кодирование - без учета вероятности появления того или иного
события.
Метод Фанно - А1=02; А2=102; А3=1102; А4=1112 . Это пример неравномерного
кодирования с учетом вероятности появления события. Система Фанно
однозначно декодируема, поскольку ни одно А не является префиксом
следующего. Такие системы кодирования называют префиксными.
Основные характеристики кодов:
|Длина кода |n |Число символов, составляющих кодовое слово |
|Основание кода |m |Количество отличных друг от друга значений |
| | |импульсных признаков, используемых в кодовом |
| | |слове |
|Мощность кода |Мр |число разрешенных кодовых слов |
|Полное число кодовых|М |все возможные кодовые слова |
| | | |
|слов | | |
|Число информационных|k |без комментариев |
|символов | | |
|Число проверочных |r |без комментариев |
|символов | | |
|Избыточность кода |R |R=r/n |
|Скорость передачи |R’ |R’=k/n |
|кодовых слов | | |
|Кодовое расстояние |d |Число несовпадающих позиций двух кодовых слов |
Имея один избыточных символ, можно обнаружить только нечетное количество
ошибок. Поэтому используют другой метод. Объясним на примере:
Пусть должно прийти 9-разрядное число. Расположим приходящие разряды
следующим образом:
|В1 |В2 |В3 |С1|Пусть | |В1Е В4Е В7 = С4 |
|В4 |В5 |В6 |С2| |В4Е В5Е В6 = С2 |В2Е В5Е В8 = С5 |
|В7 |В8 |В9 |С3| |В7Е В8Е В9 = С3 |В3Е В6Е В9 = С6 |
|С4 |С5 |С6 |С7| |С1 Е С2 Е С3 Е С4 Е С5 Е С6= С7 |
Пусть приходит число 011010001. Пусть произошла ошибка в 7-ом разряде
|Передано |Принято |
| | | | | | | | | |
|0|1|1|0| |0|1|1|0|
|0|1|0|1| |0|1|0|1|
|0|0|1|1| |1|0|1|1|
|0|0|0|0| |0|0|0|0|
При сравнении В7Е В8Е В9 = С3 в строке
В1Е В4Е В7 = С4 в столбце
Следовательно, ошибочный разряд локализован можно исправить.
Но это был случай единичной ошибки, а с двойной ошибкой этот метод не
справляется, то есть определить может, но исправить - нет.
|0|1|0|0|
|0|1|0|1|
|0|1|1|1|
|0|0|0|0|
На рисунке видно, что, используя этот метод, нельзя понять, где
произошла ошибка (В2 , В3 , В8 , В9).
Для дальнейшего объяснения d(x,y) между двумя кодовыми словами х и у
называется число несовпадающих позиций. Пример: х=01101, у=00111 d(x,y)=2.
Это расстояние называется кодовым расстояние Хемминга.
Итак, код способен исправить любые комбинации из q или меньшего числа
ошибок тогда и только тогда, когда его кодовое расстояние > 2q. В настоящее
время только для кодов с dmin получено такое соотношение между числом
проверочных символов r и длиной кода n:
r>= log2 (n+1).
Циклические коды
Циклическими кодами называются такие коды, которые с любым своим
вектором содержит также его циклический сдвиг. Циклические коды основаны на
представлении передаваемых данных в виде полинома (многочлена) и
используются при последовательной передаче информации между Процессором и
ВЗУ.
а(х)= а0+а1 х+а2 х2+...+ аn-1 хn-1 Для вектора а(а0, а1, ..., аn-1).
Циклический сдвиг а’(х)= аn-1 +а0x +а1 х2+...+ аn-2 хn-1 .
С помощью этих кодов можно обнаруживать:
. Ошибки в 1 бите, если порождающий многочлен содержит > 1 члена,
. Ошибки в 2 битах, если порождающий многочлен содержит 3 члена,
. Ошибки в нечетном количестве битов, если порождающий многочлен содержит
множитель (х+1),
. Пакеты ошибок длиной менее к+1 бит, если порождающий многочлен содержит
множитель (х+1), и один множитель с 3мя членами и более (к+1 - число бит
порождающего многочлена).
Принцип построения циклических кодов
Каждая кодовая комбинация Q(x) умножается на одночлен xr , а затем делится
на многочлен. Степень каждого одночлена, входящего в Q(x), повышается на r.
При делении получается С(х) такой же степени, что и Q(x), и остаток Р(х)
степени не более r-1, наибольшее число разрядов которого =2q+1 и r 1011100
Чтение
После приема всей информации проверяется содержимое всех разрядов регистра,
и если все нули, то ошибок нет.
Дерево функций многофункционального контроллера
|1 Уровень |
| |F0 |Управление ВЗУ |
|2 Уровень |
| |F1 |Организация сопряжения с ЦП |
|F0 |F2 |Промежуточная обработка информации |
| |F3 |Организация сопряжения с ВЗУ |
|3 Уровень |
| |F11 |Обмен параллельной информацией |
|F1 |F12 |Формирование и хранение слова состояния канала (СКК) |
| |F13 |Управление обменом |
| | | |
|F2 |F21 |Хранение параллельной информации |
| |F22 |Обработка принимаемой информации |
| |
|F3 |F31 |Управление приводом |
| |F32 |Обработка последовательной информации |
|4 Уровень |
| |F11.1 |Прием параллельной информации из ЦП |
|F11 |F11.2 |Передача параллельной информации в ЦП |
| |F11.3 |Хранение передаваемой информации |
| | | |
|F12 |F12.1 |Прием СКК |
| |F12.2 |Передача СКК |
| |
|F13 |F13.1 |Анализ поступающих сигналов |
| |F13.2 |Выдача управляющих сигналов |
| |
| |F21.1 |Прием передаваемых данных |
|F21 |F21.2 |Хранение передаваемых данных |
| |F21.3 |Прием служебной информации |
| |F21.4 |Хранение служебной информации |
| |
| |F22.1 |Анализ слова состояния ВЗУ |
|F22 |F22.2 |Формирование управляющего слова ВЗУ |
| |F22.3 |Анализ информации, передаваемой из ВЗУ |
| |
|F31 |F31.1 |Передача управляющего слова в ВЗУ |
| |F31.2 |Прием слова состояния ВЗУ |
| |
| |F32.1 |Кодирование информации |
| |F32.2 |Декодирование информации |
|F32 |F32.3 |Формирование циклического кода контроля (CRC) |
| |F32.4 |Опознавание маркеров |
| |F32.5 |Параллельно-последовательные преобразования информации |
Функционально-логическая схема
блока контроля ошибок
......
.....
......
....
1533 ИП2
.....
Список литературы
|1.|под ред. М.Л.Мархасина |“Руководство по архитектуре IBM PC AT”, Минск, |
| | |ООО “Консул”, 1993 |
|2.|П. Нортон, Р.Уилтон |“IBM PC и PS/2. Руководство по программированию.”|
| | |М.,“Радио и Связь”, 1994 |
|3.|Р.Браун, Дж.Кайл |“Справочник по прерываниям IBM PC”, М, |
| |под ред. К.Г.Финогенова |“Мир”, 1994 |
|4.|Е.П.Балашов, |“Проектирование информационно-управляющих |
| |Д.В.Пузанков |систем”, М.,“Радио и связь”, 1987 |
| | | |
|5.|Б.М.Каган |“ЭВМ и системы”, М., “Энергоатомиздат”, 1985 |
Оглавление
Задание на курсовое проектирование... 1
Принцип функционирования накопителя на ГМД и накопителя типа “Винчестер”
2
Механизм общения контроллера с диском 5
Контроллер жесткого диска 5
Методы контроля передачи информации при обмене ЭВМ и ВЗУ 6
Циклические коды 8
Дерево функций многофункционального контроллера 11
Функционально-логическая схема блока контроля ошибок 14
Список литературы 15
Оглавление 15
-----------------------
Москва
1996 г.
Сектор
Дорожки
2
1
...
направление вращения
3
3
Блок
параметров BIOS
Добавим проверочные символы
Блок Памяти Микропрограмм
ПЗУ
Поле операций в АЛУ
Поле адреса след. слова
Поле адреса
операндов
Блок центрального управления
Сопряжение с каналом
АЛУ
Обнаружение и коррекция ошибок
Блок ОЗУ
Спряжение с накопителем
D Т
C
D Т
C
=1
D Т
C
D Т
C
&
=1
1
&
D Т
C
D Т
C
D Т
C
=1
=1
&
=1
=1
=1