Энциклопедия PC
.pdf186 Глава 4. Системнаяплата
Подсистема кэширования памяти обычно имеет две ступени, информацию о ней можно найти в главе 6. Распространенные параметры конфигурирования кэша приведены в табл. 4.16.
Таблица4.16. Конфигурированиекэш-памяти
Параметр |
Возможныезначения |
Назначение |
|
|
|
SRAM Type |
Async SRAM Sync Burst |
Тип установленной статической памяти |
|
SRAM PBSRAM |
|
|
|
|
Cache Read Option SRAM |
x-y-y-y |
Задание временной диаграммы (втактах шины |
Read wait state Cache Read |
|
процессора) при чтении SRAM |
Hit Burst |
|
|
Cache Write Option |
x-y-y-y |
Тоже для записи |
Cache Wait State |
Число |
Количествотактовожиданияприобращениик |
|
|
кэш-памяти(определяетсябыстродействиемSRAM |
|
|
итактовойчастотой) |
Tag RAM Includes Dirty Alt |
Enable/Disable |
Конфигурированиеиспользованияпамятитегов |
Bit in Tag RAM |
|
внешнегокэша |
Non-Cacheable Block- 1 |
Enable/Disable |
Разрешениенекэшируемогоблока |
Non-Cacheable Block-2 |
|
|
Non-Cacheable Block- 1 |
ЧислоилиDisabled |
Size Non-Cacheable Block- |
|
2 Size |
|
Размер (или запрет использования) блока некэшируемойпамяти. Кэшированиенедопустимо дляобластей разделяемойпамяти, модифицируемойадаптеромбезуведомлениякэшконтроллера(например, буфер адаптера ЛВС)
|
Non-Cacheable Block- 1 |
Адрес |
Базовыйадреснекэшируемогоблока |
|
|
Base Non-Cacheable |
|
|
|
|
Block-2 Base |
|
|
|
|
|
|
|
|
|
Cacheable RAM Address |
Число |
Размер кэшируемой области памяти. Уменьшение |
|
|
Range |
|
иногда может позволить |
|
|
|
|
чипсетуизменитьструктурувнешнегокэша. |
|
|
|
|
Неимеетсмыслазадаватьбольше, |
|
|
|
|
чемобъемустановленногоОЗУ_____ |
|
|
Video BIOS Area |
Enable/Disable |
РазрешениекэшированияBIOS видеокарты. |
|
|
Cacheable |
|
Позволяетповыситьпроизводительность |
|
|
|
|
графическихкарт_______________ |
|
Настройка параметров шины ISA стала не очень существенной. Если раньше изнее стремились «выжать» максимумпроизводительности, тосейчас критичные к скорости обмена компоненты размещают на шине PCI (или VLB). Однако с «разогнанной» шиной ISA могут отказаться работать старые (особенно 8-битные) адаптеры. Параметры настройки шины приведены в табл. 4.17.
|
|
4.6. Конфигурированиекомпьютера— CMOS Setup 187 |
Таблица4.17. ПараметрынастройкицикловшиныISA |
||
Параметр |
Возможные |
Назначение |
|
значения |
|
AT BUS Clock Selection |
CLK/x, CLKIN/x |
Выбором источникаиделителязадают |
AT Bus Clock Source |
илиCLK2/X |
частотушиныISA, определяющую скорость |
ISA Bus Speed |
доступакееабонентам. Частоту8 МГц |
(стандартPC/AT) поддерживаютпрактически все16-битныеадаптеры, некоторыедопускают частотудо12 МГц. Длячастоты66 МГц (PCI CLK-33 МГц) прикоэффициенте деления4 частоташиныISA составляет 8,33 МГц. Новыеверсии BIOS устанавливают ееавтоматически. ВконфигурацииPCI-ISA, когдавсеадаптеры, критичные кпроизводительностишины, установлены
вслоты PCI, частоташиныISA большого значениянеимеет
Bus Mode |
Synchronous/Asynchronous |
«ТCyde Wait State |
Число |
Режимсинхронизациишиныотносительно тактовойчастотыпроцессора. Всинхронном используетсяCPU Clock, васинхронном—
ATCLK_____
Количествотактовожиданияприоперациях нашинеISA. Старые(снизким быстродействием) адаптерымогут потребоватьувеличенияколичестватактов ожидания (при маломотказываться корректно работать). Дляразныхтипов операцийможетзадаватьсяраздельно(см. ниже)
:МЛMemory, wO Watt |
Число |
Количествотактовожиданияпри16-битныхоперациях |
State |
|
ввода-выводаиобращениякпамятинашинеISA |
|
|
|
i-Oft Memory, ; ОWait |
Число |
Количествотактовожиданияпри8-битныхоперациях |
State |
|
ввода-выводаиобращениякпамятинашинеISA |
|
|
|
:64* I/O Recovery -r« |
Число |
Времявосстановления(гарантированнойнеактивности) |
(SYSCLK) |
|
сигналов IORD#, IOWR# для16-битныхопераций |
|
|
(задается втактах указанной частоты). Старыекарты |
|
|
могут потребоватьувеличенияпараметра |
|
|
|
1-е* I/O Recovery iwe |
Число |
Времявосстановления сигналов IORD#, IOWR# для8- |
(SYSCLK) |
|
битныхопераций |
VO Recovery Time
:ATCyde
х/У Времявосстановлениядля8/16-битныхоперацийввода-вывода. Обычнозадаетсявтактахчастотышины, например5/3. Определяет
скоростьвыполненияинструкцийREP INS, REP
OUTS (иногдасвязаноспонятием PIP MODE) РазрешениеускоренияцикловшиныISA
Номера
Номералинийзапросовпрерываний, используемыхадаптерами
Enable/Disable шиныISA. Этилинииисключаютсяизавтоматически
распределяемыхресурсовшиныPCI
продолжение4>
188 Глава 4. Системнаяплата Таблица4.17(продолжение)
Параметр |
Возможные |
Назначение |
|
значения |
|||
|
|
||
|
|
|
|
DMA Wait States |
Число |
КоличествотактовожиданияприоперацияхDMA |
|
|
|
|
|
DMA Clock Source |
Имясигнала |
ИсточниксинхронизацииDMA |
|
Extended I/O Decode |
Enable/Disable |
Разрешениерасширенногодекодированияшины |
|
|
|
адресаприоперацияхввода-вывода(16 битвместо10, |
|
|
|
принятыхвPC) |
|
Extended DMA Registers |
Enable/Disable |
Стандартный контроллерDMA PC/AT срегистрами |
|
|
|
страницимеетдоступтолькок16 Мбайт ОЗУ. |
|
|
|
Разрешает использовать пространство 4 Гбайт (для |
|
|
|
полных32-битныхпроцессоров) |
Более актуальной задачей стала настройка шины PCI и распределение ресурсов между системой РпР шин PCI и ISA, а также традиционными ISA-адаптерами. Здесь термином «Legacy Card» обычно обозначают традиционные карты ISAадаптеров, не поддерживающих систему РпР. Главным предметом дележа являются линии запросов прерываний, есть и параметры, распределяющие каналы DMA ирезервирующие областипамяти(табл. 4.18).
Таблица4.18. ПараметрыPCI/PnP Setup |
|
||
Параметр |
Возможные |
Назначение |
|
Plug and Play Aware OS, |
Yes/No |
ОпределениеповеденияBIOS |
|
PnP OS Installed |
|
привозникновениисобытийизменения |
|
|
|
конфигурации(см. п. 15.8) |
PCI Burst Mode PCI |
Enable/Disable |
РазрешениепакетногорежимашиныPCI |
|
Bursting |
|||
|
|
||
PCI Streaming |
Enable/Disable |
РазрешениепотоковогорежимашиныPCI |
|
PCI Concurrency |
Enable/Disable |
Разрешениеконкурирующегорежима |
|
|
|
(одновременныхобращений) шиныPCI |
|
PCI VGA Palette Snoop |
Enable/Disable |
|
PCI Latency Timer
(in PQ Clocks)
PCI IDE Bus Master
Offboard PCI IDE Card
32, 64, 96,128,160,
192, 224, 248
Разрешениешироковещательнойзаписив регистрпалитр. Требуетсяразрешить, если применяемаявидеооверлейнаяплатаи графическийадаптерустановленынаразных
шинах_______________
Допустимаядлительностьактивностидляадаптеров PCI (втактах шиныPCI). Поумолчанию64
Enable/Disable
Disabled, Auto,
Slotl, SlotZ, Slot3, Slot4
РазрешениережимаBus Master для контроллера IDE, расположенного наплате PCI (при корректных драйверах повышает производительность)______
Указаниенаналичие(иместоположение) контроллера IDE, устанавливаемого вслот PCI, илизапрет его использования. Приэтом контроллерIDE насистемной плате автоматическиотключается, алинииIRQ14 и IRQ15 подключаются кслотамPCI
4.6. Конфигурированиекомпьютера— CMOS Setup 189
Параметр |
Возможные |
Назначение |
|
значения |
|||
|
|
||
Offboard PCI IDE Primary |
Disabled, INTA, INTB, |
Заданиелиниипрерывания |
|
(Secondary) IRQ |
INTC, INTO |
дляпервичного(вторичного) контроллера |
|
|
|
IDE вслотеPCI |
PQ/PnP илиISA/EISA
IRQ3, IRQ4, IRQ5, IRQ7, IRQ9, IRQ10, IRQ11, IRQ12, IRQ14, IRQ15
Определениелинийпрерываниявпулресурсов, распределяемыхсистемойРпР дляшиныPCI (устройств системной платыиустанавливаемых вслотыPCI) илииспользуемых нашинеISA/EISA
Slot x Using INT# |
Auto, IRQy |
ОпределениелинийпрерыванийдляслотахшиныPCI |
|
|
изпула(Auto) илиявно(IRQy) |
1st, 2nd, 3rd, 4th |
Номер |
ОпределениеномеровIRQx, соответствующих линиям |
Available IRQ |
|
INTA, INTB, INTC иINTD шиныPCI |
PCI IRQ Actived By |
Level/Edge ПрерыванияPCI поуровнюилифронтусигнала |
|
|
||
|
|
(разделяемоеиспользованиедопускают |
|
|
лишьпрерываниепонизкомууровню |
|
|
сигнала) |
Reserved Memory Size |
Disabled 16K, 32K или64КРазмеробластипамяти, резервируемойдля |
|
|
традиционных(legacy) картISA |
|
Reserved Memory |
СОООО, С4000, С8000, ССООО, Начальныйадресобластипамяти, резервируемой |
|
Address |
DOOOO, D4000, D8000, DCOOO |
длятрадиционных(legacy) картISA |
|
|
|
DMA Channels |
Disabled, DMA Oil, DMA Ch3, КаналыDMA, зарезервированныедля |
|
|
DMA Ch5, DMA Ch6, DMA Ch7 |
традиционных(legacy) картISA |
Насовременныхсистемныхплатахпочтивсегдарасположенвысокоэффективный контроллер IDE, параметрами которого управляют из Setup (табл. 4.19). Включение его прогрессивных режимов не означает повышения скорости обмена с дисками — для этого необходима еще и программная поддержка корректными драйверами со стороны ОС и поддержка этих режимов собственно накопителями.
Таблица4.19. ПараметрынастройкиконтроллераIDE
|
Пцимятр |
Возможные |
Назначение |
|
|
значения |
|
Disabled, Type В(для
ЮЕDMA Transfer Mode EISA), Standard (для
PCI)
ЖХMUbpte Sector Mode Enable/Disable иличисло
МStock Mode ИИлЛBlock
Mode
Enable/Disable
РежимDMA припередачеданныхпоIDE (можетнеподдерживатьсянекоторыми накопителями CD-ROM)
Разрешение(указаниемаксимального количествасекторов) мультисекторного режимапередачи
Разрешениеблочного(мультисекторного) режимапередачи
Auto 0-4 |
РежимпередачиIDE (PIO Mode). Ограничивает |
|
максимальныйрежим, предлагаемый |
|
контроллером(устройствоограничитего |
|
своимивозможностями). Автоматическое |
|
согласованиережимовработаетнесовсеми |
|
устройствами, поэтомуиногдаприходитсяего |
|
явноограничивать. Можетзадаватьсяотдельно |
|
длякаждогоканалаилиустройства_______ |
|
___ |
|
продолжениеrf> |
190 Глава4. Системнаяплата Таблица4.19 (продолжение)
Параметр |
Возможные |
Назначение |
|
значения |
|
IDE Ultra DMA |
1-5 |
МаксимальнодопустимыйрежимUltra DMA |
IDE 32-bit Transfer |
Enable/Disable |
Разрешение32-битногообращениякрегистру |
|
|
данныхIDE (приэтомзаодну32-битную |
|
|
операциюпроцессорапошинеIDE |
|
|
последовательнопередаютсядва16-битных |
|
|
слова). Ускоряетобменсдисками, номожет |
|
|
бытьисточникомпроблемпринекорректных |
|
|
драйверах__________ |
Конфигурированию подлежат и периферийные устройства, расположенные на системной плате, — контроллеры гибких дисков, портов и т. п. Их параметры собранывгруппуPeripheral Setup (табл. 4.20).
Таблица4.20. Параметрыконфигурированиявстроеннойпериферии
Параметр |
Возможные |
Назначение |
|
значения |
|
Onboard FDC |
Enable/Disable |
Разрешениеработыконтроллера FDD (если |
|
|
FDC иHOC IDE расположены наразных |
|
|
платах, возможнанекорректнаяотработка |
|
|
сменыгибкогодиска) |
Onboard Serial Portl |
3F8h, 3E8h, Disabled |
АдресилизапретработыпервогоСОМ-порта, |
|
|
установленногонасистемнойплате __ |
Onboard Serial Port2
Onboard Parallel Port
Parallel Port Mode
28h, 2E8h, Disabled
378h, 278h, Disabled
Standard (Normal, Std, SPP,
Compatible), BiDirectional,
EPP, ECP ECP+EPP, 1284
Compliance Fast Centronics
To жедлявторогопорта
Адрес илизапрет работы LPT-порта, установленногонасистемнойплате
РежимработыLPT-порта(см. главу9)
Parallel Port DMA |
Disabled, |
ЗапретнаиспользованиеDMA илиномер |
|
DMA Ch (channel) 0, |
каналаDMA, используемоговрежимеЕСР |
|
DMA Ch 1, DMA Ch 3 |
|
|
|
|
Группа параметров Power Management (Green Function) управляет системой снижения энергопотребления. Различные режимы снижения активности (и потребления) включаются через заданный интервал неактивности пользователя (клавиатура, мышь) или подсистемы (отсутствие обращений к жесткому диску). В нормальный режим компьютер переходит по определенным заданным событиям. Некорректная настройка и ошибки в BIOS могут приводить к неожиданному резкому снижению производительности. Простейшим выходом из такой ситуации является запрет режимов снижения потребления, однако для компьютеров с автономным питанием энергосбережение весьма существенно. Определены следующие режимы работы компьютера:
шFull On Mode — режимполноймощности;
шDoze Mode — снижениеактивностина80 % (умеренноепонижениечастоты процессора);
4.6. Конфигурированиекомпьютера— CMOS Setup 191
т Standby Mode — снижение активности на 92 % (понижение частоты процессорадоминимума);
ж Suspend Mode — снижение активности на 99 % (процессор остановлен и прерывания не отрабатывает, из этого состояния компьютер выходит довольно долго, заединицысекунд).
Поведениемонитораижесткогодискавразличныхрежимахможетзадаваться произвольно. Параметрыуправленияэнергопотреблениемприведенывтабл. 4.21.
Таблица4.21. Параметрыуправленияэнергопотреблением(Power Management)
Параметр |
Возможныезначения |
Назначение |
|
|
|
Power Management |
Enable/Disable, Max. Saving |
Разрешениеуправленияэнергопотреблением, |
Mode, Min. Saving Mode, |
выбор режимов максимального, минимального |
|
|
User Defined Mode |
сохраненияилиопределяемогопользователем |
|
|
|
РМControl By АРМ |
Enable/Disable |
Разрешение управления энергопотреблением от |
|
|
системы АРМ |
Green PC Monitor Power |
Disabled, Off, Standby, |
Режим, вкоторыйпереводится монитор при |
State |
Suspend |
длительной неактивности пользователя, или |
|
|
запрет (Disabled) управления монитором |
Power Down Mode |
Disabled, Off, Standby, |
Режим, вкоторыйпереводится монитор в |
Monitor Power State |
Suspend |
состоянии PoweDown, или запрет (Disabled) |
|
|
управления монитором |
InstantON Support |
Enable/Disable |
Разрешение быстрого включения на полную |
|
|
мощность |
tfdeo Off Method |
Blank Screen илиV/H |
Методвыключениямонитора: толькогашение |
|
Sync+Blank |
изображения или еще и останов синхронизации |
|
|
(по протоколу DPMI) |
Doze Mode Control |
Частотапроцессора, режим |
См. описание режима Doze Mode |
|
монитора, диска |
|
Standby Mode Control |
Частотапроцессора, режим |
См. описаниережимаStandby Mode |
|
монитора, диска |
|
Suspend Mode Control |
Частотапроцессора, режим |
См. описание режима Syspend Mode |
|
монитора, диска |
|
inactivity Mode Control |
Частотапроцессора, режим |
См. описаниережимаInactivity Mode |
монитора, диска |
||
•ягиDisk Power Down |
Disabled, Standby, Suspend |
Режим, вкоторыйпереводится HDD потаймеру |
Mode |
|
|
Srcen Timer * Man Board |
Disabled иливремя(1-15 |
Запрет или время выдержки таймера включения |
|
минут) |
режима пониженного потребления |
ЭввеTimer |
Disabled иливремя(1-15 |
Запрет или выдержка перед снижением |
|
минут) |
активности на 80 % |
Standby Timer |
Disabled иливремя(1-15 |
Запрет или выдержка перед снижением |
|
минут) |
активности на 92 % |
Suspend Timer |
Disabled иливремя(1-15 |
Запрет или выдержка перед снижением |
|
минут) |
активности на 99 %. Из этого состояния |
|
|
компьютер выходит довольнодолго |
Standby to Suspend - |
Disabled иливремя(1-15 |
Запрет или выдержка неактивности всостоянии |
meout |
мин) |
Standby, после которой система переводится в |
|
|
режим Suspend, или запрет этогоперехода |
продолжение#
192 Глава4. Системнаяплата |
|
|
Таблица4.21 (продолжение) |
|
|
|
|
|
Параметр |
Возможныезначения |
Назначение |
|
|
|
Full-On to Standby |
Disabled иливремя(1-15 |
Запретиливыдержканеактивности, после |
Timeout (Min) |
мин) |
которогопроизводитсяпереходизрежима |
|
|
полноймощностивStandby |
HDD Standby Timer Hard |
Disabled иливремя(1-15 |
Запретиливыдержкапередостановкой |
Disk Timeout (Min) |
минут) |
жесткогодиска. Оптимальноезначение |
|
|
подбираетсясучетомобъемаустановленного |
|
|
ОЗУ, операционнойсистемыисвойств |
|
|
используемыхприложений. Иногдавызывает |
|
|
неприятностиприобращениикведомому(Slave) |
|
|
дискупри «заснувшем» ведущем«Master» |
Slow Clock Ratio |
1:1, 1:2, 1:4, 1:8, 1:16, 1:32, |
Коэффициентсниженияэффективнойтактовой |
|
1:64 или1:128 |
частотыпроцессоравсостоянииPower Down (на |
|
|
самомделечастотапроцессоранеменяется, но |
|
|
применяетсяпрерывистаясинхронизация— см. |
|
|
главу5) |
Display Activity |
Monitor илиIgnore |
РазрешениепереводаврежимStandby по |
|
|
неактивностимонитора(отсутствиюизменений |
|
|
изображения) |
PowerDown& Resume |
Monitor/Ignore илиOn/Off |
Отслеживаниепрерыванийкаксобытий, |
Events: IRQ3...IRQ 15 |
|
означающихактивностьдлярежимов |
управленияпотреблением
Monitor Event In Full On |
Enable/Disable |
Mode: LPT port Activity |
|
COM port Activity ISA |
|
Master Activity VESA Slave |
|
Acivity IDE Activity Floppy |
|
Activity VGAActivity |
|
Keyboard Activity Mouse |
|
Activity |
|
Отслеживаниесобытий, означающихактивность длярежимовуправленияпотреблением. Любое изотслеживаемыхсобытийсбрасываеттаймер переключениярежима(переключение происходит, еслисоответствующийтаймер успеваетдосчитатьдозаданногозначения)
Wake Up Events |
Списокпрерыванийи(или) |
Список«пробуждающих» событий |
|
функциональныхузлов |
|
|
|
|
4.7. ВыборсистемнойплатыPC
РассмотревустройствосистемнойплатыPC, краткоперечислимосновныехарактеристики, накоторыеследуетобращатьвниманиеприеевыборе.
« Конструктивное исполнение, определяемое предполагаемым типом корпуса или, наоборот, определяющее его тип (Mini Tower, Midi Tower, Big Tower, Desktop, Slim Line) традиционногостандартаилиATX (NLX).
ш Чипсет — набор микросхем (Chip Set), определяющий архитектуру и производительностьплаты.
ж BIOS — производитель и версия, определяющие функциональные возможности, поддержкаPnP, ACPI (илиАРМ).
» Возможностьперезаписи, блокировкиивосстановленияFlash BIOS.
4.7. ВыборсистемнойплатыPC 193
* Поддерживаемые типы и количество процессоров, определяемые типом сокетовислотов, возможностямиконфигурированиячипсетаиBIOS.
»Возможностивыборапитающегонапряжениядляпроцессораимаксимальный ток его питания, определяемые типом применяемого регулятора (VRM), возможностьраздельногопитанияядраиинтерфейсапроцессора.
*Поддерживаемыечастотысинхронизациипроцессораишин.
»Максимальный объем ОЗУ; количество и тип применяемых модулей памяти — конструктивно (SIMM, DIMM, RIMM) и архитектурно — DRAM (FPM, EDO, BEDO), SDRAM, DDR SDRAM, RDRAM; количество банков,
возможность смешивания типов модулей в разных банках, применение чередования страниц памяти (Interleaving) для случая нескольких банков, возможность использования модулей с различным временем доступа, применимостьпамятисисправлениемошибок(ЕССMemory).
«НаличиеивозможностипортаAGP.
»Вторичный кэш (для плат с сокетом 7): объем и тип — асинхронный, синхронный (Sync Burst SRAM), конвейерный (РВ SRAM), максимальный объемкэшируемойпамяти.
»Количествослотовшинввода-вывода(ISA, EISA, PCI).
«Количество каналов IDE-интерфейса и поддерживаемые режимы (РЮ
Mode 3, 4, Ultra DMA 33/66/100).
»Наличиеконтроллерагибкихдисков.
вНаличиеипараметрыконтроллераSCSI (Wide, Fast SCSI-2).
»Наличие СОМ-портов с FIFO-буферами, возможность подключения инфра- красногоприемопередатчика,использованияСОМ-портавкачествепортаMIDI.
тНаличие LPT-порта, поддерживаемые режимы (SPP, ЕРР, ЕСР), наличие FIFO-буферов для ЕСР.
* Наличие разъема PS/2 Mouse.
•НаличиеичислоканаловUSB, наличиевнешнихразъемов.
•Наличиеипараметрыграфическогоадаптера.
•Наличие и параметры звукового контроллера (цифрового аудиоканала и синтезаторов).
Понятно, что для каждого класса применений существенны свои параметры — для файл-сервера, например, не нужен аудиоканал, но использование памяти с ЕСС — вовсе нелишне. Для домашнего компьютера может быть справедливо обратное утверждение. Ассортимент существующих системных плат широк, так же как и диапазон их цен. Идеальной платы для всех случаев жизни, конечно, не существует. Кроме технических и экономических характеристик приходится учитывать и сервис, предлагаемый поставщиком. При покупке платы сразу обычно можно выявить только грубые неисправности. Более тонкие проблемы возникают уже при детальном тестировании или только при эксплуатации в рабочих условиях на реальных приложениях. Хороший поставщик с пониманием отнесется к этим проблемам, и вам не придется отчаянно доказывать свою возможмуюправотувпретензияхпокачеству.
Платы известных производителей привлекательны поддержкой в Интернете— на Web-сервере фирмы можно найти новые версии BIOS и драйверов для различных ОС, что помогает разрешать многие проблемы. С поддержкой «безымянных» плат могут возникнуть проблемы, тем более что на них иногда устанавливаютсистемуBIOS, подходящуювесьмаусловно.
Процессоры
Процессор является основным «мозговым» узлом, в задачу которого входит исполнение находящегося в памяти программного кода. В настоящее время под словом «процессор» подразумевают микропроцессор — микросхему, которая, помимо собственно процессора, может содержать и другие узлы — например, кэшпамять.
5.1. Исполнениепрограммногокода
Программный код — это последовательность команд, или инструкций, каждая из которых определенным образом закодирована и расположена в целом числе смежных байт памяти. Каждая инструкция обязательно имеет операционную часть, несущую процессору информацию о требуемых действиях. Операндная часть, указывающая процессору, где находится его «предмет труда» — операнды, может присутствовать в явном или неявном виде и даже отсутствовать. Операндная часть может описывать от нуля до двух операндов, участвующих в данной инструкции (есть инструкции, в которые кроме двух операндов задается еще и параметр инструкции). Здесь могут быть сами значения операндов (непосредственные операнды); явные или неявные указания на регистры процессора, в которых находятся операнды; адрес (или его составная часть) ячейки памяти или порта ввода-вывода; регистры процессора, участвующие в формировании адреса и разные комбинации этих компонентов. Длина инструкции в семействе х86 может быть от одногодо12 байтиопределяетсятипоминструкции. Истори-
5.1. Исполнениепрограммногокода 195
чески сложившийся формат инструкций х86 довольно сложен, и «понять», сколько байт занимает конкретная инструкция, процессор может, лишь декодировав ее первые 1-3 байт. Инструкции могут предшествовать префиксы (к счастью, всегда однобайтные), указывающие на изменение способа адресации, размера операнда или (и) необходимость многократного (по счетчику и условию) повторения для данной инструкции. Адрес (логический) текущей исполняемой инструкции хранится в специальном регистре — указателе инструкций IP (Instruction Pointer), который соответствует счетчику команд фон-неймановской машины. После исполнения так называемой линейной инструкции этот указатель увеличивает свое значение на ее длину, то есть он укажет на начало следующей инструкции. Линейная инструкция не нарушает порядок выполнения, определяемый последовательностью расположения инструкций в памяти (по нарастанию адреса). Кроме линейных инструкций существуют инструкции передачи управления, среди которых различают инструкции переходов и вызовов процедур. Эти инструкции в явном или неявном виде содержат информацию об адресе следующей выполняемой инструкции, который может указывать на относительно произвольную ячейку памяти. Инструкции переходов и вызовов могут быть безусловными (ни от чего не зависящими) и условными. Произойдет ли условный переход (вызов) или нет, зависит от состояния флагов (признаков) на момент исполнения данной инструкции. Если переход (вызов) не состоится, то исполняется инст-рчтсция, расположенная в памяти вслед за текущей. Вызов процедуры характерен тем. что перед ним процессор сохраняет в стеке (стек — это область ОЗУ) адрес следующей инструкции, и на этот адрес передается управление после завершения исполнения процедуры (этот адрес извлекается из стека при выполнении «иструкции возврата). Переход выполняется безвозвратно.
Последовательность исполнения инструкций, предписанная программным несом, может быть нарушена под воздействием внутренних или внешних (относительно процессора) причин. К внутренним причинам относятся исключения
.exceptions) — особые ситуации, возникающие при выполнении инструкций. Наглядным примером исключения является попытка деления на ноль. При воз- «жкновении условия исключения процессор автоматически выполняет вызов процедуры обработки исключения, после которой он может вернуться кповтор- у исполнению инструкции, породившей исключение, или следующей за ней. поведения зависит от типа произошедшего исключения. Исключения используются современными операционными системами. На основе обработки исключений строится система виртуальной памяти и реализуются мно-~ж функции многозадачных операционных систем. Внешними причинами изме-нормальной последовательности инструкций являются аппаратные пре-— вызовы процедур под воздействием электрических сигналов на спе-щалыше выводы процессора (см. п. 5.2.3). Эти сигналы могут подаваться со-шсипжнно неожиданно для исполняемой программы, правда, у программиста есть шмсжностъ заставить процессор (компьютер) игнорировать все прерывания или i. Злоупотреблять этой возможностью нельзя (да и не всегда она есть), шагу на аппаратных прерываниях строится, например, отсчет времени и системные и прикладные функции компьютера. Источниками аппарат-«** ирерываний являются контроллеры и адаптеры периферийных устройств, жш риторы меток времени, системы управленияпитаниемидругиеподсистемы.