
- •Назначение
- •Модернизация персонального компьютера
- •Выбор производителя
- •1. Выбор комплектующих
- •1.1. Выбираем корпус
- •Сообщения на экране монитора об ошибках bios
- •Содержание языка
- •Применение
- •Связывание программ на разных языках
- •Синтаксис
- •Набор команд
- •Инструкции
- •Директивы
- •Принципы технической реализации модели коллектива вычислителей
Связывание программ на разных языках
Поскольку уже давно на языке ассемблера часто кодируют только фрагменты программ, их необходимо связывать с остальными частями программной системы, написанными на других языках программирования. Это достигается двумя основными способами:
На этапе компиляции — вставка в исходный код программы на языке высокого уровня ассемблерных фрагментов (англ. inline assembler) с помощью специальных директив языка. Способ удобен для несложных преобразований данных, но полноценного ассемблерного кода, с данными и подпрограммами, включая подпрограммы со множеством входов и выходов, не поддерживаемых языком высокого уровня, с его помощью сделать невозможно.
На этапе компоновки при раздельной компиляции. Для взаимодействия компонуемых модулей достаточно, чтобы импортируемые функции (определённые в одних модулях и используемые в других) поддерживали определённое соглашения вызова (англ. calling conventions). Написаны же отдельные модули могут быть на любых языках, в том числе и на языке ассемблера.
Синтаксис
Синтаксис языка ассемблера определяется системой команд конкретного процессора.
Набор команд
Типичными командами языка ассемблера являются (большинство примеров даны для Intel-синтаксиса архитектуры x86):
Команды пересылки данных (mov и др.)
Арифметические команды (add, sub, imul и др.)
Логические и побитовые операции (or, and, xor, shr и др.)
Команды управления ходом выполнения программы (jmp, loop, ret и др.)
Команды вызова прерываний (иногда относят к командам управления): int
Команды ввода/вывода в порты (in, out)
Для микроконтроллеров и микрокомпьютеров характерны также команды, выполняющие проверку и переход по условию, например:
cjne — перейти, если не равно
djnz — декрементировать, и если результат ненулевой, то перейти
cfsneq — сравнить, и если не равно, пропустить следующую команду
Инструкции
Типичный формат записи команд:
[метка:] мнемокод [операнды] [;комментарий]
где мнемокод — непосредственно мнемоника инструкции процессору. К ней могут быть добавлены префиксы (повторения, изменения типа адресации и пр.).
В качестве операндов могут выступать константы, адреса регистров, адреса в оперативной памяти и пр. Различия между синтаксисом Intel и AT&T касаются в основном порядка перечисления операндов и указания различных методов адресации.
Директивы
Программа на языке ассемблера может содержать директивы: инструкции, не переводящиеся непосредственно в машинные команды, а управляющие работой компилятора. Набор и синтаксис их значительно разнятся и зависят не от аппаратной платформы, а от используемого транслятора (порождая диалекты языков в пределах одного семейства архитектур). В качестве «джентльменского набора» директив можно выделить следующие:
определение данных (констант и переменных),
управление организацией программы в памяти и параметрами выходного файла,
задание режима работы компилятора,
всевозможные абстракции (то есть элементы языков высокого уровня) — от оформления процедур и функций (для упрощения реализации парадигмы процедурного программирования) до условных конструкций и циклов (для парадигмы структурного программирования),
макросы.
49) Дайте определения вычислительной системе. Расскажите о ее назначениях и дайте ей характеристику. Классифицируйте современные ВС.
Вычислительная сеть – Совокупность взаимосвязанных процессов или ЭВМ, периферийного оборудования и программного обеспечения; предназначенного для обработки, хранения и распределения информации.
Основные цели вычислительных сетей:
Повышение производительности системы, за счет ускорения процессов обработки данных.
Повышение надежности и достоверности вычисления
Представление пользователям дополнительных сервисных услуг
Вычислительные сети бывают:
Многомашинные: каждый компьютер многомашинной системы имеет классическую архитектуру, однако эффект от такой системы можно получить только при решении задач имеющих специальную структуру, она должна разбиваться на несколько связанных столбцов, сколько компьютеров в системе столько и подзадач.
Многопроцессорные: совокупность процессоров направленных на решение задач
50) Расскажите об организации вычислений в ВС и конвейеризации вычислений в ВС.