Методика организации лабораторных работ по курсу «Архитектура вычислительных систем»
Author(s) -
Олександр Агасійович Хараджян
Publication year - 2013
Publication title -
new computer technology
Language(s) - Russian
Resource type - Journals
ISSN - 2309-1460
DOI - 10.55056/nocote.v5i1.101
Subject(s) - operating system , x86 , computer science , bios , microsoft windows , embedded system , software
Современные тенденции к использованию лицензионного программного обеспечения (с коммерческой лицензией или GPL GNU) и необходимость изучения современных архитектурных особенностей вычислительных систем требуют изменения подхода к построению лабораторных работ по курсу «Архитектура вычислительных систем» на базе процессоров Intel x86. В настоящее время в большинстве случаев лабораторные работы содержат задания на ассемблере или требуют низкоуровневого программирования устройств на языках высокого уровня (на уровне BIOS, портов, прямого доступа к видеопамяти, резидентных программ). Такой подход имеет ряд недостатков, т.к. реализуем только в DOS-подобных ОС. На современных компьютерах с ОС W2k, XP такие работы реализуются только виртуально, т.к. в современных ОС прямой доступ к аппаратуре блокирует или эмулирует ОС, либо в операционной системе MS-DOS, которую загружают с дискеты.Все современные ОС работают в защищенном режимеи обладают следующими особенностями:функции BIOS недоступны;для добавления обработчиков аппаратных прерываний необходимо иметь привилегии ОС.линейная адресация памяти.В качестве одного из подходов можно предложить разработку драйверов и служб для ОС Windows. При этом, во-первых, студентам необходимо дать административные права и доступ к реестру Windows, что крайне не желательно, и, во-вторых, иметь средства разработки драйверов DDK и Visual Studio, которые являются дорогостоящими лицензионными продуктами. Однако и при таком подходе работа с устройствами на низком уровне все равно трудно реализуема.Как альтернативный вариант, возможно использование ОС с лицензией GPL GNU, например, Linux, и соответствующими средствами разработки. Однако и в этом случае возникают проблемы.Во-первых, также как и в Windows, прямого доступа к устройствам нет, и для полноценного управления требуется разработка полнофункционального драйвера. Однако в системе присутствуют файлы, которые сопоставлены с физическими и логическими устройствами, что позволяет исследовать логическую структуру устройств без необходимости их низкоуровневого программирования. Использование этих файлов позволяет обеспечить доступ к устройствам в соответствии с правами пользователя.Если все таки возникает необходимость низкоуровневого программирования устройств, то возможно использование более открытой ОС с точки зрения программирования системных ресурсов, например QNX Momentix, которая хотя и не является ОС GNU, но предусматривает свободное распространение.Компьютерные аудитории разных факультетов имеют разные технические возможности и различный набор ПО. Поэтому при разработке курса лабораторных работ поставлена задача оптимизировать задания и необходимое ПО таким образом, что бы при смене аудитории и ОС задания лабораторных работ не требовали изменения и уточнения, т.е. единообразно исполнялись на любой платформе.Таким образом, можно предложить следующие подходы к построению курса лабораторных работ по архитектуре:архитектура процессора и памяти под ОС Windows и gcc, Dev-C++.архитектура системы (дисковые накопители и пр.) под (Linux, QNX) и gcc.вся архитектура под Linux, QNX и gcc.С учетом вышеизложенного, был разработан унифицированный курс архитектуры, который включает следующие лабораторные работы:Определение типа процессора.Определение характеристик кэш-памяти.Исследование модулей MMX, SSE.Файловая система FAT12.Загрузочные секторы MBR, PBR.Взаимодействие с клавиатурой.Взаимодействие с мышью.Взаимодействие с видеоконтроллером.Задания некоторых лабораторных работ представлены ниже.1. Определения модели процессора IA-32Изучить различия между процессорами семейства IA-32 и на их основе научиться определять модель процессора. Написать программу для определения модели процессора и его функциональных возможностей.2. Исследование кэш-памятиИзучить особенности построения и работы кэш-памяти микропроцессоров семейства IA-32. Определить эффективность обхода элементов памяти: прямой последовательный, обратный последовательный, случайный. Определение степени ассоциативности кэш-памяти.3. Файловая система FAT12Разработать программу для чтения загрузочной записи дискеты, отображения содержимого корневого каталога и выбранного подкаталога, а также просмотра содержимого выбранного файла.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom