Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика, 1.2, 1 курс, 1 семестр / 3. Архитектура современных аппаратно-программных средств / Архитектура современных аппаратно-программных средств (часть 1).docx
Скачиваний:
3
Добавлен:
27.11.2024
Размер:
28.05 Кб
Скачать

Архитектура компьютера

Архитектура компьютера – это описание его организации и принципов функционирования его структурных элементов. Включает основные устройства ЭВМ и структуру связей между ними.

Классификация компьютеров

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

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

  • Цифровой компьютер – это вычислительная машина, оперирующая информацией, представленной в дискретном виде.

По производительности вычислительные машины также можно разделить на несколько классов:

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

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

  • Персональные компьютеры – наиболее распространённый класс вычислительных машин, включающий в себя домашние компьютеры, рабочие станции, сервера, мобильные устройства.

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

Архитектура фон Неймана

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

В основу архитектуры фон Неймана положены следующие принципы:

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

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

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

В архитектуре фон Неймана компьютер состоит из нескольких основных блоков:

  • Центральный процессор

  • Системная шина

  • Оперативная память

  • Постоянная память

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

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

Центральный процессор

Центральный процессор (central processing unit) – исполнитель машинных инструкций, отвечающий за выполнение арифметических операций, заданных программами операционной системы, и координирующий работу всех устройств компьютера.

Процессор состоит из нескольких блоков:

  • Арифметико-логическое устройство (АЛУ) выполняет основные математические и логические операции.

  • Блок управления отвечает за загрузку очередной команды, её декодирование, определение типа и выполнение.

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

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

  • Специальные регистры используются для организации процесса выполнения программы:

  • Ip (Instruction Pointer) – регистр, указывающий на очередную команду для выполнения.

  • SP (Stack Pointer) – регистр, указывающий на вершину стека.

  • Регистр флагов – отражает текущее состояние процессора и результаты выполнения ряда команд (сравнение, перенос при арифметических операциях и т. д.)

  • Кэш-память – это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа. Кэш-память процессора разделена на несколько уровней: каждый следующий уровень обычно предоставляет больший объем памяти, но медленнее, чем предыдущий.

  • Интерфейсный блок согласует работу процессора и системной шины.

Конвейерная архитектура

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

Обычно для выполнения каждой команды требуется осуществить несколько однотипных операций:

    • получение и декодирование инструкции

    • адресация и выборка операнда из ОЗУ

    • выполнение арифметических операций

    • сохранение результата операции

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

Есть, однако, ряд факторов, которые снижают эффективность конвейера:

    • простой конвейера, когда некоторые ступени не используются (например, адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами);

    • ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд, out-of-order execution);

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

Набор команд

Процессоры, как правило, имеют следующий набор команд:

    • арифметические, например «сложения» и «вычитания»;

    • битовые, например «логическое и», «логическое или» и «логическое не»;

    • присваивание данных, например «переместить», «загрузить», «выгрузить»;

    • ввода-вывода, для обмена данными с внешними устройствами;

    • управляющие инструкции, например «переход», «условный переход», «вызов подпрограммы», «возврат из подпрограммы».

По сложности команд процессоры делятся на следующие категории:

    • CISC (Complex Instruction Set Computing – вычисления со сложным набором команд). Процессорная архитектура, основанная на усложнённом наборе команд.

    • RISC (Reduced Instruction Set Computing – вычисления с сокращённым набором команд). Архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации.

    • MISC (Minimum Instruction Set Computing – вычисления с минимальным набором команд). Дальнейшее развитие архитектуры RISC, которая строится на стековой вычислительной модели с ограниченным числом (порядка 20-30) команд.

Процессоры Intel (начиная с Pentium Pro), являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC (до четырёх RISC-команд в большинстве случаев).