Организация побайтного ввода вывода: ОРГАНИЗАЦИЯ СИСТЕМЫ ВВОДА-ВЫВОДА ИНФОРМАЦИИ

Содержание

ОРГАНИЗАЦИЯ СИСТЕМЫ ВВОДА-ВЫВОДА ИНФОРМАЦИИ

Для связи МК с объектом управления, для ввода и вывода информации используется 27 линий: три порта по 8 линий Р1, Р2 и BUS и три независимые линии тестируемые командами условного перехода: Т0, Т1 и INT.

Организация системы прерываний. МК имеет одноуровневую систему прерываний с двумя источниками запросов по входу ~INT (вектор 3) и переполнения таймера/счетчика Т (вектор 7). Одноуровневость означает отсутствие вложенности прерываний, т.е. новые запросы не воспринимаются до завершения обслуживания текущего запроса. При одновременном поступлении запросов высший приоритет имеет внешний источник. Каждый источник может быть замаскирован по специальным командам DIS I, DIS TCNT (запрет прерывания INT или от таймера) или размаскирован по командам EN I, EN TCNT соответственно (рис.6).

Линия INT контролируется во время сигнала ALE и результат тестирования запоминается в триггере внешнего прерывания TIX, установка которого инициирует эквивалент команды CALL 003h (переход по вектору прерывания). В стеке сохраняется РС и PSW, выполняется переход на ППОП, последней командой которой должна быть команда RETR - возврата из прерывания, восстанавливающая содержимое PSW и РС. К моменту выполнения команды RETR внешний сигнал запроса ~INT должен быть снят внешними средствами или выдачей из МК по какой-либо линии портов Р1 или Р2 сигнала подтверждения прерывания.

Аналогично работает схема обработки прерываний от таймера. Если прерывания от таймера разрешены (TRP TCN=1), то в момент возникновения переполнения таймера триггер TIT устанавливается и вызывает переход на ППОП от таймера по вектору 7, после чего автоматически сбрасывает флажок TIT.

Линии Т0 и Т1 используются для ввода тестирующего сигнала от двоичного датчика с объекта управления, по значению которых в МК может выполняться условный переход JT0, JT1, JNT0, JNT1 в программе.

Кроме того по линии Т0 из МК может выдаваться сигнал синхронизации CLK (опорная частота МК деленная на 3) после выполнения команды разрешения выдачи синхросигналов ENT0 CLK).

Линия Т1 может использоваться в качестве входа счетчика событий от внешних источников. Рассмотрим организацию таймера/счетчика (рис.7).

Устройство работает в двух режимах: таймера и счетчика, в которые оно переводится по командам START, а останов по команде STOP TCNT. При переходе через границу счета инициируется запрос на прерывание (переполнение) и устанавливается флажок переполнения TF, который может быть проверен командой условного перехода JTF addr8 и триггер TF автоматически сбрасывается.

В режиме счетчика подсчитывается количество переходов из 1 в 0 на внешнем входе Т1.

В режиме таймера устройство считает метки времени деления частоты машинных циклов ALE на 32. Это позволяет получить паузы от 1/32 ALE до 256 * 1/32 ALE.

Порты ввода-вывода Р1 и Р2.Специальная схемотехника портов Р1 и Р2 (квазидвунаправленная) позволяет выполнять ввод или вывод, причем каждая линия может быть индивидуально настроена на один из режимов. Выходные буфера портов имеют встроенные регистры, которые запоминают выводимые данные. При вводе данных информация поступает непосредственно в АС, минуя выходной буферный регистр, который должен находиться в состоянии 0FFh. Иначе выполняется операция маскирования вводимых данных по схеме "монтажное ИЛИ" с содержимым буферного регистра. Это и позволяет одни линии портов использовать для ввода, а другие для вывода. Упрощенная структура портов показана на рис.8.

Порт 2 отличается от Р1 тем, что его младшие 4 бита и линия PROG могут использоваться для расширения МК-системы по вводу-выводу с использованием БИС расширителя интерфейса К580ВР43 (рис.9).

 
 

Порт ввода-вывода BUS - это двунаправленная 8-разрядная мультиплексированная шина адреса/данных с z-состоянием и предназначен для побайтного ввода и вывода.

Порт BUS может использоваться как для подключения внешней памяти программ и данных, так и для расширения числа линий ввода-вывода для подключения дополнительных периферийных устройств, например, БИС параллельного и последовательного интерфейса ВВ55 или ВВ51. Ввод-вывод может осуществляться по двум типам команд: MOVX или командам ввода и вывода INS и OUTL.

Также как и для портов Р1 и Р2 при выводе байт фиксируется во внутреннем буферном регистре и вырабатывается сигнал ~ЗП (~WR), а при вводе формируется сигнал ~ЧТ (~RD).

 

 

Вводимые и выводимые через порт BUS данные можно маскировать по командам ORL BUS,#d и ANL BUS,#d, что позволяет выделять и обрабатывать отдельный бит или группу бит.

Рассмотрим подключение к порту BUS БИС параллельного интерфейса К580ВВ55.

Вариант А.Порты ВВ55 адресуются как ячейки внешней памяти данных, доступ к которым осуществляется по командам MOVX (рис.10).

Вариант В.Выбор порта ВВ55 осуществляется через установку адреса через порт Р2 МК48 (рис.11).


Пример управления вводом-выводом

Обслуживание ввода-вывода

Организация побайтного ввода-вывода

Последовательность операций, выполняемых каналом ввода-вывода

Канальная программа

Вовлечение ос в управление вводом-выводом

Рабочая область канала ввода-вывода

Очередь запросов на ввод-вывод

Алгоритм обработки прерываний по вводу-выводу

Пример управления вводом-выводом

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

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

Задачи ОС по управлению файлами и устройствами

Подсистема ввода-вывода (Input-Output Subsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

1. Организация параллельной работы устройств ввода-вывода и процессора;

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

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

2. Согласование скоростей обмена и кэширование данных;

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

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

3. Разделение устройств и данных между процессами;

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

4. Обеспечение удобного логического интерфейса между устройствами и остальной частью системы;

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

5. Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;

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

Поэтому существуют два типа интерфейсов: интерфейс «драйвер-ядро» (Driver Kernel Interface, DKI) и интерфейс «драйвер-устройство» {Driver Device Interface, DDF). Интерфейс «драйвер-ядро» должен быть стандартизован в любом случае, а интерфейс «драйвер-устройство» имеет смысл стандартизировать тогда, когда подсистема ввода-вывода не разрешает драйверу непосредственно взаимодействовать с аппаратурой контроллера, а выполняет эти операции самостоятельно.

6. Динамическая загрузка и выгрузка драйверов;

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

7. Поддержка нескольких файловых систем;

8. Поддержка синхронных и асинхронных операций ввода-вывода.

Операция ввода-вывода может выполняться по отношению к программному модулю, запросившему операцию, в синхронном или асинхронном режимах. Смысл этих режимов тот же, что и для рассмотренных выше системных вызовов, - синхронный режим означает, что программный модуль приостанавливает свою работу до тех пор, пока операция ввода-вывода не будет завершена (рис. 7.1, а), а при асинхронном режиме программный модуль продолжает выполняться в мультипрограммном режиме одновременно с операцией ввода-вывода (рис. 7Л, б). Отличие же заключается в том, что операция ввода-вывода может быть инициирована не только пользовательским процессом - в этом случае операция выполняется в рамках системного вызова, но и кодом ядра, например кодом подсистемы виртуальной памяти для считывания отсутствующей в памяти страницы.

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

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

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

Разл. типы К. в.- в., как правило, объединяются и выполняются в виде автономного устройства либо входят в состав центр, процессора, в последнем случае центр, процессор дополнительно выполняет ф-ции К. в.- в.В качестве элементной базы для реализации К. в.-в. используются логические элементы (ТТЛ, ТТЛШ, ЭСЛ) в виде цифровых интегральных схем, ИС запоминающих устройств, электронные компоненты интерфейса ввода - вывода. Для обеспечения высокой пропускной способности при передаче данных применяются быстродействующие ИС.

Обслуживание ввода-вывода данных. - PDF Free Download

Лекция 7. Управление устройствами (часть 2)

Лекция 7 Управление устройствами (часть 2) Структура подсистемы ввода-вывода 2 Общая схема управления устройствами ввода-вывода Системные вызовы ввода-вывода Системные сервисы ввода-вывода Высокоуровневые

Подробнее

Модуль 5. ВВОД-ВЫВОД И ФАЙЛОВАЯ СИСТЕМА

Модуль 5. ВВОД-ВЫВОД И ФАЙЛОВАЯ СИСТЕМА 1. Файл это (несколько ответов) 1) множество данных, объединенных некоторой логической связью 2) совокупность информации, записанная под индивидуальным именем на

Подробнее

Система управления вводом-выводом

Система управления вводом-выводом Виды работ вычислительной системы Обработка информации Операции по осуществлению ввода-вывода информации Общие сведения об архитектуре компьютера. Шины Шины данных Адресные

Подробнее

Модуль 2. Архитектура компьютера

Модуль 2. Архитектура компьютера 1. Совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации это: 1) информационная система 2) информационные технологии 3)

Подробнее

Понятия «процесс» и «поток»

Процессы и потоки Понятия «процесс» и «поток» Процесс (задача) - программа, находящаяся в режиме выполнения. Потоќ выполне ния (thread нить) наименьшая часть программы, исполнение которой может быть назначено

Подробнее

Какие устройства ввода-вывода вы знаете?

Ввод-вывод Какие устройства ввода-вывода вы знаете? Устройства ввода-вывода Блочные Символьные Задачи ОС по управлению файлами и устройствами организация параллельной работы устройств ввода-вывода и процессора;

Подробнее

Определение операционной системы

32. Принципы построения операционных систем. Вычислительный процесс и его реализация с помощью ОС. Управление вычислительными процессами, вводом-выводом, реальной памятью. Принципы построения операционных

Подробнее

Программное обеспечение ЭВМ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ

Подробнее

tb>>ta tc>>tb 3.6.Прерывания

удовлетворен, он перемещается в очередь В. Квант обслуживания запросов из очереди В равен t B >>t A. Если за число квантов, равное n B, запрос не удовлетворен, он перемещается в очередь C. Квант в очереди

Подробнее

Возможность использования ресурсов

Лекция 2 Возможность использования ресурсов Связь компьютера с периферийными устройствами Интерфейс в широком смысле формально определенная логическая и физическая границы между взаимодействующими независимыми

Подробнее

Состав и работа компьютерной системы Тест

1. Компьютер это - Состав и работа компьютерной системы Тест 1. электронное вычислительное устройство для обработки чисел; 2. устройство для хранения информации любого вида; 3. многофункциональное электронное

Подробнее

Лекция 31. Программное обеспечение САПР

Лекция 31 Программное обеспечение САПР Программное обеспечение САПР (ПО) представляет собой совокупность программ, необходимых для обработки исходной информации по проектным алгоритмам, управления вычислительным

Подробнее

Устройство компьютера. Левашова Л.Н.

Устройство компьютера Левашова Л.Н. АНАЛОГИЯ МЕЖДУ КОМПЬЮТЕРОМ И ЧЕЛОВЕКОМ Ч Е Л О В Е К Органы чувств Прием ( ввод ) информации Хранение информации М О З Г Процесс мышления ( обработка информации ) Компьютер

Подробнее

ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 7

МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ГБОУ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ АМУРСКАЯ ГОСУДАРСТВЕННАЯ МЕДИЦИНСКАЯ КАДЕМИЯ Е.В. ПЛАЩЕВАЯ ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 7 МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Подробнее

Организация памяти Windows

1 Организация памяти Windows Используется виртуальная адресация такой способ управления памятью, при котором адресуемая памяти ПК делится между процессами и прозрачно отображается на доступные области

Подробнее

V. Организация ввода-вывода

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

Подробнее

ИНДИКАТОР ДИАГНОСТИКИ АПМДЗ

40 2430 1005 Утвержден РУСБ.468266.003-УД Инв. подл. Подп. и дата Взам. инв. Инв. дубл. Подп. и дата ИНДИКАТОР ДИАГНОСТИКИ АПМДЗ кодов Листов 10 2011 ВВЕДЕНИЕ Настоящий документ является описанием кодов

Подробнее

Основные компоненты ОС

Компоненты ОС Основные компоненты ОС 1. Управление процессами 2. Управление основной памятью 3. Управление файлами 4. Управление системой ввода-вывода 5. Управление внешней памятью 6. Поддержка сетей (networking)

Подробнее

Организация компьютера (Hardware)

Организация компьютера (Hardware) Лекция 3 Информатика Гаврилов А.В. НГТУ, кафедра АППМ 1 Содержание Основы компьютерной архитектуры Компьютер фон Неймана Аппарат прерываний Внешние устройства Виртуальная

Подробнее

Руководство (оператора) пользователя

Программно-аппаратный комплекс средств защиты от несанкционированного доступа «ГиперАккорд» Руководство (оператора) пользователя 11443195.4012.057 34 Листов 9 Москва 2016 АННОТАЦИЯ Настоящий документ является

Подробнее

Сервер обедов Gate-Dinner

Сервер обедов Версия 1.12 Руководство оператора Санкт-Петербург 2006 Равелин Оглавление 1. ОБЩЕЕ ОПИСАНИЕ... 3 1.1 НАЗНАЧЕНИЕ СИСТЕМЫ... 3 1.2 СОСТАВ ОБОРУДОВАНИЯ И СИСТЕМНЫЕ ТРЕБОВАНИЯ... 3 1.3 АЛГОРИТМ

Подробнее

Программируемый таймер КР580ВИ53

Программируемый таймер КР580ВИ53 (Отечественный аналог Intel i8253) Управление периферийными устройствами часто требует от микропроцессорной системы точного задания временных интервалов между управляющими

Подробнее

КМ1801ВМ3А, КМ1801ВМ3Б, КМ1801ВМ3В

КМ1801ВМ3А, КМ1801ВМ3Б, КМ1801ВМ3В Микросхема КМ1801ВМ3 16-разрядный однокристальный микропроцессор, включающий операционный блок, блок микропрограммного управления, блок прерываний, диспетчер памяти и

Подробнее

Тест: Операционная система

Вопрос 1: Программное обеспечение это... Тест: Операционная система совокупность устройств установленных на компьютере совокупность программ установленных на компьютере все программы которые у вас есть

Подробнее

Назначение и устройство компьютера

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

Подробнее

Распределение памяти

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

Подробнее

Операционные системы лекции 7, 8

Казахстанский филиал МГУ им. М.В. Ломоносова Операционные системы лекции 7, 8 - Иерархия памяти в вычислительной системе - Расслоение ОП - Виртуальная память - Способы организации виртуальной памяти 2.11.2010

Подробнее

Основные функции микропроцессора :

Архитектура МП Основные понятия Микропроцессор - это программно-управляемое устройство, предназначенное для обработки цифровой информации и управления процессами этой обработки, выполненной в виде одной

Подробнее

Программное обеспечение. система

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

Подробнее

Универсальный одноплатный контроллер на однокристальной ЭВМ (стр. 2 из 4)

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

схема тактирования, обеспечивающая синхронизацию работы внутренних блоков микропроцессора.

Система команд, реализованная в ПЛМ блока микро­программного управления микропроцессора К1801BM1, совпадает с системой команд наиболее распространенных отечественных мини- и ОЭВМ типа «Электроника 60» (ДВК-2. 3, 4 и т.п.) и практически аналогична приня­той для компьютеров серии DEC. Предусмотрен также ряд специальных команд, предназначенных для работы с сис­темным ПЗУ К1801РЕ1.

Общие характеристики ОЭВМ МК35 представлены в таблице 1.

табл. 1

Анализ основных признаков МК серии 1816 показы­вает, что МК 48 и МК 51 целесообразно использовать на этапе опытно-конструкторской разработки и отладки систем, а также в малосе­рийных изделиях. Однокри­стальное ЭВМ МК49 имеет масочное ПЗУ программ, и по­этому его следует применять в крупно-серий­ных изделиях. ОЭВМ, в которых нет резидентной памяти про­грамм, используют, как правило, не в конечных изде­лиях, а в автономных отладочных устройствах и много­функциональных программируемых контроллерах, где в качестве программ и данных используются внешние БИС и имеются средства загрузки программ.

2.4. СМ 1800.

Однокристальные ЭВМ на основе 16-разрядного мик­ропроцессора типа К1810ВМ86 представлены следующими сериями ЕС 1840, ЕС 1841, ЕС 1842, «Искра 1030», «Ис­кра 1030М», «Нейрон И9.66» и относятся к классу 16 разрядных. В них получил дальнейшее развитие программно-модульный принцип, реализованный в моделях семейства СМ 1800. Они обеспечивали повышение средней производительности в 8-10 раз по сравнению с моделями СМ 1800 (до 170 тыс. оп./с.). Был значительно увели­чен объем оперативной и внешней памяти. Схемотехниче­ские решения позволяли адресовать до 16 Мбайт опера­тивной памяти. Для обнаружения ошибок в модулях па­мяти применялись средства коррекции ошибок по коду Хемминга.

Значительно были расширены возможности организа­ции внешней памяти на дисках. Наряду с гибкими мини-дисками (диаметром 133 мм) применялись жесткие диски типа «винчестер» емкостью 14 … 160 Мбайт, что позво­ляло строить достаточно мощные базы данных. В составе периферийных устройств использовались дисплеи, печа­тающие устройства матричного типа и типа «ромашка».

Операционные системы обеспечивали построение как систем реального времени, так и инструментальных и давали возможность применения пользователями большого числа пакетов прикладных программ на базе операцион­ных систем СР/М-86 и MSDOS.

универсальная 16-разрядная ОЭВМ СМ1810 предназна­чена в основном для применения в ГПС и АСУ ТП, САПР, в локальных и открытых сетях, в контроллерах для встраивания в оборудование, в оргсистемах и в сферах обслуживания. Структура СМ1810 базируется на расшире­нии магистрально-модульной структуры 8 разрядных мо­делей СМ1800 и обеспечении аппаратной и программной совместимости с ними. Это позволяет использовать в СМ1810 средства передачи данных, УСО и другие устрой­ства, разработанные для СМ1800. модуль центрального процессора МЦП-16 является основным компонентом СМ1810, обрабатывает логическую и арифметическую ин­формацию, выполнен с применением БИС серии К1810 и обеспечивает формирование интерфейсов И41, ИРПР-М, С2. В составе модуля двухвходовое ОЗУ объемом 256 Кбайт с коррекцией ошибок, перепрограммируемое ПЗУ объемом до 64Кбайт, таймер, БИС ввода-вывода и разъем для подключения БИС арифметического сопроцессора. Мо­дуль МЦП-16 обеспечивает непосредственное подключение ПУ, печатающих устройств и дисплея, не занимая интер­фейса И41, а в случае автономного применения может выполнять функции локальной микроЭВМ

ОЭВМ СМ1814 представляет собой вариант СМ1810 для использования в промышленных производствах с ограни­ченным доступом обслуживающего персонала, главным об­разом в локальных технологических сетях, ГСП, АСУ ТП. В СМ1814 могут входить все модули, блоки расширения модульные источники питания и кроссы из состава СМ1810, включая периферийные устройства (дисплей, пе­чатающее устройство с интерфейсами ИРПС/С2). ОЭВМ СМ1814 содержит в основном УСО в промышленном испол­нении, блок ввода сигналов низкого уровня, термомет­ров сопротивлений и термопар СМ9306 и блок формирова­ния поправки СМ3907. ЭВМ СМ1814 используется без НМД. Все программное обеспечение содержится в ППЗУ модуля МЦП-16 и в модулях репрограммируемой памяти МППЗ или загружается по каналам связи в ОЗУ. Функционирование СМ8141 в реальном времени поддерживается операционной системой ОС СРП-1810.

3.Описание схемы электрической структурной

Рассмотрим работу универсального одноплатного микроконтроллера на однокристальной ЭВМ на основе схемы электрической структурной, показанной в графической части лист 2 Э1.

Микроконтроллер состоит из следующих узлов:

— однокристальной ЭВМ со схемой внешнего тактового генератора и схемой формирования сигнала «сброс»;

— регистра-защелки младшего байта адреса внешнего запоминающего устройства;

— памяти программ, объемом 4 Кбайта;

— памяти данных, объемом 1 Кбайт со страничной ад­ресацией 256 байт на страницу и схемой выбора ОЗУ;

— схемы управления записью-чтением внешних устройств;

— адаптера параллельного интерфейса со схемами приемника и передатчика по стандарту ИРПС;

— трехканального таймера;

— контроллера клавиатуры и индикации;

— схемы прерываний.

Тактовый генератор вырабатывает синхронизирующие импульсы тактовой частоты, которые позволяют синхронизировать работу ЭВМ и остальных узлов микроконтроллера. Кварцевый резонатор, вырабатываемый опорную частоту синхронизации, подключается к выводам Х1 и Х2. Х1 является входом, а Х2 – выходом генератора, способного работать в диапазоне частот от 1 до 6 МГц.

Схема формирования сигнала сброс обеспечивает правильную последовательность сброса периферийных БИС и ОЭВМ. Сигнал сброс производит следующие действия: сбрасывает счетчик команд и указатель стека; устанавливает порт BUSв высокоимпедансное состояние, а порты Р1 и Р2 – на режим ввода; выбирает банк регистров 0 и банк памяти 0; запрещает прерывания; останавливает таймер и выдачу синхросигнала на вывод Т0; сбрасывает флаг переполнения таймера и флаг пользователя.

Регистр-защелка фиксирует байт адреса внешнего ЗУ, передаваемый по шине данных. Подключение БИС памяти программ и данных особенностей не имеет. Логическая схема условных переходов МК позволяет программе проверять не только признаки , но и условия, внешние по отношению к МК. По командам условного перехода в случае удовлетворения проверяемого условия в счетчик команд из второго байта команды загружается адрес перехода.

Линия запроса прерывания от внешнего источника проверяется каждый машинный цикл во время действия сигнала САВП. При обработки прерывания, как и при вызове подпрограмм содержимое счетчика команд и старшей тетрады ССП сохраняется в стеке.

Порт ввода/вывода BUS представляет собой двунаправленный буфер с тремя состояниями и предназначен для побайтного ввода, вывода или ввода/вывода информации.

4.Выбор элементной базы

Для создания схемы электрической принципиальной универсального одноплатного микроконтроллера в курсовом проекте используются интегральные микросхемы серий КР1816, КР580, КР573. Серия КР580 представлена микросхемами, имеющими большое функциональное значение в схеме электрической принципиальной центрального процессора.
Однокристальная ЭВМ представлена БИС КР1816ВЕ35. Серия КР1816 разрабатывается по n-МДП технологии. ОЭВМ КР1816 предназначена для использования в качестве микроконтроллера для которого требуются короткие программы отладки программ управления на стадии разработки и внедрения. ИМС КР1816 имеет 12-разрядный счетчик команд. ОЭВМ содержит на своем кристалле ОЗУ 64 байта. ИМС не имеет ПЗУ, но имеется возможность расширения ПЗУ. Условное графическое обозначение (УГО) представлена на рис.2.

Адаптер параллельного интерфейса построен на ИМС КР580ВВ55А, который обеспечивает стробированный и нестробированный ввод/вывод информации по параллельным каналам связи, сбор данных с внешних измерительных устройств и (или) управление исполнительными устройствами.


#56 Средства ввода/вывода в современных языках программирования. Текстовые и двоичные файлы. Чтение, запись и позиционирование файлов

#56 Средства ввода/вывода в современных языках программирования. Текстовые и двоичные файлы. Чтение, запись и позиционирование файлов

№56 Средства ввода/вывода в современных языках программирования. Текстовые и двоичные файлы. Чтение, запись и позиционирование файлов


В стандарте языка Си отсутствуют средства ввода-вывода. Все операции ввода-вывода реализуются с помощью функций, находящихся в библиотеке языка Си, поставляемой в составе конкретной системы программирования Си. Во время работы с файлами данные могут передаваться или в своем внутреннем двоичном представлении или в текстовом формате, то есть в более удобочитаемом виде.
Особенностью языка Си, который впервые был применен три разработке операционной системы UNIX, является отсутствие заранее спланированных структур файлов. Все файлы рассматриваются как неструктурированная последовательность байтов. При таком подходе к организации файлов удалось распространить понятие файла и на различные устройства. В UNIX конкретному устройству соответствует так называемый "специальный файл", а одни и те же функции библиотеки языка Си используются как для обмена данными с файлами, так и для обмена с устройствами.
Библиотека языка Си поддерживает три уровня ввода-вывода: потоковый ввод-вывод, ввод-вывод нижнего уровня и ввод-вывод для консоли и портов. Последний уровень, обеспечивающий удобный специализированный обмен данными с дисплеем и портами ввода-вывода, мы рассматривать не будем в силу его системной зависимости. Например, он различен для MS-DOS, Windows и UNIX.

Язык программирования Си поддерживает множество функций стандартных библиотек для файлового ввода и вывода. Эти функции составляют основу заголовочного файла стандартной библиотеки языка Си <stdio.h>.

Функциональность ввода-вывода языка Си по текущим стандартам реализуется на низком уровне. Язык Си абстрагирует все файловые операции, превращая их в операции с потоками байтов, которые могут быть как «потоками ввода», так и «потоками вывода». В отличие от некоторых ранних языков программирования, язык Си не имеет прямой поддержки произвольного доступа к файлам данных; чтобы считать записанную информацию в середине файла, программисту приходится создавать поток, ищущий в середине файла, а затем последовательно считывать байты из потока.

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

Язык Си является фундаментом С++. При этом С++ поддерживает всю файловую систему Си. Поэтому при использовании С-кода в С++ нет необходимости менять процедуры ввода-вывода. Хотя при написании программ на С++ обычно более удобно использовать именно систему С++. Это касается, в частности, и использования "iostream.h" взамен "stdio.h", реализующим ввод-вывод. Изучим  файловый ввод-вывод в языке Си. Тем более, что это само по себе очень интересно и очень важно для понимания "потоков" и "файлов" как в Си, так и в С++.
В системе ввода-вывода в Си для программ поддерживается единый интерфейс, не зависящий от того, к какому конкретному устройству осуществляется доступ. То есть в Си между программой и устройством находится нечто более общее, чем само устройство. Такое обобщенное устройство ввода или вывода (устройство более высокого уровня абстракции) называется потоком. В то же время конкретное устройство называется файлом. Наша задача - понять, каким обрзом происходит взаимодействие потоков и файлов.
Файловая система Си предназначена для работы с разными устройствами, в том числе с терминалами, дисководами и накопителями. Даже, если какое-то устройство очень сильно отличается от других устройств, буферизованная файловая система все равно представит его в виде логического устройства, которое называется потоком. Все потоки ведут себя похожим образом. И так как они в основном не зависят от физических устройств, то та же функция, которая выполняет запись в дисковый файл, может ту же операцию выполнить и на другом устройстве. Например, на консоли. Потоки бывают двух видов: текстовые и двоичные.
В языке Си файлом может быть все, что угодно, начиная в дискового файла и заканчивая терминалом или принтером. Поток связывают с определенным файлом, выполняя обязательную операцию открытия. Как только файл открыт, можно проводить обмен информацией между ним и программой.
Но не у всех файлов одинаковые возможности. Например, к дисковому файлу прямой доступ возможен, в то время как к некоторым принтерам - он не возможен. Таким образом, вы видите, что напрашивается определенный вывод, являющийся принципом системы ввода-вывода языка Си: все потоки одинаковы, а файлы - нет!

Потоковый ввод-вывод

На уровне потокового ввода-вывода обмен данными производится побайтно. Такой ввод-вывод возможен как для собственно устройств побайтового обмена (печатающее устройство, дисплей), так и для файлов на диске, хотя устройства внешней памяти, строго говоря, являются устройствами поблочного обмена, т.е. за одно обращение к устройству производится считывание или запись фиксированной порции данных. Чаще всего минимальной порцией данных, участвующей в обмене с внешней памятью, являются блоки в 512 байт или 1024 байта. При вводе с диска (при чтении из файла) данные помещаются в буфер операционной системы, а затем побайтно или определенными порциями передаются программе пользователя. При выводе данных в файл они накапливаются в буфере, а при заполнении буфера записываются в виде единого блока на диск за одно обращение к последнему. Буферы операционной системы реализуются в виде участков основной памяти. Поэтому пересылки между буферами ввода-вывода и выполняемой программой происходят достаточно быстро в отличие от реальных обменов с физическими устройствами.

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

В отличие от термина «текстовый формат», характеризующего содержимое данных, термин «текстовый файл» относится к самому файлу как контейнеру, хранящему такие данные. Текстовый файл может содержать не только текст как таковой, но и текст с разметкой в виде текстовых помет — к примеру, HTML-текст.

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

В отличие от термина «текстовый формат», характеризующего содержимое данных, термин «текстовый файл» относится к самому файлу как контейнеру, хранящему такие данные. Текстовый файл может содержать не только текст как таковой, но и текст с разметкой в виде текстовых помет — к примеру, HTML-текст.


В некоторых файловых системах базовый уровень доступен пользователю, но более часто прикрывается некоторым более высоким уровнем, стандартным для пользователей. Распространены два основных подхода. При первом подходе, свойственном, например, файловым системам операционных систем фирмы DEC RSX и VMS, пользователи представляют файл как последовательность записей. Каждая запись - это последовательность байтов постоянного или переменного размера. Записи можно читать или записывать последовательно или позиционировать файл на запись с указанным номером. Некоторые файловые системы позволяют структурировать записи на поля и объявлять некоторые поля ключами записи. В таких файловых системах можно потребовать выборку записи из файла по ее заданному ключу. Естественно, что в этом случае файловая система поддерживает в том же (или другом, служебном) базовом файле дополнительные, невидимые пользователю, служебные структуры данных. Распространенные способы организации ключевых файлов основываются на технике хэширования и B-деревьев (мы будем говорить об этих приемах более подробно в следующих лекциях). Существуют и многоключевые способы организации файлов.

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



Интерфейс - ввода-вывод - Большая Энциклопедия Нефти и Газа, статья, страница 1

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

Cтраница 1


Интерфейс ввода-вывода стандартизован, а интерфейс периферийных аппаратов не стандартизован, так как сами периферийные аппараты весьма разнообразны по принципу действия, по выполняемым приказам и операциям и по используемым форматам информации и сигналам.  [2]

Интерфейс ввода-вывода - программно-управляемые БИС сопряжения УВВ и ЦП в микро - ЭВМ.  [3]

Интерфейс ввода-вывода обеспечивает побайтную передачу информации от каналов к абонентам и от абонентов к каналам. Это означает, что одновременно по линиям интерфейса передается восемь двоичных разрядов информации.  [4]

Интерфейс ввода-вывода служит для непосредственного подключения принтера, компьютера или модема. Дополнительные адаптеры позволяют удалить компьютер от прибора на расстояние 2 - 4 км. Связь осуществляется по двух - или четырехпроводной физической линии.  [5]

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

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

Интерфейс ввода-вывода ( interface I / O) - интерфейс, используемый в ЭВМ для подключения контроллеров периферийных устройств к каналам ввода-вывода.  [8]

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

Интерфейс ввода-вывода образует три группы шин: 16 информационных шин ввода-вывода; 36 шин преддешифраторов адресов УВВ; 8 шин управления. Все шины интерфейса ввода-вывода и питания выведены на внешние разъемы микро - ЭВМ типа РП15 - 50Г для подключения дополнительных контроллеров управления периферией.  [10]

Интерфейс ввода-вывода состоит из трех групп шин: 16 информационных шин ввода-вывода; 36 шин дешифраторов адресов УВВ; 8 шин управления. Все шины интерфейса ввода-вывода и питания выведены на внешние разъемы микро - ЭВМ для возможности подключения дополнительных устройств управления периферией.  [11]

Интерфейсы ввода-вывода, являясь формой МАП, однозначно характеризуют его программное и аппаратное содержание.  [12]

Интерфейс ввода-вывода ( табл. 38) обеспечивает единые правила обмена информацией, формат информации ( байт), выработку и передачу последовательностей управляющих сигналов, унифицированные средства подключения и управления различными ВУ. Под информацией понимаются данные, подлежащие передаче команды, адреса, байты состояния ВУ.  [13]

Интерфейс ввода-вывода ЕС ЭВМ связывает УУ любого типа с каналом ввода-вывода любого типа. Интерфейс использует формат передаваемой информации и последовательности сигналов, общие для всех УУ и не зависящие от типа каналов. Информация ( данные, информация о состоянии ПУ, адреса ПУ, сигналы управления) передается по 34 функционально разделенным линиям, входящим в состав интерфейса.  [14]

Интерфейс ввода-вывода ЕС ЭВМ связывает УУ любого типа с каналом ввода-вывода любого типа. Информация ( данные, информация о состоянии ПУ, адреса ПУ, сигналы управления) передается по 34 функционально разделенным линиям, входящим в состав интерфейса.  [15]

Страницы:      1    2    3    4

Программируемый параллельный интерфейс — МегаЛекции

В персональных компьютерах в качестве интерфейсных схем с побайтным вводом/выводом информации широко применяется микросхема типа КР580ВВ55, которая является универсальной программно-управляемой БИС. С помощью этой схемы возможна организация обмена в параллельном формате практически с любым периферийным оборудованием. БИС размещена в пластмассовом корпусе с 40 выводами. Потребляет мощность 350 мВт напряжением +5В. БИС может быть использована для организации синхронного и асинхронного обмена, а также обмена в режиме прерывания программы.

Функциональная схема БИС показана на рисунке 4.5. В состав БИС входят три 8-разрядных канала (буферных регистра) А, В, С и схема управления с регистром управляющего слова. Соединение ВВ55 с шиной данных МП осуществляется через двунаправленную шину ШД0-ШД7.

Запись информации от периферийных источников осуществляется по команде Чт сигналом низкого уровня. По этой команде шины одного из каналов соединяются с шинами ШД. Номер канала зависит от кода на выводах А0, А1.

По команде запись ― наличие сигнала низкого уровня на выводе ЗП – происходит запись байта данных в БИС от МП.

Вывод ВМ используется для управления микросхемой, то есть нулевой потенциал на ВМ разрешает работу БИС. При отсутствии сигнала выводы ШД[0-7] находятся в состоянии высокого импеданса. Для установки всех регистров БИС в нулевое состояние единичный импульс подается на вывод СБР – “Сброс”.

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

Обращение МП к каналам ввода/вывода осуществляется командами IN (ввод) и OUT (вывод). Возможно построение МП-систем, в которых обращение к каналам производится как к ячейкам памяти. В этом случае два младших разряда адреса А0, А1 подаются на интерфейсную БИС непосредственно и адресуют регистры каналов А, В, С или регистр управляющего слова. Остальные разряды А2 – А15 поступают на внешний дешифратор, который формирует сигнал ВМ и включает нужную БИС ВВ55 микропроцессорной системы. То есть адрес внешнего устройства состоит из номера БИС и номера канала в интерфейсной БИС.



В процессе работы при необходимости изменения структуры ввода-вывода в управляющий регистр рассматриваемой БИС программным способом заносится соответствующее управляющее слово. Содержание этого слова задает один из трех возможных режимов работы каналов ввода-вывода: основного (режим 0), стробируемого однонаправленного (режим 1), стробируемого двунаправленного (режим 2). Пример задания режимов с помощью управляющего слова показан на рисунке 4.6.

Таблица 4.1- Таблица управляющих сигналов БИС КР580ВВ55

 

Сигналы на входах Вид передаваемой информации Направление передачи информации
А0 A1 ЗП ЧТ ВМ
  х   х   х   х     Данные Данные Данные Данные Данные Данные Управляющее слово   А→ШД[0-7] В→ШД[0-7] С→ШД[0-7] ШД[0-7]→ А ШД[0-7]→ В ШД[0-7]→ С ШД[0-7]→регистр управляющего слова Нет передачи

 

Режимы работы каналов А и В могут быть заданы независимо друг от друга. Канал С делится на две части С [0-3] и С [4-7], режимы работы которых определяются собственно режимами работы каналов А и В, если последние работают в режиме 1 или 2. Если же каналы А и В работают в режиме 0, то каждая половина канала С может работать как отдельный канал в режиме 0. Режим 0 позволяет организовать синхронный обмен информацией между МП и внешними устройствами.

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

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

Фрагмент процедуры программирования БИС КР580ВВ55 на языке ассемблера и в машинных кодах имеет вид:

 

Мнемоника команд Машинный код команд Комментарии
XRA AF ; очистка аккумулятора
MVI A, 80 3E 80 ; запись управляющего слова
OUT 9B D3 9B ; в порт 9В
XRA AF  
LDA 0840 3A 40 08 ; занесение числа из памяти с ; адресом 0840 в аккумулятор
OUT 98 D3 98 ; вывод числа из аккумулятора ; в порт 98

 

Рассмотрим реализацию процедуры асинхронного обмена между МП и внешним устройством с помощью БИС 580ВВ55, работающей в режиме 1 (стробируемый однонаправленный). Пусть производится ввод информации через канал А. В момент готовности внешнего устройства к вводу информации в МП оно формирует сигнал СТР1 (стробирование) низкого уровня. Временная диаграмма этой процедуры изображена на рисунке 4.7.

По переднему фронту этого сигнала осуществляется запись слова данных в канал А. При этом БИС ВВ55 формирует ответный единичный сигнал ППР1 (подтверждение приема). В течение всего времени наличия единицы на выводе ППР1 внешнему устройству запрещается формировать сигнал СТР1 и записывать в канал новое слово данных. По заднему фронту сигнала СТР1 при наличии единицы ППР1 (и единичном состоянии внутреннего триггера ТГТ1) с интерфейса посылается сигнал запроса на прерывание МП – сигнал ГТВ1 (готовность). Получив этот сигнал МП, переходит на соответствующую подпрограмму обслуживания прерываний, в процессе которой осуществляется чтение слова данных из канала А. Для считывания информации с ВВ55 на неё с МП подается импульс ЧТ нулевого уровня. По переднему фронту этого сигнала слово из регистра А передается на шины данных МП. Задним фронтом сигнала ЧТ сбрасывается сигнал ППР1, что свидетельствует об окончании ввода данных в МП и внешнему устройству разрешается формировать новый сигнал СТР1.


Рекомендуемые страницы:


Воспользуйтесь поиском по сайту:

Управление вводом / выводом

Управление вводом / выводом

Последнее обновление страницы 23.08.99

Введение

Управление вводом / выводом - наименее организованный из компонентов компьютерной системы.

Stallings определяет три основные категории устройств ввода-вывода.

  • Человекочитаемый - Эти устройства предназначены для интерфейса человека: ЭЛТ, клавиатура, мышь, принтер и т. д.
  • Машиночитаемое - Дисковые и ленточные накопители, датчики, контроллеры, A / D, D / A
  • Связь - сетевые устройства и модемы.

Следующие различия в характеристиках способствуют несогласованности ввода / вывода устройств.

  • Скорость передачи данных - номинальные значения кбайт / с см. В таблице 11.1. Клавиатура @ 0,01, видеодисплей @ 30000, диск @ 2000
  • Приложение - использование устройства влияет на планирование политики
  • Сложность управления - принтер vs диск
  • Единица передачи - поток или блок
  • Представление данных - схемы кодирования, четность
  • Состояния ошибки - характер ошибок и возможные реакции

Организация функции ввода / вывода

  • Программируемый ввод-вывод - процессор выдает запуск ввода-вывода, а затем ожидает занятости под достройку
  • Interrupt-diven I / O - процессор выдает запуск ввода / вывода, но затем находит другую работу и прерывается по завершении операции ввода-вывода.
  • Прямой доступ к памяти - - Это необходимо для блочно-ориентированных устройств для выполнять операцию ввода-вывода непосредственно в буферы памяти. Устройства прерывают процессор по завершении.

Прямой доступ к памяти

Устройство ввода-вывода, которое может выполнять DMA, имеет небольшой ЦП для передачи данных. и доступ к памяти.

На схеме справа показаны строки управления, данных и адреса, которые необходимы в система

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

Точки останова DMA

Варианты дизайна прямого доступа к памяти

Логическая структура функции ввода / вывода

  • Логический ввод / вывод - открытие, закрытие, чтение, запись
  • Device I / O - буферизация, команды контроллера
  • Планирование и управление - организация очереди и планирование, обработка прерываний здесь
  • Управление каталогом - символические имена преобразованы в указатели, создать, удалить, переименовать
  • Файловая система - логические операции над файлами, открытие, закрытие, чтение, написать, найти, права доступа.
  • Физическая организация - отображение файловых блоков на блоки устройства

Буферизация ввода / вывода

Потоковый ввод / вывод - данные передаются побайтово; нет фиксированный блок ориентированный; может быть линейно ориентированным

Ввод-вывод, ориентированный на блоки - блок данных передается за один операция, e.г., дисковый сектор, ленточный блок.

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

Single Buffering - процесс получает блок ввода на входе запрос, а затем может продолжить операции ввода, не дожидаясь данные. На выходе процесс собирает блок вывода перед передачей данных

Double Buffering - процесс может обрабатывать один блок, в то время как система передает еще

Круговая буферизация - обобщение идеи двойной буферизации.

Интерфейс ввода-вывода (режим прерывания и DMA)

Интерфейс ввода-вывода (режим прерывания и DMA)

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

Режим передачи:

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

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

  1. Программируемый ввод / вывод.
  2. Ввод-вывод, инициированный прерыванием.
  3. Прямой доступ к памяти (DMA).

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

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

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



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

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

    • Скорость передачи данных ввода / вывода ограничена скоростью, с которой процессор может тестировать и обслуживать устройство
      .
    • Процессор связан с управлением передачей ввода / вывода; количество инструкций должно быть выполнено
      для каждой передачи ввода / вывода.
  3. Прямой доступ к памяти : Передача данных между быстрым носителем информации, таким как магнитный диск, и блоком памяти ограничена скоростью процессора.Таким образом, мы можем позволить периферийным устройствам напрямую связываться друг с другом с помощью шин памяти, устраняя вмешательство ЦП. Этот тип метода передачи данных известен как DMA или прямой доступ к памяти. Во время DMA процессор простаивает и не контролирует шины памяти. Контроллер DMA берет на себя управление шинами для управления передачей напрямую между устройствами ввода-вывода и блоком памяти.


    Запрос шины: Он используется контроллером DMA, чтобы запросить ЦП отказаться от управления шинами.

    Предоставление шины: Он активируется ЦП, чтобы сообщить внешнему контроллеру DMA, что шины находятся в состоянии высокого импеданса, и запрашивающий DMA может взять на себя управление шинами. Как только DMA берет на себя управление шинами, он передает данные. Этот перенос может происходить разными способами.

    Типы передачи DMA с использованием контроллера DMA:

    Пакетная передача:
    DMA возвращает шину после полной передачи данных. Регистр используется как счетчик байтов,
    уменьшается для каждой передачи байтов, и когда счетчик байтов достигает нуля, DMAC
    освобождает шину.Когда DMAC работает в пакетном режиме, CPU останавливается на время передачи данных
    .
    Используемые шаги:

    1. Время запроса разрешения шины.
    2. Передача всего блока данных со скоростью передачи устройства, поскольку скорость устройства обычно ниже скорости
      , с которой данные могут быть переданы в ЦП.
    3. Освободить управление шиной обратно ЦП
      Итак, общее время, необходимое для передачи N байтов
      = время запроса разрешения шины + (N) * (скорость передачи памяти) + время управления освобождением шины.
     Где,
    X мкс = время передачи данных или время подготовки (слова / блок)
    Y мкс = время цикла памяти или время цикла или время передачи (слова / блок)
    % Простоя процессора (заблокировано) = (Y / X + Y) * 100
    % CPU Busy = (X / X + Y) * 100 

    Cyclic Stealing:
    Альтернативный метод, при котором контроллер DMA передает по одному слову за раз, после чего он должен вернуть управление шинами ЦП. ЦП задерживает свою работу только на один цикл памяти, чтобы позволить прямой передаче ввода-вывода памяти «украсть» один цикл памяти.
    Выполняемые шаги:

    1. Буферизация байта в буфер
    2. Сообщите ЦП, что устройству есть 1 байт для передачи (т.е. запрос на разрешение шины)
    3. Передайте байт (на скорости системной шины)
    4. Освободите контроль над шина обратно к процессору.

      Перед тем, как перейти к передаче следующего байта данных, устройство снова выполняет шаг 1, чтобы шина не была привязана, а
      передача не зависела от скорости передачи устройства.
      Итак, для 1 байта передачи данных, время, затраченное на использование режима кражи цикла (T).
      = время, необходимое для предоставления шины + 1 цикл шины для передачи данных + время, необходимое для освобождения шины, это будет
      N x T

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

     Где,
    X мкс = время передачи данных или время подготовки
    (слов / блок)
    Y мкс = время цикла памяти или время цикла или передачи
    время (слов / блок)
    % Простоя процессора (заблокировано) = (Y / X) * 100
    % Загрузки ЦП = (X / Y) * 100
     

    Interleaved mode: В этом методе контроллер DMA берет на себя управление системной шиной, когда микропроцессор
    не использует ее.Альтернативный полупериод, то есть полупериод DMA + полупериод процессора.
    Примечание: В Gate Exam вы можете напрямую применить приведенную выше формулу для другого режима передачи DMA.

    Эта статья предоставлена ​​ Namita Singh .

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

    Вниманию читателя! Не прекращайте учиться сейчас. Изучите все концепции GATE CS с бесплатными живыми классами на нашем канале YouTube.

Операции чтения и записи в памяти

Операции чтения и записи в памяти

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


Где
l - общее количество адресных шин
N - память в байтах

Например, некоторая память может быть описана ниже в байтах, используя приведенная выше формула:

 1 кБ = 2  10  байт
 64 КБ = 2  6  x 2  10  Байт
       = 2  16  байт
 4 ГБ = 2  2  x 2  10  (кБ) x 2  10  (МБ) x 2  10  (ГБ)
      = 2  32  байт
 

Регистр адреса памяти (MAR) - это адресный регистр, который используется для хранения адреса ячейки памяти, в которой выполняется операция.
Регистр данных памяти (MDR) - это регистр данных, который используется для хранения данных, с которыми выполняется операция.

  1. Операция чтения из памяти:
    Операция чтения из памяти передает желаемое слово в адресные строки и активирует строку управления чтением. Описание операции чтения из памяти приведено ниже:

    Изначально на диаграмме выше, MDR может содержать любое значение мусора и MAR содержит адрес памяти 2003.После выполнения инструкции чтения данные из ячейки памяти 2003 будут считаны, и MDR будет обновлен значением ячейки памяти 2003 (3D).

  2. Операция записи в память:
    Операция записи в память передает адрес нужного слова в адресные строки, передает биты данных, которые должны быть сохранены в памяти, в линии ввода данных. Затем он активирует линию управления записью. Описание операции записи приведено ниже:

    На приведенной выше диаграмме MAR содержит 2003, а MDR содержит 3D.После выполнения инструкции записи 3D будет записано в ячейку памяти 2003.

Вниманию читателя! Не прекращайте учиться сейчас. Изучите все концепции GATE CS с бесплатными живыми классами на нашем канале YouTube.

Аппаратное обеспечение информационных систем

Аппаратное обеспечение информационных систем

Глава 4

Аппаратное обеспечение информационных систем

4.1 Организация компьютерных систем

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

Какова структура компьютерной системы? [Рисунок 4.1] [Слайд 4-1]

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

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

Процессор (ЦП)

Центральный процессор самый важный аппаратный компонент компьютерной системы.Он известен как ЦП, центральный процессор или процессор команд, и главный микропроцессор в микрокомпьютере. Данные обрабатываются и хранятся в компьютерной системе благодаря наличию или отсутствию электронных или магнитные сигналы в компьютерных схемах СМИ, которые он использует. Это называется состоянием Атво. или двоичное представление данных, поскольку компьютер и носитель могут отображать только два возможные состояния или условия (единицы и нули).

ЦП можно разделить на два основных подразделения, которые включает арифметико-логический блок (АЛУ), который выполняет арифметические и логические функции требуется при обработке и блоке управления, который интерпретирует инструкции компьютерной программы и передает направления другим компонентам компьютерной системы.

Основная память [Рисунок 4.2] [Слайд 4-4]

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

A bit - наименьший элемент данных, (двоичная цифра), которая может иметь значение ноль или единица.Емкость микросхем памяти составляет обычно выражается в битах, тогда как байт является основной группировкой биты, которые компьютер работает как единое целое. Обычно он состоит из 8 бит и используется для представления одного символа данных в большинстве схем компьютерного кодирования (например, 8 бит = 1 байт). Емкость памяти компьютера и вторичных запоминающих устройств обычно составляет выражается в байтах. слово - наибольшее число последовательных байты, к которым можно получить доступ одновременно в основной памяти.

Обычно используемые коды для представления символов в компьютерные системы с различным расположением битов:

1. ACSII (Американский стандартный код информации Обмен)

2. EBCDIC (расширенный двоично-десятичный обмен Код) - произносится: EB SEE DICK

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

Первичное хранилище (оперативная память) на самых современных компьютеры состоят из микроэлектронных полупроводниковых схем памяти, называемых ОЗУ ( случайных доступ к памяти ). Микросхемы памяти емкостью 256К бит, 1 мегабит, 4 мегабита, 16 мегабит и 32 мегабита сейчас используются во многих компьютерах.

Преимущества полупроводниковой памяти:

1.Малый размер

2. Быстрая скорость

3. Ударопрочность и термостойкость

4. Достаточно низкая стоимость за счет массового производства.

Недостатки полупроводниковой памяти:

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

Два основных типа полупроводниковой памяти:

1.Оперативная память (RAM):

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

2. Постоянное запоминающее устройство (ПЗУ):

- Чипы энергонезависимой оперативной памяти используются для постоянное хранение. ПЗУ можно читать, но нельзя стирать или перезаписывать. Инструкции и программы в первичном хранилище могут быть навсегда «записаны» в ячейки хранилища. во время изготовления.

Периферийные устройства

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

4.2 Категории компьютеров: микрокомпьютеры, мэйнфреймы, и суперкомпьютеры

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

Какие категории компьютеров:

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

Компьютеры поколения: [Рисунок 4.3]

Генерация Период времени На основе

Первое поколение 1951-1958 Вакуумные лампы

Второе поколение 1959-1963 Транзисторы

Третье поколение 1964-1979 Интегральные схемы

БИС / СБИС четвертого поколения с 1979 г. по настоящее время (крупномасштабные интеграция)

Пятое поколение 1990-х

Компьютерные системы обычно подразделяются на четыре категории: [ Рисунок 4.3 ]

1.Микрокомпьютеры

2. Миникомпьютеры (среднего класса) компьютеры

3. ЭВМ

4. Суперкомпьютеры.

Микрокомпьютеры [Рисунок 4.4] [Слайд 4-5]

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

Некоторые микрокомпьютеры и почти все технические рабочие станции теперь построены на базе микропроцессоров, называемых сокращенным набором команд компьютеры (RISC). Процессоры RISC оптимизируют CPU = s скорость обработки за счет использования меньшего набора команд.По сути, это означает, что они используют меньшее количество базовых машинных инструкций, которые может выполнять процессор. выполнение. Упрощая набор инструкций и используя более сложное программное обеспечение, RISC процессоры могут сократить время, необходимое для выполнения программных инструкций. Большая часть чего-либо популярные компьютеры используют CISC (компьютер со сложным набором команд).

Микрокомпьютеры Микрокомпьютеры Микрокомпьютеры

по размеру, по использованию, по категориям специального назначения

1.Портативный 1. Домашний 1. Персональные цифровые помощники

2. Ноутбук 2. Персональный 2. Сетевые компьютеры

3. Ноутбук 3. Профессиональный

4. Портативная 4. Рабочая станция

5. Рабочий стол 5. Многопользовательский

6. Напольный

Миникомпьютеры (среднечастотные)

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

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

2. Часто используются как выделенные процессоры для компьютерное проектирование (CAD) или обработка транзакций в режиме онлайн (OLTP), где в реальном времени должны быть выполнены требования быстрого реагирования.

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

4. Стоимость покупки и обслуживания ниже, чем у мэйнфрейма. компьютеры.

5. Может работать в обычных операционных средах (делать не нужен кондиционер или электропроводка).

6. Меньшие модели миникомпьютеров не нуждаются в персонале. специалистов по их эксплуатации.

Приложения:

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

2.Служить для управления производственными процессами и производящие заводские компьютеры, и они играют важную роль в автоматизированном производстве (CAM) и приложения для автоматизированного проектирования (CAD).

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

4. Популярны как мощные сетевые серверы в отдел, офисы и рабочие места.

Базовые блоки

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

1. Это большие мощные компьютеры, которые физически больше и мощнее, чем Micro и Minis.

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

3. Иметь большую емкость первичного хранилища.

4. Может поддерживать больше ввода / вывода и вторичного хранилища устройств.

5. Может поддерживать одновременно сотни пользователей.

6. Стоимость покупки и обслуживания выше, чем у мини-компьютеров.

7. Большинство мэйнфреймов должны работать в специальных среды (кондиционирование и спецпроводка)

8. Для работы с ними требуются профессионалы.

Приложения :

1. Удовлетворение потребностей в обработке информации государственные учреждения и коммерческие организации с большим количеством сотрудников и клиентов

2. Решать огромные и сложные вычислительные задачи.

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

Суперкомпьютеры

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

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

Приложения:

1. Государственные учреждения

2. Системы военной обороны

3.Национальные агентства по прогнозированию погоды

4. Крупные сети с разделением времени

5. Крупные корпорации.

4.3 Вторичное хранилище

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

Иерархия памяти

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

Semiconductor Memories: [Рисунок 4.8] [Слайд 4-6]

1. На вершине этой иерархии самая быстрая память на самом деле блоки - это регистров , включенных в ЦП, куда вводятся данные для манипулирования ALU, который выполняет арифметические и логические функции, необходимые в обработка.Регистры в ЦП - это специализированные схемы, которые используются для высокоскоростное временное хранение инструкций или элементов данных во время выполнения инструкция.

2. Кэш память является высокоскоростной временной область памяти в ЦП для хранения частей программы или данных во время обработки.

3. Основная память используется для хранения программы, которые в настоящее время обрабатываются, а также данные, которые они в настоящее время необходимы или производят.

4. Полупроводниковая память энергозависимая - их содержимое теряется при отключении питания.

Преимущества полупроводниковой памяти:

1. Малый размер

2. Быстрая скорость

3. Ударопрочность и термостойкость

4. Достаточно низкая стоимость за счет массового производства.

Недостатки полупроводниковой памяти:

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

Secondary Storage (нижние ступени памяти иерархия)

Магнитный диск или стираемый оптический диск и магнитный магнитная лента или нестираемый оптический диск

1. Эти устройства предлагают энергонезависимые, постоянные средства хранение больших объемов программ и данных.

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

3. Эти устройства предлагают энергонезависимые, постоянные средства хранение больших объемов программ и данных.

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

Элементы компьютерной памяти: [ Таблица 4.3 ]

Бит Наименьший элемент данных (двоичная цифра) который может иметь значение от нуля до единицы.Емкость микросхем памяти обычно выражается в битах.

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

Килобайт Измерение емкости памяти. Сокращенно КБ или К = одна тысяча байт (1,024 или 2 10 )

E.г., 640K = 640 x 1024 = 655360 НЕ 640,000

Мегабайт Измерение емкости памяти. Сокращенно MB или M = один миллион байтов (1,024 или 2 20 )

Gigabyte Измерение емкости запоминающего устройства. Сокращенно GB или G = один миллиард байт (1,024 или 2 30 )

Терабайт Измерение емкости памяти. Сокращенно ТБ или Т = один триллион байт ((1,024 или 2 40 )

Магнитные диски

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

Преимущества хранения на магнитных дисках:

1. Быстрый доступ

2. Большая емкость хранения

3. Умеренная стоимость.

Два основных типа магнитных дисков:

1. Обычные (твердые) металлические диски

2. Гибкие (гибкие) дискеты.

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

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

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

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

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

Преимущества:

1. Обеспечьте большую емкость с высокой скоростью доступа поскольку доступ к данным осуществляется параллельно по нескольким путям со многих дисков.

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

Магнитная лента

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

Оптические диски

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

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

CD-ROM

Наиболее распространенный тип оптических дисков, используемых в микрокомпьютеры.Они используются только для чтения. Хранилище более 600 мегабайт на диск. Это эквивалентно более 400 дискам (1,44 мегабайта) или 300 000 страницы текста с двойным интервалом. Данные записываются в виде микроскопических ямок на спиральной дорожке, и считываются с помощью лазерного устройства.

WORM - W rite O nce, R ead M любой.

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

Недостаток CD-ROM, WORM:

1. Записанные данные нельзя стереть.

Основное применение оптических дисков в мэйнфреймах и средних компьютерах систем есть:

1. Обработка изображений, где длительное архивное хранение. исторических файлов изображений документов должны быть сохранены.

Основное использование дисков CD-ROM:

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

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

Стираемые оптические диски

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

.

4.4 Устройства ввода

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

Клавиатуры

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

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

Указывающие устройства :

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

Устройства для прямого ввода даты [ Рисунки 4.11 & 4.12 ]

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

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

Сканер штрих-кода Устройство ввода, считывающее штрих-код.

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

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

4.5 Устройства вывода

Основными устройствами вывода являются видеодисплеи для электронная копия и принтеры для вывода на бумажном носителе.

Видео дисплеи

Видеодисплеи - самый распространенный тип компьютеров. выход.В большинстве видеодисплеев используется технология электронно-лучевой трубки (ЭЛТ). Жидкокристаллический Дисплеи (ЖК-дисплеи) обычно используются для портативных микрокомпьютеров и терминалов. Они используют меньше электричества, чем у ЭЛТ, и обеспечивает тонкий плоский дисплей. Плазменный дисплей - использование электрически заряженные частицы газа (плазмы), зажатые между стеклянными пластинами. Они есть значительно дороже, чем аппараты с ЭЛТ и ЖК-дисплеями. Однако они потребляют меньше энергии и обеспечивают более быструю скорость отображения и более высокое качество отображения.

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

Принтеры и другие устройства вывода бумажных копий

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

Ударные принтеры

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

Принтеры безударного действия

Принтеры, в которых не используется механизм печати. (например, лазерные принтеры и струйные принтеры ).

Плоттеры

Устройства вывода, которые рисуют графику, отображаются на бумага. Также производим распечатанную бумагу.

4.6 Обогащение бизнес-систем мультимедиа [Рисунок 4.15] [Slide4-7]

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

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

Мультимедийные вычисления становятся все более доступными инновационные системы в различных сферах бизнеса, такие как:

1. Маркетинг

2. Инжиниринг и производство

3. Управление человеческими ресурсами

4. Обучение

(решено) - 1.Следующие блоки памяти определяются числом ... - (1 ответ)

1. Следующие блоки памяти определяются числом слова, умноженные на количество бит в слове. Сколько адресных строк и Строки ввода / вывода нужны в каждом случае? (а) 8K X 16 (б) 2G X 8 (в) 16M X 32 (г) 256K X 64

2. Укажите количество байтов, хранящихся в каждом блоке памяти в вопрос 1.

3. Слово номер 563 в десятичном виде в памяти показано на рис. 7.3 (см. Мано-Ч7.pdf) содержит двоичный эквивалент 1212 десятичных чисел. Список 10-битный адрес и 16-битное содержимое памяти слова в двоичный и шестнадцатеричный.

4. Покажите временные осциллограммы цикла памяти для записи и чтения. операции. Предположим, что частота процессора составляет 150 МГц, а время цикла памяти 20 нс аналогично показанному на рис. 7.4 (см. Mano-Ch7.pdf).

5. Поместите ОЗУ 4 X 4, показанное на рис. 7.6 (см. Mano-Ch7.pdf), в блок-схема, показывающая все входы и выходы. Предполагая, что три состояния выходов, создайте память 8 x 8, используя четыре блока RAM 4 x 4.

6. (a) Сколько микросхем RAM 32K X 8 необходимо для обеспечения памяти емкость 256К байт? (б) Сколько строк адреса должно быть используется для доступа к 256 Кбайт? Сколько из этих линий подключено к адресные входы всех микросхем? (c) Используя абсолютное декодирование, как много строк нужно декодировать для входов выбора микросхемы? Укажите размер декодера.

7. (a) Сколько чипов RAM 128 X 8 необходимо для обеспечения памяти емкость 2048 байт? (б) Сколько строк адресной шины должно использоваться для доступа к 2048 байтам памяти? Сколько из этих строк будет общим для всех фишек? (c) Сколько строк нужно декодировать для выбор чипа? Укажите размер декодеров.

8. Микропроцессор использует микросхемы RAM размером 1024 X 1. а) Как необходимо много микросхем и какими должны быть их адресные строки подключен, чтобы обеспечить объем памяти 1024 байта? (б) Сколько микросхемы нужны для обеспечения объема памяти 16К байт? Объяснять на словах как микросхемы подключать к адресной шине.

9. Один из первых миникомпьютеров, PDP-8, имел l2-битный адресная шина. Какой был последний адрес в памяти этого компьютера космос? Дайте ответ в десятичном, двоичном, восьмеричном и шестнадцатеричный.

10. Нарисуйте карту памяти системы с 12-битной адресной шиной, разделение памяти на блоки по 2К. Укажите шестнадцатеричный адрес первого и последнего адреса в каждом блоке.

11. Микропроцессор 68000 имеет 24-битную адресную шину. В том, как много блоков по 64К можно ли разделить память 68000?

12. Каковы первый и последний адреса 1-мегабайтного блока память в верхней части адресного пространства 68000?

13. Если объем памяти 64 КБ (пространство разделено на блоки по 8 КБ, то какие начальный и конечный адреса блока №3? (Помните, блок, начинающийся с адреса 0, является блоком №0.)

14. У определенного компьютера есть адресное пространство 4Meg. Сколько бит широка адресная шина этого компьютера?

15. Популярным микроконтроллером является MCS-51 от Intel Corp. Two. версии: 8751 со встроенным СППЗУ и 8051 с ПЗУ с программированием по маске на кристалле. Предположим, 8751 продается за 30 долларов в любом количество, а 8051 продается за 3 доллара плюс 10 000 долларов за установку. а) Сколько единиц необходимо, чтобы оправдать использование устройства 8051? (б) Какова экономия при прогнозируемых продажах 3000 единиц финальной продукт, если используется 805I вместо 8751?

Общие сведения о порядке байтов с прямым и обратным порядком байтов - лучшее объяснение

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

  • Проблема: Компьютеры говорят на разных языках, как и люди. Некоторые записывают данные «слева направо», а другие - «справа налево».
    • Машина может нормально читать свои собственные данные - проблемы возникают, когда один компьютер хранит данные, а другой тип пытается их прочитать.
  • Решения
    • Согласитесь на общий формат (т. Е. Весь сетевой трафик следует одному формату), или
    • Всегда включайте заголовок, описывающий формат данных.Если заголовок отображается в обратном направлении, это означает, что данные были сохранены в другом формате и должны быть преобразованы.

Числа в сравнении с данными

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

Число - абстрактное понятие, такое как подсчет чего-либо. У тебя десять пальцев. Идея «десять» не меняется, независимо от того, какое представление вы используете: десять, 10, diez (испанский), ju (японский), 1010 (двоичный), X (римская цифра)... все эти представления указывают на одно и то же понятие «десять».

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

Данные подобны человеческому письму, которое представляет собой просто отметки на бумаге. В этих знаках нет внутреннего смысла. Если мы видим линию и круг (например, | O), мы можем интерпретировать это как «десять».

Но мы предположили, что знаки относятся к числу.Это могли быть буквы «IO», спутник Юпитера. Или, возможно, греческая богиня. Или, может быть, сокращение для ввода / вывода. Или чьи-то инициалы. Или цифру 2 в двоичном формате («10»). Список возможностей продолжается.

Дело в том, что отдельный фрагмент данных (| O) можно интерпретировать по-разному, и значение неясно, пока кто-то не прояснит намерения автора.

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

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

Базовые концепции

  • Данные (биты и байты или отметки на бумаге) не имеют смысла; его нужно интерпретировать, чтобы создать абстрактное понятие, например число.
  • Как и люди, компьютеры имеют разные способы хранения одной и той же абстрактной концепции. (т.е. у нас есть много способов сказать «десять»: десять, 10, diez и т. д.)

Сохранение чисел как данных

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

  • Бит имеет два значения (вкл. Или выкл., 1 или 0)
  • Байт - это последовательность из 8 бит
    • Самый левый бит в байте - самый большой.Итак, двоичная последовательность 00001001 - это десятичное число 9. 00001001 = (2 3 + 2 0 = 8 + 1 = 9).
    • Биты нумеруются справа налево. Бит 0 - самый правый и самый маленький; бит 7 - самый левый и самый большой.

Мы можем использовать эти базовые соглашения как строительный блок для обмена данными. Если мы сохраняем и читаем данные по одному байту, они будут работать на любом компьютере. Концепция байта одинакова на всех машинах, и представление о том, какой байт является первым, вторым, третьим (Байт 0, Байт 1, Байт 2...) одинакова на всех машинах.

Если компьютеры согласовывают порядок каждого байта, в чем проблема?

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

Байт Пример

Рассмотрим последовательность из 4 байтов, названную W X Y и Z - я избегал называть их A B C D, потому что это шестнадцатеричные цифры, что могло бы сбить с толку.Итак, каждый байт имеет значение и состоит из 8 бит.

 Имя байта: W X Y Z
 Расположение: 0 1 2 3
 Значение (шестнадцатеричное): 0x12 0x34 0x56 0x78
 

Например, W - это целый байт, 0x12 в шестнадцатеричном формате или 00010010 в двоичном формате. Если бы W интерпретировалось как число, это было бы «18» в десятичном виде (кстати, нет ничего, что говорит о том, что мы должны интерпретировать его как число - это может быть символ ASCII или что-то еще).

Со мной так далеко? У нас есть 4 байта, W X Y и Z, каждый со своим значением.

Общие сведения об указателях

Указатели являются ключевой частью программирования, особенно языка программирования C. Указатель - это число, которое ссылается на ячейку памяти. Мы (программист) должны интерпретировать данные в этом месте.

В C, когда вы приводите указатель к определенному типу (например, char * или int *), он сообщает компьютеру, как интерпретировать данные в этом месте. Например, объявим

 пусто * p = 0; // p - указатель на неизвестный тип данных
             // p - нулевой указатель - не разыменовывать
char * c; // c - указатель на символ, обычно однобайтный
 

Обратите внимание, что мы не можем получить данные из p, потому что мы не знаем его типа.p может указывать на одно число, букву, начало строки, ваш гороскоп, изображение - мы просто не знаем, сколько байтов нужно прочитать или как интерпретировать то, что там написано.

Теперь предположим, что мы пишем

 c = (char *) p;
 

Ah - теперь этот оператор указывает компьютеру указывать на то же место, что и p, и интерпретировать данные как один символ ( char обычно является одним байтом, используйте uint8_t , если на вашем компьютере это не так). В этом случае c будет указывать на ячейку памяти 0 или байт W.Если бы мы напечатали c, мы получили бы значение в W, которое является шестнадцатеричным 0x12 (помните, что W - это целый байт).

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

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

Итак, в чем проблема?

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

Теперь начинаются проблемы - когда вы читаете многобайтовые данные, где появляется самый большой байт?

  • Машина с прямым порядком байтов: хранит данные сначала с прямым порядком чисел . При просмотре нескольких байтов первый байт (младший адрес) является самым большим.
  • Машина с прямым порядком байтов: хранит данные Сначала с прямым порядком байтов . При просмотре нескольких байтов первый байт - это наименьший .

Именование имеет смысл, а? Big-endian считает, что на первом месте находится big-end. (Между прочим, именование с прямым порядком байтов и прямым порядком байтов происходит от «Путешествий Гулливера», где лилипутанцы спорят о том, разбивать ли яйца на малом конце или большом.

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

Теперь предположим, что наши 4 байта (W X Y Z) сохранены одинаково на машине с прямым и обратным порядком байтов. То есть ячейка памяти 0 - это W на обеих машинах, ячейка памяти 1 - это X и т. Д.

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

 c = 0; // указываем на точку 0 (на реальной машине работать не будет!)
* c = 0x12; // Устанавливаем значение W
c = 1; // указываем на позицию 1
* c = 0x34; // Устанавливаем значение X
... // повторяем для Y и Z; детали оставлены читателю
 

Этот код будет работать на любой машине, и мы оба установили байты W, X, Y и Z в местоположениях 0, 1, 2 и 3.

Интерпретация данных

Теперь давайте сделаем пример с многобайтовыми данными (наконец!). Быстрый обзор: «короткое целое» - это 2-байтовое (16-битное) число, которое может находиться в диапазоне от 0 до 65535 (без знака). Воспользуемся этим в примере:

 шорт * с; // указатель на короткое int (2 байта)
s = 0; // указываем на точку 0; * s - значение
 

Итак, s является указателем на короткое замыкание и теперь смотрит на позицию байта 0 (у которой есть W).8), потому что мне нужно было сдвинуть его более чем на 8 бит.

  • Машина с обратным порядком байтов: я не знаю, что курит мистер Биг Эндиан. Да, я согласен, что короткий - 2 байта, и я буду читать их так же, как он: местоположение s - 0x12, а местоположение s + 1 - 0x34. Но в моем мире первый байт - самый маленький! Значение короткого байта - 0 + 256 * байт 1, или 256 * X + W, или 0x3412.

  • Имейте в виду, что обе машины начинают с местоположения s и читают память, двигаясь вверх. Нет никакой путаницы в том, что означают местоположение 0 и местоположение 1.Нет сомнений в том, что короткий составляет 2 байта.

    Но вы видите проблему? Машина с прямым порядком байтов думает, что s = 0x1234, а машина с прямым порядком байтов думает, что s = 0x3412. Одни и те же точные данные дают два разных числа. Наверное, не очень хорошо.

    Еще один пример

    Давайте для развлечения рассмотрим другой пример с 4-байтовым целым числом:

     int * i; // указатель на int (4 байта на 32-битной машине)
    я = 0; // указывает на нулевое местоположение, поэтому * i - это значение там
     

    Мы снова спрашиваем: какое значение у i?

    • Машина с прямым порядком байтов: int составляет 4 байта, и первый является самым большим.Я прочитал 4 байта (W X Y Z), и W - самый большой. Номер 0x12345678.
    • Машина с прямым порядком байтов: Конечно, целое число составляет 4 байта, но первый - самый маленький. Я тоже читаю W X Y Z, но W принадлежит второстепенным - это самое маленькое. Номер 0x78563412.

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

    Проблема NUXI

    Проблемы с порядком байтов иногда называют проблемой NUXI: UNIX, хранящийся на машине с прямым порядком байтов, может отображаться как NUXI на машине с прямым порядком байтов.

    Предположим, мы хотим сохранить 4 байта (U, N, I и X) в виде двух шорт: UN и IX. Каждая буква представляет собой целый байт, как в нашем примере WXYZ выше. Для хранения двух шорт напишем:

     шорт * с; // указатель на установку шорт
    s = 0; // указываем на точку 0
    * s = UN; // сохраняем первую короткую: U * 256 + N (вымышленный код)
    s = 2; // указать на следующее место
    * s = IX; // сохраняем вторую короткую: I * 256 + X
     

    Этот код не относится к машине. Если мы сохраняем «ООН» на машине и просим перечитать ее, то лучше будет «UN»! Меня не волнуют проблемы с порядком байтов, если мы храним значение на одной машине и читаем его на той же машине, это должно быть то же самое значение.

    Однако, если мы посмотрим на память по одному байту (используя наш трюк с char *), порядок может измениться. На машине с прямым порядком байтов мы видим:

     Байт: U N I X
    Расположение: 0 1 2 3
     

    Что имеет смысл. U - это самый большой байт в «UN» и сохраняется первым. То же самое и с IX: I - самый большой и хранится первым.

    На машине с прямым порядком байтов мы увидим:

     Байт: N U X I
    Расположение: 0 1 2 3
     

    И это тоже имеет смысл. «N» - это самый младший байт в «UN» и сохраняется первым.Опять же, даже если байты хранятся в памяти «в обратном порядке», машина с прямым порядком байтов знает, что это обратный порядок байтов, и правильно интерпретирует их при обратном чтении значений. Также обратите внимание, что мы можем указывать шестнадцатеричные числа, такие как x = 0x1234, на любой машине. Даже машина с прямым порядком байтов знает, что вы имеете в виду, когда пишете 0x1234, и не будет заставлять вас менять значения самостоятельно (вы указываете шестнадцатеричное число для записи, и он выясняет детали и меняет местами байты в памяти под охватывает.Сложный.).

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

    Обмен данными между конечными машинами

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

    Решение 1. Используйте общий формат

    Самый простой способ - согласовать общий формат для отправки данных по сети.Стандартный сетевой порядок на самом деле является прямым порядком байтов, но некоторые люди считают, что прямой порядок байтов не победил ... мы просто назовем это «сетевой порядок».

    Для преобразования данных в сетевой порядок машины вызывают функцию hton (host-to-network). На машине с прямым порядком байтов это на самом деле ничего не даст, но мы не будем об этом здесь говорить (обратный порядок байтов может рассердиться).

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

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

     htons () - «Короткое замыкание между хостом и сетью»
     htonl () - "От хоста к сети долго"
     ntohs () - «Короткая от сети к хосту»
     ntohl () - "От сети к хосту долго"
     

    Помните, что один байт - это один байт, и порядок не имеет значения.

    Эти функции критически важны при низкоуровневой работе в сети, например при проверке контрольных сумм в IP-пакетах. Если вы не понимаете проблемы с порядком байтов правильно, ваша жизнь будет болезненной - поверьте мне на слово. Используйте функции перевода и знайте, зачем они нужны.

    Решение 2. Используйте метку порядка байтов (BOM)

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

    Если вы прочитали магическое число, и это 0xFFFE (наоборот), это означает, что данные были записаны в формате, отличном от вашего. Вам нужно будет его перевести.

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

    Во-вторых, спецификация добавляет служебные данные ко всем передаваемым данным.Даже если вы отправляете только 2 байта данных, вам необходимо включить 2-байтовую спецификацию. Ой!

    Unicode использует спецификацию при хранении многобайтовых данных (некоторые кодировки символов Unicode могут иметь 2, 3 или даже 4 байта на символ). XML избегает этого беспорядка, сохраняя данные по умолчанию в UTF-8, который хранит информацию Unicode по одному байту за раз. И почему это круто?

    (повторяется в 56-й раз) «Поскольку проблемы с порядком байтов не имеют значения для отдельных байтов».

    Верно.

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

    Почему вообще возникают проблемы с порядком байтов? Разве мы не можем просто ладить?

    Ах, что за философский вопрос.

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

    Но почему все не согласились с одной системой? Почему некоторые компьютеры должны стараться отличаться от других?

    Позвольте мне ответить на вопрос вопросом: почему все не говорят на одном языке? Почему некоторые языки пишутся слева направо, а другие - справа налево?

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

    Эпилог: Расставания

    Проблемы

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

    Другие сообщения этой серии

    1. Системы счисления и базы
    2. Краткое руководство по GUID
    3. Понимание быстрого обратного квадратного корня землетрясения
    4. Простое введение в компьютерные сети
    5. Поменять местами две переменные с помощью XOR
    6. Общие сведения о порядке байтов с прямым и обратным порядком байтов
    7. Юникод и вы
    8. Немного о форматах двоичных файлов
    9. Алгоритмы сортировки

    Ввод-вывод с отображением памяти - Введение в C и организацию компьютеров

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

    Распространенная идиома в компьютерной архитектуре - реализовать минимальный механизм, необходимый для достижения необходимого результата. Хотя можно построить ЦП, который включает в себя специальные инструкции и схемы, позволяющие программам считывать «входные» значения и записывать «выходные» значения, MSP430 использует обычно используемый более простой подход, который использует интерфейс памяти, уже необходимый для запрограммированных вычислений. Этот метод называется «ввод-вывод с отображением памяти».

    Обратите внимание, что ввод-вывод иногда обозначается как «I / O», «IO» или даже «io."

    Установка ваших плат

    Если вы приобрели новую плату, перемычки из P2.3, P2.1 и P2.5 должны быть удалены (или, желательно, просто переставлены так, чтобы они не соединяли контакты). Ниже приведены изображения того, как они должны быть настроены:



    Как работает ввод-вывод с отображением памяти

    Напомним, что память отображается как для ЦП, так и для программ в виде массива слов.

    • Реализовано каждое слово хранилища как два байта памяти.К каждому восьмибитовому байту можно получить доступ индивидуально.
    • Каждый байт памяти реализован как вектор из восьми битов памяти. Доступ ко всем восьми битам должен осуществляться одновременно.
    • Каждый бит памяти реализован как триггер.

    Ключевая концепция, используемая для реализации ввода / вывода с отображением памяти, заключается в том, что разработчики систем памяти могут изменять несколько конкретных «битов памяти» по заранее определенным адресам, чтобы обеспечить «биты ввода-вывода». Например,

    • Для вывода: Фактический триггер, хранящий какой-либо конкретный бит, имеет провод, уровень напряжения которого соответствует значению бита.
      • Когда записывается байт, содержащий этот "оснащенный" триггером, устанавливается логическое значение в триггере, и его значение передается как напряжение.
      • Например, если этот провод подключен к светодиоду, он будет гореть, когда бит истинен, а не иначе.
    • Для ввода: любой триггер, который "обычно" содержит один бит памяти, может быть заменен проводом (назовем его W), подключенным к источнику ввода.
      • При чтении байта, содержащего этот бит, логическое значение этого бита предоставляется W.
      • И W можно подключить к источнику входного сигнала - например, к переключателю.

    MSP430 содержит несколько устройств ввода-вывода (устройства.

    • На этой странице представлен порт «P1», который обеспечивает восемь битов «параллельного ввода-вывода», подключенных непосредственно к контактам на микросхеме.
    • Этот ввод-вывод называется «параллельным») потому что
      • Множественные биты памяти реализованы в одном байте, и
      • Единственный способ для программы читать или изменять биты внутри байта - это обращаться к ним одновременно "параллельно"."

    Восемь битов порта 1 (P1) соответствуют битам однобайтового целого числа и индексируются по своим позициям битов: P1.7 ... P1.0, где P1.0 - младший значащий бит. .

    Выход

    Два контакта P1 подключены к красному и зеленому светодиодам на плате LaunchPad.

    • Красный светодиод подключен к P1.0
    • Зеленый светодиод подключен к P1.6

    Следующие адреса предоставляют программам доступ и контроль над восемью битами порта "P1", когда они используются для вывода:

    Адрес Имя Значение
    0x22 P1DIR При записи: Указывает, какой биты P1 предназначены для вывода.
    0x21 P1OUT При записи: Предоставляет восемь бит данных для вывода.

    P1DIR и P1OUT также могут быть прочитаны

    • Они реализованы как векторы из 8 триггеров
    • При чтении они предоставляют то же самое 8-битное значение, которое было записано в них последней.

    Пример 1: Чтобы загорелся красный светодиод, подключенный к P1.0:

    • Нулевой бит P1DIR должен быть истинным: это устанавливает P1.0 в режим «вывода».
    • Нулевой бит P1OUT должен быть истинным: это фактическое значение, выводимое в P1.0
    • На языке ассемблера:
    или # 1, & 0x22; установите P1.0 в режим «вывода» (другие биты не изменяются)

    или # 1, & 0x21; фактическое значение, переданное P1.0, истинно (другие биты не изменились)

    * (char *) 0x22 | = 1; // устанавливаем P1.0 в режим «вывода» (остальные биты не меняются)

    * (char *) 0x21 | = 1; // фактическое значение, передаваемое P1.0 истинно (остальные биты не изменились) * (char *) 0x22 | = 1;

    Пример 2: Чтобы загорелись красный и зеленый светодиоды, подключенные к P1.0 и P1.6, соответственно:

    • Нулевой и шестой биты P1DIR должны быть истинными: это устанавливает P1.0 и P1.6 в режим «вывод».
    • Нулевой и шестой биты P1OUT должны быть истинными: они обеспечивают фактическое значение, выводимое в P1.0 и P1.6.
    или # 41, & 0x22; установите P1.0 в режим «вывода» (другие биты не изменяются)

    или # 41, & 0x21; фактическое значение, передаваемое P1.0 и P1.6 истинны (другие биты не изменились)

    Пример 3: Чтобы выключить красный светодиод, подключенный к P1.0:

    • Нулевой бит P1OUT должен быть ложным: это выводимое фактическое значение к P1.0
    • На языке ассемблера:

    и 0xfe, & 0x21; фактическое значение, передаваемое P1.0, ложно (другие биты не изменились)

    * (char *) 0x21 & = ~ 1; // фактическое значение, передаваемое P1.0, ложно (другие биты не изменились) * (char *) 0x22 | = 1;

    Пример 4: Следующая инструкция переключает (изменяет состояние) красный светодиод, оставляя зеленый светодиод неизменным.

    xor.b # 1, & 0x21

    Предлагаемые проблемы:

    1. Обоснуйте, почему XOR в примере 4 переключает красный, а не зеленый светодиод?
    2. Запишите набор методов Зеленый, который
    • включает зеленый светодиод, если s истинно
    • выключает зеленый светодиод в противном случае

    Вход

    Два регистра управления с отображением в памяти используются для чтения ввода с P1:

    Адрес Имя Направление Значение
    0x20 P1IN in При чтении: обеспечивает восемь значений всех битов P1.Обсуждаем позже.
    0x27 P1REN вход / выход «Включение резистора порта 1» При записи P1REN указывает, какие биты P1 управляются резистором со значениями, сохраненными в P1OUT.
    При чтении: обеспечивает 8-битное значение, записанное в последний раз в P1REN

    Кнопочный переключатель с надписью «P1.3» подключен к проводу P1.3.

    • P1.3 должен находиться в режиме ввода, и поэтому P1DiR.3 должен иметь значение false.
    • При нажатии
      • Провод P1.3 подключен к земле (логический уровень ноль).
      • Если программа считывает регистр управления P1IN по адресу 0x20, бит 3 результата будет ложным.
    • Когда не нажата
      • Провод P1.3 ни к чему не подключен
      • Мы хотели бы считать это логической истиной.
      • Для этого провод P1.3 должен быть (как минимум) слабо подключен к логическому уровню 1.

    P1REN может обеспечить это слабое соединение с «истинным» логическим уровнем через резистор, если

    • Бит 3 P1REN установлен в значение true (что подключает бит 3 P1OUT к P1.3, и
    • Бит 3 P1OUT установлен в значение true (что обеспечивает логическую единицу)

    Предлагаемое упражнение: напишите метод checkButton () в C и выполните сборку, которая

    • возвращает 1, если переключатель P1.3 установлен. нажата
    • возвращает 0 в противном случае

    Прерывания

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

    Адрес Имя Направление Значение
    0x25 P1IE вход / выход "P1 Interrupt Enable" Определяет, какие биты P1 могут вызывать прерывания.
    0x24 P1IES вход / выход «P1 Interrupt Sense» Определяет состояние отсутствия прерывания (обычно текущее) для проводов ввода / вывода P1. Сигнал прерывания будет сгенерирован, если значение на проводе P1.x перейдет из состояния "равное" в бит P1IES.x. Примечание: P1.x может генерировать прерывание, только если P1IE.x истинно, а бит разрешения прерывания (IE) SR (R2) истинен.
    0x23 P1IFG вход / выход «Флаг прерывания порта 1» Указывает, какие биты P1 имеют отложенное прерывание.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *