Лабораторные работы по архитектуре компьютеров. Лабораторные-работы-по-архитектуре-компьютера. Лабораторные работы по архитектуре компьютера
Скачать 0.74 Mb.
|
1 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САХАЛИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» ЛАБОРАТОРНЫЕ РАБОТЫ ПО АРХИТЕКТУРЕ КОМПЬЮТЕРА Учебное пособие Южно-Сахалинск СахГУ 2016 2 Печатается по решению учебно-методического совета Сахалинского государственного университета, 2014 г. Рецензенты: Никонов Ю. Ю., начальник отдела автоматизированных информационных технологий ФГБУ «Сахалинское УГМС»; Максимов В. П., профессор кафедры теории и методики об- учения технологии и предпринимательству ФГБОУ ВПО «СахГУ», доктор педагогических наук, профессор. Авторский коллектив: М. А. Смирнова, Е. Д. Уткин, О. А. Федоров, Д. С. Богданов, М. А. Некрасов. Лабораторные работы по архитектуре компьютера : учебное пособие / М. А. Смирнова, Е. Д. Уткин, О. А. Федо- ров [и др.]. – Южно-Сахалинск : изд-во СахГУ, 2016. – 60 с. ISBN 978-5-88811-528-2 Целью данной работы является оказание методической по- мощи учащимся и преподавателям для проведения лаборатор- ного практикума по дисциплине «Архитектура компьютера». Пособие включает описания лабораторных работ с элемента- ми программирования на ассемблере в среде DEBUG для ис- следования работы виртуального режима процессоров Intel. © Смирнова М. А., 2016 © Уткин Е. Д., 2016 © Федоров О. А., 2016 © Богданов Д. С., 2016 © Некрасов М. А., 2016 © Сахалинский государственный университет, 2016 УДК 004.2(075.32) ББК 32.973-02я723 Л12 УДК 004.2(075.32) ББК 32.973-02я723 ISBN 978-5-88811-528-2 Л12 3 СОДЕРЖАНИЕ ВВЕДЕНИЕ .............................................................................4 РАБОТА 1. Системы счисления .............................................7 РАБОТА 2. Центральные и внешние устройства ПК ........15 РАБОТА 3. Отладчик DEBUG как средство для ознакомления с архитектурой INTEL 8086 ..................29 РАБОТА 4. Микропроцессор и память компьютера ..........35 РАБОТА 5. Программные и аппаратные прерывания .......48 РАБОТА 6. Изучение системы команд ассемблера ............54 ЛИТЕРАТУРА ........................................................................58 4 ВВЕДЕНИЕ В целях интеграции теории и практики в вузах в послед- нее время получают широкое распространение комплексные лабораторные работы, проводимые на широком техническом фоне с применением разнообразной аппаратуры и компьютера в условиях, близких к реальным, в которых будет работать бу- дущий специалист. Лабораторная работа – существенный элемент учебного процесса в вузе, в ходе которого обучающиеся сталкиваются с самостоятельной практической деятельностью в конкретной области исследования. Как и другие виды практических заня- тий, лабораторные занятия являются средним звеном между углубленной теоретической работой обучающихся на лекциях и применением знаний на практике. Эти занятия удачно соче- тают элементы теоретического исследования и практической работы. Выполняя лабораторные работы, учащиеся лучше усваива- ют программный материал, так как многие определения и фор- мулы, казавшиеся несколько абстрактными, становятся вполне конкретными. Происходит соприкосновение теории с практи- кой, что в целом содействует изучению сложных вопросов на- уки и становлению обучающихся как будущих специалистов. Само значение слова «лаборатория» (от лат. «labor» – труд, работа, трудность, трудиться, стараться, хлопотать, преодоле- вать затруднения) указывает на сложившиеся понятия, связан- ные с применением умственных и физических усилий к изы- сканию ранее неизвестных путей для разрешения научных и жизненных задач [6]. Тематическое наполнение предлагаемых лабораторных работ практикума основывается на государственном образо- вательном стандарте по дисциплине «Архитектура компьюте- ра», а тематическая разбивка осуществляется по логическим уровням, предложенным в книге Э. Таненбаум [16] (табл. 1.1). Такое разделение дает понимание того, что компьютер есть сложная иерархическая структура, основанная на простых принципах (каждый последующий уровень строится из бло- 5 ков предыдущего уровня). Разделяя таким образом теоретиче- ский материал, выделяются ключевые моменты по каждому из уровней. Закрепление ключевых моментов и является целью каждой лабораторной работы. Таблица 1.1 Тематическая таблица по логическим уровням Название темы ГОС Номер лабораторной работы История развития компьютерной техники, поколения ЭВМ и их классификация – Центральные и внешние устройства ЭВМ, их характеристики 2 и 4 Кабельная и шинная системотехника 2 Микропроцессор и память компьютера 4 Система прерываний, регистры и модель доступа к памяти 3, 4 и 5 Защищенный режим работы процессора как средство реализации многозадачности – Принципы управления внешними устройствами персонального компьютера 5 и 6 Базовая система ввода-вывода 6 Ассемблер как машинно ориентированный язык программирования 3, 4, 5 и 6 Понятие о микропрограммировании 3, 4, 5 и 6 Современные тенденции развития архитектуры ЭВМ – Успех лабораторных занятий зависит от многих слагае- мых: от теоретической, практической и методической подго- товленности преподавателя, его организаторской работы по подготовке занятия, от состояния лабораторной базы и мето- дического обеспечения, а также от степени готовности самих обучающихся, их активности на занятии. Формы организации лабораторного занятия зависят, прежде всего, от числа студентов, содержания и объема программного материала, числа лабораторных работ, а также от вместимости 6 учебных помещений и наличия оборудования. В зависимости от этих условий в вузах применяют следующие формы лабора- торных занятий: фронтальную, по циклам, индивидуальную и смешанную (комбинированную) [6]. Данный практикум ориентирован на фронтальную форму проведения занятий в компьютерном классе; непосредственно после чтения лекционного материала с последующей индиви- дуальной работой преподавателя с учащимися по каждой теме. Такая форма обучения более рациональна, так как вовлекает на начальном этапе сразу всех в процесс работы. И только по- сле обсуждения и понимания хода работы выполняются инди- видуальные задания. 7 РАБОТА 1. СИСТЕМЫ СЧИСЛЕНИЯ Цель работы: изучение позиционных систем счисления. Приборы и принадлежности: компьютер. 1.1. Используемые системы счисления Система счисления – символический метод записи чисел или способ представления чисел с помощью письменных зна- ков, именуемых цифрами. Число – это некоторая абстрактная сущность для описания количества чего-либо. Цифры – это знаки, используемые для записи чисел. Поскольку чисел гораздо больше, чем цифр, то для записи числа обычно используется набор (комбинация) цифр. Существует много способов записи чисел с помощью цифр. Каждый такой способ называется системой счисления. Вели- чина числа может зависеть от порядка цифр в записи, а может и не зависеть. Это свойство определяется системой счисления и служит основанием для простейшей классификации таких систем. Указанное основание позволяет все системы счисления раз- делить на три класса (группы): позиционные, непозиционные и смешанные. Примером «чисто» непозиционной системы счисления явля- ется римская система, а смешанной – денежная система единиц. Позиционные системы счисления – это системы счисле- ния, в которых значение цифры напрямую зависит от ее пози- ции в числе. Например, число 01 обозначает единицу, 10 – десять. Позиционные системы счисления позволяют легко произво- дить арифметические расчеты. Представление чисел с помощью арабских цифр – самая распространенная позиционная система счисления, она назы- вается «десятичной системой счисления». Десятичной систе- мой она называется потому, что использует десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Для составления машинных кодов удобно использовать не де- 8 сятичную, а двоичную систему счисления, содержащую только две цифры 0 и 1. Программисты для вычислений также пользу- ются восьмеричной и шестнадцатеричной системами счисления. Количество цифр, используемых в системе счисления, на- зывается ее «основанием». В десятичной системе основание равно десяти, в двоичной системе – двум, а в восьмеричной и шестнадцатеричной – соответственно, восьми и шестнадцати. В q-ичной системе счисления количество цифр равно q и ис- пользуются цифры от 0 до q – 1. Для работы необходимо знать представления десятичных чисел от нуля до 15 в системах счисления с основаниями q = 2, 8, 16 (см. табл. 1.2). Таблица 1.2 Представления десятичных чисел в разных системах счисления q = 10 q = 2 q = 8 q = 16 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Кроме этого, полезно знать десятичные значения чисел 2 k от k = 0 до k = 10 (см. таб. 1.3). 9 Таблица 1.3 Значения чисел 2 k k 0 1 2 3 4 5 6 7 8 9 10 2 k 1 2 4 8 16 32 64 128 256 512 1024 Перевод чисел из одной системы счисления в другую Для перевода целого числа N с q-ичным основанием в деся- тичное число записывают в виде многочлена, а затем вычисля- ют его по правилам десятичной арифметики: N = a n · q n + a n-1 · q n-1 ... + a 2 ·q 1 + a 1 · q 0 Здесь a n – это цифры числа, q – основание системы счисления, n – 0, 1, 2 ... . Пример: (11001) 2 = 1 · 2 4 + 1 · 2 3 + 0 · 2 2 + 0 · 2 1 + 1 · 2 0 = = 1 · 16 + 1 · 8 + 0 · 4 + 0 · 2 + 1 · 1 = (25) 10 (221) 3 = 2 · 3 2 + 2 · 3 1 · 1 · 3 0 = 2 · 9 + 2 · 3 + 1 · 1 = (25) 10 (221) 3 = 2 · 3 2 + 2 · 3 1 · 1 · 3 0 = 2 · 9 + 2 · 3 + 1 · 1 = (25) 10 (31) 8 = 3 · 8 1 + 1 · 8 0 = 3 · 8 + 1 · 1 = (25) 10 (534D) 16 = 5 · 16 3 + 2 · 16 2 + 4 · 16 1 +13 · 16 0 = = 20480 + 512 + 64 +13 = (21069) 10 Примечание: при работе с различными системами счисле- ния число записывают в скобках, а за скобками – основание системы. Для обратного преобразования целых чисел (из десятичной системы счисления в систему с основанием q) число N делят на q и записывают остатки от деления до тех пор, пока частное от предыдущего деления не станет равным нулю. Пример: преобразуем число 25 в двоичную систему: 10 Когда последнее частное стало равно нулю, записывают все остатки подряд от последнего к первому. Таким образом, полу- чили число в двоичной системе счисления – ( ) 2 11001 Для перевода смешанных чисел в двоичную систему счис- ления требуется отдельно переводить их целую часть и дроб- ную части. В записи результата целая часть перевода отделяет- ся от дробной запятой в соответствии с формулой: N = ± a n a n-1 ... a 1 a 0 , a -1 a -2 ... a -n Основные системы счисления Двоичная система счисления. В компьютерной технике в основном используется двоичная система счисления. Такую си- стему очень легко реализовать в цифровой микроэлектронике, так как для нее требуется всего два устойчивых состояния (0 и 1). Двоичная система счисления может быть непозиционной и позиционной. Реализовано это может быть присутствием какого- либо физического явления или его отсутствием. Например: есть электрический заряд или его нет, есть напряжение или нет, есть ток или нет, есть сопротивление или нет, отражает свет или нет, намагничено или не намагничено, есть отверстие или нет и т. п. Восьмеричная система счисления – позиционная цело- численная система счисления с основанием 8. Для представле- ния чисел в ней используются цифры от 0 до 7. Восьмеричная система счисления часто используется в об- ластях, связанных с цифровыми устройствами. Характеризует- ся легким переводом восьмеричных чисел в двоичные и обрат- но, путем замены восьмеричных чисел на триады двоичных. Исходное число Частное Остаток 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 4 a 3 a 2 a 1 a 0 a Результат: ( ) ( ) 2 10 11001 25 = 11 Ранее эта система широко использовалась в программирова- нии и компьютерной документации, однако в настоящее время почти полностью вытеснена шестнадцатеричной системой. Для перевода двоичного числа в восьмеричное исходное число разбивают на триады влево и вправо от запятой; отсут- ствующие крайние цифры дополняют нулями. Затем каждую триаду записывают восьмеричной цифрой (см. табл. 1.2). Пример: иллюстрация перевода двоичного числа в восьме- ричное число: Шестнадцатеричная система счисления – позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятич- ные цифры от 0 до 9 и латинские буквы от A до F для обозна- чения цифр от ( ) 2 1010 до ( ) 2 1111 , то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) 16 Для перевода двоичного числа в шестнадцатеричное ис- ходное число разбивают на тетрады влево и вправо от запя- той; отсутствующие крайние цифры дополняют нулями. За- тем каждую тетраду записывают шестнадцатеричной цифрой (см. табл. 1.2). Пример: иллюстрация перевода двоичного числа в шест- надцатеричное число: 1.2. Варианты заданий к лабораторной работе (см. табл. 1.4) Задание 1. Перевести целые числа из десятичной системы счисления: – в двоичную; – в восьмеричную; – в шестнадцатеричную. Задание 2. Перевести целые числа из двоичной системы счисления: 8 2 2 4 3 6 2 63,42 010 100 , 011 110 010 110011,100 N EF 7AB, 1111 1110 , 1011 1010 0111 N 16 2 F E B A 7 12 – в восьмеричную; – в шестнадцатеричную; – в десятичную. Задание 3. Перевести целые числа из шестнадцатеричной системы счисления: – в двоичную; – в восьмеричную; – в десятичную. Задание 4. Сложить: – двоичные числа; – восьмеричные числа; – шестнадцатеричные числа. Задание 5. Найти разность: – двоичных чисел; – восьмеричных чисел; – шестнадцатеричных чисел. Задание 6. Вычислить значение выражения и представить в десятичной системе счисления. Таблица 1.4 Варианты заданий к лабораторной работе Вариант 1 Вариант 2 Вариант 3 Вариант 4 Вариант 5 Задание 1 a) 2515 b) 3084 c) 9042 a) 1052 b) 1387 c) 7634 a) 2042 b) 5548 c) 2372 a) 5911 b) 6321 c) 7629 a) 3988 b) 5147 c) 1123 Задание 2 a) 110101 b) 111010 c) 101111 a) 011001 b) 101010 c) 010101 a) 100110 b) 110011 c) 101111 a) 011001 b) 100001 c) 001001 a) 100010 b) 111000 c) 011111 Задание 3 a) 1F52 b) 5521 c) 1101 a)1A1B b) 2350 c) 3239 a) 5EE2 b) 2682 c) 2461 a) 7B1B b) 3458 c) 6537 a) 1C2D b) 6824 c) 8673 Задание 4 a) 1011 + + 0111 b) 573 + 325 c) F1 + E7 a) 0110 + + 1100 b) 274 + 235 c) 93 + 2C a) 1010 + + 0101 b) 271 + 123 c) 58 + 79 a) 1101 + + 1101 b) 632 + + 714 c) 51 + 9D a) 1010 + + 1010 b) 521+ +623 c) 36 + AB 13 Вариант 1 Вариант 2 Вариант 3 Вариант 4 Вариант 5 Задание 5 a) 1011 – – 0111 b) 573 – 325 c) F1 – E7 a) 1110 – – 1100 b) 274 – 235 c) 93 – 2C a) 1010 – – 0101 b) 271 – 123 c) A8 – 79 a) 1101 – – 1001 b) 732 – 714 c) B1 – 9D a) 1010 – – 1000 b) 721 –623 c) C6 – AB Задание 6 23 8 + A2 16 * * 1001 2 B1 16 – – 1011 2 * * 117 8 51 8 * 21 16 – – 45510 (59 16 + + 1110 2 ) * * 456 8 25 8 * * 567 16 – – 10101 2 1.3. Контрольные вопросы 1. Что называется системой счисления? 2. Какие системы счисления называются непозиционны- ми? Почему? Приведите пример такой системы счисления и записи чисел в ней. 3. Какие системы счисления применяются в вычислитель- ной технике: позиционные или непозиционные? Почему? 4. Как изображается число в позиционной системе счисле- ния? 5. Что называется основанием системы счисления? 6. Как можно представить целое положительное число в позиционной системе счисления? 7. Какие системы счисления применяются в компьютере для представления информации? 8. По каким правилам выполняется сложение двух положи- тельных целых чисел? 9. Каковы правила выполнения арифметических операций в двоичной системе счисления? 10. Для чего используется перевод чисел из одной системы счисления в другую? 11. Сформулируйте правила перевода чисел из системы счисления с основанием р в десятичную систему счисления и обратно: из десятичной системы счисления в систему счисле- ния с основанием s. Приведите примеры. 12. Как выполнить перевод чисел из двоичной системы счисления в восьмеричную систему и обратно? Из двоичной Продолжение таблицы 1.4 14 системы счисления в шестнадцатеричную систему и обратно? Приведите конкретные примеры. 13. По каким правилам выполняется перевод чисел из вось- меричной в шестнадцатеричную систему счисления и наобо- рот? Приведите примеры. |