Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Materialy_Arhitektura.doc
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
1.84 Mб
Скачать

83. Структура таблиці розміщення файлів на магнітних дисках. Типи файлів (імена, формати, розширення) та їх структура.

Кожен файл належить якого-небудь типу. Умовно файли можна розділити на програми, документи та службові файли, що використовуються іншими програмами або системою Windows. На тип файлу вказує його розширення - три літери, цифри або їх поєднання що знаходяться після крапки в імені файлу.

Расширение

Тип файла

Пример

com

Программы

Command.com

exe

Word.exe

doc

документы программы Word

My biography.doc

xls

документы программы Excel

My budget.xls

eml

Письма

Letter from friend.eml

txt

текстовые документы

Text.txt

ppt

презентации программы PowerPoint

My presentation.ppt

htm

документы (гипертекст) для Interenet

My school.htm

html

My class.html

hlp

Справка

Windows.hlp

bmp

графический файл (рисунок)

My cat.bmp

tif

My photo.tif

jpg

My photo.jpg

gif

My animation.gif

mp3

Музыка

Song.mp3

zip

архив ZIP

My archive.zip

rar

архив WinRAR

My archive.rar

Формати графічних файлів, які підтримуються Word:

AutoCAD Format 2-D (. Dxf), Computer Graphics Metafile (. Cgm)

CorelDRAW (. Cdr), Encapsulated PostScript (. Eps), Enhanced Metafile (. Emf), Graphics Interchange Format (. Gif), JPEG File Interchange Format (. Jpg), Kodak Photo CD (. Pcd), Macintosh PICT (. Pct ), Micrografx Designer / Draw (. drw), PC Paintbrush (. pcx), Portable Network Graphics (. png), Kodak Photo CD (. pcd), Tagged Image File Format (. tif), Targa (. tga), Точкове малюнки Windows (. bmp,. rle,. dib), Метафайли Windows (. wmf), WordPerfect Graphics (. wpg)

84 Структура даних на носіях інформації

4.1 Структура даних на магнітному диску

4  СТРУКТУРА ДАНИХ НА НОСІЯХ ІНФОРМАЦІЇ 4.1 Структура даних на магнітному диску Щоб дані  можна було не тільки занести на диск, а потім ще й прочитати, потрібно точно знати, що і куди записано. У всіх даних повинна бути адреса. Але якщо запам’ятовувати кожну адресу, в яку записані байти даних, то зберігати їх стане ще важче, ніж самі дані. Тому інформація на диску зберігається не байтами, а файлами. Файл -– найменша одиниця збереження інформації зі своєю адресою. Якщо потрібна якась інформація, ПК знаходить на диску потрібний файл, а потім байт за байтом зчитує з нього дані в оперативну пам’ять (ОП), доки не дійде до кінця файла. Щоб у кожного файла на диску була своя адреса, його форматують. Перша доріжка магнітного диска (нульова) рахується службовою - наприклад, так звана таблиця розміщення файлів (FAT-таблиця;  FAT – File Allocation Table). У цій таблиці ПК запам’ятовує адреси записаних файлів. Потрібний файл ПК за його іменем знаходить у FAT-таблиці номери поверхні, доріжки (циліндра) і сектора, після чого магнітна головка переводиться в потрібне положення, файл зчитується і направляється в ОП для обробки. Адреса файла записана у таблиці розміщення файлів двобайтним числом, тобто на запис цієї адреси витрачено 16 бітів (тому таблицю розміщення файлів називають FAT 16). За допомогою 16 бітів можна виразити 216 = 65536 різних значень. Це означає, що файлам на жорсткому диску надано не більше 65536 адрес (і самих файлів не може бути більше 65536). Але сучасні жорсткі диски мають великі об’єми, і їм не вистачає такої кількості адрес. Якщо, наприклад, розмір диска 2 Гбайт, то на кожну адресу приходиться  2Гбайт/65536 = 32 Кбайт. Порівняння: у місті будують тільки квартири розміром 32000 кімнат. У такому житлі можна розмістити цілу армію, але коли сім’я з трьох чоловік прийде отримувати житло, їй також прийдеться давати таку ж квартиру. І навіть одна людина отримає 32000 кімнат. Якщо людей можна один до одного підселити, то з файлами цього не зробиш – кожний файл повинен мати власне унікальне ім’я. Отже, введена нова одиниця виміру –  мінімальний розмір адресного простору – кластер. Для жорсткого диска розміром 2 Гбайт кластер рівний 32 Кбайт, для 1 Гбайт – 16 Кбайт  тощо. У сучасних дисків кластер набагато більший сектора, який дорівнює 0,5 Кбайт. В одному кластері можуть міститись десятки секторів (наприклад, в 16 Кбайт-кластері: 16 Кбайт/0,5 Кбайт = 80). І, яким би малим не був файл, він все одно займе цілий кластер, і усі невикористані сектори у ньому пропадуть. У наш час ПК переходять на систему запису адреси файла на жорсткому диску під назвою FAT 32: адреса записується не двома байтами, а чотирма (32 біти). Тобто адреса стає більше, а розміри окремих кластерів стають меншими (наприклад, для диска розміром 32 Гбайт розмір кластера 32 Кбайт), що дозволяє раціональніше використовувати жорсткі диски 4.2  Логічна та фізична структура даних Чим більший диск, тим більше корисних програм і даних можна на ньому розмістити. З іншої сторони, чим більше диск, тим більше місця на ньому пропадає через недосконалість системи адресації файлів. Тому жорсткий диск спеціальними програмами розбивають на декілька розділів. Наприклад, на диску розміром 2 Гбайт створюють чотири розділи по 0,5 Гбайт. Кожний такий розділ розглядають як один окремий логічний жорсткий диск. Жорсткий диск (вінчестер) – пристрій фізичний. Його можна встановити чи вилучити. Логічний жорсткий диск не можна помацати – фізично він не існує. Це один з розділів фізичного диска. Працюючи з ПК, користувач не помічає різницю між фізичним та логічним дисками. Кожний логічний диск має власну таблицю розміщення файлів, тому на ньому діє своя система адресації. В результаті втрати через розміри кластерів стають меншими. Диски ПК (фізичні чи логічні) мають унікальні імена, які складаються з однієї букви латинського алфавіту і двокрапки, наприклад, А: ,  В: ,  С:  тощо. Коли на ПК встановлюють новий жорсткий диск, він отримує букву, наступну за останньою використаною. Те ж відбувається при створенні нового логічного диска на вже встановленому фізичному. Буквами А:  і  В:  позначають дисководи для гнучких дисків, а буквою С:  -  перший жорсткий диск. Наступний диск отримує букву  D:  , потім  Е: тощо. Диск, на який записана ОС, називають системним. Завантаження ОС виконують з жорсткого диска, а при його відсутності – з диска А:. 4.3   Файлові системи, каталоги Інформація на дисках зберігається у файлах. Файл – це пойменована область на диску або іншому носії інформації. Їх ділять на: -    файли програм; -    файли даних. Кожна програма (крім ОС, яка запускається при вмиканні ПК) містить файл для запуску цієї програми –виконуваний файл (має розширення  .COM або  .EXE). Тобто, виконуваний файл – це головний файл програми, який запускає її на виконання. Файли даних - це файли з документами, для роботи з якими: -    запустити відповідну програму (редактор текстів, електронних таблиць, графічний редактор); -    відкрити файл документа у цій програмі. Файлова система – це схема запису інформації, яка міститься у файлах, на диск. Файлова система забезпечує можливість доступу до конкретного файла незалежно від того, в якому місці диска він записаний, і дозволяє знайти вільне місце при створенні нового файла. ОС MS-DOS і Windows 95 використовують файлову систему FAT 16, а ОС Windows 98 – FAT 32. Щоб  ОС та інші програми могли звертатись до файлів, останні мають позначення, які складаються з двох частин: імені та типу файла (тип файла не обов’язковий). Імена файлів у ОС ПК (крім ОС Win¬dows 9х) містять до восьми  літер, цифр і знаків “мінус” і “підкреслення”,  а тип – до трьох літер, цифр і деяких інших символів. Тип визначає користувач або програма, яка породжує файл. Ім’я відокремлюється від типу крапкою. Тип файла називають також розширенням імені. Наприклад, BASIC.COM,  AUTOEXEC.BAT,  STP.1. Ім’я файла не можна задавати символами, розділеними пробілами. Наприклад, FILE12 – правильне ім’я, а FILE 12 – неправильне, тому що між словом FILE і номером 12 є пробіл. Букви використовують як малі, так і великі – вони сприймаються MS-DOS як рівноцінні. Малі букви при введенні автоматично перетворюються у великі. Наприклад, імена Fail.txt i FAIL.TXT вважаються ідентичними. В ОС Windows 9х, OS/2, Windows NT ім’я файла може містити до 255 символів (28 = 256) і включати символи, які не допускаються DOS і Windows 3.x. Довгі імена файлів полегшують роботу користувача зі складенням імені файла, яке відображує його зміст. Ім’я файла може бути назвою документа (наприклад, “Річний звіт за 2000 рік”). Довгі імена дозволяють не шифрувати зміст документа, щоб вкластись у вісім символів, які раніше відводились для імені файла. В довгих іменах розрізняють великі і малі букви (імена “Річний”  і  “річний” відрізняються). Недопустимо використовувати символи:  похилі риски   ( /, \ ),   двокрапка ( : ),  зірочка ( * ),  знак питання ( ? ),  лапки ( “ ),  кутові дужки  (< , > ),  вертикальна лінія ( | ). Ім’я файла можна писати кирилицею, але не бажано (якщо працювати на декількох ПК і хоча би на одному з них не встановлена російська версія Windows 9х, то  при копіюванні файла на цьому ПК можна отримати зовсім інше ім’я). Цілісність даних на диску забезпечується одночасним існуванням на ньому поряд з довгим іменем файла елемента з коротким іменем. Сумісність імен файлів ОС Windows 9х  з попередніми версіями і DOS забезпечується підтримкою таблиці розміщення файлів FAT.  Інформація про довгі імена файлів зберігається у віртуальній таблиці розміщення файлів VFAT (Virtual File Allocation Table), яка забезпечує кращу організацію зберігання даних і працює в захищеному режимі. VFAT сумісна з FAT і тому при інсталяції Windows 9х не вимагає переформатування жорсткого диска. При використанні довгого імені в MS-DOS FAT створюються псевдоніми, які забезпечують введення перших шести букв з нового імені та додають порядковий номер після знаку тильда “ ~ “. Наприклад, якщо файли у Windows 9х будуть мати імена балансовий.txt і балансова.txt, то імена цих файлів в DOS запишуться як баланс~1.txt для першого і баланс~2.txt для другого документа. Список усіх файлів на диску називається каталогом (директорієм) диска, а у Windows 9х - папкою. Каталог – це спеціальне місце на диску.     Кожний файл реєструється у каталозі і для нього вказують: ім’я, тип, розмір пам’яті, яку він займає, дата і час його створення. Сам каталог також має ім’я та зберігається у іншому каталозі разом з іменами звичайних файлів. У цьому випадку створюється ієрархічна файлова структура. Можливості файлової системи: -    перегляд змісту каталога; -    створення нового файла; -    виклик файла з диска в оперативну пам’ять; -    запис файла на диск; -    присвоювання нового імені файла; -    видалення файла з каталога. Для зручності у роботі з файлами в їх іменах використовують знаки  “ * “  та  “ ? “.   Такі конструкції називають шаблонами імен файлів. Знак  “*“ означає будь-яку кількість довільних символів у імені файла, а знак  “?“  - будь-який один символ. Наприклад: *.*              -  всі файли; *.                -  всі файли, у яких відсутній тип; *.BAS        -  всі файли типу BAS; ??.BAS     -  всі файли типу BAS, у яких в імені є не більше як дві літери; Р??.*        -  всі файли, які починаються літерою Р, в імені яких не більше трьох букв. 4.4 Повний шлях до файла При роботі з файлами необхідно знати,  де вони розміщені. Положення файла у  комп’ютері чи у мережі описує адреса файла, яку ще називають шляхом доступу до файла  або  шляхом пошуку файла.     Шлях пошуку складається з імені диска (жорсткого, гнучкого, компакт чи мережного), на якому записаний документ чи програма, та імен усіх каталогів, які ведуть до файла. В ОС MS-DOS і Windows  використовується ієрархічна, деревоподібна структура файлів, у якій каталоги файлів самі  розглядаються як файли і їх імена реєструються у каталозі попереднього рівня. В ієрархічній файловій системі на дискові завжди є  один кореневий каталог, у якому реєструються звичайні файли і каталоги 1-го рівня. У підкаталогах 1-го рівня, в свою чергу, створюються звичайні файли та підкаталоги 2-го рівня тощо. На рис 4.1 кореневий каталог зображено у вигляді суцільного вертикального ствола – “дерева” – і позначено С:\. Зі схеми видно, що безпосередньо у кореневому каталозі знаходяться підкаталоги DOS, TEMP і файли  CONFIG.SYS,  AUTOEXEC.BAT,  COMMAND.COM. У каталозі ТЕМР містяться підкаталоги DOS, BOM і файл  A1.TXT. У каталозі ВОМ – каталог АТС і файли GRAF.1 ,  GRAF.2. Імена каталогiв вiдокремлюються знаком “\” – зворотна похила риска  (одиночний слеш). Таким чином, для ідентифікації файлiв у iєрархiчних каталогах вказують: диск: шлях\iм’я файла.розширення, де диск: - iм’я накопичувача (А: , В: – вiдповiдно перший та другий дисковод гнучких  дискiв , С: – дисковод жорсткого диска); шлях – позначення  шляху до потрiбного файла. Iм’я накопичувача i шлях за файловою системою запам’ятовуються у буферi і вони вважаються робочими (поточними). Якщо при звертаннi  до    файла опускаються  iм’я накопичувача i шлях, то вони вважаються поточними. Якщо шлях починається  iз знаку “\”, то мiсцеположення файла визначається  вiд кореневого каталога  даного  накопичувача. Iнакше мiсцеположення  визначається вiд поточного маршруту даного накопичувача. Нехай на диску С: створена файлова система (рис. 4.1). Тоді шлях до файла GRAF.2 визначається наступним чином: С:\ТЕМР\BOM\GRAF.2 Приклади: 1. С:\ТЕМР\A1.TXT – файл A1.TXT входить до пiдкаталога ТЕМР  кореневого каталога жорсткого диска С:. 2. GRAF.1- файл GRAF.1 входить до поточного каталога поточного диска (поточним  у даному випадку є шлях С:\ТЕМР\BOM). Файли з одним i тим самим iменем (наприклад, DOS) можуть знаходитись у декiлькох каталогах. Маршрути до різних підкаталогів DOS:  C:\DOS  i  C:\PROM\DOS. В iменi каталога можуть використовуватись латинськi лiтери  вiд A до Z , цифри вiд 0 до 9 та спецIальнi  знаки: $,  #,  @,  !,  (,  ),  - ,  {,  },  _,  %. Специфікація файла -  це повне описання файла: маршрут + ім’я (файла чи підкаталога).  Нехай поточним є підкаталог ТЕМР і промпт (запрошення ввести команду чи маршрут з іменем)  має вигляд  С:\ТЕМР>. Тоді до файла GRAF.2 звертаються наступним чином: C:\TEMP>BOM\GRAF.2 або    C:\TEMP>C:\TEMP\BOM\GRAF.2 Специфікація файла GRAF.2, вказана в першому випадку, називається короткою, а у другому – повною. Вказівка  C:\TEMP>BOM\GRAF.2 змусить систему шукати файл GRAF.2 у каталозі ВОМ, розміщеному безпосередньо в кореневому каталозі, так як початковий слеш у специфікації файла говорить, що маршрут починається від кореневого каталога. Відсутність початкового слеша заставляє систему починати пошук  від поточного каталога. Iм’я файла  та розширення  утворюються  за тими самими  правилами , що й iмена каталогiв. Для зручності  файли однакового значення мають однакове розширення. Наприклад, усі файли, які є програмами, мають розширення COM або EXE (COM – Command, команда і EXE – Execute, виконувати): програма DOS – COMMAND.COM програма Бейсік – BASIC.COM  чи  BASIC.EXE Усі файли, які містять програми, написані мовою Бейсік, мають розширення BAS. Ці файли обробляються програмою BASIC.COM. Стандартнi розширення  iмен файлiв, якi найчастiше використовуються в операцiйнiй  cистемi MS-DOS: ASM     – вихiдний файл мовою  Асемблера; BAK     – файл iз резервною копiєю (архівний файл); BAS     – файл iз програмою  мовою Бейсiк; BAT    – командний файл; BIN     – двiйковий програмний файл; C     –  вихiдний файл мовою CI; COM     – виконуємий файл програми; CPI    – файл iз даними кодовоi сторiнки; СРР    – файл тексту мовою С++; DAT    – файл даних; DOC    – текстовий файл, або файл даних у коді ASCII (документ); ЕХЕ    - виконуємий файл програми; HLP    – файл iнтерактивного довiдника; LST    – файл iз лiстингом програми ; LIB    – бiблiотечний файл ; OBJ    – об’єктний (промiжний) файл програми ; OVL    – програмний оверлейний файл ; OVR    – програмний оверлейний файл ; PAS    – вихiдний файл мовою Паскаль ; SYS    – системний файл або драйвер пристрою ; TMP    – робочий (тимчасовий) файл ; TXT    – текстовий файл ; $xx    – тимчасовий або неправильно записаний файл.

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

Для виполнения разнообразных операций в реальних комп’ютерах имеется система команд Для разных моделей компьтеров могут быть разние системами команд: трьох адресний комп’ютер; двох адресний комп’ютер; одно адресний комп’ютер, комп’ютер зі змінним форматом команд (з різно адресними командами); комп’ютер з регістровою пам’ятю, стековий комп’ютер.

Некоторые команды могут быть выполнены за один цикл передачи данных, другие требуют нескольких циклов. Такие команды могут использовать регистры или другие возможности аппаратуры. Команды, видимые для работающего на ассемблере программиста, формируют уровень ISA (Instruction Set Architecture — архитектура системы команд), часто называемый машинным языком.       Обычно машинный язык содержит от 50 до 300 команд, служащих преимущественно для перемещения данных по компьютеру, выполнения арифметических операций и сравнения величин. Управление устройствами на этом уровне осуществляется с помощью загрузки определенных величин в специальные регистры устройств. Например, диску можно дать команду чтения, записав в его регистры адрес места на диске, адрес в основной памяти, число байтов для чтения и направление действия (чтение или запись). На практике нужно передавать большее количество параметров, а статус операции, возвращаемый диском, достаточно сложен. Кроме того, при программировании многих устройств ввода-вывода (I/O — Input/ Output) очень важную роль играют временные соотношения.       Операционная система предназначена для того, чтобы скрыть от пользователя все эти сложности. Она состоит из уровня программного обеспечения, который частично избавляет от необходимости общения с аппаратурой напрямую, вместо этого предоставляя программисту более удобную систему команд. Действие чтения блока из файла в этом случае представляется намного более простым, чем когда нужно заботиться о перемещении головок диска, ждать, пока они установятся на нужное место и т. д.

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

Операцию, инициируемую этой командой.

Адреса операндов участвующих в этой операции.

Типы машинных команд. Для современных ЭВМ (с CISC процессорами) имеют от 60 до 120 базовых команд. Базовая команда – команда, которая определяет в процессоре операцию, без учета способов адресации, которые могут быть применены в данной команде, не учитывая какие РОН’ы используются при выполнении программы. Общее количество команд, которое может быть в процессорах, с учетом способов адресации и регистров 250-400. Такое большое количество команд, по замыслу разработчиков, должно сокращать длину программы пользователя, следовательно, уменьшается время решения задачи. Практика же показывает, что программист всем возможным множеством команд никогда не пользуется. Обычно пользователь ограничивается некоторым подмножеством команд, которые он четко понимает и знает. В различных программах, а также в программах для различных ЭВМ, частота появления различных команд оказывается разная. Основной характеристикой любой ЭВМ команды, является ее формат. Все команды любой ЭВМ при рассмотрении разделяют по следующим признакам.

1. Функциональное назначение.

1.1 Команды передачи данных

1.2 Команды обработки данных

1.3 Команды передачи управления

1.4 Дополнительные команды

2. Адресность команды.

2.1 безадресные команды

2.2 одноадресные команды

2.3 двух адресные команды

2.4 прочие команды

3. По способам адресации

3.1 данных

3.2 команд

4. Способ кодирования операций.

4.1 Команды с фиксированным полем кода операций

4.2 Команды с расширяющимся полем кода операций

5. По длине.

5.1 однобайтные

5.2 двухбайтные

5.3 трехбайтные

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

1. Команды передачи кодов внутри процессора. Фактически определяет операцию копирования, т.е. создание новых данных в приемнике (dst). Значение источника (src), как правило сохраняется при командах передачи данных. Правда существуют такие команды, когда источник не сохраняется (команды пересылки). Команды регистровой пересылки, которые обычно имеются в системе команд процессора, обеспечивает либо однонаправленный обмен, либо взаимный обмен. С точки зрения длины команд, самые короткие – команды пересылки, как правило двухадресные. В отдельных случаях, команды могут быть одноадресные, если существует фиксированный регистр адресной команды, не определенный мнемоникой, а машинным форматом.

2. Команды обмена процессора с памятью. Связаны с передачей данных из памяти в регистры и из регистров в память. Очень часто команды этой подгруппы имеют несколько другую мнемонику. ST (store) – передача в основную память. LD (load) – в регистры. Если позволяет мнемоника, то в принципе производится независимая адресация, как источника, так и приемника команд. Если используется команда MOV и возможности адресации достаточно большие, то с помощью команды MOV в отдельных ЭВМ возможна пересылка память – память.

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

1. Специальные команды ввода-вывода (in, out). Такие команды применяются, если внешнее устройство имеет автономное адресное пространство памяти. В таких командах, как правило, адресуется только один операнд, другой операнд располагается в аккумуляторе.

2. Единая команда MOV. Используется в тех случаях, если регистры внешних устройств рассматриваются как часть общего адресного пространства компьютера. Это позволяет оперировать с внешними устройствами, как с обычными ячейками памяти компьютера. Разделение внешних устройств и памяти производится на аппаратном уровне. Совмещенное адресное пространство повышает гибкость программирования работы с внешними устройствами, уменьшает набор команд, но несколько уменьшает размеры доступной основной памяти. Наличие единой команды приводит к некоторому увеличению общей длины команды. Все команды передачи данных не формируют и не изменяют значения признаков результата операций.

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

1. арифметические

2. логические

3. команды сдвига

4. команды обработки строк.

1. Базовые арифметические команды предназначены для задания арифметических операций над какими-то операндами. Любая арифметическая операция двухместная (пример: ADD dst,src; Схема вычислений: dst:=(dst)*(src) (dst)*(src)⇒dst). Если использовать аккумуляторный принцип, то ACC:=(ACC)*(src). Команды арифметических операций формируют практически всегда признаки результата операций. Базовой арифметической операцией является арифметическое сложение (сложение двоичных кодов, т.к. сложение без знаковое). Большинство ЭВМ не ограничиваются операцией сложения, имеется еще вычитание двоичных кодов (SUB dst,src). Эта операция не коммутативная. Сама по себе команда вычитания двоичных кодов обеспечивает вычитание без знаковых кодов. Но сформулировав должным образом коды можно и обрабатывать данные со знаком. Если обрабатывать многобайтные данные, то т.к. система счисления двоичная позиционная, то обработка начинается с младшего разряда. Как правило, для этих случаев имеются специальные команды (ADC dst,src; SBB dst,src; Схема вычисления dst:=(dst)*(src) ± (CY)). Если в арифметических операциях могут участвовать операнды разной длины, то предварительно короткий операнд увеличивается до длины длинного (для целочисленной арифметики), причем здесь идет выравнивание по правому краю, а расширение идет с помощью знака. Это может реализовываться автоматически, либо за счет команд расширения знака (SXT). Как правило, расширение команды происходит в фиксированном регистре, следовательно, эти команды безадресные. Если этого нет, нужно писать специальные процедуры расширения. Операция сравнения кодов (CMP dst,src). По содержанию это команда вычитания. Фактически схема вычисления (dst)-(src). Все признаки результата по этой команде формируются, а результат никуда не заносится. Однооперандные арифметические команды. Т.к. второй операнд имеет фиксированное значение (как правило, оно =1), тогда команды INC dst; DEC dst; , а схемы вычислений dst:=(dst) ±1

1. Эти команды очень используемы при разработке счетчиков, индексов. Не применимы для многобайтных данных, позволяют сохранить признаки для следующих ветвлений. Команды умножения и деления. В системах команд малых ЭВМ эти команды отсутствуют, но если в системе команд имеются эти команды, то они применяются для беззнаковых данных. Формат команды: MUL dst,src; DIV dst,src; Если взять команды ADD и SUB, то форматы результата и операндов практически совпадают, здесь же они не совпадают принципиально. Для хранения произведения обычно используются фиксированные регистры, чаще всего это аккумулятор с расширителем. Аналогично для целочисленного деления. В общем случае делимое имеет двойную длину, следовательно, как правило, приемник результата тоже фиксированный регистр (аккумулятор с расширителем). Очень часто в системах команд вводят команды умножения и деления с учетом знака (IMUL dst,src; IDIV dst,src;). Эти команды обычно ориентированны на использование базовых форматов компьютера. Для обработки многобайтных данных при умножении и делении, сначала делают декомпозицию, а затем строить умножение или деление многобайтных данных. Если машина ориентирована на научно технические расчеты, то требуются операции над данными с плавающей запятой и там они имеются. Говоря о малых ЭВМ, то, собственно говоря, команд с плавающей арифметикой нет. Но операция сложения и вычитания выполняются подпрограммами или с помощью подпроцессора. Команды десятичной арифметики. Основу десятичной арифметики в любых ЭВМ составляют команды двоичной арифметики. Обычно к эти командам относят команды десятичной коррекции. Обычно эти команды зависят от того, какой формат используется (упакованный или неупакованный). Не зависимо от формата, команды основаны на аккумуляторном способе (т.е. команды десятичной коррекции безадресные). В этом случае десятичная обработка состоит из двух фаз: 1) соответствующее двоичное действие 2) коррекция с учетом десятичного числа.

2. Команды логических операций. Логические команды в системе команд ЭВМ играют не только вспомогательную роль, но в логических задачах могут быть основными операторами обработки. Для этого система логических операций в ЭВМ должна быть функционально полной. Как правило, а систему команд закладываются избыточные логические операции. Операции выполняются побитно и одновременно справа на лево. Команды логической обработки одно и двух операндные. Одноместную операцию реализует отрицание: NOT dst; Схема dst:= ⎤(dst). Двухоперандные логические операции реализуют: &, ∪, ⊕. AND dst,src; OR dst,src; XOR dst,src; dst:=(dst)*(src);. Чаще всего логические операции применяются для решения трех задачек.

1. Маскирование и выделение определенных разрядов операндов. Реализуется с помощью операции конъюнкции (&) с заданной маской

2. Формирование требуемых значений в требуемых битах (с помощью ∪).

3. Инвертирование определенных битов (с помощью ⊕) Логические операции избирательно действуют на флаги, т.е. часть флагов после выполнения операции не изменяются (OVR:=0; CY:=0), некоторые могут иметь неопределенное значение (AF:=?). В системе команд логических операций еще существуют команды (TEST dst,src; Схема (dst)&(src)). В следствии выполнения этой операции, результат никуда не записывается, но формируются все флаги.

3. Команды сдвигов. Все реализуемые команды сдвигов могуи быть разделены по признакам:

1. вид сдвига (арифметический или логический)

2. направление сдвига

3. характер сдвига (простой или циклический)

4. по количеству разрядов, на которое сдвигается операнд после выполнения операции.

Поэтому в большинстве ЭВМ команда имеет операционно-адресную систему.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]