РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕРА - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕРА

Краснова Е.А. 1
1Национальный исследовательский ядерный университет «МИФИ»
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
ВВЕДЕНИЕ

Вычислительные машины программируются с помощью записи определённых кодов и данных в память машины, запуска нaписанных программ и их отладку. Для того чтобы упростить задачи программирования был разработан специальный язык программирования, где вместо кодов команд записываются символьные обозначения этих команд, которые легко запоминаются. Данный язык называется Ассемблер (Assembler).

Ассемблер это программа, которая осуществляет автоматический перевод текста, в программу, представленную машинными кодами. В языке Ассемблера используются мнемоники команд микропроцессора, установленные системой команд. Есть возможность использования во входном тексте символических имен-меток для обозначения адресов и данных.

Язык Ассемблер упрощает работу, но требует от специалиста хорошего знания аппаратной части компьютера. На Ассемблере программируют и сейчас. Когда есть необходимость написать программу драйвера или управления вводом вывода для портов, язык Ассемблера предоставляет программисту все возможности микропроцессора по обработке информации, что позволяет составлять на данном языке самые короткие и самые эффективные программы. Данные программы предназначены для работы в условиях жестких ограничений, как на размер, так и на быстродействие программы. Данные достоинства покупаются усложнением разработки и отладки программного обеспечения из-за низкого уровня языка ассемблера.

1 ЭТАПЫ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Слово «компьютер» означает «вычислитель», то есть устройство для вычислений. Потребность в автоматизации обработки данных, вычислений, возникла очень давно. Одним из первых простых ручных приспособлений человека можно назвать абак, который появился в Азии в четвертом тысячелетии до нашей эры. После абак заменили счеты и другие механические приспособления, «механические часы» для операций сложения Вильгельма Шикарда; «суммирующее устройство» - первый в мире механический калькулятор Блеза Паскаля; механический калькулятор Г.В. Лейбница. Все эти устройства использовали жесткую логику работы. Лишь благодаря работам английского математика Чарльза Беббиджа стала возможной идея гибкой автоматизации механических устройств. Эта идея используется и в современных компьютерах. Суть данной идеи, реализованной им в «аналитической машине», заключается в разделении команд и данных.

Несмотря на революционность идей, эти устройства были механическими. Век электричества и появление более совершенных технологий позволили воплотить давнюю мечту в реальность.

В 1888 году Герман Холлерит сконструировал первую счетную машину, использующую электрическое реле - табулятор. В 1945 году Мочли и Экерт сконструировали новую машину, которая могла бы хранить программу в своей памяти, для упрощения процесса задания программ. К данной работе был привлечен знаменитый математик Джон фон Нейман. Он подготовил доклад об этой машине. Доклад был опубликован для многих ученых и получил широкую известность, поскольку в нем фон Нейман ясно и просто сформулировал общие принципы функционирования универсальных вычислительных устройств - компьютеров.

Большинство компьютеров сделаны в соответствии с принципами, которые изложил в своем докладе в 1945 г. Джон фон Нейман.

Говоря об истории развития вычислительной техники, можно выделить поколения машин, беря за точку отсчета момент появления соответствующей электронной базы. Вычислительной техникой первого поколения принято называть ЭВМ, которые использовали электронные лампы ENIAC (США, 1946 год, масса 30 т), БЭСМ (СССР, 1951 год, быстродействие восемь тысяч операций в секунду) и ряд других. Машины весили сотни тонн, занимали громадные залы и расходовали сотни киловатт электроэнергии, их быстродействие и надежность были минимальными, а стоимость достигала 500 - 700 тысяч долларов.

В 1948 году, стало возможным появление более мощных и дешевых ЭВМ второго поколения, благодаря изобретению транзисторов.

В 1959 году. Роберт Нойс (основатель фирмы Intel) изобрел метод, позволивший создать на одной пластинке и транзисторы, и необходимые соединения между ними. Полученные электронные схемы принято называть интегральными схемами, чипами.

В 1970 году фирма Intel начала продавать интегральные схемы памяти. Использование интегральных микросхем привело как к резкому увеличению надежности ЭВМ так и к снижению размеров энергопотребления и стоимости. И ознаменовало эру ЭВМ третьего поколения.

В 1970 году началась история ЭВМ четвертого поколения. Никому не известная американская фирма INTEL создала большую интегральную схему (БИС). Данная схема содержала в себе практически всю электронику компьютера (в 1971 году появился первый микропроцессор Intel-4004). Цена одной схемы (микропроцессора) составляла несколько десятков долларов, что привело к снижению цен на ЭВМ до уровня доступных широкому кругу пользователей.

Примерами машин данного поколения являются первый персональный компьютер Apple (1976 год) и IBM PC (1981 год). Фирма Apple является одним из крупнейших производителей персональных компьютеров, по сегодняшний день. Владельцем самого богатого и разнообразного программного обеспечения в мире. В настоящее время во мире наибольшее распространение получили IBM-совместимые персональные компьютеры, примерно восемьдесят процентов всего компьютерного парка.

СуперЭВМ стали серийно производиться в период машин четвертого поколения. Примером отечественной суперЭВМ является многопроцессорный вычислительный комплекс «Эльбрус» (быстродействие до 1,2...108 оп/с).

С конца 1980-х годов наступила пора пятого поколения ЭВМ в истории развития вычислительной техники. Технологические, конструкторские, структурные и архитектурные идеи машин пятого поколения отличаются от машин предшествующих поколений. Их структура и архитектура отличаются от фоннеймановской (классической). Высокая скорость выполнения арифметических вычислений плюс высокая скорость логического вывода. В машинах пятого поколения обширно используются модели и средства, которые разработаны в области искусственного интеллекта.

Современное поколение вычислительных машин использует технологии интегральной схемотехники и сверхбольшие интегральные схемы. Разработчики приблизились к решению проблемы искусственного интеллекта.

В настоящие время разработано большое число плат ускорителей и специализированных нейровычислителей. Нейронные ЭВМ находят применение в различных сферах деятельности человека.

Использование вместо электрических сигналов световых сигналов, которые движутся с гораздо большей скоростью являются перспективным путем создания суперпроизводительных машин.

2 МОДУЛЬНО-МАГИСТРАЛЬНЫЙ ПРИНЦИП ПОСТРОЕНИЯ ЭВМ

В основу архитектуры современных персональных компьютеров положен магистрально-модульный принцип. Модульный принцип позволяет производить модернизацию компьютера и комплектовать нужную ему конфигурацию. Модульная организация опирается на магистральный принцип обмена информацией между устройствами.

Магистраль включает в себя три многоразрядные шины. Шину данных, шину адреса и шину управления, которые представляют собой многопроводные линии. К магистрали подключаются процессор и оперативная память, а также периферийные устройства ввода-вывода и хранения информации, которые обмениваются информацией на машинном языке.

Шина данных. По шине данные передаются между устройствами. Считанные из оперативной памяти данные передаются процессору для обработки, а затем полученные данные отправляются обратно в оперативную память для хранения. Данные по шине данных могут передаваться от устройства к устройству в любом направлении.

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

Шина адреса. Выбор устройства или ячейки памяти, куда пересылаются или откуда считываются данные, производит процессор. Каждое устройство оперативной памяти имеет свой адрес. Адрес передается по адресной шине, сигналы по ней передаются в одном направлении от процессора к оперативной памяти и устройствам.Разрядность шины адреса определяет объем адресуемой памяти, то есть количество однобайтовых ячеек оперативной памяти, имеющие уникальные адреса. Количество адресуемых ячеек памяти можно рассчитать по формуле:

N = 2I , где I - разрядность шины адреса. (1)

3 КЛАССИЧЕСКАЯ АРХИТЕКТУРА ЭВМ

Термин «архитектура» используется в популярной литературе по вычислительной технике достаточно часто, однако определение этого понятия и его содержание могут различаться.

Архитектура компьютера— это логическая организация и структура аппаратных и программных ресурсов ВС. Она заключает в себе требования к функциональности и принципы организации основных узлов ЭВМ. Основные устройства и блоки ЭВМ, а также структура связей между ними. Если заглянуть в «Толковый словарь по вычислительным системам», мы увидим, что термин «архитектура» ЭВМ используется для описания принципа действия, конфигурации и взаимного соединения основных логических узлов ЭВМ.

Основные идеи построения современных ЭВМ в 1945 году выдвинул математик Джон фон Нейман, который определил принципы программного управления. В основу положен модульно-магистральный принцип. Модульный принцип дает возможность комплектовать нужную конфигурацию, модернизировать ее. Модульная организация опирается на магистральный принцип обмена информацией. Обмен информацией между устройствами производится по трем многоразрядным шинам.

Рисунок 1 – Архитектура ЭВМ.

Разрядность шины данных определяется разрядностью процессора, количество двоичных разрядов, которые процессор обрабатывает за один такт. Шина данных от процессора к устройству и наоборот называется двунаправленной. Код передается по шине адреса и формируется процессором. Шина однонаправленная, то есть от процессора к устройству. Разрядность определяет объем адресуемой памяти и может не совпадать с разрядностью шины. По шине управления передаются сигналы. Сигналы определяют характер обмена информацией и синхронизируют взаимодействие устройств.

Системная шина — это аппаратная реализация взаимодействия стандартов различных узлов. Ее разрядность во многом определяет производительность компьютера, так как она связывает между собой процессор, ОЗУ, слоты, специальные разъемы расширения. Существуют различные стандарты системной шины, сформированные по мере развития техники: MCA, ISA, VESA, EISA, PCI и SCSI. В компьютерах типа Pentium используется шина PCI.

Подключение отдельных модулей ЭВМ к магистрали на физическом уровне воспроизводится с помощью контроллеров, адаптеров. Обеспечивается драйверами, а их совокупность называется интерфейсом.

Принцип открытой архитектуры.

Возможность постоянного усовершенствования компьютера IBM PC и его отдельных частей с использованием новых устройств, которые полностью совместимы друг с другом независимо от фирмы-изготовителя называется принципом открытой архитектуры. Что дает наибольшую выгоду пользователям, которые могут расширять возможности своих машин, покупая новые устройства и вставляя их в свободные разъемы на системной плате. Материнская плата — самая большая в персональном компьютере плата, на которой размещены микропроцессор, ОЗУ, ПЗУ (BIOS), видеокарта, звуковая карта. Указанные устройства подключаются к материнской плате через специальные разъемы — слоты расширения.В основу построения большинства компьютеров положены общие принципы, сформулированные в 1945 году американским ученым Джоном фон Нейманом.

Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Следовательно процессор исполняет программу автоматически, без каких-либо действий человека.

Принцип однородности памяти. Программы и данные хранятся в одной памяти, следовательно компьютер не различает, что хранится в данной ячейке памяти — число, текст, команда. Над командами можно проводить такие же действия, как и над данными.

Принцип адресуемости. Основная память состоит из перенумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка.

Следовательно есть возможность давать имена областям памяти, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.

4 КЛАССИФИКАЦИЯ ЭВМ

Электронная вычислительная машина. ЭВМ. Компьютер.

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

Классификации ЭВМ по степени их развития.

Каждое поколение ЭВМ отличается от других архитектурой, степенью развитости программных средств, производительностью. В наше время выделяют пять поколений ЭВМ.

Первое поколение ЭВМ – основано на базовой элементной базе, в конце сороковых начале пятидесятых годов. Данное поколение обладало минимальным быстродействием и объемом памяти. Программирование осуществлялось на языках низкого уровня.

Второе поколение ЭВМ - основано на полупроводниковой элементной базе в конце пятидесятых, начало семидесятых годов. Языки программирования высокого уровня, изменяемый состав внешних устройств, принцип библиотечных программ.

Третье поколение ЭВМ - основано на элементной базе интегральных схем в семидесятых начале восьмидесятых годов. Развитая конфигурация внешних устройств, средства сопряжения обладали быстродействием и большими объемами памяти.

Четвертое поколение ЭВМ - основано на больших и сверхбольших интегральных схемах, середина восьмидесятых по настоящее время. Используется виртуальная память, многопроцессорный, с параллельным выполнением операций, принцип построения, развитые средства диалога.

Пятое поколение ЭВМ - основано во второй половине восьмидесятых, начале девяностых. Характеризуется новыми решениями в архитектуре вычислительной системы. Используется принцип искусственного интеллекта.

С ЭВМ пятого поколения связывают наряду с другими особенностями возможность ввода данных и команд голосом.

ЭВМ могут различаться также по следующим основаниям:

1) По принципу построения и действия

Аналоговая ЭВМ . Вычислительная машина непрерывного действия, которая работает с аналоговыми данными, предназначена для воспроизведения определенных соотношений между непрерывно изменяющимися физическими величинами. Области применения связаны с моделированием различных процессов и систем.

Цифровая ЭВМ. Уточнение типа (ЦЭВМ) производится, когда это особо необходимо, в сложных вычислительных системах, включающих ЭВМ разных видов.

Аналого-цифровая ЭВМ, сочетает аналоговую и цифровую формы обработки данных.

Многопроцессорная ЭВМ. ЭВМ, которая использует большое число процессоров, чем обеспечивает существенное повышение вычислительной мощности и возможность обработки значительных объемов информации. Принципы построения таких ЭВМ основан на симметричных многопроцессорных системах.

2) По вычислительной мощности и габаритам.

СуперЭВМ - это ЭВМ с максимальной производительностью. Производительность первых супер-ЭВМ с начала семидесятых годов сравнивалась с производительностью современных ПК на базе процессоров Pentium. В каждом компьютере все основные параметры взаимосвязаны. Невозможно представить универсальный компьютер, имеющий высокое быстродействие и мизерную оперативную память, либо огромную оперативную память и маленький объем дисков. Исходя из этого, можно сделать следующий вывод. Супер-ЭВМ, компьютер, который имеет не только максимальную производительность, а так же максимальный объем оперативной и дисковой памяти, в совокупности со специализированным программным обеспечением.

Когда-то суперкомпьютером считали машину, вес которой превышает одну тонну. Несколько лет назад был предложен и такой вариант: суперкомпьютер - это устройство, которое сводит проблему вычислений к проблеме ввода/вывода. Задачи на которые затрачивалось огромное количество времени, на супер-ЭВМ выполняются мгновенно. Основное время теперь уходит на более медленные процедуры ввода и вывода данных, производящиеся, как правило, с прежней скоростью.

Большая ЭВМ. Данная ЭВМ обладает способностью параллельной обработки данных и обеспечивает как пакетный, так и интерактивный режимы работы. Имеет высокую производительность, большой объем основной и внешней памяти.

ЭВМ средней производительности – производительность этой ЭВМ до нескольких миллионов операций в секунду. Ёмкость оперативной памяти в несколько десятков Мбайт и разрядностью машинного слова не менее 32.

Мини-ЭВМ. Занимает небольшой объем (порядка десятых долей кубометра). По сравнению с большими и средними ЭВМ, обладает более низкой производительностью и объемами памяти.

МикроЭВМ - кристалл сверхбольшой интегральной схемы, который содержит все логические элементы, необходимые для образования полноценной вычислительной системы.

ЭВМ, использующая несколько микропроцессоров в качестве арифметического и логического устройства. Указанное значение термина признано не корректным в связи с широким применением микропроцессорной техники в машинах разных классов.

С понятием микроЭВМ связаны:

Однокристальная ЭВМ - микроЭВМ, которая выполнена на одной большой (БИС) или сверхбольшой (СБИС) интегральной микросхеме;

Одноплатная ЭВМ - микроЭВМ. У данной ЭВМ микропроцессор, микросхемы устройств памяти и подсистемы ввода-вывода, расположенны на одной печатной плате;

ЭВМ однопроцессорная - ЭВМ с одним центральным процессором.

Интеллектуальная карточка - пластиковая карточка со встроенным микропроцессором и памятью. На которой хранятся личные сведения, идентификационные шифры, данные банковского счета и так далее.

3) По назначению ЭВМ подразделяются на базовые, универсальные, специализированные.

Базовая ЭВМ в серии ЭВМ определенного типа, вида - является начальной моделью.

Универсальная ЭВМ - это ЭВМ, обладающая свойством решения большого класса задач. ЭВМ этого класса имеют алгоритмически полную систему операций, разветвленную и иерархическую структуру запоминающего устройства и развитую систему устройств ввода-вывода данных.

Специализированная ЭВМ разработана для решения более узкого класса задач. Характеристики данных машин определяются спецификацией этих задач. Именно это делает их еще более эффективными по отношению к универсальным. К специализированным можно отнести, «управляющие», «бортовые», «бытовые» и «выделенные» ЭВМ.

Управляющая ЭВМ - разработана для автоматического управления процессом в реальном времени объектами или устройствами, системами. Сопряжение ЭВМ с объектом управления осуществляется с помощью аналого-цифровых и цифро-аналоговых преобразователей.

Бортовая ЭВМ - специализированная управляющая ЭВМ. Устанавливается на борту транспортного средства (самолета, спутника, корабля, автомобиля). Предназначена для управления функционированием бортовых устройств, связанных с управлением перемещением своего носителя в пространстве.

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

4) По функциям, выполняемым в многомашинных системах.

Главная (ведущая) ЭВМ, ГВМ, хост.

В многомашинных вычислительных комплексах ЭВМ, реализует управление другими ЭВМ, осуществляет организацию работ в системе (вычислительной сети) и производит основную обработку информации.

В телекоммуникационных вычислительных сетях ЭВМ, осуществляет передачу данных, обслуживание сети, выполнение программ, которые связаны с дополнительными функциями или задачами.

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

ЭВМ, выполняющая определенные функции обслуживания вычислительной сети.

Некоторые разновидности серверов:

Почтовый сервер, обеспечивающий поддержку обмена электронной почтой.

Сервер-издатель. Сервер с базой данных, которые рассылаются-публикуются по другим станциям сети.

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

Сервер «станция» связи. Специализированный узел локальной сети, который обеспечивает доступ терминалов сети к внешней сети передачи данных.

Сервер «станция» телексной связи, обеспечивает связь локальной сети и отдельных ее узлов с телексной сетью.

Файловый сервер «файл-сервер». Управляет использованием информационных ресурсов локальной сети «системы ЭВМ». Так же доступ к ее БД и отдельным файлам и их защиту. Для поддержки и ведения «больших» баз данных, используются многопроцессорные системы, которые способны эффективно обрабатывать большие объемы информации. Телефонный сервер API. Сервер, предназначенный для управления вызовами.

Мэйнфрэйм . Производительная, мощная ЭВМ с весьма большим объемом оперативной и внешней памяти, производимой функцией сервера в расширенных локальных вычислительных сетях (ЛВС) с большим числом периферийных ЭВМ.

Псевдо-УАТС, телефонный телекоммуникационный сервер – организованный в одном продукте готового аппаратного обеспечения, серверного программного обеспечения и программного обеспечения телефонии для осуществляющего функцию учрежденческой автоматической телефонной станции (УАТС). Показанный сервер производящий также функции, автоматического секретаря, голосовой почты.. Термин введен Эдвином Маргулисом.

Удаленный файловый сервер. Сервер, который на расстоянии через каналы связи содержащий телеобработку и контроль справочный ресурсами назначенной сети.

Хост-узел - особый ЭВМ или их группа. Обладающий прямой сетевой сочетанием с Интернет, и являющийся пользователям теледоступ к своим информационным ресурсам, программно-техническим средствам и службам.

WAIS – «Сервер глобальной информации». Осуществляет доступ к неструктурированной информации, распределенной по сети Интернет. Совершавший простой язык регулирования, близкий к естественному. Поиск информации получавший по ключевым словам.

5) По режимам и месту работы.

Развивающая ЭВМ. Входит в состав многомашинного комплекса и важнейший в данный момент обработку к немедленной обработке задач пользователей.

Дублирующая (резервная) ЭВМ .Данная ЭВМ отправленный на исполение тех же операций, что и активная ЭВМ, но работающая в «дежурном» или «ждущем» режиме, который расчитывающий передачу ей функций активной машины в случаях сбоев в работе строя последней.

Периферийная ЭВМ:

1) Распологающий периферийным оборудованием;

2) Делающая допольнительной функции, например, пероначальной сбор и обработку данных.

Подчиняющийся ЭВМ - в многомашинных системах - ЭВМ, работающая под контролем главной (центральной) ЭВМ.

Псевдоведущая ЭВМ - проводивший сбор статистики о работе вычислительной сети.

5 РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕРА

Программа, на языке Ассемблера, называется исходной, а ее преобразованный вид в команды микропроцессора – объектной программой, объектным модулем. Компоновщик позволяет создать исполняемый файл или исполняемый модуль.

Отладчик – это программа, позволяющая отображать на экране значения необходимых переменных, получать состояния всех регистров и ячеек памяти при пошаговом исполнении программы, вносить изменения в программу, указывать точки останова и многое другое [2].

5.1 Постановка задачи и разработка алгоритма

В курсовой работе требуется решить следующую задачу: «Даны два одномерных массива одинаковой размерности. Массивы заполнить случайными числами. Сформировать третий массив следующим образом: найти разницу между соответствующими элементами первого и второго массивов и занести в соответствующую позицию в третий массив. Элементы в полученном массиве установить в обратном порядке ».

Для реализации поставленной задачи используется среда Microsoft Visual Studio 2012. Заполнение массивов случайными числами, а также вывод на экран реализовано средствами C++. Далее имеются вставки на ассемблере, где происходит формирование третьего массива и его сортировка.

Далее представлена общая блок-схема программы (Рисунок 2)

Блок схема - это графическое решение процесса данной задачи, которое четко показывает систематическую последовательность всех этапов выполнения.

Такая схема является системой графических блоков и линий переходов между ними. Каждый блок соответствует шагу алгоритма. Внутри дается описание данного действия

 

Начало

 

 

for (i=0;i

Просмотров работы: 521