- •1. Обобщенная структурная схема компьютера
- •2. Понятие архитектуры.
- •3. Оценка производительности компьютеров.
- •4. Классификация и краткий обзор современных компьютеров
- •5. Элементная база компьютеров: шифратор, дешифратор, мультиплексор и демультиплексор
- •6. Элементная база компьютеров: триггеры и их классификация
- •7. Эбк: регистры и их классификация
- •8. Эбк: счетчики и их классификация
- •10. Характеристики запоминающих устройств и их условные обозначения
- •11. Размещение зу на системной плате (нету)
- •12. Принцип сегментирования основной памяти компьютера и формирование физического адреса
- •13. Принципы организации современных озу
- •14. Способы адресации информации в компьютере
- •1 5. Архитектура системной платы современного пк
- •16. Структура базового процессора семейства х86 и назначение его выводов
- •17. Регистровая архитектура базового процессора семейства х86
- •18. Регистр флагов базового процессора семейства х86 и функциональное назначение его битов
- •19. Принцип демультиплексирования шины адресов и данных в мп i8086/88
- •20. Системы счисления, используемые в компьютерах и алгоритмы приеобразования из одной сс в другую
- •21. Прямые, обратные, дополнительные коды чисел и их использование в компьютерах
- •22. Представление целых чисел без знака и со знаком
- •23. Представление вещественных чисел
- •24. Представление алфавитно-цифровой информации
- •25. Представление звуковой информации
- •26. Представление визуальной информации
- •27. Форматы кодов информации (чисел и символов), используемые в пк семейства х86
- •28. Алгоритмы сложения и вычитания в комптьютерах целых двоичных чисел без знака и со знаком.
- •29. Алгоритмы слож-я и выч-я двоично-десятичных чисел
- •30. Алгоритмы сл-я и в-я вещественных чисел
- •31. Принципы осуществления в компьютерах операций умножения и деления
- •32. Назначение, определения и характеристики систем прерывания компьютеров
- •33. Классификация запросов прерывания в компьютерах
- •34. Режимы работы систем прерывания современных комптютеров и принципы их реализации
- •35. Особенности и принципы организации обмена информацей с периферийными устройствами
- •36. Принцип организации программно-управляемого ввода/вывода с активным ожиданием
- •37. Принцип организации в компьютерах ввода/вывода по прерыванию
- •38. Принцип организации ввода/вывода через каналы прямого доступа к памяти
- •39. Типовые шины соединения компонентов, используемые в современных компьютерах
- •40. Типовые устройства ввода
- •1. Клавиатура
- •2. Мышь.
- •41. Структура и назначение блоков типового видеоадаптера
- •42. Структура и назначение блоков типовой аудиосистемы
2. Понятие архитектуры.
В узком смысле под архитектурой понимается принципиальные особенности набора команд процессора данного компьютера (архитектуры CISC – Complete Instruction Set Computing; RISC – Reduced Instruction Set Computing; EPIC – Explicitly Parallel Instruction Computing).
В широком смысле архитектура охватывает понятие организации системы, ее структуры и основных принципов функционирования. Термин «компьютерная архитектура» и «компьютерная организация» означает в сущности одно и то же. Поэтому, архитектуру компьютера можно определить как некоторое абстрактное, комплексное представление компьютера, которое отображает его структурную, схемотехническую и логическую организацию.
Архитектура компьютера главным образом отражает:
Общую структуру;
Принципы представления информации в компьютере;
Систему адресации и организацию памяти;
Систему команд и систему программирования;
Организацию вычислительного процесса;
Форматы адресов и данных;
Систему организации связи с периферийными устройствами;
Организацию общения пользователя с компьютером.
Поскольку компьютеры представляют собой весьма сложные устройства, то их изучение, как и их проектирование, целесообразно проводить на нескольких уровнях их системной организации.
Всего в классическом труде Э.Таненбаума «Архитектура компьютера» в современном компьютере выделяется 6 таких уровней (см. рис IV.1).
Нулевой или цифровой логический архитектурный уровень компьютера – это уровень его аппаратного обеспечения: структура и назначение его основных элементов, узлов и шин сопряжения.
Микроархитектурный уровень – это уровень, задачей которого является интерпретация команд второго уровня (уровня архитектуры команд). На этом уровне определяются принципы передачи информации по тракту данных, способы декодирования и реализация выполнения микрокоманд, их структура и порядок выполнения, приемы конвейеризации и прогнозирования ветвлений, переименование регистров, а также задаются способы кэширования информации.
Уровень архитектуры команд – это уровень, на котором определяются связи между программным и аппаратным обеспечением компьютера. Поскольку уровень команд является промежуточным звеном между аппаратным и программным обеспечением, он должен быть удобным и для разработчиков аппаратного обеспечения, и для составителей программного обеспечения. На этом уровне, как правило, определяются принципы организации так называемого «машинного языка», типы и форматы его команд,
способы адресации, и т.п. К этому же уровню относится организация системы прерывания программ и прямого доступа к памяти.
Уровень операционной системы – уровень, на котором осуществляется управление работой компьютера с помощью команд операционной системы, в состав которых, кроме полного набора команд, доступных для прикладных программистов, включаются также и системные вызовы. Уровень операционной системы всегда интерпретируется. Можно отметить три важных особенности уровня операционной системы.
Виртуальная память.
Файл-система ввода/вывода.
Многозадачная обработка.
Организация защиты.
Уровень языка ассемблера. Уровень языка ассемблера существенно отличается от трех предыдущих, поскольку он реализуется с помощью компиляции, а не с помощью интерпретации. Трансляция же команд с языка ассемблера на «машинные языки» используемые на более низких архитектурных уровнях осуществляется их интерпретацией. Целесообразность использования уровня языка ассемблера заключается, во-первых, в том, что профессиональный программист языка ассемблера может составить гораздо меньшую по размеру программу, которая будет работать гораздо быстрее, чем программа, написанная на языке высокого уровня. Для некоторых программ скорость и размер весьма важны. Многие встроенные прикладные программы, например программы в кредитных карточках, сотовых телефонах, драйверах устройств, а также процедуры BIOS разрабатываются именно на языке ассемблера.
Во-вторых, некоторым процедурам требуется полный доступ к аппаратному обеспечению, что обычно невозможно сделать на языке высокого уровня. В эту категорию попадают прерывания и обработчики прерываний в операционных системах, а также контроллеры устройств во встроенных системах, работающих в режиме реального времени.
И, наконец, языки высокого уровня, по крайней мере, в настоящее время, занимают самый верхний этаж в предлагаемой Таненбаумом архитектурной иерархии компьютеров.
Рис. IV.1 Символическое отображение архитектурных уровней
современного компьютера. Способ поддержки каждого уровня указан под
ним. В скобках указывается название поддерживающей программы.
