
- •Визначення персонального комп'ютера і його основні складові частини. Конструктивний устрій пк.
- •Системні ресурси персонального комп'ютера.
- •3 Адресний простір пк. Модель розподілу пам'яті. Додаткова, відображувана і розширена пам'ять.
- •Прямий доступ до пам'яті. Канали прямого доступу до пам'яті і пряме керування шиною.
- •Розподіл системних ресурсів. Поняття Plug and Play.
- •Апаратні і програмні переривання. Джерела переривань і їхня обробка.
- •Системний порт івм рс. Системний таймер. Канал керування звуком. Інтерфейс клавіатури. Батарейна пам'ять і годинник cmos.
- •Процедура post і базова система введення-виведення. Розширення базової системи введення-виведення.
- •Системна плата. Основні типи конструктива і порядок установки. Підключення компонентів до материнської плати.
- •10. Установка і конфігурування оперативної пам'яті і процесора.
- •Логіка керування системною платою. Поняття чипсета, його функції і структура.
- •Південний і північний міст. Розподіл функцій: керування системною платою; визначення характеристик пристроїв; організація інтерфейсу.
- •Вибір системної плати. Перелік основних характеристик. Основні елементи архітектури.
- •Поняття однокристального процесора. Основні типи корпусів. Способи установки процесора на плату.
- •Основные корпуса Корпус pga
- •Корпуса sec и sep
- •Гнезда для процессоров
- •15. Процесор і8086. Організація пам'яті, регістри процесора. Процессоры 8086 и 8088
- •16. Процесор і80286. Реальний і захищений режим роботи.
- •17. Фізичні і логічні основи збереження інформації. Види пам'яті і їхні основні характеристики.
- •Шина isa, її параметри. Основні сигнали шини.
- •21. Шина рсі. Протокол обміну по шині рсі.
- •Інтерфейс agp. Фактори підвищення продуктивності функціонування шини.
- •Відеосистема. Фізичні основи візуалізації інформації. Принципи виводу зображення.
- •Відеосистема. Графічний режим. Текстовий режим. 2d і 3d акселератори.
- •Відеосистема. Типи графічних адаптерів.
- •Принципи довгострокового збереження інформації. Типи накопичувачів інформації.
- •Фізична і логічна організація жорстких дисків.
- •Основні інтерфейси жорстких дисків та їх характеристики.
15. Процесор і8086. Організація пам'яті, регістри процесора. Процессоры 8086 и 8088
В июне 1978 года Intel совершила революцию, представив свой новый процессор 8086. Это был один из первых 16-разрядных микропроцессоров на рынке; в то время все другие процессоры были 8-разрядными. Процессор 8086 имел 16-разрядные внутренние регистры и мог выполнять программное обеспечение нового типа, использующее 16-разрядные команды. Он также имел 16-разрядную внешнюю шину данных и поэтому мог передавать одновременно 16 бит данных в память.
Разрядность шины адреса составляла 20 бит, и процессор 8086 мог адресовать память емкостью 1 Мбайт (2 в 20-й степени). В то время это казалось чудом, так как большинство других микросхем имели 8-разрядные внутренние регистры, 8-разрядную внешнюю шину данных и 16-разрядную шину адреса и могли адресовать не более 64 Кбайт оперативной памяти (2 в 16-й степени).
В большинстве персональных компьютеров того времени использовались 8-разрядные процессоры, которые работали под управлением 8-разрядной операционной системы CP/M (Control Program for Microprocessors — управляющая программа для микропроцессоров) и такого же программного обеспечения. Плата и интегральные микросхемы как правило были также 8-разрядными. Тогда производство полностью 16-разрядной системной платы с памятью было настолько дорогостоящим, что такой компьютер вряд ли кто-либо мог позволить себе купить.
Стоимость процессора 8086 была довольно высокой — для него требовалась 16-разрядная шина данных, а не более дешевая 8-разрядная. Доступные в то время системы были 8-разрядными, и потому процессоры 8086 продавались плохо. В Intel поняли, что пользователи не хотят (или не могут) так дорого платить за дополнительную эффективность 16-разрядного процессора, и через какое-то время была представлена своего рода "усеченная" версия процессора 8086, названная 8088. В ней, по существу, были удалены 8 из 16 разрядов на шине данных, и теперь процессор 8088 мог рассматриваться как 8-разрядная микросхема в отношении ввода и вывода данных. Однако, поскольку в нем были полностью сохранены 16-разрядные внутренние регистры и 20-разрядная шина адреса, процессор 8088 выполнял 16-разрядное программное обеспечение и мог адресовать оперативную память емкостью 1 Мбайт.
Исходя из этого, IBM выбрала 8-разрядные микросхемы 8088 для своего первого IBM PC. Однако через несколько лет ее критиковали именно за это. (Сейчас понятно, что это было очень мудрое решение.) В то время IBM даже скрывала физические детали проекта, просто отмечалось, что ее новый PC имел быстродействующий 16-разрядный микропроцессор. Это утверждение было справедливым, поскольку процессор 8088 осуществлял то же самое 16-разрядное программное обеспечение, что и 8086, только немного медленнее. Фактически для всех программистов процессор 8088 являлся 16-разрядной микросхемой — на самом деле тогда не было никакого способа, с помощью которого программа могла бы отличить 8088-й от 8086-го. Благодаря этому IBM могла поставлять PC, поддерживающий 16-разрядное программное обеспечение и использующий недорогие 8-разрядные аппаратные средства. Даже в начале производства цена IBM PC была ниже, чем у самого популярного персонального компьютера того времени — Apple II. IBM PC вместе с оперативной памятью объемом 16 Кбайт стоил 1265 долларов, в то время как Apple II аналогичной конфигурации — 1355 долларов.
В первом IBM PC устанавливался процессор 8088. Этот процессор был представлен еще в июне 1979 года, a IBM PC с процессором 8088 появился на рынке лишь в августе 1981 года. В те годы от выхода нового процессора до появления компьютеров с этим процессором могло пройти довольно значительное время; сегодня это немыслимо — компьютеры с новыми процессорами зачастую выпускаются в тот же день, что и сами процессоры.
В первом компьютере IBM PC использовался процессор 8088 с тактовой частотой 4,77 МГц, т.е. за одну секунду происходило 4 770 000 тактов. На выполнение команды в процессорах 8088 и 8086 в среднем затрачивалось 12 тактов. Иногда возникает вопрос, почему объем основной памяти в компьютере ограничен использованием 640 Кбайт, хотя процессор 8088 может адресовать основную память емкостью до 1 Мбайт. Это объясняется тем, что IBM с самого начала зарезервировала 384 Кбайт в верхней части адресного пространства для плат адаптеров и системной BIOS. Оставшиеся 640 Кбайт используются DOS и программами-приложениями.
Организация памяти
В процессорах х86 предусматривается разделение пространств памяти и ввода-вывода. Пространство памяти (Memory Space) предназначено для хранения ко¬дов инструкций и данных, для доступа к которым имеется богатый выбор спосо¬бов адресации (24 режима). Память может логически организовываться в виде одного или множества сегментов переменной длины (в реальном режиме — фик¬сированной). Кроме сегментации в защищенном режиме возможно разбиение (Paging) логической памяти на страницы размером 4 Кбайт, каждая из которых может отображаться на любую область физической памяти. Начиная с 5-го по¬коления, появилась возможность увеличения размера страницы до 4 Мбайт. Сег¬ментация и разбиение на страницы могут применяться в любых сочетаниях. Сег¬ментация является средством организации логической памяти на прикладном уровне. Разбиение на страницы применяется на системном уровне для управле¬ния физической памятью. Сегменты и страницы могут выгружаться из физичес¬кой оперативной памяти на диск и по мере необходимости подкачиваться с него обратно в физическую память. Таким образом реализуется виртуальная память.
Применительно к памяти различают три адресных пространства: логическое, линейное и физическое. Основным режимом работы 32-разрядных процессоров считается защищенный режим, в котором работают все механизмы преобразова¬ния адресных пространств (рис. 5.2).
Логический адрес, также называемый виртуальным, состоит из селектора сег¬мента Seg (в реальном режиме — просто адреса сегмента) и эффективного ад¬реса, называемого также смещением (Offset). Логический адрес обозначается в форме Seg:Offset. Селектор сегмента хранится в старших 14 битах сегмент¬ного регистра (CS, DS, ES, SS, FS или GS), участвующего в адресации конкретного элемента памяти. По значению селектора из специальных таблиц, хранящихся в памяти, извлекается начальный адрес сегмента. Эффективный адрес форми¬руется суммированием компонентов base, index, displacement с учетом масшта¬ба scale. Поскольку каждая задача может иметь до 16 Кбайт селекторов (214), а смещение, ограниченное размером сегмента, может достигать 4 Гбайт, логи¬ческое адресное пространство для каждой задачи может достигать 64 Тбайт. Все это пространство виртуальной памяти в принципе доступно программисту (при условии поддержки со стороны операционной системы).
Блок сегментации транслирует логическое адресное пространство в 32-бит¬ное пространство линейных адресов. Линейный адрес образуется сложением ба¬зового адреса сегмента с эффективным адресом. Базовый адрес сегмента в ре¬альном режиме образуется умножением содержимого используемого сегментно¬го регистра на 16 (как и в 8086). В защищенном режиме базовый адрес загружается из дескриптора, хранящегося в таблице, по селектору, загруженному в ис¬пользуемый сегментный регистр.
32-битный физический адрес памяти образуется после преобразования линей¬ного адреса блоком страничной переадресации. Он выводится на внешнюю шину адреса процессора. В простейшем случае (при отключенном блоке страничной переадресации) физический адрес совпадает с линейным. Включенный блок стра¬ничной переадресации осуществляет трансляцию линейного адреса в физичес¬кий страницами размером 4 Кбайт (для последних поколений процессоров так¬же возможны страницы размером 2 или 4 Мбайт). Блок обеспечивает и расши¬рение разрядности физического адреса процессоров шестого поколения до 36 бит. Блок переадресации может включаться только в защищенном режиме.
Для обращения к памяти процессор (совместно с внешними схемами) фор¬мирует шинные сигналы для операций записи и чтения. Шина адреса разрядно¬стью 32/36 бит позволяет адресовать 4/64 Гбайт физической памяти, но в реаль¬ном режиме доступен только 1 Мбайт, начинающийся с младших адресов.
Стек
Стек представляет собой непрерывную область памяти, адресуемую регистрами ESP (указатель стека) и SS (селектор сегмента стека). Особенность стека заклю¬чается в том, что данные в него помещаются и извлекаются по принципу «пер¬вым вошел — последним вышел». Данные помещаются в стек с помощью инст¬рукции PUSH (заталкивание), а извлекаются по инструкции POP (вытаскивание).
прерываниями. Эти перекрытия особенно неприятны для защищенного режима; они усложняют процедуры обработчиков прерываний.
Для обработки аппаратных прерываний в многопроцессорных системах тра¬диционные аппаратные средства становятся непригодными, поскольку прежняя схема подачи запроса INTR и передачи вектора в цикле INTA# явно ориентирова¬на на единственность процессора. Для решения этой задачи в процессоры, начи¬ная со второго поколения Pentium, введен расширенный программируемый кон¬троллер прерываний APIC (Advanced Programmable Interruption Controller). Этот контроллер имеет внешние сигналы локальных прерываний LINT[1:O] и трехпро-водную интерфейсную шину (PICD[1:O] и PICCLK), по которым процессоры свя¬зываются с контроллером APIC системной платы. Для локальных запросов пре¬рываний процессоры имеют линии LINTO, LINT1. Локальные прерывания обслу¬живаются только тем процессором, на выводы которого поступают сигналы их запросов. Общие (разделяемые) прерывания (в том числе и SMI) приходят к процессорам в виде сообщений по интерфейсу APIC. При этом контроллеры пред¬варительно программируются — тем самым определяются функции каждого из процессоров в случае возникновения того или иного аппаратного прерывания. Контроллеры APIC каждого из процессоров и контроллер системной платы, свя¬занные интерфейсом APIC, выполняют маршрутизацию прерываний (Interrupt Routing), причем как статическую, так и динамическую. Внешне программный интерфейс обработки прерываний остается совместимым с управлением контрол¬лером 8259А, что обеспечивает прозрачность присутствия APIC для прикладно¬го программного обеспечения. Режим обработки прерываний посредством APIC разрешается сигналом APICEN по аппаратному сбросу, впоследствии он может быть запрещен программно.
Регистры процессора
Процессоры х86 имеют регистры, подразделяющиеся на следующие категории:
» регистры общего назначения;
ш указатель инструкций;
я регистр флагов;
ш регистры сегментов;
ш системные адресные регистры;
ш управляющие регистры;
ш регистры отладки;
« регистры тестирования;
ш модельно-специфические (зависящие от конкретной модели процессора) регистры.
Эти регистры относятся к видимой для прикладных программ части архитектуры х86 и представляют собой расши¬рение набора регистров 16-разрядных процессоров 8086/8088 и 80286. К преж¬нему обозначению их имен добавилась приставка Е (Extended — расширенный). Отсутствие приставки в имени означает ссылку на младшие 16 бит расширен¬ных регистров. Существует понятие разрядности адреса и данных. Разрядность адреса определяет, сколько бит (16 или 32) используется в регистрах, формиру¬ющих адрес данных или инструкций, расположенных в памяти. Разрядность дан¬ных определяет, сколько бит (16 или 32) используется в инструкциях, опериру¬ющих словами (инструкции с байтами всегда оперируют с 8 битами). В реаль¬ном режиме по умолчанию разрядность адреса и данных — 16 бит. В защищен¬ном режиме разрядность адреса и данных по умолчанию определяется дескрип¬тором кодового сегмента. Инструкции, которые прежде адресовались к 16-раз¬рядным регистрам, теперь могут адресоваться и к 32-разрядным расширенным регистрам при том же коде операции. Что именно подразумевается в данный момент, определяется текущим значением разрядности слова операнда по умол¬чанию и для текущей исполняемой инструкции может быть изменено на проти¬воположное значение с помощью префикса.
Кроме регистров общего назначения, предназначенных для использования прикладными программами, процессоры имеют ряд регистров системного назна¬чения (на рисунке не показаны). Эти регистры прикладными программами обычно не используются.
Модельно-специфические регистры MSR (Model-Specific Registers) предназна¬чены для управления расширениями отладки, мониторингом производительное ти, машинным контролем, кэшированием областей физической памяти и други¬ми функциями. Их назначение привязывается к архитектуре конкретного про¬цессора, состав меняется от модели к модели, доступ привилегирован. Доступ¬ность регистров различных групп зависит от режима работы процессора и уров¬ня привилегий задачи. Регистры общего назначения, а также регистры сегмен¬тов доступны всегда; доступ к остальным регистрам может быть ограничен.