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

2. Понятие архитектуры.

В узком смысле под архитектурой понимается принципиальные особенности набора команд процессора данного компьютера (архитектуры CISC – Complete Instruction Set Computing; RISC – Reduced Instruction Set Computing; EPIC – Explicitly Parallel Instruction Computing).

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

Архитектура компьютера главным образом отражает:

  • Общую структуру;

  • Принципы представления информации в компьютере;

  • Систему адресации и организацию памяти;

  • Систему команд и систему программирования;

  • Организацию вычислительного процесса;

  • Форматы адресов и данных;

  • Систему организации связи с периферийными устройствами;

  • Организацию общения пользователя с компьютером.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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