
- •Самостійна робота 1
- •Самостійна робота 2
- •Самостійна робота 3
- •Самостійна робота 4
- •Самостійна робота 5
- •Домішкова провідність напівпровідників
- •Самостійна робота 6
- •1. Класифікація провідникових матеріалів (пм)
- •Самостійна робота 7
- •Самостійна робота 8
- •Самостійна робота 9
- •Електричні напівпровідникові переходи.
- •Електронно-дірковий перехід.
- •2. Утворення електронно-діркового переходу
- •Самостійна робота 10
- •Самостійна робота 11
- •Електронний - дірковий перехід без зовнішньої дії
- •Самостійна робота 12
- •Самостійна робота 13
- •Поняття інформаційної технології
- •Самостійна робота 14
- •Термокомпресорне зварювання
- •Самостійна робота 15
- •Самостійна робота 16
- •Самостійна робота 17
- •Самостійна робота 18
- •1.1 Підкладки інтегральних схем
- •1.2 Елементи іс
- •Самостійна робота 19
- •Самостійна робота 20
- •Самостійна робота 21
- •Самостійна робота 22
- •Статичні вольтамперні характеристики біполярного транзистора.
- •Самостійна робота 23
- •Самостійна робота 24
- •Самостійна робота 25
- •Параметры
- •Самостійна робота 26 Напівпровідникові діоди
- •Самостійна робота 27 Види генераторів
- •Самостійні 2частина
- •Самостійна робота №1 Сиcтема числення
- •Самостійна робота №2,3 Закони булевої алгебри
- •Самостійна робота №4 Феромагнітні матеріали
- •Самостійна робота №5 Магнітні підсилювачі
- •Самостійна робота №6 Магнітні трансформатори
- •Самостоятельная робота №7 Послідовні логічні схеми
- •Самостійна робота №8 Дешифратори й індикатори
- •Самостійна робота №9 Системи керування імпульсних перетворювачів
- •Самостиійна робота №10 Поверхневі явища напівпровідника Дослідження схем за допомогою пакету Micro-Cap поверхневі явища в напівпровідниках
- •Дослідження схем за допомогою пакету Micro-Cap
- •Самостійна робота №11 Запам'ятовувальні пристрої
- •Самостійна робота № 12 Пристрої збереження та передачі
- •Самостійна робота №13 Архітектура пеом. Принцип мікропроцесорного керування
- •Самостійна робота №14 Мультивібратори
- •Самостійна робота № 15
- •Самостійна робота № 16
- •Самостійна робота № 17
- •Програма на мові Ассемблера
- •Самостійна робота № 18
- •Самостійна робота № 19
- •Самостійна робота № 20
- •Самостійна робота № 21
- •Самостійна робота № 22
- •Структурна схема кр580вт57 Самостійна робота № 23
- •Самостійна робота № 24
- •Самостійна робота № 25 Мікропроцесор к1810вм86
- •Програмно-доступні регістри мікропроцесора Самостійна робота № 26 Організаційна робота мікропроцесора к1810вм86
- •Самостійна робота № 27 Функціонування цп
- •Самостійна робота № 30 Архітектура Мікроконтролера pic
- •Управління переривання в мікроконтроллерах pic
Програмно-доступні регістри мікропроцесора Самостійна робота № 26 Організаційна робота мікропроцесора к1810вм86
По організації пам'яті МП К1810ВМ86 є машиною фон-неймановского типу, так як пам'ять даних і пам'ять команд знаходяться в єдиному адресному просторі. Крім того, МП К1810ВМ86 відноситься до ОС з програмним управлінням, при якому необхідний дешифратор команд.
Фізична адреса
МП К1804 має 20-розрядну ША, яка забезпечує адресний простір в 1 Мбайт. Адреса на ША МП називається фізичною адресою. У МП широко використовуються різні способи непрямої адресації, коли джерелом адреси служать індексні і базові 16-розрядні регістри. У цьому випадку говорять про виконавче (або логічному) адресі - EA. Виконавчий адресу можна визначити як адреса в межах сторінки пам'яті, номер якої визначено сегментним регістром.
Організація зовнішньої пам'яті
Пам'ять в МП, що розробляються фірмою Intel, організована побайтно. Навіть в МП останнього покоління типу Pentium при 64-розрядної ШД пам'ять все одно організована побайтно. Для реалізації можливостей, які відкривають ШД більше ніж один байт в усіх МП цієї архітектури передбачено читання кодів з пам'яті словами. Нагадаємо, що слово - це основний формат шини даних розглянутої обчислювальної системи. Для МП К1810ВМ86 слово - це 16 розрядів, то є два байти. Тому, поряд з режимами побайтного звернення до зовнішньої пам'яті в цьому МП передбачений режим читання-запису слова.
Для можливості звернення за словами і по байтах пам'ять розділена на 2 банка з парними і непарними адресами, причому осередки з парними адресами підключаються до молодшого байту ШД, а з непарними - до старшого. Для вибору відповідного банку пам'яті використовується сигнал BHE спільно з розрядом ША0. Таким чином при проектуванні МК необхідно два ПЗП і два ОЗУ. Сигнал вибору банку пам'яті повинен враховувати таблицю наведену вище і загальний сигнал дозволу вибору пам'яті - ПЗП або ОЗУ.
Самостійна робота № 27 Функціонування цп
Основним компонентом комп'ютера є процесор. У великих ЕОМ він може подавати окремі апаратну стійку і називається центральним процесором. У ПК це одна мікросхема (зазвичай найбільша), яка називається мікропроцесором.
Призначення процесора :
До складу процесора входить так званий арифметико-логічний пристрій, що виконує обчислення над двійковими числами, керуючі пристрої, наприклад, займаються тим, що забезпечують зв'язок процесора з оперативною пам'яттю.
Склад Центрального Процесора:
арифметико-логічний пристрій;
шини даних і шини адрес;
регістри;
лічильники команд;
кеш - дуже швидка пам'ять малого обсягу,
математичний співпроцесор чисел з плаваючою крапкою.
Сучасні процесори виконуються у вигляді мікропроцесорів. Фізично мікропроцесор являє собою інтегральну схему - тонку пластинку кристалічного кремнію прямокутної форми площею всього кілька квадратних міліметрів, на якій розміщені схеми, що реалізують всі функції процесора. Кристалічна пластинка міститься в пластмасовому або керамічному плоскому корпусі і з'єднується золотими проводками з металевими штирями, щоб його можна було приєднати до системної плати комп'ютера.
Основні характеристики процесора:
Продуктивність - основна характеристика, що показує швидкість виконання комп'ютером операцій обробки інформації. Вона у свою чергу залежить від наступних характеристик:
тактова частота - визначає число тактів роботи процесора в секунду розрядність - визначає розмір мінімальної порції інформації, званої машинним словом адресний простір - розрядність адресної шини, тобто максимальний об'єм оперативної пам'яті, яка може бути встановлена на комп'ютері
З підвищенням розрядності збільшується і обсяг інформації, що обробляється процесором за один такт, що призводить до збільшення кількості тактів роботи. Чим більше розрядність, тим з більшим обсягом пам'яті може працювати процесор.
Шини процесора
З іншими учасниками комп'ютерної системи процесор зв'язаний з допомогою трьох шин: шини даних, адресної шипи п шини управління. Сигнали адресної шини керують підключенням процесора до тих чи інших осередків пам'яті (у кожної комірки є свій унікальний номер, що виконує роль адреси). За допомогою шини даних процесор здійснює обмін даними з тими елементами пам'яті, адреси яких виставлені на адресній шині. З допомогою керуючої шини в процесор вводяться команди (прийнято говорити: інструкції), згідно з якими відбувається обробка даних в процесорі.
Робоча частота процесора
Найголовніша вимога до процесора - це його продуктивність. Чим більше команд він може виконати за одиницю часу, тим бажаніше застосування даного процесора в комп'ютерній системі. У кінцевому підсумку дуже багато чого в роботі комп'ютера залежить від продуктивності цієї єдиної мікросхеми. Низька продуктивність процесора накладає обмеження на кількість програм, з якими може працювати комп'ютер, н безпосередньо позначається на ефективності використання комп'ютера. Процесор працює з тим ритмом, який йому надає тактовий генератор. Цикл роботи процесора але виконання будь-якої команди розбивається на етапи (такти). Найбільш прості команди займають лише кілька тактів, Більш складні можуть займати десятки, сотні н більшу кількість тактів. Чим вище частота, яку задає тактовий генератор, тим швидше працює процесор. Ця частота вимірюється в мегагерцах (МГц). Один мегагерц - це мільйон тактів за секунду, Робоча частота процесора - це частота тактового генератора, при якій він може стійко н надійно працювати. Інженери н вчені неухильно прагнуть підвищити цю характеристику, хоча на їх шляху стоять чисто фізичні проблеми. При дуже високих частотах змінюються властивості провідників, велику роль у них починають грати індуктивні та ємнісні властивості, збільшуються втрати на подолання реактивного опору, значно зростає внутрішнє тепловиділення, а це веде до зміни властивостей електронних мікро компонентів. Перші мікропроцесори персональних комп'ютерів працювали з тактовими частотами всього в декілька мегагерц.
Самостійна робота № 28
Взаємодія вузлів ВМ86
С
труктурна
схема в мінімальному режимі
Структурна схема в максимальному режимі
Самостійна робота № 29
Програмування
Системне програмування (або програмування систем) - рід діяльності, що полягає в роботі над системним програмним забезпеченням. Основна відмінна риса системного програмування в порівнянні з прикладним програмуванням полягає в тому, що результатом останнього є випуск програмного забезпечення, що пропонує певні послуги користувачам (наприклад, текстовий процесор). Тоді як результатом системного програмування є випуск програмного забезпечення, що пропонує сервіси по взаємодії з апаратним забезпеченням (наприклад, дефрагментація жорсткого диска), що має на увазі сильну залежність таких програм від апаратної частки. Зокрема виділимо наступне: програміст повинен зважати на специфіку апаратної частки і інші властивості системи в якій функціонує програма, використовувати ці властивості, наприклад, застосовуючи спеціально оптимізований для даної архітектури алгоритм.
Зазвичай використовується низькорівнева мова програмування або такий діалект мови програмування, яка дозволяє функціонування в оточенні з обмеженим набором системних ресурсів.
Працює максимально ефективно і має мінімальне запізнювання за часом завершення.
Має маленьку бібліотеку часу виконання (RTL) або не має її взагалі.
Дозволяє пряме управління (прямий доступ) до пам'яті і логіки, що управляє.
Дозволяє робити асемблерні вставки в код.
Відладка програми може бути утруднена при неможливості запустити її у відладчику із-за обмежень на ресурси, тому може застосовуватися комп'ютерне моделювання для вирішення цієї проблеми.
Системне програмування істотно відрізняється від прикладного, що зазвичай приводить до спеціалізації програміста в одному з них.
Низькорівнева мова програмування (мова програмування низького рівня) - мова програмування, близький до програмуванню безпосередньо в машинних кодах використовуваного реального або віртуального (наприклад, Java, Microsoft .NET) процесора. Для позначення машинних команд зазвичай застосовується мнемонічне позначення. Це дозволяє запам'ятовувати команди не у вигляді послідовності двійкових нулів і одиниць, а у вигляді осмислених скорочень слів людської мови (зазвичай англійських).
Загальновідомий приклад низкоуровнего мови - мова асемблера, хоча правильніше говорити про групу мов асемблера. Більш того! Для одного і того ж процесора існує декілька видів мови асемблера! Вони збігаються в машинних командах, але розрізняються набором додаткових функцій (директив і макросів).
Також до мов низького рівня умовно можна зарахувати MSIL, вживаний в платформі Microsoft .NET, Форт, Java байт-код.
Спочатку, програмісти безваріантно писали на мові асемблера. Експерименти з підтримкою устаткування в мовах високого рівня (1960s привели до появи таких, як BLISS і BCPL. Проте, мова програмування Сі, що зіграла значну роль в створенні UNIX, завоювала велику популярність і розповсюдилася повсюдно до 1980-м роках.
В даний час (2006) деяке застосування знайшлося для вбудовуваного C++. Реалізація основних часток в операційній системі і при використанні мереж потребує розробників системного ПО. Наприклад, реалізація постраничности (через віртуальну пам'ять) або драйвери пристроїв.
Термін Системне програмування безпосередньо пов'язаний з терміном Системний програміст. Це програміст, що працює (що створює, відладжує, діагностує і т. п.) над системним програмним забезпеченням.
Мова асемблера (автокод) - мова програмування низького рівня. На відміну від мови машинних кодів, дозволяє використовувати зручніші для людини мнемонічні (символьні) позначення команд. При цьому для перекладу з мови асемблера в машинний код, що розуміється процесором, потрібна спеціальна програма, звана асемблером.
Команди мови асемблера один до одного відповідають командам процесора, фактично, вони є зручнішою для людини символьною формою запису (мнемокод) команд і їх аргументів.
На асемблері пишуться програми або фрагменти програм, для яких критично важливі:
- швидкодія (драйвери, ігри);
- об'єм використовуваної пам'яті (завантажувальні сектори, вбудовуване (англ. embedded) програмне забезпечення, програми для мікроконтролерів і процесорів з обмеженими ресурсами, віруси, програмні захисту).
З використанням програмування на асемблері проводяться:
- оптимізація критичних до швидкості ділянок програм написаних на мові високого рівня, такому як C++. Це особливо актуально для ігрових приставок, біля яких фіксована продуктивність, і для мультимедійних кодеків, які прагнуть робити менш ресурсоємними і популярнішими;
- створення операційних систем (ОС). ОС часто пишуть на Сі, мові, яка спеціально була створена для написання однієї з перших версій Unix. Апаратні залежні ділянки коду, такі, як завантажувач ОС, рівень абстрагування від апаратного забезпечення - HAL і ядро, часто пишуться на асемблері. Асемблерний коду в ядрах Windows або Linux зовсім небагато, оскільки автори прагнуть до переносимості і надійність, але проте він присутній. Деякі любительські ОС, такі, як MENUETOS, цілком написані на асемблері. При цьому MENUETOS поміщається на дискету і містить графічний багатовіконний інтерфейс;
- програмування мікроконтролерів (МК) і інших вбудовуваних процесорів. На думку професора Танненбаума, розвиток МК повторює історичний розвиток комп'ютерів новітнього часу. На сьогоднішній день для програмування МК вельми часто застосовують ассемблер;
- створення драйверів. Деякі ділянки драйверів, що взаємодіють з апаратним забезпеченням, програмують на асемблері. Хоча в цілому в даний час драйвери прагнуть писати на мовах високого рівня у зв'язку з підвищеними вимогами до надійності. Надійність для драйверів грає особливу роль, оскільки в Windows NT і Linux драйвери працюють в режимі ядра. Одна помилка може привести до краху системи;
- створення антивірусів і інших захисних программ;
- написання трансляторів мов програмування.
Програмування на мові асемблера характерний також для нелегальних сфер діяльності в ІТ, зокрема, з використанням асемблера проводяться:
Види асемблерів
Асемблери для DOS. Найбільш відомими асемблерами для операційної системи DOS були Borland Turbo Assembler (TASM), Microsoft Macro Assembler (MASM), і Watcom Assembler (WASM). Також свого часу був популярний простою асемблер A86.
Microsoft Windows. При появі операційної системи Microsoft Windows з'явилося розширення TASM, іменоване TASM32, що дозволило створювати програми для виконання в середі Windows. Остання відома версія TASM - 5.3, що підтримує інструкції MMX, на даний момент включена в Turbo C++ Explorer. Але офіційний розвиток програми повністю зупинено.
Microsoft підтримує свій продукт під назвою Microsoft Macro Assembler. Вона продовжує розвиватися і до цього дня, останні версії включені в набори DDK. Але версія програми, направлена на створення програм для DOS, не розвивається. Крім того, Стівен Хатчессон створив пакет для програмування на MASM під назвою «MASM32».
GNU і GNU/Linux. Сюди перенаправляється запит «GNU Assembler». На цю тему потрібна окрема стаття.
Сюди перенаправляється запит «gas». На цю тему потрібна окрема стаття.
До складу операційної системи GNU входить пакет binutils, асемблер gas (GNU Assembler), що включає, використовуючий AT&T-синтаксис, на відміну від більшості інших популярних асемблерів, які використовують Intel-синтаксис.
Переносимі асемблери. Також існує відкритий проект асемблера, версії якого доступні під різні операційні системи і який дозволяє отримувати об'єктні файли для цих систем. Називається цей асемблер NASM (Netwide Assembler).
Yasm - це переписана з нуля версія NASM під ліцензією BSD (з деякими виключеннями).
flat assembler (fasm) - молодий асемблер під модифікованою для заборони перелицензирования (включаючи під GNU GPL) BSD-лицензией. Є версії для KOLIBRIOS, GNU/Linux, DOS і Microsoft Windows, використовує Intel-синтаксис і підтримує інструкції AMD64.
8051 - класична архітектура мікроконтролера. Для неї існує крос-асемблер ASM51, випущений корпорацією MetaLink. крім того багато фірм, розробники програмного забезпечення, такі як IAR або keil, представили свої варіанти асемблерів. У ряді випадків застосування цих асемблерів виявляється ефективнішим завдяки зручному набору директив і наявності середи програмування, об'єднуючу в собі професійний асемблер мова програмування СІ, відладчик і менеджер програмних проектів.
Програма приймача
org 0000h
jmp start
org 0023h
lcall uartpr ; обробка переривання від приймача
reti
org 0100h
start:
mov tmod,#00100000b ; настроювання режимів роботи таймера 1
mov ie,#10010000b ; дозвіл переривань від приемопередавача
mov tl1,#0FDh ; попередня установка таймера 1
mov th1,#0FDh
mov tcon,#01000000b ; запуск таймера 1
mov pcon,#0h ; настроювання приемопередавача
mov scon,#01010000b
jmp start
uartpr: clr ri ; скидання біта прийому, що сигналізує про закінчення
mov p2,sbuf ; відображення прийнятих даних
ret
end