Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВС.docx
Скачиваний:
5
Добавлен:
28.07.2019
Размер:
238.41 Кб
Скачать
  1. Многоуровневая компьютерная организация

  1. 6.Современные многоуровневые машины

Современные компьютеры состоят из двух и более уровней.

Об уровнях теперь по подробнее:

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

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

2) Уровень архитектуры набора команд. Подробное описание этого уровня публикуется производителями компьютера в руководстве по его машинному языку.

3)Операционные системы.Является гибридным. Большинство команд в его языке есть так же и на уровне архитектуры набора команд, однако на уровне 3 есть некоторые дополнительные возможности:новые команды, другая организация памяти, возможность выполнять две и более программ одновременно. и др..

4) Между уровнем 4 и более низкими уровнями есть существенная разница: нижние уровни ориентированы на интерпретаторы и инсталяторы поддерживающие более высокие уровни. Уровни, начиная начиная с четвертого и выше предназначены для программистов решающие определенные задачи. Машинные языки уровне 1,2,3 цифровые, а 4 и выше – содержат слова и сокращения, понятные человеку. Программа выполняющая трансляцию с языка уровня 4 – называется ассемлер.

5)5 уровень состоит из разработанных для программистов – эти языки называются языками высокого уровня (делфи, паскаль, пхп).Трансляторы, которые обрабатывают эти программы называются компиляторами. – уровень прикладных программистов.

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

  1. 7.Оперативная память (оперативное запоминающее устройство - ОЗУ)

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

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

В современных компьютерах используются запоминающие устройства трех основных типов:ROM (Read Only Memory). Постоянное запоминающее устройство - ПЗУ, не способное выполнять операцию записи данных. DRAM (Dynamic Random Access Memory). Динамическое запоминающее устройство с произвольным порядком выборки. SRAM (Static RAM). Статическая оперативная память.

  1. 8.Основные компоненты архитектуры процессора

Центральный процессор — это мозг компьютера. Его задача — выполнять программы, находящиеся в основной памяти. Он вызывает команды из памяти, определяет их тип, а затем выполняет одну за другой. Компоненты соединены шиной, представляющей собой набор параллельно связанных проводов, по которым передаются адреса, данные и сигналы управления. Шины могут быть внешними связывающими процессор с памятью и устройствами ввода-вывода) и внутренними. Процессор состоит из нескольких частей. Блок управления отвечает за вызов

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

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

  1. Исполнительный цикл процесcора.

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

Центральный процессор выполняет каждую команду за несколько шагов:

1. Вызывает следующую команду из памяти и переносит ее в регистр команд.

2. Меняет положение счетчика команд, который после этого указывает на следующую команду1.

3. Определяет тип вызванной команды.

4. Если команда использует слово из памяти, определяет, где находится этослово.

5. Переносит слово, если это необходимо, в регистр центрального процессора2.

6. Выполняет команду.

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

Такая последовательность шагов (выборка — декодирование — выполнение)

является основой работы всех компьютеров.

  1. Примеры машинных команд: команда пересылки, команда перехода

В общем случае система команд процессора включает в себя следующие четыре основные группы команд: команды пересылки данных; арифметические команды; логические команды; команды переходов.

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

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

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

  1. Система портов ввода-вывода.

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

  1. Команды ввода-вывода и примеры их использования.

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

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

  1. Система прерываний.

Прерывание - приостановление работы одной программы и передача управления другой при возникновении некоторого независящего от них события. При этом сохраняется возможность возврата управления прерванной программе, без потери ею работоспособности.Адреса подпрограмм обслуживания прерываний находятся в специальной таблице и называются векторами прерывания. В реальном режиме таблица векторов располагается в начале физической памяти; вектор имеет длину четыре байта. В защищенном режиме таблица векторов может быть расположена в любом месте и содержит более сложные дескрипторы.Программы могут сами вызывать прерывания с заданным номером. Для этого они используют команду INT. Это так называемые программные прерывания. Программные прерывания не являются асинхронными, так как вызываются из программы (а она-то знает, когда она вызывает прерывание!). Программные прерывания удобно использовать для организации доступа к отдельным, общим для всех программ модулям. Например, программные модули операционной системы доступны прикладным программам именно через прерывания, и нет необходимости при вызове этих модулей знать их текущий адрес в памяти. Прикладные программы могут сами устанавливать свои обработчики прерываний для их последующего использования другими программами. Для этого встраиваемые обработчики прерываний должны быть резидентными в памяти. Иногда желательно сделать систему нечувствительной ко всем или отдельным прерываниям. Для этого используют так называемое маскирование прерываний. Но некоторые прерывания замаскировать нельзя, это немаскируемые прерывания.

  1. Система прямого доступа к памяти.

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

  1. Типы команд.

Команды традиционного машинного уровня можно разделить на несколько типов:

Тип операции Примеры

Арифметические и логические Целочисленные арифметические и логические операции: сложение, вычитание, логическое сложение, логическое умножение и т.д.

Пересылки данных Операции загрузки/записи

Управление потоком команд Безусловные и условные переходы, вызовы процедур и возвраты

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

Операции с плавающей точкой Операции сложения, вычитания, умножения и деления над вещественными числами

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

Операции над строками Пересылки, сравнения и поиск строк

  1. Способы адресации операндов

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

  • Регистровая (операнд – в регистре данных или адреса).

  • Косвенно-регистровая (операнд – в ячейке памяти, адресуемой содержимым регистра адреса).

  • Косвенно-регистровая с постинкрементом (операнд – в ячейке памяти, адресуемой содержимым регистра адреса, который автоматически увеличивается после выборки операнда).

  • Косвенно-регистровая с пердинкрементом (операнд – в ячейке памяти, адресуемое содержимым регистра адреса, которое автоматически уменьшается перед выбором операнда).

  • Косвенно-регистровая с индексированием (операнд – в ячейке памяти, ее адрес – сумма содержимого регистра адреса, индексного регистра и задаваемого в команде 8-ми (иногда 16-ти и 32-х) разрядного смещения).

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

  • Относительная (операнд – в ячейке памяти, адрес которой – сумма текущего содержимого программного счетчика и данного в команде 16-ти (32-х) разрядного смещения).

  • Относительная со смещением (операнд –в ячейке памяти, адрес которой – сумма содержимого программного счетчика, индексного регистра и указанного в команде 16-ти (32-х) разрядного смещения).

  • Непосредственная (операнд – в команде).

  1. 17. Режимы адресации с помощью регистров общего назначения

Регистровая адресация по сути напоминает прямую, только в данном случае вместо ячейки памяти указывается регистр. Поскольку регистры очень важны (благодаря быстрому доступу и коротким адресам), этот режим адресации явля- ется самым распространенным на большинстве компьютеров. Многие компиля- торы определяют, к каким переменным доступ будет осуществляться чаще всего (например, индексы циклов) и помещают эти переменные в регистры. Такой режим называют регистровой адресацией. В архитектурах с перенаправ- лением для загрузки, например UltraSPARC II, практически все команды исполь- зуют этот режим адресации. Он не применяется только в том случае, если операнд перемещается из памяти в регистр команда LOAD) или из регистра в память (коман- да STORE). Но даже в этих командах один из операндов является регистром — туда отправляется слово из памяти и оттуда перемещается слово в память.

  1. 18. Режимы адресации со ссылкой на регистр-счетчик команд

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

  1. 19. Стек, очереди. Организация стека в памяти ЭВМ

Стек - последовательность элементов, включение и исключение элементов в которую производится только с одного конца. Очередь - последовательность элементов, включение в которую производится с одного, а исключение - с другого конца.Стек — это особый способ хранения данных, при котором в каждый момент времени доступ возможен только к одному из элементов, а именно к тому, который был занесен в стек последним. Часто главный принцип стека формулируют в виде: “первым пришел — последним вышел”.В начальный момент времени основание и вершина стека совпадают. По мере записи данных область, занятая информацией расширяется; вершина стека при этом смещается вверх. При извлечении данных из стека происходит противоположный процесс. Когда стек свободен от данных (вершина и основание совпадают), попытка считывания данных является грубой ошибкой. В другом предельном случае, когда данных чрезмерно много (вершина совпадает с верхней границей области памяти, отведенной под стек), некорректной, напротив, становится запись.Учитывая, что стек может расти как в сторону увеличения, так и в сторону уменьшения адресов, а также тот факт, что существуют равноправные договоренности о последовательности операций при записи/чтении (например, сначала менять адрес, а потом читать данные или наоборот), возможно предложить несколько разных вариантов организации стека в оперативной памяти (ОЗУ).

  1. 20. Команды управления выполнением программы (безусловная и условная передача управления

Команды передачи управления, предназначенные для изменения порядка выполнения команд. Эти команды делятся на команды безусловного и условного перехода. Безусловная команда всегда передает управление в указанную в этой команде ячейку. Условная команда передает управление в какую-нибудь ячейку в зависимости от заданных условий. Команды передачи управления используются в разветвляющихся и циклических программах, а также при вызове подпрограмм и возврате из них.Команды передачи управления прерывают естественный порядок выполнения команд и однозначно определяют адрес следующей команды. При выполнении команд передачи управления результат предыдущего действия сохраняется. Команды передачи управления делятся на условные и безусловные.Команды условной передачи управления определяют состояние одного из четырех признаков регистра признаков и в зависимости от этого осуществляют переход к той или иной части программы.Команды безусловной передачи управления:команда безусловного перехода;вызова процедуры и возврата из процедуры;вызова программных прерываний и возврата из программных прерываний.Команды условной передачи управления:команды перехода по результату команды сравнения cmp;команды перехода по состоянию определенного флага;команды перехода по содержимому регистра ecx/cx.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]