ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Імітатор роботи процесора
         

     

    Комп'ютерні науки
    Введення.
    У своїй роботі я спробував викласти загальну схему роботи процесора і проілюструвати її за допомогою програми-імітатора.
    У першій частині курсової роботи мною викладені основні теоретичні відомості про логічне пристрої мікропроцесора, його призначення і принципи роботи. При цьому я не орієнтувався на конкретний тип процесора.
    У другій частині я розглядаю керівництво користувача до своєї програми-імітаторів. Дана програма написана в середовищі Delphi. При написанні даної програми я орієнтувався на процесор типу PDP, як найбільш відповідного для вивчення і найбільш часто розглядається в підручниках інформатики.
    Мікропроцесор як основа ЕОМ.
    Внутрішня структура мікропроцесора.
    Будь-яка ЕОМ призначена для обробки інформації причому, як правило, здійснює цю обробку опосередковано - представляючи інформацію у вигляді чисел. Для роботи з числами машина має спеціальну найважливішу частину - мікропроцесор. Це універсальне логічне пристрій, який оперує з двійковими числами, здійснюючи найпростіші логічні і математичні операції, і не просто як доведеться, а відповідно до програми, тобто в заданій послідовності. Для зберігання цієї заданої послідовності служать запам'ятовувальні пристрої - ЗУ. ЗУ бувають постійними - ПЗУ, в яких інформація зберігається, не змінюючись як завгодно довго, і оперативними - ОЗУ, інформація в яких може бути змінена в будь-який момент відповідно до результатів її обробки. Процесор спілкується з ОЗУ і ПЗУ через так зване адресний простір, в якому кожна комірка пам'яті має свою адресу.
    МП складається з набору регістрів пам'яті різного призначення, які певним чином пов'язані між собою і обробляються відповідно до деякої системою правил. Реєстр - це пристрій, призначений для зберігання і обробки двійкового коду. До внутрішніх регістрів процесора відносять: лічильник адреси команд, вказівник стеку, регістр станів, регістри загального призначення.
    Наявність лічильника команд було покладено ще в роботах фон Неймана. Роль лічильника полягає в збереженні адреси чергової команди програми й автоматичному обчисленні адреси наступної. Завдяки наявності програмного лічильника в ЕОМ реалізується основний цикл виконання послідовно розташованих команд програми.
    Стек - це особливий спосіб організації пам'яті, при використанні якого достатньо зберігати адреса останньої заповненої комірки ОЗУ. Саме адреса останньої заповненої комірки ОЗУ і зберігається в покажчику стека. Стек використовується процесором для організації механізму переривань, обробки звернення до підпрограм, передачі параметрів і тимчасового зберігання даних.
    У регістрі станів зберігається інформація про поточні режимах роботи процесора. Сюди ж можна відслідковувати результати виконуваних команд, наприклад: чи результат дорівнює нулю, негативний чи він, чи не виникли в ході операції помилки і т.п. Використання та аналіз у цьому регістрі відбувається побітне, кожен біт регістра має самостійне значення.
    Регістри загального призначення (РОН) служать для зберігання поточних оброблюваних даних чи їх адреси в ОЗУ. У деяких процесорів регістри функціонально рівнозначні, в інших призначення регістрів суворо обмовляється. Інформація з одного регістру може віддаватися в іншій.
    Система команд мікропроцесора
    Незважаючи на бурхливу еволюцію обчислювальної техніки, основний набір команд доволі мало змінився. Система команд будь-який ЕОМ обов'язково містить такі групи команд обробки інформації.
    1. Команди передачі даних (перепис), що копіюють інформацію з одного місця в інше.
    2. Арифметичні операції, до яких в основному відносять операції додавання і віднімання. Множення і ділення зазвичай реалізується за допомогою спеціальних програм.
    3. Логічні операції, що дозволяють комп'ютера проводити аналіз одержуваної інформації. Найпростішими прикладами команд даної групи можуть служити порівняння, а також відомі логічні операції і, або, не.
    4. Зрушення двійкового коду ліворуч і праворуч. У деяких випадках зрушення використовуються для реалізації множення і ділення.
    5. Команди введення і виведення інформації для обміну з зовнішніми пристроями. В деяких ЕОМ зовнішні пристрої є спеціальними службовими адресами пам'яті, тому введення і вивід здійснюється за допомогою команд перепису.
    6. Команди керування, що реалізують нелінійні алгоритми. Сюди відносять умовний і безумовний переходи, а також команди звернення до підпрограмі (перехід з поверненням). Часто до цієї групи відносять операції з управління процесором типу зупинка чи ні операції.
    Будь-яка команда ЕОМ зазвичай складається з двох частин - операційної і адресної. Операційна частина що також називається кодом операції вказує, яку дію необхідно виконати з інформацією. Операційна частина є у будь-якої команди. Адресна частина описує, де використовується інформація зберігається і куди помістити результат. У деяких командах керування роботою машини адресна частина може бути відсутніми, наприклад, у команді зупину.
    Код операції можна уявити собі як деякий умовний номер у загальному списку команд. В основному цей список побудований у відповідності з певними внутрішніми закономірностями.
    Адресна частина має значно великою різноманітністю. Основу адресної частини складає операнд. Залежно від кількості можливих операндів команди можуть бути одно-і двоадресного. У двоадресного командах результат записується або в спеціальний регістр (суматор), або замість одного з операндів.
    Способи адресації даних
    Способи (або методи) адресації не що інше, як способи вказівки на ті чи інші комірки пам'яті, з якими повинен маніпулювати оператор. Існує багато різних методів адресації. Кількість їх залежить від типу процесора. Наявність великої кількості способів адресації забезпечує високу гнучкість в побудові програм і є великою перевагою системи команд даного типу ЕОМ. Способи адресації практично однакові для всіх команд, в яких присутні операнди. У цьому розділі я детально розглядаю тільки три основні методи адресації, які застосовуються майже у всіх процесорах.
    Реєстрова адресація. При цьому способі операндом є один з регістрів загального призначення. Число зберігається безпосередньо в реєстрі. Записується як Rn, де n - номер регістра.
    Непряма адресація. При цьому способі адресації в одному з регістрів загального призначення міститься не саме число, з яким потрібно працювати, а його адресу, то є номер комірки пам'яті, в якому число знаходиться. Записується як (Rn), де n - номер регістра.
    Автоінкрементним адресація. Цей вид адресації дещо складніше двох попередніх. Крім основного дії (непрямого звернення до комірки пам'яті), при використанні цього методу, відбувається ще зміна адреси цього звернення. У даному випадку збільшується покажчик адреси комірки пам'яті, до якої ми звертаємося, тобто вміст регістра, що служить дороговказом адреси. Дане збільшення відбувається автоматично, без будь-якої команди. Записується ця адресація як (Rn) +. Те, що знак + стоїть після імені регістра, натякає на порядок виконання команди: спочатку відбувається операція з осередком, на яку вказує адреса поміщений у регістр Rn, а потім вже вміст регістра збільшується на 2 (якщо оператор працює зі словом, то перехід до адреси наступного слова), або на 1 (якщо оператор працює з байтом, перехід до адреси наступного байта). Даний спосіб адресації застосовується для роботи з масивами і при використанні стека (наприклад, при використанні підпрограм).
    Існує ще один особливий спосіб адресації, який розглядається окремо. Мова йде про роботу зі стеком. Стек - неявний спосіб адресації даних, при якому інформація записується і зчитується тільки послідовним чином з використанням покажчика стека. Стек завжди має єдиний вхід і вихід інформації - для зберігання його адреси і потрібен покажчик стека. При запису даних у стек процесор виконає наступне:
    1) зменшить покажчик стека на 2 (ціле число займає в пам'яті 2 байти);
    2) запише дані за отриманим адресою.
    При отриманні даних з стека процесор проробить сліду шиї:
    1) вважає дані з стека;
    2) збільшить покажчик на 2.
    У командах роботи зі стеком адреса ОЗУ не фігурує у явному вигляді. Але при цьому мовчки передбачається, що покажчик стека вже задано. При завданні покажчика треба бути уважним. Якщо покажчик стека визначений неправильно, то запис у стек може зруйнувати корисну інформацію в ОЗУ.
    Таким чином, ми розглянули способи адресації інформації, які існують майже у всіх типах процесора і які я використав у своєму імітаторі.
    Керівництво користувача.
    Опис програми
    Викладену вище структуру мікропроцесора я спробував реалізувати у своїй програмі.
    Основну частину програми складає Редактор. Він являє собою місце, де вводиться програма, яку виконує процесор. Кожна команда вводиться в свою допомогу, що має адресу. Розмір адресного простору редактора становить 1Кб. Початкова осередок має адресу 1000, кінцева - 2024. Як операнда в одно-і двоадресного командах виступає один з регістрів загального призначення. Я виділив наступну систему команд.
    1. Одноадресних команди.
    Представлені в наступній формі: Операція операнд ОП1.
    Очистити ОП1-обнуляє значення операнда.
    Збільшити на 1 ОП1 - збільшує значення операнда.
    Зменшити на 1 ОП1 - зменшує значення операнда.
    2. Двоадресного команди.
    Представлені в наступній формі: Операція перший операнд ОП1 другу операнд ОП2.
    Переслати ОП1 в ОП2 - пересилає значення першого операнда в другій операнд.
    Додати ОП1 до ОП2-додає значення першого операнда до другого операнд, результат у другому операнд.
    Відняти ОП1 з ОП2 - віднімає значення першого операнда з другого операнда, результат у другому операнд.
    Порівняти ОП1 з ОП2 - порівнює різниця другого і першого операнда з нулем, значення операндів не змінюються, результат впливає на стан регістра станів.
    3. Безадресні команди.
    Повернення з підпрограми - здійснює повернення з підпрограми в клітинку, наступну за командою що викликала цю підпрограму, використовується тільки в підпрограма
    Стоп - команда зупину, ставиться обов'язково в кінці програми, після її виконання ні які команди не виконуються.
    4. Команди переходу.
    Перехід на К слів - безумовний перехід - здійснює перехід на К слів.
    Виклик підпрограми за адресою - перехід на адресу К з запам'ятовуванням адреси повернення для команди повернення з підпрограми.
    Якщо перехід на К слів - перехід на К слів, якщо результат 0.
    Якщо = перехід на К слів - перехід на К слів, якщо результат = 0.
    Якщо> = перехід на К слів - перехід на К слів, якщо результат> = 0.
    Якщо> перехід на К слів - перехід на К слів, якщо результат> 0.
    Якщо <перехід на К слів - перехід на К слів, якщо результат
    Якщо
    R5 = +00000 1004 Збільшити на 1 R5 1034 3
    R7 = +01000 1006 Порівняти R0 з R1 1036 -4
    1008 Якщо
    1010 Cтоп

    4. Програма з підпрограмою.
    Дано два масиви однакової розмірності. Провести обмін максимальними елементами. В якості підпрограми оформити знаходження максимального елемента масиву.
    Адреса початку першого масиву 1050 зберігається в R0. Адреса кінця першого масиву 1060 в R1. Адреса початку другого масиву 1070 в R2. Адреса кінця другого масиву 1080 в R3. Початок стека 1200 в R6.
    Регістри Редактор Пам'ять
    R0 = +01050 1000 Виклик підпрограми 1050 1
    R1 = +01060 1002 за адресою 1022 1052 2
    R2 = +01070 1004 Переслати R2 в R0 1054 3
    R3 = +01080 1006 Переслати R3 в R1 1056 -2
    R6 = +01200 1008 Переслати R4 в R2 1058 4
    R7 = +01000 1010 Переслати R5 в R3 1060 1
    1012 Виклик підпрограми ...
    1014 за адресою 1022 1070 -2
    1016 Переслати R2 в (R5) 1072 5
    1018 Переслати R4 в (R3) 1074 6
    1020 Стоп 1076 -3
    1022 Очистити R4 1078 7
    1024 Переслати R0 в R5 1080 -7
    1026 Переслати (R0) + в R4
    1028 Порівняти (R0) з R4
    1030 Якщо <перехід на 2 слів>
    1032 Переслати R0 в R5
    1034 Переслати (R0) в R4
    1036 Збільшити на 1 R0
    1038 Збільшити на 1 R0
    1040 Порівняти R0 з R1
    1042 Якщо
    1044 Повернення
    У даній програмі регістри R4 і R5 використовуються як допоміжні.
    Висновок.
    Розроблена програма-імітатор дозволяє наочно ілюструвати логічну структуру процесора і показати як він виконує програми написані користувачем. Фактично мій імітатор багато в чому повторює написану для ПЕОМ "Yamaha" програму-імітатор PDP.
    Програма призначена для вивчення основних принципів пристрої ЕОМ, а саме, пристрої мікропроцесора як основної частини практично будь-який ЕОМ. Даний імітатор дозволяє користувачеві написати свою програму, використовуючи дану систему команд, і простежити, як процесор виконує задану програму. У систему команд імітатора були відібрані найбільш важливі інструкції, призначені для обробки цілих чисел.
    Як вже було сказано дана програма написана в середовищі Delphi і зберігається на диску у файлі pdp.exe. Приклади запропоновані в тексті курсової роботи ви також зможете знайти на диску в файлах test1.pdp, test2.pdp, test3.pdp, test4.pdp. Програма призначена для роботи на компьтеров PC AT 486 і вище. На комп'ютері також необхідна наявність операційної системи WINDOWS'95/98. Рекомендується також мінімальна роздільна здатність екрану 800 на 600.
    Література.
    1. Еремин Е. А. Як працює сучасний комп'ютер. - Пермь, 1997.
    2. Зальцман Ю. А. Архітектура та програмування мовою асемблера БК-0010. Інформатика і освіта, 1990, № 1-4.
    3. Смирнов А. Д. Архітектура обчислювальних систем. - М.: "Наука", 1990.
    4. Фаронов В. В. Delphi 3 Навчальний курс. - М.: "Нолидж", 1998.
    5. Туррот П., Брент Г. та ін Супербіблія Delphi 3. - Київ, "ДіаСофт", 1997.
    6. Орлик С. Секрети Delphi на прикладах. - М.: "Бином" 1996.
            1
            
            
    - 12 -
            
            

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status