Выводится информация. Способы вывода информации

Система ввода/вывода Си++ действует через так называемые потоки (streams). Поток ввода/вывода – это логическое устройство, которое выдает и принимает пользовательскую информацию. Образно говоря потоки ввода/вывода – это органы чувств программы. Как у человека есть уши, чтобы слышать и голосовые связки, чтобы говорить, так и у программы есть поток ввода для получения информации извне и поток вывода для записи информации во внешнее устройство, например, на экран.

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

Если программа на Си++ начинает выполняться, открываются четыре потока:

В дальнейшем нас пока будут интересовать потоки cin, cout.

Для использования стандартных функций ввода/вывода вам необходимо подключить к вашей программе библиотеку iostream. Собственно ввод/вывод осуществляется в Си++ двумя операторами: << и >>.

С помощью оператора вывода << можно вывести данные любого базового типа Си++. Вот некоторые примеры.

cout << “Эта строка выводится на экран.\n”

cout << 100.99;

Для считывания значения с клавиатуры, используйте оператор ввода >>. Например, в этом фрагменте целая величина вводится в num.

cin >> num;

Рассмотрим несколько вариантов использования приведенных операторов ввода/вывода.

Ниже представлен результат работы программы.

Вот несколько чисел: 10 20 99.101

В одном выражении ввода/вывода можно выводить более одной величины. Например, программу представленную в листинге 2 можно модифицировать следующим образом:

Результат ее работы будет точно таким же, как и для предыдущей программы.

В листинге 4 представлен пример программы, позволяющей пользователю вводить число.

В ряде случаев у вас может возникать задача вывода данных в заданном формате. Для этого можно использовать функцию printf(). Так как printf() не является встроенным элементом языка Си++, то до запуска программы к ней необходимо с помощью оператора #include подключить файл-заголовок, содержащий описание функции printf(). В данном случае это файл stdio.h.

Мы уже использовали функцию printf() ранее (см. листинг 1) и теперь рассмотрим ее более подробно.

Прототип:

int printf(const char * format [, argument ]... );

Описание:

Осуществляет форматированный вывод.

Параметры :

format – форматная строка;

argument – последовательность аргументов.

Возвращаемое значение :

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

Объявлен в файле-заголовке :

Пример использования :

printf(“One string”);

printf(“%s %s”, “One”, “string”);

printf(“%s\n%s”, “Two”, “string”);

printf(“[%d: %d]”, 1, 0);

Форматная строка содержит два вида объектов: обычные символы, копируемые на экран, и спецификации преобразования, которые вызывают преобразование и печать остальных аргументов в том порядке, как они перечислены. Каждая спецификация преобразования начинается с % и заканчивается символом-спецификатором преобразования.

В общем случае спецификация преобразования имеет следующий вид:

% [флаги] [ширина] [. точность] [{h | l | I64 | L }]тип

Подробное описание всех параметров спецификации вы можете найти в приложении В 1.2 конспекта лекций. Мы же будем использовать упрощенный вариант спецификации:

Символы-спецификаторы и разъяснение их смысла приведены в таблице 1. Если за % нет правильного символа-спецификатора, результат не определен.

Таблица 1. Преобразования printf

Символ Тип аргумента; вид печати
d, i int; знаковая десятичная запись
o unsigned int; беззнаковая восьмеричная запись (без 0 слева)
x, X unsigned int; беззнаковая шестнадцатеричная запись (без 0x или 0X слева), в качестве цифр от 10 до 15 используются abcdef для x и ABCDEF для X
u unsigned int; беззнаковое десятичное целое
c int; единичный символ после преобразования в unsigned char
s char *; символы строки печатаются, пока не встретится "\0" или не исчерпается количество символов, указанное точностью
f double; десятичная запись вида [-]mmm.ddd, где количество d
e, E double; десятичная запись вида [-]m.dddddde±xx или запись вида [-]m.ddddddE±xx, где количество d специфицируется точностью. По умолчанию точность равна 6; нулевая точность подавляет печать десятичной точки
g, G double; используется %e и %E, если порядок меньше -4 или больше или равен точности; в противном случае используется %f. Завершающие нули и точка в конце не печатаются
p void *; печатает в виде указателя (представление зависит от реализации
n int *; число символов, напечатанных к данному моменту данным вызовом printf , записывается в аргумент. Никакие другие аргументы не преобразуются
% никакие аргументы не преобразуются; печатается %

Чаще всего на печать мы выводим числа и строки. Поэтому из представленного выше списка для вас являются важными символы-спецификаторы d, g и s.

Пример

Рассмотрим следующий вызов функции printf():

printf(“I am %s\n %d: %d\n”, “fine!”, 1, 0);

В результате выполнения данной строки на экране выведется:

Форматная строка начинается со слов «I am ». Так как, перед этими словами нет «%», они выводятся на экран без каких-либо преобразований. Далее следуют символы «%s». Они означают, что следует вывести в виде последовательности символов переданный аргумент «fine!». Следует отметить, что символ «\n» следующий далее в форматной строке не относятся к символам-спецификаторам форматной строки. Это специальный символ, используемый при выводе текстовой информации. В таблице 2 приведено описание некоторых специальных символов.

Таблица 2. Некоторые специальные символы

Таким образом, символ «\n» говорит о необходимости начать новую строку. Далее в форматной строке заданы символы «%d: %d». Они говорят о том, что следующие аргументы (в данном случае 1 и 0) являются целыми числами и их следует вывести на экран, разделив последовательностью символов « : ». Заканчивается форматная строка еще одним символом «\n».

Генератор случайных чисел

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

Для работы с генератором случайных чисел Си++ предоставляет две функции: srand() и rand() описанные в библиотеке stdlib.

Перед началом работы генератор случайных чисел необходимо проинициализировать. Для этого надо вызвать функцию srand() с любым целым положительным аргументом.

Каждый вызов функции rand() позволяет получить целое случайное число в диапазоне от 0 до величины RAND_MAX. Численное значение этой величины нас не интересует. В листинге 5 представлен пример программы печатающей на экране два случайных числа.

Обратите внимание на то, что при каждом вызове программы (листинг 5) вы получаете одинаковую последовательность чисел. Это связано с тем, что мы инициализируем генератор случайных чисел одним и тем же числом srand(2). Если вы желаете получать каждый раз другую последовательность, то вам надо соответственно менять значение аргумента функции srand() при каждом новом запуске программы. Для этого можно, например, использовать системные часы. В листинге 6 представлен модифицированный вариант программы печатающей два случайных числа.

Теперь при каждом вызове программы вы будете получать новую последовательность чисел.


Задание к лабораторной работе

Набрать, откомпилировать и запустить следующие программы:

Примечание! В программе представленной в листинге 9, каждый студент должен вписать свои данные.

После запуска данной программы на экране появляется строка:

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


Контрольные вопросы

1) Вы хотите создать проект. Ваши действия?

2) Вы написали программу и хотите ее откомпилировать. К сожалению, программа содержит ошибки. Ваши действия?

3) Вы добились безошибочной компиляции вашей программы. Теперь вы хотите запустить ее и просмотреть результат ее работы. Ваши действия?

4) При помощи чего осуществляется ввод/вывод информации?

5) Зачем нужны библиотеки и как они подключаются к программе?

6) Вы хотите использовать в программе генератор случайных чисел. Ваши действия?


Лабораторная работа №2

Цель: Изучить возможности выполнения арифметических и логических вычислений с использованием языка Си++.

1) Разработать программу, решающую задачу из области арифметики.

2) Разработать программу, использующую разветвления.

3) Разработать программу, использующую цикл.


Похожая информация.


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

Устройства ввода информации

Клавиатура

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

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

Дигитайзер

Устройство для "оцифровки" изображений. Позволяет преобразовать изображение в цифровую форму для обработки на компьютере. Суть оцифровки: изображение сканиру­ется и каждой его точке присваивается координата и номер цвета. После ввода в компь­ютер изображение можно редактировать. Дигитайзер используется в системах обработки изображений, например в полиграфии, в архитектурном проектировании.

Графический планшет

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

Цифровая фотокамера

Фотоаппарат, записывающий изображение не на фотопленку, а на одну из карт памяти. Изображение переводится в циф­ровую форму и хранится в памяти фотокамеры, фотокамера может хранить несколько сотен кадров. После съемки фотокамера присоединяется к компьютеру, кадры пере­писываются на винчестер и воспроизводятся на экране монитора. При желании их мож­но распечатать на принтере.

Манипуляторы

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

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

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

Джойстик (от англ, joystick - палочка радости) представляет собой рукоятку с кноп­ками и применяется, как правило, для игр и тренажеров.

Чувствительный экран

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

Используется для соединения компьютера с другими компьютерными системами через телефонную сеть. Пользователь, подключивший свой компьютер в такую сеть, получает доступ к практически неограниченному объему информации. Компьютерные сигналы - это сигналы постоянного тока. Телефонная сеть их передавать не может. Для преобразования компьютерных сигналов в сигналы, способные передаваться по телефонной сети (иными словами, для их модуляции - преобразования в комбинацию звуковых сигналов различной частоты), применяют специальное устройство, называемое модемом (сокращение слов МОдулятор - ДЕМодулятор). Модемы различаются скоростью передачи данных, которая может составлять 56 и более Кбод. Модемы по исполнению бывают встроенными в системный блок компьютера или внешними, подключаемыми к компьютеру через коммуникационный порт. По своему назначению модемы можно отнести как к устройствам ввода, так и к устройствам вывода информации.

Устройства вывода информации

Устройство отображения информации на экране электронно-лучевой трубки или жидко-кристаллического дисплея. Монитор подключается к компьютеру с помощью видеокарты. Работает в одном из двух режимов - текстовом или графическом. В текстовом режиме экран состоит из строк и столбцов, например, в программе FAR можно задать режим работы 80 столбцов и 25 строк. В графическом режиме экран состоит из отдельных точек - пикселей). Каждый пиксель имеет свой цвет.

Современные компьютеры в основном оснащаются мониторами SVGA со следую­щими характеристиками: число цветов - от 65536 (16 бит) для ЖКмониторов до нескольких миллиардов; разрешение – до 2048x1536; размер экрана - 14, 15, 17, 19, 21 дюймов; кадровая частота от 60 до 120 и более Гц; расстояние между пикселями 0,24 мм.

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

Матричный (или точечно-матричный) принтер. Принцип действия такого принтера

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

В настоящее время используются в банках.

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

Лазерный принтер, В таких принтерах частицы краски переносятся со специального красящего барабана на бумагу посредством электрического поля. Чтобы красящий порошок закрепился, специальный механизм проводит бумагу через нагревательный элемент, и краска спекается. Качество печати - высокое. Разрешающая способность лазерных принтеров от 600 до 1200 точек на дюйм. Скорость печати в среднем - до 50 страниц в 1 минуту. Существуют цветные и черно-белые лазерные принтеры. Есть тип лазерных принтеров, называемых фазерами (Phaser), в которых используется другая технология по сравнению с обычными лазерными принтерами. В этих прин­терах напыленная краска не спекается, а расплавляется, а затем быстро высушивает­ся, т. е. краска испытывает фазовый переход (отсюда название). В результате получа­ется водостойкое слегка выпуклое изображение.

Плоттер (графопостроитель)

Служит для вывода на бумагу чертежей. Изображение создается двигающимися по листу перьями с цветной тушью. Обычный плоттер может выводить чертеж на лист разме­ром до AI (841x594 мм). Существуют и большие плоттеры, выводящие изображение на лист размером до 3x3 м. Скорость печати для листа AI средней наполненности - до 1 час.

Мультимедийные компоненты

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

Привод CD - ROM функционально аналогичен дисководу, но предназначен для чтения компакт-дисков. Компакт-диск, подобно дискете, служит для хранения различных дан­ных, в т. ч. аудио- и видеоинформации, представленной в двоичном виде.

Звуковая карта - устройство (плата-контроллер) для преобразования в звуки цифро­вой аудиоинформации. К выходу звуковой карты можно подключить усилитель звукового сигнала и колонки для воспроизведения стереозвука.

Компьютер, оснащенный приводом CD - ROM и звуковой картой, называется мульти­медийным,

Прочие устройства

Сетевая карта позволяет подключать компьютер в локальную сеть, что дает пользо­вателю возможность получать доступ к информации в других компьютерах.

Источник бесперебойного питания - обеспечивает кратковременное продолжение ра­боты при сбое или полном отключении питания и сети. (ИБП, UPS)

Устройство вывода информации

Мониторы.

Монитор (дисплей) компьютера предназначен для вывода на экран текстовой и графической информации.

Размер экрана.

Основным потребительским параметром монитора является размер экрана по диагонали. Он измеряется в дюймах. Основные размеры: 14, 15, 17, 19, 21.

Полоса пропускания.

Для качественного отображения текста требуется высокая четкость. Для этого в мониторах применяют схемы тракта видеосигнала с гораздо более широкой, чем у телевизора, полосой пропускания (bandwith).Чем меньше размер элемента изображения, тем большая частота нужна для его четкого воспроизведения на экране. В телевидении полоса сигнала ограничена 6,5 МГц, иначе в телеэфире не разместилось бы столько телеканалов. Поскольку картинка на монитор передается по кабелю, то здесь такого ограничения нет, и все зависит только от схемотехнического решения монитора. Современный монитор должен иметь полосу пропускания видеосигнала шириной 85-100 МГц для 15-дюймовых моделей, 110-150 МГц для 17-дюймовых и более 200 МГц для моделей больших размеров. Чем больше полоса пропускания, тем большую частоту обновления сможет поддержать монитор для заданного разрешения.

«Зернистость» экрана.

Когда необходимая полоса пропускания обеспечена и сигнал с четкими мелкими деталями попадает на электронно-лучевую трубку, мы упираемся в другой параметр монитора – так называемый «шаг маски», или, по-простому, «зерно». Дело в том, что в цветных телевизорах и мониторах экран (изнутри) покрыт мельчайшими частицами люминофора трех цветов – красного, зеленого и синего свечения. Три расположенных рядом частицы образуют триаду. Если рассмотреть в лупу экран, светящийся белым светом, мы увидим, что на самом деле светятся частицы трех цветов, которые сливаются в белый цвет. Все остальные цвета получаются, если элементы триады светятся с разной интенсивностью, например, если светятся только красный и зеленый элементы триады, то мы видим желтый цвет. Для управления свечением отдельных элементов триады используются три электронных луча, обегающие все триады экрана с частотой развертки. Чтобы каждый луч попадал точно на свой элемент триады, над люминофорным покрытием экрана помещается специальная маска (сетка), попадая на которую луч отклоняется точно на свой элемент триады.

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

Первые цветные мониторы имели размер «зерна» - 0,42 мм. С появлением графических режимов высокого разрешения использовать такие мониторы стало невозможно: мелкие детали, например тонкие вертикальные полосы, стали рябить и переливаться всеми цветами радуги. Позже появились трубки с «зерном» 0,31 мм, а затем и 0,28 мм. Сегодня самое распространенное значение – 0,27 мм, но в более дорогих моделях применяют трубки с еще меньшей зернистостью – 0,26-0,24 мм.

Современные кинескопы по форме экрана делятся на три типа: сферический, цилиндрический и плоский.

У сферических экранов поверхность выпуклая и все пиксели (точки) находятся на равном расстоянии от электронной пушки.

Цилиндрический экран представляет собой сектор цилиндра: плоский по вертикали и закругленный по горизонтали. Преимущество экрана – большая яркость по сравнению с обычным плоскими экранами мониторов и меньшее количество бликов на экране

Плоские экраны ( Flat Sguare Tube) наиболее перспективны. Устанавливаются в самых совершенных моделях мониторов.

Сферический экран Цилиндрический экран

Плоский экран

Экранное покрытие

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

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

Мониторы по схеме изображения, делятся на два типа:

- на основе электронно-лучевой трубке (ЭЛТ, или CRT )

- на основе жидких кристаллов (ЖК-панель, LCD -панель).

Безопасность монитора.

В связи с этим стали выпускать мониторы, поддерживающие различные эргономические стандарты: ТСО 95 и ТСО 99. Мониторы (стандарт ТСО 99) гарантируют непричинение вреда здоровью человека.

Принтеры.

Принтер (или печатающее устройство) предназначен для вывода информации на бумагу.

Все принтеры могут выводить текстовую, а также графическую информацию (рисунки, графики и т.д.).

Струйные принтеры.

В этих принтерах изображение формируется микрокаплями специальных чернил, выдуваемых на бумагу с помощью сопел. Скорость печати струйных принтеров – от 60 до 10 сек. на страницу.

Лазерные принтеры.

Обеспечивают в настоящее время наилучшее (близкое к типографскому) качество печати. В этих принтерах для печати используется принцип ксерокопии: изображение переносится на бумагу со специального барабана, к которому электрически притягиваются частички краски. Отличие лазерного принтера от обычного ксерокопировального аппарата состоит в том, что печатающий барабан электризуется с помощью луча лазера по командам из компьютера. Скорость печати лазерных принтеров – от 15 до 3 сек на страницу.

Существует несколько тысяч моделей принтеров, которые используются с процессорами, такие как Epson , Hewlett Packard , Canon и т.д.

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

Графопостроитель - устройство для вывода чертежей на бумагу. Имеются графопостроители, рассчитанные на размер бумаги пишущей машинки (формат А4), а бывают графопостроители, выдающие чертежи размером 2х2м и более.

Сигнал или данные, посланные ею (или из нее). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод/вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши - специально разработанные компьютерные устройства ввода, а мониторы и принтеры - компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты , обычно служат устройствами ввода и вывода одновременно.

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

В компьютерной архитектуре объединение процессора и основной памяти (то есть памяти, из которой процессор может читать и записывать в нее напрямую с помощью особых инструкций) составляет «мозг» компьютера, и с этой точки зрения, любой обмен информацией с этим объединением, например, с дисковым накопителем, подразумевает ввод-вывод. Процессор и его сопутствующие электронные цепи реализуют ввод-вывод с распределением памяти, используемый в низкоуровневом программировании при реализации драйверов устройств.

Высокоуровневая операционная система и программное обеспечение используют другие, более абстрактные концепции и примитивы ввода-вывода. Например, большинство операционных систем реализуют прикладные программы через концепцию файлов . Языки программирования Си и C++ , а также операционные системы семейства Unix , традиционно абстрагируют файлы и устройства в виде потоков данных , из которых можно читать и в которые можно записывать, или и то и другое вместе. Стандартная библиотека языка Си реализует функции для работы с потоками для ввода и вывода данных.

  • Обмен (данными) - В контексте языка программирования Алгол 68 механизмы ввод и вывод совместно назывались обменом . Библиотека обмена Алгола 68 распознавала следующие стандартные файлы/устройства: stand in , stand out , stand error и stand back .

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

Интерфейс ввода-вывода

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

Установление контакта должно быть реализовано интерфейсом при помощи соответствующих команд типа (ЗАНЯТ, ГОТОВ, ЖДУ), чтобы процессор мог взаимодействовать с устройством ввода-вывода через интерфейс.

Если существует необходимость передачи различающихся форматов данных, то интерфейс должен уметь конвертировать последовательные (упорядоченные) данные в параллельную форму и наоборот.

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

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

Режимы адресации

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

Режимы адресации делятся на множество типов, как например, прямая адресация, косвенная (непрямая) адресация, непосредственная адресация, индексная адресация, базовая адресация, базово-индексная адресация, предполагаемая адресация и т. д.

Прямая адресация

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

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

Косвенная адресация

В этом случае адрес может храниться в регистре. Инструкции будут обращаться к регистру, содержащему адрес. То есть, для получения данных, инструкция должна декодировать данные соответствующего регистра. Содержимое регистра будет обработано как адрес, используя который, будет считана/записана информация из/в соответствующую область памяти.

Ввод-вывод с распределением (вводимой информации) по портам (памяти)

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

См. также

Ссылки

  • Форматы команд и адресация в ЭВМ (глава книги)

Wikimedia Foundation . 2010 .

Смотреть что такое "Ввод/вывод" в других словарях:

    Ввод вывод, ввода выдвода … Орфографический словарь-справочник

    ввод-вывод - Передача данных и сигналов управления между процессором и периферийным устройством. Тематики сети вычислительные EN input/outputI/O … Толковый словарь по психологии - двоичный обмен (без преобразования данных) — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы двоичный обмен (без преобразования данных) EN… … Справочник технического переводчика