Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Архитектура информационных систем иСтр 1 из 35Следующая ⇒
АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ
Конспект лекций для студентов, обучающихся по направлению 09.03.02 “Информационные системы и технологии” очной и заочной форм обучения
Севастополь Чернега В.С. Архитектура информационных систем: Конспект лекций.— Севастополь: СевНТУ, 2015. — 161 с.
В конспекте лекций излагаются особенности архитектуры информационных систем, а также основные элементы архитектуры компьютерных систем, форматы машинных слов и команд, архитектура универсальных процессоров и функциональных узлов компьютеров, способы организации и построения памяти ЭВМ. Рассматриваются особенности работы процессоров в защищенном режиме, способы управления памятью и мультипрограммный режим. Освещаются особенности архитектуры 32-х и 64-разрядных и многоядерных процессоры. В последующих разделах излагаются принципы и особенности построения персональных ЭВМ, характеристика системного блока и функциональных модулей, видео- и аудиосистемы компьютеров, интерфейсы и функционирование ЭВМ.
© Чернега Виктор Степанович, 2015 г. Содержание
Архитектура информационных систем и Переходная архитектура информационныхьсистем
Использование хранимых процедур и вычисление данных на стороне сервера сокращают трафик и увеличивают безопасность, однако на клиентском компьютере все равно реализуется часть бизнес-логики. Такая организация информационной системы похожа на организацию первых информационных систем с той лишь разницей, что на пользовательском месте стоит не терминал, а персональный компьютер, обеспечивающий графический интерфейс пользователя, например, в последнее время в качестве клиентских программ часто применяют стандартные www-браузеры. Конечно, такой возврат к начальным системам произошел уже на ином технологическом уровне. Обязательным стало использование СУБД со всеми их преимуществами. Программы для серверной части пишутся, в основном, на специализированных языках, пользуясь механизмом хранимых процедур сервера БД. Таким образом, на уровне логической организации, ИС в архитектуре клиент-сервер с тонким клиентом расщепляется на три уровня - уровень данных, уровень бизнес-функций (хранимые процедуры) и уровень представления. К сожалению, обычно, в такой схеме построения ИС не удается написать всю бизнес-логику приложения на не предназначенных для этого встроенных языках СУБД. Поэтому, очень часто часть бизнес-функций реализуется в клиентской части систем, которая от этого неотвратимо " толстеет". Отчасти поэтому, отчасти потому, что физически такие ИС состоят из двух компонентов, эту архитектуру часто называют 2.5-уровневый клиент-сервер. В отличие от 2-х уровневой архитектуры 2.5-уровневая архитектура обычно не требует наличия высокоскоростных каналов связи между клиентской и серверной частями системы, так как по сети передаются уже готовые результаты вычислений - почти все вычисления производятся на серверной стороне. Существенно улучшается также и защита информации - пользователям даются права на доступ к функциям системы, а не на доступ к ее данным и т.д. Однако архитектура 2.5 имеет недостатки, характерные для первых ИС: ограниченную масштабируемость, зависимость от программной платформы, ограниченное использование сетевых вычислительных ресурсов. Кроме того программы для серверной части системы пишутся на встроенных в СУБД языках описания хранимых процедур, предназначенных для валидации данных и построения несложных отчетов, а вовсе не для написания ИС масштаба предприятия. Все это снижает быстродействие системы, повышает трудоемкость создания с модификации ИС и самым негативным образом сказывается на стоимости аппаратных средств, необходимых для ее функционирования.
Архитектура и функционирование серверных и клиентских компьютеров
Неймановская и гарвардская архитектуры компьютеров В настоящее время наибольшее распространение в ЭВМ получили 2 типа архитектуры: Неймановская и Гарвардская. Неймановская архитектура компьютера основывается на следующих принципах. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. CISC- и RISC-процессоры
По системе команд и архитектуре различают 2 вида процессоров (компьютеров): 1) с полным набором инструкций — CISC (Complete Instruction Set Computer); 2) с сокращенной системой команд — RISC (Reduced Instruction Set). Такие процессоры обычно имеют набор однородных регистров универсального назначения, и их система команд отличается относительной простотой. Стратегия CISC-архитектуры формировалась в большой степени по желанию программистов иметь в своем распоряжении как можно больший набор команд для упрощения программирования. За первое десятилетие компьютерной эры список команд ЭВМ расширился от нескольких десятков до нескольких сотен. Для CISC-процессоров характерны следующие признаки: 1) небольшое число регистров общего назначения; 2) большое количество машинных команд; 3) наличие сложных (многотактных) команд, функционально аналогичных операторам языков программирования высокого уровня; 4) большое количество способов адресации, 5) большое количество форматов команд различной разрядности; 6) преобладание двухадресного формата команд; 7) наличие команд обработки типа регистр-память. Использование CISC-архитектуры упрощает компиляцию программ и уменьшает размеры исполняемых модулей. Но в архитектуре CISC плохо реализуются новейшие технические решения по повышению быстродействия процессоров. Это использование конвейерной, суперконвейерной и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд. Стратегия RISC архитектуры формировалась исходя из требований достижения максимальной производительности компьютера. По этой причине главными требованиями архитектуры RISC являлись следующие: 1) любая операция должна выполняться за один такт; 2) система команд должна содержать минимальное количество наиболее часто используемых команд (несколько десятков) одинаковой длины; 3) операции обработки данных реализуются только в формате регистр-регистр. Обмен между регистрами и памятью выполняется только командами загрузки и записи. В дальнейшем эти требования были несколько смягчены. Выполнение команды за один такт стало трактоваться как загрузка конвейера команд в темпе " команда за такт". Набор команд современных RISC-процессоров возрос и содержит до 150 команд и более. Незыблемым для архитектуры RISC остается только требование: обработка данных ведется только командами в формате регистр-регистр. Для архитектуры характерны следующие признаки: 1) наличие внутри процессора достаточно большого файла регистров общего назначения (32 и более регистров); 2) использование для обработки информации трехадресных регистровых команд; 3) команды регистр-память применяются только для загрузки внутренних регистров из памяти и сохранения содержимого регистров общего назначения в памяти, Использование в программе только простых команд в формате регистр-регистр позволяет увеличить скорость выполнения большинства вычислительных задач в 2-3 раза. В процессе научных исследований было установлено, что в 80% кода программ содержится около 20% простейших команд, а удаление из системы команд сложных операций позволяет уменьшить объём аппаратуры процессора примерно в 10 раз без ощутимого снижения быстродействия. Поэтому в основе современных высокопроизводительных ЭВМ заложена архитектура RISC.
МП является основной частью — ядром микро-ЭВМ. Его архитектура в значительной степени определяет характерные параметры микро-ЭВМ. Типичная структурная схема МП имеет вид, изображенный на рисунке 3.1. В ее состав входят следующие функциональные узлы.
Аккумулятор – это регистр, в котором содержится операнд, подлежащий обработке в АЛУ. Его можно считать основным рабочим регистром, в котором записываются данные из памяти и результаты операций, заносимых обратно в память или в устройство ввода-вывода. Например, в соответствии с заданной командой в АЛУ подается команда выполнения операции сложения содержимого аккумулятора и другого регистра и записи полученной суммы в Ak. Счетчик команд (СК). Команды, образующие программу, хранятся в памяти программы в определенной последовательности. В счетчике команды содержится адрес выполняемой в текущий момент команды. Обычно в процессе выполнения команд содержимое СК увеличивается на единицу. Однако в зависимости от вводимых данных либо от результатов выполнения операций может возникнуть необходимость изменения последовательности порядка выполнения команд. Для этого необходим переход к новому адресу команды. С этой целью в СК непосредственно записывается адрес команды, к которой необходим переход. Для того чтобы затем была возможность обратного перехода в последовательности прежде выполнявшихся команд, необходимо запомнить адрес, предшествовавший переходу на новую последовательность команд. Этот адрес сохраняется в регистре стека. Стек. Стек – это набор регистров или ячеек оперативной памяти, в котором данные или адреса выбираются “сверху” по принципу: “первый – поступивший последним”. При записи в стек очередного слова все ранее записанные слова смещаются на один регистр “вниз”. Например, если идет запись в последовательности A1, A2, A3, A4, то при считывании информация появляется в обратном порядке A4, A3, A2, A1. Т.е. нельзя извлечь раньше A2, чем A3 и т.п. Стек обычно используется в МП для хранения адресов возврата при обращении к подпрограммам, а также для запоминания состояния внутренних регистров при обработке прерываний. Важным параметром является число регистров стека (информационная емкость). При попытке записать в стек большее число слов, чем имеющаяся информационная емкость первое слово будет утеряно. Т.е. происходит переполнение стека. Для указания адреса последнего записанного в стек адреса применяется указатель стека (УС), являющийся специальным регистром. Регистр команд. Команда, принимаемая МП из памяти, хранится в регистре команд (РК). Длина (формат) команды (т.е. число разрядов) зависит от типа МП. Простые МП имеют 8-разрядный код операции. Таким образом, всего может быть образовано 28=256 различных команд. Для практических целей такое общее число команд более чем достаточно. Несмотря на это, многие МП имеют переменную длину команды, состоящую из одного, двух или трех байтов. С помощью таких команд осуществляется не только идентификация требуемой операции, но и задание кода одного или более адресатов для выбора данных и записи результата. Дешифратор команд (ДШК) предназначен для определения операции, которую должен выполнить МП. Сигналы, образующиеся на выходах ДШ, управляют передачей информации между отдельными блоками и задают функции, выполняемые этими блоками. Как правило, команды делятся на группы, причем в каждой из групп выполняются аналогичные операции. Эти группы команд, например, “Передача данных”, “Арифметические операции”, “Логические операции” и т.д. различаются по четырем старшим разрядам КОП. Такая группировка значительно упрощает декодирование команд. Регистры общего назначения (РОН) – сверхоперативная память. Эти регистры применяются в качестве временного запоминающего устройства для различной информации (адресов и данных), которую можно извлечь просто и с большей скоростью, чем из ОЗУ. Поэтому блок памяти РОН называют сверхоперативной памятью. Обращение к РОН – адресное. Эти регистры допускают считывание и запись информации, в связи с чем содержат входную и выходную шины, адресную шину и управляющие входы, информация на которых задает режим работы регистра: запись, чтение или хранение. Арифметико-логическое устройство – (АЛУ) входит в состав всех процессоров, хотя его принципиальная схема, функции, быстродействие и т.д. могут быть существенно различными. АЛУ, как составная часть МП, должно выполнять по крайней мере следующие операции: - сложение с переносом; - вычитание с переносом (заемом); - сдвиг влево и вправо; - счет в прямом и обратном направлении; - логическое умножение и сложение (И, ИЛИ); - сравнение кодов. Более сложные АЛУ могут выполнять и другие функции. Схемы синхронизации и управления – (ССУ) совместно с ДШК называют устройством управления. Устройство управления расшифровывает поступающую команду и в соответствии с ней вырабатывает необходимую последовательность сигналов, управляющих работой всех остальных блоков МП. Следует заметить, что последовательность управляющих сигналов зависит также от характеристик промежуточных состояний (вычислений) и наличия дополнительных сигналов (прерывание, запрос и т.д). В состав микропроцессора входиттакже регистр состояния, не показанный на схеме. Он состоит из одного или нескольких триггеров, называемых “флажками”. Эти триггеры предназначены для хранения информации о состоянии МП и индикации этого состояния. Например, индикация нулевого содержимого аккумулятора, признак наличия единицы переноса при выполнении арифметических операций, знака содержимого аккумулятора и т.д. Данный регистр состояния обеспечивает возможность интерпретации результатов, полученных при вычислениях, и часто используется для реализации условных переходов.
Команды передачи данных. С помощью таких команд можно осуществить передачу данных от одного из регистров А, В, С, D, E, H и L к одному из регистров А, В, С, D, E, H и L. Кроме того, можно выбрать ячейку памяти М (1байт) микропроцессора, адресуясь к ней, как к одному из регистров. При этом для адресации памяти используется содержимое регистровой пары HL. Есть еще одна возможность задать содержимое регистров: загрузить непосредственный операнд в выбранный регистр. Эти команды, однако, не позволяют выполнять запоминание в обратном направлении (не существует команд, по которым содержимое регистра могло бы быть помещено в поле операндов команды). Формат команд:
При этом r1 определяет регистр или ячейку памяти, в которую производится запись, а r2 – регистр или ячейку памяти, из которых извлекается число или непосредственный операнд. Если r1=r2 то команда является пустой. Вместо этой команды можно использовать команду NOP. Пустая команда ни при каких обстоятельствах не изменяет содержимого регистров, памяти и состояния МП.
По этой команде число, расположенное в поле операндов, заносится в регистр r.
Примеры: M1: MOV A, B; < B> ®< A> M2: MOV M, A; < A> ®< M> или < A> ®< < HL> > MOV B, M; < M> ®< B> или < < HL> > ®< B >. MVI M, 12Q; 12Q®< M> или 12Q® < < HL> >. Q – обозначает, что число в восьмеричной системе.
Пример: Передать содержимое ячейки 9В 73Н в регистр А; содержимое регистров Н и L не определено. Выполнение: MVI Н, 9ВН; < 9B> ® H MVI L, 73Н; < 73> ®L MОV А, М; Выборка из памяти < HL>.
Команды регистровых операций Команды регистровых операций занимают в памяти один байт. Они используются для того, чтобы содержимое того или иного регистра увеличить или уменьшить на единицу. Это относится к регистрам: r = B, C, D, E, H, L. Данные команды изменяют Z-, P- и S–биты состояния, хотя регистр А не участвует в операциях. Благодаря этому можно использовать названные регистры для организации программных циклов. Формат команд имеет следующий вид:
(Метка: ) INR r; Увеличить содержимое регистра на единицу (Increment register) Пример: INR C; < C> + 1 ® < C> DCR r; Уменьшить содержимое регистра на 1 (Decrement register) Для загрузки аккумулятора А содержимым ячейки памяти используются команды LDAX B и LDAX D. LDAX B; Загрузить Акк. Содержимым ячейки памяти, адрес ; которой находится в регистровой паре В, С (Load Akkumulator)
LDAX D; < < D, E> > ® A. Обе эти команды однобайтные. Команда LDA адрес загружает в Акк. Содержимое ячейки памяти, адресуемой вторым и третьим байтами команды. [< B3> < B2> ] ® A. Команда запоминания STA адрес производит противоположную передачу: A ® [< B3> < B2> ].
Команды работы со стеком. PUSH rp (rp = B, C; D, E; H, L, PSW) -Запоминание значения регистров в стеке. При выполнении команды содержимое пары регистров запоминается в стеке. Одной из пар регистров является слово состояния процессора PSW, которое состоит из содержимого аккумулятора (старший байт) и регистра состояния (младший байт). Нет такой команды, при выполнении которой запомнится в стеке только один регистр. Пример: PUSH B. При выполнении этой команды < B, C>, запоминается в вершине стека, а указатель стека уменьшается на 2. < B> запоминается первым, потом < C> заканчивает стек в его вершине. POP rp (rp = B, C; D, E; H, L, PSW)- Загрузка регистров из стека. По этой команде пара регистров rp загружается содержимым вершины стека. Пример: POP D. Эта команда загружает регистры D и E из вершины стека и увеличивает указатель стека на 2. Регистр Е загружается первым. Стек имеет следующие особенности: § указатель стека содержит адрес ячейки, которая была занята самой последней (младший занятый адрес). Стек может быть расположен в любом месте памяти; § данные запоминаются в стеке с использованием предуменьшения, то есть команды уменьшают указатель стека на 1 перед запоминанием каждого байта; § данные загружаются из стека с использованием послеувеличения, то есть команды увеличивают указатель стека 1 после загрузки каждого байта; § отсутствуют указатели выхода за границы стека в ту или иную сторону, что типично для микропроцессоров всех типов. SPHL - Загрузка указателя стека (sp) – однобайтная команда. < H> ® < < SP> +1>; < L> ® < < SP> >.
PCHL - Загрузка программного счетчика PC. < H, L> ® < PC>.
3.6. Программирование арифметических и логических операций.
С помощью одного байта можно представить 256 различных чисел. Старший разряд байта интерпретируется как знаковый (0 – положительное, 1 – отрицательное число). Все остальные биты используются для представления численного значения. Таким образом, в одном байте может быть представлены числа в диапазоне от –127 до 127. Для представления отрицательных чисел используется дополнительный код. Дополнительный код А*=> . Например, двоичный код числа А=-10: А=0000 1010 А*=1111 0101+0000 0001=1111 0110 ë знаковый бит. Как при сложении, так и при вычитании операнды в пределах от 0 до 255 интерпретируются как положительные восьмиразрядные числа. При вычитании вычитаемое преобразуется в его дополнительный код и затем суммируется с уменьшаемым. Если суммирование приводит к результату большему 255 (переполнение), то С–бит становится равным единице, в противном случае С=0. Процессор имеет возможность выполнять операции сложения и вычитания чисел от –127 до +127 т.о., что результат имеет правильный знак. Для представления знака результата арифметической операции используется бит состояния S. Он устанавливается в единицу, если старший бит регистра А[7]=1. В противном случае он сбрасывается. Примеры арифметических операций 8-разрядных чисел.
Сложение: [+] [0] вычитание: [7] [0] 10 0000 1010 -10 0000 1010 8 0000 10008 0000 1000 18 0001 0010 2 0001 0010 < C-бит> =0 < S> =0 < C> =0 < S> =0
+10 0000 1010 -10 0000 1010 (-12) 1111 0100 12 1111 0100 -2 0 1111 1110 -2 1111 1110 < C> =0 < S> =1 < C> =1 < S> =1 Команды сдвига. Команды данной группы требуют 1 байт памяти. По этим командам содержимое аккумулятора сдвигается влево или вправо на один разряд. В этой операции принимает и С-бит. Значение С-бита может в результате выполнения команды изменяться, а значения остальных флагов остается неизменным. Формат команды имеет вид: (Метка: ) RLC; Сдвинуть циклически содержимое аккумулятора влево ; Rotate accumulator left RRC; Сдвинуть циклически содержимое аккумулятора вправо RAL; Сдвинуть циклически содержимое аккумулятора влево ; через бит переноса RAR; Сдвинуть циклически содержимое аккумулятора вправо ; через бит переноса
Если обозначить разряды в А от A[0] до A[7], то выполняемую операцию можно описать следующим образом: RLC: A[7] ® < Cб >; A[m] ® A[m+1], m = 0,..., 6; A[7] ® A[0]. RAL: A[7] ® < Cб >; A[m] ® A[m+1], m = 0,..., 6; Cб ® A[0].
Схематично четыре операции сдвига можно изобразить следующим образом (рис.3.8). Рисунок 3.8 – Схема осуществления команд сдвига в аккумуляторе
Имеется группа команд условного перехода, выполняемых в зависимости от значения одного из четырех флагов состояния (C, Z, S, P). Если условие перехода выполнено, то осуществляется переход по адресу, указанному в команде. В противном случае выполняется следующая команда. Группу команд условного перехода образуют 8 команд.
Таблица 4.1- Таблица управляющих сигналов БИС КР580ВВ55
Режимы работы каналов А и В могут быть заданы независимо друг от друга. Канал С делится на две части С [0-3] и С [4-7], режимы работы которых определяются собственно режимами работы каналов А и В, если последние работают в режиме 1 или 2. Если же каналы А и В работают в режиме 0, то каждая половина канала С может работать как отдельный канал в режиме 0. Режим 0 позволяет организовать синхронный обмен информацией между МП и внешними устройствами. Режим 1 обеспечивает возможность организации однонаправленной асинхронной передачи информации между МП и внешними устройствами, при этом каналы А и В используются как регистры данных, а канал С – для приема и формирования сигналов, сопровождающих асинхронный обмен (в качестве устройства, осуществляющего анализ готовности внешних устройств и МП к обмену и стробирование данных в регистры каналов А и В). Для этого в состав канала С входят два триггера разрешения готовности, допускающие установку и сброс программным способом, а также ряд логических схем для асинхронной записи информации в регистры А и В. Особенностью канала С является то, что каждый из разрядов этого канала может быть независимо от остальных установлен в 1 или в 0. Это позволяет использовать канал С для хранения управляющего слова (состояния внешнего устройства) при организации программно-управляемого обмена. Фрагмент процедуры программирования БИС КР580ВВ55 на языке ассемблера и в машинных кодах имеет вид:
Рассмотрим реализацию процедуры асинхронного обмена между МП и внешним устройством с помощью БИС 580ВВ55, работающей в режиме 1 (стробируемый однонаправленный). Пусть производится ввод информации через канал А. В момент готовности внешнего устройства к вводу информации в МП оно формирует сигнал СТР1 (стробирование) низкого уровня. Временная диаграмма этой процедуры изображена на рисунке 4.7. По переднему фронту этого сигнала осуществляется запись слова данных в канал А. При этом БИС ВВ55 формирует ответный единичный сигнал ППР1 (подтверждение приема). В течение всего времени наличия единицы на выводе ППР1 внешнему устройству запрещается формировать сигнал СТР1 и записывать в канал новое слово данных. По заднему фронту сигнала СТР1 при наличии единицы ППР1 (и единичном состоянии внутреннего триггера ТГТ1) с интерфейса посылается сигнал запроса на прерывание МП – сигнал ГТВ1 (готовность). Получив этот сигнал МП, переходит на соответствующую подпрограмму обслуживания прерываний, в процессе которой осуществляется чтение слова данных из канала А. Для считывания информации с ВВ55 на неё с МП подается импульс ЧТ нулевого уровня. По переднему фронту этого сигнала слово из регистра А передается на шины данных МП. Задним фронтом сигнала ЧТ сбрасывается сигнал ППР1, что свидетельствует об окончании ввода данных в МП и внешнему устройству разрешается формировать новый сигнал СТР1. Программируемый таймер
Программируемый таймер(БИС Intel 8254, отечественный аналогК1810ВИ54)предназначен для формирования импульсных последовательностей определенных частот. Программируемый таймер (ПТ), используемый в ПЭВМ IBM PC, содержит 3 канала и служит для: § задания импульсной последовательности для контроллера ПДП для регенерации динамического ОЗУ; § формирования импульсной последовательности с частотой 18.2 Гц для часов реального времени; § формирования колебаний звуковой частоты для управления динамиком. Программируемый таймер К1810ВИ54 (рисунок 4.12) содержит 3 независимых канала, каждый из которых может быть запрограммирован на работу в одном из шести режимов для двоичного или десятичного счета. Он работает с задающей частотой до 8 МГц. Он Каждый канал таймера включает: 1) 16–разрядный счетчик/таймер СЕ, работающий в режиме вычитания. Изменение состояния счетчика происходит по спаду сигнала CLK при GATA = 1; 2) 16–разрядный буферный регистр, служащий для запоминания и хранения мгновенного значения счетчика СЕ, которое в любой момент может быть записано по команде «защелка» или «чтение состояния канала». После выполнения этих команд содержимое буферного регистра может быть прочитано ЦП без остановки дальнейшего счета в регистре СЕ; 3) 16–разрядный регистр констант пересчета CR, служащий для хранения коэффициента пересчета. Содержимое CR копируется в СЕ для счета, в зависимости от запрограммированного режима; 4) 8–разрядный регистр управляющего слова RSW. Содержимое управляющего слова позволяет запрограммировать каждый канал в отдельности (указывается номер канала, вид операции: ЧТ, ЗП младшего или старшего байта, тип режима, вид счета (двоичный или двоично-десятичный)). 5) 8–разрядный регистр состояния канала RS, содержимое которого можно считывать в ЦП с помощью команды «чтение состояния канала» (D7=D6=1 в управляющем слове). Слово состояния (D7, D6) показывает, произошла ли загрузка в регистр констант CR, либо состояние выхода канала OUT.
Назначение выводов микросхемы следующее:
Счетчики могут работать в пяти режимах: Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 1081; Нарушение авторского права страницы