Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.39 Mб
Скачать
  1. Микроконтроллеры

Микроконтроллером – МК (MCU – MicroChip Unit, MultiChip Unit, Main Control Unit, Multipoint Control Unit), или однокристальной ЭВМ – ОЭВМ, называют вычислительную систему, реализованную на одном кристалле кремния, т.е. в виде одной интегральной микросхемы, ориентированную, как правило, на выполнение алгоритмов цифрового управления различными объектами или процессами.

Современный микроконтроллер может содержать в себе:

  1. Центральный процессор (основной узел обработки информации и выработки управляющих сигналов системы);

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

  3. Таймеры (для генерирования, а также возможности измерения интервалов времени);

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

  5. Широтно-импульсные модуляторы (ШИМ) (для генерирования широтно-модулированных аналоговых сигналов при управлении электродвигателями и другими аналоговыми исполнительными устройствами);

  6. Модули обработки событий (представленных входными импульсными сигналами);

  7. Контроллеры прерываний (для эффективного восприятия внешних событий требующих внимания процессора);

  8. Параллельные и последовательные порты ввода/вывода (для связи микроконтроллера с внешней средой – управляемым процессом, объектом);

и многое другое.

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

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

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

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

Причем, современные МК имеют производительность десятки MIPS и оперируют 8,16 и даже 32 разрядными операндами. То есть по сложности эквивалентны большим вычислительным машинам недавнего прошлого.

Огромная номенклатура выпускаемых микроконтроллеров (многие сотни разновидностей), их значительные функциональные возможности, высокие технические параметры, относительно низкая стоимость, позволяют удовлетворить запросы широкого круга потребителей – разработчиков разнообразной электронной аппаратуры. Результатом этого является чрезвычайно быстрый рост производства и применения микроконтроллеров В 2000 г. их выпуск в мире достиг 2 миллиардов штук в год! У меня нет более поздней информации, но если за пятилетие 1994…1999 г. выпуск микроконтроллеров увеличился в 3 раза, то можно себе представить, сколько их производится в настоящее время, и какое значение они приобретут в будущем!

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

Так различают:

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

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

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

Понятие архитектуры компьютера.

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

В широком же смысле архитектура охватывает понятие организации системы, ее структуры и основных принципов функционирования. Термин «компьютерная архитектура» и «компьютерная организация» означает в сущности одно и то же. И изучение архитектуры компьютера может быть проведено на нескольких уровнях системной организации компьютеров. Всего в классическом труде Э.Таненбаума «Архитектура компьютера» в современном компьютере выделяется 6 таких уровней (см. рис IV.1). В настоящем курсе мы начнем рассмотрение архитектуры компьютера, начиная с так называемого цифрового логического уровня, нулевого уровня по Таненбауму.

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

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

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

Рис. 4.1 Символическое отображение архитектурных уровней

современного компьютера. Способ поддержки каждого уровня указан под

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

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

  • Виртуальная память.

  • Файл система ввода/вывода.

  • Многозадачная обработка.

  • Организация защиты.

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

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

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

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