250 likes | 432 Views
Микропроцессорные системы. Лектор: М.А. Сонькин Лекционных часов: 32 Форма отчетности: экзамен. Структурная схема микропроцессорной системы. Rom. Ram. Монитор. Накопитель на жёстких магнитных дисках. Накопитель на гибких магнитных дисках. Блок питания. Внутренняя память.
E N D
Микропроцессорные системы Лектор: М.А. Сонькин Лекционных часов: 32 Форма отчетности: экзамен
Структурная схема микропроцессорной системы Rom Ram Монитор Накопитель на жёстких магнитных дисках Накопитель на гибких магнитных дисках Блок питания Внутренняя память Микропроцессор Видео- адаптер Дополнительные слоты расширения АЛУ Схемы управления шиной Контроллер накопи- теля на жёстких магнитных дисках Контроллер гибких дисков Регистры Кэш-память Схемы Внутреннего управления Шины: управляющая , адресная , данных Порты ввода/ вывода Последовательные порты Параллельные порты Игровой порт Дополнительные устройства Джойстик Динамик Клавиатура Мышь Модем Плоттер Принтер Сканер
Микропроцессор Микропроцессор — это тот узел, блок, который производит всю обработку информации внутри микропроцессорной системы. Остальные узлы выполняют всего лишь вспомога-тельные функции: хранение информации (в том числе и управляющей информации, то есть программы), связи с внешними устройствами, связи с пользователем и т.д. Процессор заменяет практически всю «жесткую логику», которая понадобилась бы в случае традиционной цифровой системы. Он выполняет арифметические функции (сложе-ние, умножение и т.д.), логические функции (сдвиг, сравне-ние, маскирование кодов и т.д.), временное хранение кодов (во внутренних регистрах), пересылку кодов между узлами микропроцессорной системы и многое другое. Количество таких элементарных операций, выполняемых процессором, может дос-тигать нескольких сотен. Процессор можно сравнить с мозгом системы.Современные процессоры выполняются в виде микропроцессоров. Физически микропроцессор представляет собой интеграль-ную схему — тонкую пластинку кристаллического кремния прямоугольной формы площадью всего несколько квадратных миллиметров, на которой размещены схемы, реализующие все функции про-цессора. Кристалл-пластинка обычно помещается в пластмассовый или керамический плоский кор-пус и соединяется золотыми проводками с металлическими штырьками, чтобы его можно было при-соединить к системной плате компьютера.
Схема вычитателя числа A из числа B: Схема вычитателя числа B из числа A: Арифметико-логическое устройство Структурная схема арифметического устройства: Арифметико-логическое устройство - часть процессора, выполняющая операции над данными (машинные команды).В приведённой на рисунке 3 схеме используются четырёхвходовые коммутаторы, для управления каждым из которых достаточно двух бит. То есть для управлениявсей схемы в целом достаточно четырёх проводов управления. Попытаемся построить таблицу операций, которые будет выполнять эта схема. На результат операции будет влиять вход переноса сумматора PI, поэтому этот провод тоже включим в состав кода, управляющего схемой.
Регистрыпроцессора Регистры процессора Процессоры имеют регистры, подразделяющиеся на следующие категории: -регистры общего назначения; -указатель инструкций и регистр флагов; -регистры сегментов; -управляющие регистры; -системные адресные регистры; -регистры отладки; -регистры тестирования.
Регистры общего назначения. Общие регистры данных и адресов Указатель инструкций и регистр флагов Регистры селекторов сегментов
Назначение бит регистра EFLAGS: • ID (IdFlag) - флаг доступности команды идентификации CPUID (Pentium+ и некоторые 486-е). • VIP (VirtualInterruptPending) - виртуальный запрос прерывания (Pentium+). • VIF (VirtualInterruptFlag) - виртуальная версия флага IF (разрешения прерывания) для многозадачных систем (Pentium+). • AC (AlignmentCheck) - флаг контроля выравнивания. При исполнении программ на уровне привилегий 3 в случае обращения к операнду, не выровненному по со-ответствующей границе (2, 4, 8 байт), и при установленном флаге АС произойдет исключение-отказ 17 с нулевым кодом ошибки. На уровнях привилегий О, 1, 2 кон-троль выравнивания не производится (486+). • VM (Virtual 8086 Mode) - в защищенном режиме включает режим виртуального 8086. Попытка использования привилегированных инструкций в этом режиме вы-зовет исключение 13. Бит может устанавливаться только в защищенном режиме: инструкцией IRET на нулевом уровне привилегий или переключением задач на любом уровне привилегий. На бит не действуют инструкции POPF, a PUSHF в образ этого бита всегда заносит 0. Его единичное значение может сохраниться только в образе EFLAGS, сохраняемом при прерывании или переключении задач. • RF (ResumeFlag) - флаг возобновления, используется совместно с регистрами точек отла-дочного останова. • IOPL (Input/outputPrivilegeLevel) - уровень привилегий ввода-вывода. NT (NestedTaskFlag) - флаг вложенной задачи. Регистры Флагов
OF (OverflowFlag) - флаг переполнения. Устанавливается, если результат арифметической операции не умещается в операнде назначения. DF (DirectionFlag) - флаг управления направлением в строковых операциях. При единичном значении индексные регистры, участвующие в строковых операциях, автоматически декрементируются на количество байт операнда, при нулевом - инкрементируются. IF (Interrupt-enableFlag) - (флаг управления прерываниями. При единичном значении разрешается выполнение маскируемых аппаратных прерываний. TF (TrapFlag) - флаг трассировки (пошагового режима). При его установке после выполнения каждой команды вызывается внутреннее прерывание типа 1 (INT 1). SF (SignFlag) - флаг знака. Указывает на единичное значение старшего бита результата - признак отрицательного числа. ZF (ZeroFlag) - флаг нулевого результата, AF (AuxiliaryFlag) - флаг дополнительного переноса (займа) в тетраде для десятичной арифметики. PF (ParityFlag) - флаг паритета, устанавливается при четном числе единиц в результате. CF (CarryFlag) - флаг переноса (заема) старшего бита в арифметических операциях.
Содержат 16-битные указатели (в реальном режиме) или дескрипторы (в защищенном режиме) сегментов CS (CodeSegment - сегмент кодов ко-манд); SS (StackSegment - сегмент стека); DS (DataSegment); ES, FS и GS - дополнительные сегменты. Использование сегментных регистров опре-деляется типом обращения к памяти. Для многих типов обращений возмо-жно применение альтернативных сегментных регистров, которое вводится префиксами команд CS:, SS:, DS:, ES: FS: или GS: (табл. 3.4). Размер сег-мента - лимит - в реальном режиме фиксирован - 64 Кб, в защищенном мо-жет задаваться в пределах 1 байт - 4 Гб. С каждым из шести сегментных регистров связаны программно-недоступные регистры дескрипторов, автоматически загружаемые при загрузке соответствующих сегментных регистров. В защищенном режиме в регистры дескрипторов загружается 32-битный базовый адрес, 32-битный лимит и атрибуты сегментов. В реальном режиме лимит фиксирован, атрибуты не используются, а в качестве базового адреса заносится сдвинутое на 4 бита влево значение сегментного регистра. Регистры сегментов
CRO, CR1, CR2, CR3 хранят признаки состояния процессора, общие для всех задач. • Регистр CRO включает в себя биты регистра MSW процессора 80286. Для обеспечения программной совместимости команды LMSW и SMSW затрагивают только эти младшие 4 бита. Назначение бит регистра CRO: • РЕ (ProtectionEnable) - разрешение защиты. Установка этого флага инструкцией LMSW или LOAD CRO переводит процессор в защищенный режим, возврат в реальный режим (сброс флага) возможен только по инструкции LOAD CRO. Сброс бита РЕ является частью довольно длинной последовательности инструкций, подготавливающих корректное переключение в реальный режим. • МР (MonitorProcessorExtension) - мониторинг сопроцессора, позволяет вызывать исключение 7 по каждой команде WAIT при TS=1. При исполнении программ для 286/287 и 386/387 на процессорах 486DX и старте бит МР должен быть установлен. • ЕМ (ProcessorExtensionEmulated) - эмуляция сопроцессора. Установка этого флага вызывает появление исключения 7 при каждой команде, относящейся к сопроцессору, что позволяет прозрачно осуществлять его программную эмуляцию. • TS (TaskSwitch) - переключение задач. При установке этого флага следующая команда, относящаяся к сопроцессору, вызовет исключение 7, что позволяет программно определить, относится ли контекст сопроцессора к текущей задаче. Бит сбрасывается инструкцией CLTS. • Сочетание МР=0 ЕМ=0 TS=0, устанавливаемое по аппаратному сбросу, обеспечивает полную совместимость с 8086/88 (исключение 7 не вырабатывается). Сочетание МР=1, ЕМ=0 используется при наличии сопроцессора, а МР=0, ЕМ==1 при его программной эмуляции. Управляющие регистры
ЕТ (ExtensionType) - индикатор поддержки инструкций математического сопроцессора. Используется в процессорах 486+; для 486SX ЕТ=0; для остальных процессоров ЕТ=1. • NE (NumericError) - разрешение стандартного (для Intel, но не для PC) механизма сообщения об ошибке FPU через генерацию исключения (486+). При NE=0 и активном сигнале IGNNE# ошибки FPU игнорируются. При NE=0 и пассивном сигнале IGNNE# при возникновении ошибки FPU процессор останавливается и ждет прерывания, вводимого внешней логикой по сигналу на выходе FERR#. Таким образом эмулируется обработка ошибок FPU, принятая в PC со времен сопроцессоров 80287 и 80387. • WP (WriteProtect) - разрешение защиты от записи на уровне привилегий супервизора в страницы только для чтения. • AM (AlignmentMask) - разрешение контроля выравнивания (контроль выравнивания выполняется только на уровне привилегий 3 при АМ=1 и флаге АС-1). • NW (NotWritethrough) - запрет сквозной записи кэша и циклов аннулирования. • CD (CacheDisable) - запрет заполнения кэша (кэш-попадания в ранее заполненные строки при этом не запрещаются). • PG (PagingEnanable) - включение механизма страничной переадресации памяти. • Регистр CR1 не используется. • Регистр CR2 (PageFaultLinearAddress) хранит 32-битный линейный адрес, по которому был получен последний отказ страницы памяти. • Регистр CR3 (PageDirectoryBaseRegister) в старших 20 битах хранит физический базовый адрес таблицы каталога страниц. Из младших 12 бит используются следующие: • PCD (Page-LevelCacheDisable) - запрет кэширования страницы (один из источников сигнала PCD для управления внешним кэшем), 486+. • PWT (Page-LevelWritesTransparent) - кэширования страницы со сквозной записью (один из источников сигнала PWT для управления внешним кэшем), 486+. • Регистр CR4 (присутствует в процессорах Pentium и старше) содержит биты разрешения архитектурных расширений. • VME (Virtual-8086 ModeExtensions) - разрешение использования виртуального флага прерываний в режиме V86, что позволяет повысить производительность за счет сокращения излишних вызовов монитора виртуальных машин. • PVI (Protected-ModeVirtualInterrupts) - разрешение использования виртуального флага прерываний в защищенном режиме. • TSD (TimeStampDisable) - превращение инструкции RDTSC (readfromtimestampcounter) в привилегированную. • DE (DebuggingExtensions) - разрешение точек останова по обращению к портам ввода-вывода.
Системные адресные регистры предназначены для ссылок на сегменты и таблицы в защищенном режиме . Системные регистры Системные указатели Системные сегментные Автоматически загружаемые регистры дескрипторов регистры.
Предназначены для задания и управления отладочными точками останова. DRO...DR3 (Linear Breakpoint Address 0...3) хранят 32-битные линейные адреса точек останова; DR4, DR5 в 386-м и 486-м не используются, обращение к ним эквивалентно обращению к регистрам DR6, DR7. В процессоре Pentium при включенном расширении отладки обращение к этим регистрам вызывает исключение недопустимого кода операции; DR6 (Breakpoint Status) отражает состояние контрольной точки; DR7 (Breakpoint Control) управляет установкой контрольных точек. Регистры отладки
Их состав варьируется в зависимости от типа процессора. Процессоры 386 имели только два регистра, предназначенных для тестирования кэша страничной переадресации - TR6 и TR7. Процессор Pentium имеет 12 тестовых регистров TR1...TR12. Их назначение привязывается к архитектуре - они входят в группу модельно-специфических регистров MSR (Model-Specific Register): TR3 ~ регистр данных внутреннего кэша, TR4 - тестовый регистр состояния кэша, TR5 - управляющий регистр тестирования кэша, TR6 (Test Control) - управляющий регистр для теста кэширования страниц, TR? (Test Status) - регистр данных для теста кэширования страниц. Доступность регистров различных групп зависит от режима работы процессора и уровня привилегий задачи . Регистры тестирования
Кэш-память Типовые значения ключевых параметров для кэш-памяти : Если каждый блок основной памяти имеет только одно фиксированное место, на котором он может появиться в кэш-памяти, то такая кэш-память называется кэшем с прямым отображением (direct mapped). Это наиболее простая организация кэш-памяти, при которой для отображение адресов блоков основной памяти на адреса кэш-памяти просто используются младшие разряды адреса блока. Если некоторый блок основной памяти может располагаться на любом месте кэш-памяти, то кэш называется полностью ассоциативным (fully associative).
Если некоторый блок основной памяти может располагаться на ограниченном множестве мест в кэш-памяти, то кэш называется множественно-ассоциативным (set associative). Обычно мно-жество представляет собой группу из двух или большего числа блоков в кэше. Если множество состоит из n блоков, то такое размещение называется множественно-ассоциативным с n кана-лами (n-way set associative). У каждого блока в кэш-памяти имеется адресный тег, указывающий, какой блок в основной памяти данный блок кэш-памяти представляет. Эти теги обычно одновременно сравниваются с выработанным процессором адресом блока памяти. Когда выполняется запись в кэш-память имеются две базовые возможности: сквозная запись (write through, store through) - информация записывается в два места: в блок кэш-памяти и в блок более низкого уровня памяти. запись с обратным копированием (write back, copy back, store in) - информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти записывается в основную память только когда он замещается. Для сокращения частоты копирования блоков при замеще-нии обычно с каждым блоком кэш-памяти связывается так называемый бит модификации (dirty bit). Этот бит состояния показывает был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память. При возникновении промаха, контроллер кэш-памяти должен выбрать подлежащий замещению блок.Как правило для замещения блоков применяются две основных стратегии: случайная и LRU.В первом случае, чтобы иметь равномерное распределение, блоки-кандидаты выбираются случайно. В некоторых системах, чтобы получить воспроизводимое поведение, которое особенно полезно во время отладки аппаратуры, используют псевдослучайный алгоритм замещения. Во втором случае, чтобы уменьшить вероятность выбрасывания информации, которая скоро может потребоваться, все обращения к блокам фиксируются. Заменяется тот блок, который не использовался дольше всех (LRU - Least-Recently Used).
Интерфейс — это средство сопряжения двух устройств, в котором все физические и логические параметры согласуются между собой. Если интерфейс является общепринятым, например, утверждённым на уровне международных соглашений, то он называется стандартным.Каждый из функциональных элементов (память, монитор или другое устройство) связан с шиной определённого типа — адресной, управляющей или шиной данных. Для согласования интерфейсов периферийные устройства подключаются к шине не напрямую, а через свои контроллеры (адаптеры) и порты примерно по такой схеме: Шины Контроллеры и адаптеры представляют собой наборы электронных цепей, которыми снабжаются уст-ройства компьютера с целью совместимости их интерфейсов. Контроллеры, кроме этого, осуществляютнепосредственное управление периферийными устройствами по запросам микропроцессора, т.е.Контрол-лер это устройство, которое связывает периферийное оборудование или каналы связи с центральным про-цессором, освобождая процессор от непосредственного управления функционированием данного оборудо-вания. Порты устройств представляют собой некие электронные схемы, содержащие один или несколько регис-тров ввода-вывода и позволяющие подключать периферийные устройства компьютера к внешним шинам микропроцессора. Портами также называют устройства стандартного интерфейса: последовательный, параллельный и игро-вой порты (или интерфейсы). Последовательный порт обменивается данными с процессором побайтно, а с внешними устройствами — побитно. Параллельный порт получает и посылает данные побайтно.
Шинные интерфейсы: ISA - Industry Standard Architecture. Позволила связать все устройства системного блока между собой, обеспечила простое подключение новых устройств через стандартные разъемы (слоты). Пропускная способность низкая, но эта шина продолжает использоваться в компьютерах для подключения сравнительно "медленных" внешних устройств, напр. звуковых карт и модемов. PCI -Peripheral Component Interconnect - стандарт подключения внешних компонентов - был введен в ПК, выполненных на базе процессоров Intel Pentium. Интерфейс локальной шины, связывающей процессор с ОП, в которую врезаны разъемы для подключения внешних устройств. Поддерживает режим plug-and-play, в результате которого устройство автоматически получает номер используемого прерывания, адрес порта подключения и номер канала прямого доступа к памяти. FSB. Шина PCI сегодня используется только как шина для подключения ВУ, а для связи процессора и памяти, начиная с процессора Intel Pentium Pro, используется специальная шина, получившая название Front Side Bus. Эта шина работает на очень высокой частоте 100-125 МГц. В настоящее время внедряются материнские платы с частотой шины 133 МГц и выше. Пропускная способность шины при частоте 100 МГц составляет порядка 800 Мбайт/с. AGP. Видеоадаптер - устройство, требующее особенно высокой скорости передачи данных. Видеоадаптер всегда был первым устройством, врезаемым в новую шину. Для них разработана отдельная шина, получившая название AGP( Advanced Graphic Port - усовершенствованный графический порт). Частота этой шины соответствует частоте шины PCI(33 МГц или 66 МГц), но она имеет более высокую пропускную способность. USB (Universal Serial Bus -универсальная последовательная магистраль). Этот стандарт определяет способ взаимодействия компьютера с периферийным оборудованием. Он позволяет подключать до 256 различных устройств, имеющих последовательный интерфейс. Производительность шины относительно невелика, но для таких устройств, как клавиатура, мышь, модем, джойстик и т.п., этого достаточно. Она практически исключает конфликты между различным оборудованием, позволяет подключать и отключать устройства в "горячем режиме" (не выключая компьютер) и позволяет объединять несколько компьютеров в простейшую локальную сеть без применения специального оборудования и программного обеспечения.
Чипсет: Чипсет (chipset) — это базовый набор микросхем, определяющий архитектуру взаимодействия всех основных подсистем компьютера. Фактически все функциональные возможности материн-ской платы определяются установленным на ней чипсетом. Выбор чипсетов на сегодняшний день еще более разнообразен, чем выбор процессоров. Чипсеты выпускают такие компании, как AMD, Intel, VIA, SiS, Intel, nVIDIA и ATi. Чипсет материнской платы определяет поддержива-емый тип процессора, тип памяти, а также функциональные возможности по подключению пе-риферийных устройств. От чипсета в немалой степени зависит и производи-тельность материн-ской платы.Большинство чипсетов выпускаются на базе двух микросхем, называемых "Север-ный мост" и "Южный мост" . "Северный мост" управляет взаимосвязью четырех устройств: процессора, оперативной памяти, порта AGP и шины PCI. "Южный мост" выполняет функции контроллера жестких и гибких дисков, функции моста PCI-ISA, контроллера клавиатуры, мыши, шины USB. Северный мост с кулером: Южный мост:
Под внутренней памятью современного компьютера принято понимать быстродействую-щую электронную память, расположенную на его системной плате. Сейчас такая память изготавливается на базе самых современных полупроводниковых технологий (раньше использовались магнитные устройства на основе ферритовых сердечников – лишнее свиде-тельство тому, что конкретная физические принципы значения не имеют). Наиболее су-щественная часть внутренней памяти называется ОЗУ - оперативное запоминающее устройство. Его главное назначение состоит в том, чтобы хранить данные и программы для решаемых в текущий момент задач. Наверное, каждому пользователю известно, что при выключении питания содержимое ОЗУ полностью теряется. В состав внутренней памяти современного компьютера помимо ОЗУ также входят и некоторые другие разновидности памяти, которые при первом знакомстве можно пропустить. Здесь упомянем только о постоянном запоминающем устройстве (ПЗУ), в котором в частности хранится инфор-мация, необходимая для первоначальной загрузки компьютера в момент включения пита-ния. Как очевидно из названия, информация в ПЗУ не зависит от состояния компью-тера (для лучшего понимания можно указать на некоторую аналогию между информацией в ПЗУ и “врожденными” безусловными рефлексами у живых существ). Раньше содержимое ПЗУ раз и навсегда формировалось на заводе, теперь же современные технологии позволяют в случае необходимости обновлять его даже не извлекая из компьютерной платы. Внутренняя память
К устройствам специальной памяти относятся постоянная память (ROM), перепрограммируемая постоянная память (FlashMemory), памятьCMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти. Постоянная память (ПЗУ, англ. ROM, ReadOnlyMemory — память только для чтения) — энергонезависимая память, используется для хранения данных, которые никогда не потребуют изменения. Содержание памяти специальным образом “зашивается” в устройстве при его изготовлении для постоянного хранения. Перепрограммируемая постоянная память (FlashMemory) — энергонезависимая память, допускающая многократную перезапись своего содержимого. Важнейшая микросхема постоянной или Flash-памяти — модуль BIOS. Функции: • проверка работоспособности системы управления электропитанием; • инициализация системных ресурсов и регистров чипсетов; • тестирование оперативной памяти; • подключение клавиатуры; • тестирование портов; • инициализация контроллеров, • определение и подключение жестких дисков. Внутренняя память: Rom
Оперативная память (ОЗУ, англ. RAM, Random Access Memory — память с произ-вольным доступом) — это быстрое запоминающее устройство,основанное на триггерах , непосредственно связанное с процессором и предназначенное для записи, считывания и хранения выполняемых программ и данных, обрабатываемых этими программами. Оперативная память используется только для временного хранения данных и прог-рамм, так как, когда машина выключается, все, что находилось в ОЗУ, пропадает. Дос-туп к элементам оперативной памяти прямой — это означает, что каждый байт памяти имеет свой индивидуальный адрес. Внутренняя память: Ram