Главная » Просмотр файлов » 15_Архитектурные особенности современных ЭВМ

15_Архитектурные особенности современных ЭВМ (975812), страница 4

Файл №975812 15_Архитектурные особенности современных ЭВМ (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования) 4 страница15_Архитектурные особенности современных ЭВМ (975812) страница 42019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

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

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

Обычно все действия, связанные с обменом по шине одной порцией данных, называются циклом [работы] шины (говорят о циклах чтения и записи в память, цикле передачи сигнала прерывания и т.д.).Такова в простейшем изложении схема обмена данными по общей шине. Рассмотрим теперь, каквидит общую шину нашего компьютера программист на Ассемблере. Как уже было сказано, у каждого периферийного устройства обязательно есть один или несколько портов с номерами, закреплёнными за этим устройством. Программист может обмениваться с портами байтами или словами (в зависимости от вида порта).

Для записи значения в некоторый порт используется машинная командаout op1,op2Здесь операнд op1 определяет номер нужного порта и может иметь формат i8 (если номер портанебольшой и известен заранее) или быть регистром dx (если номер больше 255 или становится известным только в процессе счёта программы). Второй операнд op2 должен задаваться регистром al(если производится запись в порт байта) или ax (если производится запись в порт слова). При выполнении такой команды значение регистра (байт или слово) посылается по общей шине в соответствующий порт.Для чтения данных в регистр из порта служит командаin op1,op2Здесь уже второй операнд op2 определяет номер нужного порта и может иметь, как и в предыдущей команде, формат i8 или быть регистром dx.

Первый операнд op1 должен задаваться регистром al (если производится чтение из порта байта) или ax (если производится чтение слова). При выполнении этой команды значение (байт или слово) читается из заданного порта и по общей шине поступает в центральный процессор на указанный регистр. Далее мы рассмотрим небольшой пример сиспользованием этих команд.Итак, на нашем компьютере есть только очень простые команды для обмена байтом или словоммежду регистром центрального процессора и портом внешнего устройства.

Вспомним, что на изученной ранее учебной ЭВМ УМ-3 в нашем распоряжении были очень удобные для программиста команды ввода/вывода массивов целых или вещественных чисел. Почему же в архитектуре нашегокомпьютера команды ввода/вывода такие примитивные и неудобные для программиста? Ответ наэтот вопрос легко понять, если вспомнить, что общая шина связывает между собой очень разные устройства, для которых было необходимо найти общий и приемлемый для всех их формат передаваемых данных. Ясно, что таким форматом может быть только один байт или одно слово – те минимальные порции данных, с которыми оперирует наш центральный процессор. Вот и приходится, например, для ввода целого числа с помощью команд in и out выполнять достаточно сложную программу.Уяснить для себя способ взаимодействия программы на Ассемблере и "внешнего мира" с помощью общей шины можно на таком образном примере.

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

Можно сказать, что у программы довольно скучная жизнь в её "резиденции", никаких тебе газет и журналов, и тем более радио и телевидения, дляобщения с "внешним миром" одна только скупая телеграфная связь ☺.Теперь нам будет полезно рассмотреть общую архитектуру связи центрального процессора и периферийных устройств с точки зрения пользователей разного уровня. Рассмотрим, как обстоит делона внешнем, концептуальном, внутреннем и инженерном уровне видения архитектуры ЭВМ.•Уровень конечного пользователя. Пользователь-непрограммист бухгалтер Иванов твёрдоуверен, что в его компьютере есть команда "Распечатать ведомость на зарплату", так какименно это происходит каждый раз, когда он нажимает на кнопку меню "Печать ведомости".

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

Программист Петров, который и написал бухгалтерскую программу на языке Паскаль, только улыбнётся наивности бухгалтера Иванова. Уж онто точно знает, что даже для того, чтобы вывести только один, например, символ 'A', надонаписать оператор стандартной процедуры Write('A') . Для Петрова общение его программы с "внешним миром" заключается в использовании стандартных процедур ввода/вывода, доступных в его языке программирования высокого уровня.

Правда, Петровуизвестно, что на самом деле его программа сначала переводится (транслируется) с Паскаляна машинный язык, а лишь потом выполняется на компьютере. Поэтому, зная, что язык ассемблера очень близок к машинному языку, он из любопытства поинтересовался у программиста на Ассемблере Сидорова, что тот напишет в своей программе, чтобы вывестисимвол 'A'. Сидоров, немного подумав, ответил, что обычно для этой цели он пишет предложение Ассемблера outch 'A' .

Разница между этими двумя способами вывода символа в Паскале и в Ассемблере показалась Петрову несущественной. Например, он читал отом, что, скажем, в языке С для этой же цели надо вызвать библиотечную функцию1printf("%c",'A'); .•Уровень операционной системы. Сидоров, однако, знает, что предложение outch 'A'является на самом деле не командой машины, а макрокомандой, на её место Макропроцессор подставит на этапе компиляции макрорасширение, например, такого видаmov dl,'A'mov ah,02hint 21h•1Вот этот, как говорят, системный вызов и будет, с точки зрения Сидорова, выводить символ 'A' на стандартное устройство вывода, которое может быть, в частности, как экраном, так и печатающим устройством или текстовым файлом.

Таким образом, общение с"внешним миром" представляется для Сидорова множеством системных вызовов в его программе на Ассемблере с использованием команды языка машины с кодом операции int.Обработка системных вызовов производится операционной системой, поэтому этот уровеньлогично назвать именно так.Уровень языка машины. Системный программист Антонов (раньше иногда говорили системный аналитик), однако, снисходительно пояснит Сидорову, что его системный вызовЭто очень яркий пример того, как макросредства повышают уровень языка Ассемблера: макрокомандавывода символа в языке низкого уровня оказывается для Петрова по внешнему виду (если отвлечься от деталейсинтаксиса), очень похожа на соответствующие средства языков высокого уровня.11– это просто переход по команде int 21h на служебную процедуру-обработчика прерывания с шестнадцатеричным номером 21h.

Характеристики

Тип файла
PDF-файл
Размер
516,43 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6502
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее