ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6663

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

8 Содержание ^

Примеры шин 205

Шина ISA 206
Шина PCI 207
Шина USB 215

Средства сопряжения 219

Микросхемы ввода-вывода 219

Декодирование адреса 220

Краткое содержание главы 223
Вопросы и задания 224

Глава 4. Микроархитектурный уровень 230

Пример микроархитектуры 230

Тракт данных 231

Микрокоманды 237

Управление микрокомандами: Mic-1 240

Пример архитектуры команд: IJVM 244

Стек 245
Модель памяти IJVM 247

Набор команд IJVM 248
Компиляция Java для IJVM 252

Пример реализации микроархитектуры 254

Микрокоманды и их запись 254
Реализация IJVM с использованием Mic-1 258

Разработка микроархитектурного уровня 271

Скорость и стоимость 271
Сокращение длины пути 274

Микроархитектура с упреждающей выборкой команд из памяти: Mic-2 280
Конвейерная архитектура: Mtc-З 284
Конвейер с 7 стадиями: Mic-4 290

Увеличение производительности 293

Кэш-память 294
Прогнозирование ветвления 300

Исполнение с изменением последовательности и подмена регистров 306

Спекулятивное выполнение 311

Примеры микроархитектурного уровня 314

Микроархитектура процессора Pentium II 314
Микроархитектура процессора UltraSPARC II 319
Микроархитектура процессора picoJava II 322

Сравнение Pentium, UltraSPARC и picoJava 327

Краткое содержание главы 329

Вопросы и задания 330

Глава 5. Уровень архитектуры команд 334

Общий обзор уровня архитектуры команд 336

Свойства уровня команд 336

Модели памяти 338
Регистры 340
Команды 342
Общий обзор уровня команд машины Pentium II 342
Общий обзор уровня команд системы UltraSPARC II 345
Общий обзор виртуальной машины Java 348


background image

Содержание 9

Типы данных 349

Числовые типы данных 350

Нечисловые типы данных 351

Типы данных процессора Pentium II 351
Типы данных машины UltraSPARC II 352
Типы данных виртуальной машины Java 352

Форматы команд 353

Критерии разработки для форматов команд 354
Расширение кода операций 356

Форматы команд процессора Pentium II 358

Форматы команд процессора UltraSPARC II 360
Форматы командЛУМ 361

Адресация 364

Способы адресации 365

Непосредственная адресация 365
Прямая адресация 366

Регистровая адресация 366
Косвенная регистровая адресация 366
Индексная адресация 367
Относительная индексная адресация 369

Стековая адресация 369

Способы адресации для команд перехода 372
Ортогональность кодов операций и способов адресации 373
Способы адресации процессора Pentium II 375
Способы адресации процессора UltraSPARC II 377
Способы адресации машины JVM 377

Сравнение способов адресации 378

Типы команд 379

Команды перемещения данных 379
Бинарные операции 380

Унарные операции 381
Сравнения и условные переходы 383

Команды вызова процедур 385

Управление циклом 385

Команды ввода-вывода 386

Команды процессора Pentium И 390
Команды UltraSPARC II 394
Команды компьютера picoJava II 397

Сравнение наборов команд 403

Поток управления 404

Последовательный поток управления и переходы 404
Процедуры 405

Сопрограммы 410

Ловушки 412

Прерывания 413

Ханойская башня 417

Решение задачи «Ханойская башня» на ассемблере Pentium II 418
Решение задачи «Ханойская башня» на ассемблере UltraSPARC II 419
Решение задачи «Ханойская башня» на ассемблере для JVM 421


background image

10 Содержание

Intel IA-64 423

Проблема с Pentium II 423
Модель IA-64: открытое параллельное выполнение команд 425
Предикация 426

Спекулятивная загрузка 429

Проверка в реальных условиях 430

Краткое содержание главы 430
Вопросы и задания 431

Глава 6. Уровень операционной системы 437

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

Страничная организация памяти 439

Реализация страничной организации памяти 441
Вызов страниц по требованию и рабочее множество 444
Политика замещения страниц 445
Размер страниц и фрагментация 448

Сегментация 449

Как реализуется сегментация 452
Виртуальная память в процессоре Pentium II 455
Виртуальная память UltraSPARC II 460
Виртуальная память и кэширование 463

Виртуальные команды ввода-вывода 463

Файлы 464

Реализация виртуальных команд ввода-вывода 465
Команды управления директориями 469
Виртуальные команды для параллельной обработки 470

Формирование процесса 471
Состояние гонок 472
Синхронизация процесса с использованием семафоров 476

Примеры операционных систем 479

Введение 480
Примеры виртуальной памяти 489
Примеры виртуального ввода-вывода 493
Примеры управления процессами 504

Краткое содержание главы 510
Вопросы и задания 511

Глава 7. Уровень языка ассемблера 517

Введение в язык ассемблера 518

Что такое язык ассемблера? 518

Зачем нужен язык ассемблера? 519
Формат оператора в языке ассемблера 521

Директивы 524

Макросы 527

Макроопределение, макровызов и макрорасширение 527
Макросы с параметрами 529
Расширенные возможности 530
Реализация макросредств в ассемблере 530

Процесс ассемблирования 531

Двухпроходной ассемблер 531

Первый проход 532


background image

Содержание 11

Второй проход 536

Таблица символов 537

Связывание и загрузка 538

Задачи компоновщика 540
Структура объектного модуля 543

Время принятия решения и динамическое перераспределение памяти 545

Динамическое связывание 547

Краткое содержание главы 551
Вопросы и задания 552

Глава 8. Архитектуры компьютеров параллельного

действия 556

Вопросы разработки компьютеров параллельного действия 557

Информационные модели 559

Сети межсоединений 564

Производительность 572
Метрика программного обеспечения 574
Программное обеспечение 579
Классификация компьютеров параллельного действия 584

Компьютеры SIMD 587

Массивно-параллельные процессоры 587
Векторные процессоры 588

Мультипроцессоры с памятью совместного использования 592

Семантика памяти 593

Архитектуры UMASMP с шинной организацией 597

Мультипроцессоры UMA с координатными коммутаторами 603
Мультипроцессоры UMAc многоступенчатыми сетями 605
Мультипроцессоры NUMA 607
Мультипроцессоры CC-NUMA 609

Мультипроцессоры СОМА 619

Мультикомпьютеры с передачей сообщений 621

МРР — процессоры с массовым параллелизмом 622
COW — Clusters of Workstations {кластеры рабочих станций) 626

Планирование 627

Связное программное обеспечение для мультикомпьютеров 632
Совместно используемая память на прикладном уровне 635

Краткое содержание главы 642
Вопросы и задания 643

Глава 9. Библиография 647

Литература для дальнейшего чтения 647

Организация компьютерных систем 648

Цифровой логический уровень 649
Микроархитектурный уровень 649

Уровень команд 650
Уровень операционной системы 651

Уровень языка ассемблера 652

Архитектуры компьютеров параллельного действия 652
Двоичные числа и числа с плавающей точкой 653

Алфавитный список литературы 654


background image

12 Содержание

Приложение А. Двоичные числа 665

Числа конечной точности 665

Позиционные системы счисления 667
Преобразование чисел из одной системы счисления в другую 669

Отрицательные двоичные числа 670

Двоичная арифметика 673

Вопросы и задания 674

Приложение Б. Числа с плавающей точкой 676

Принципы представления с плавающей точкой 676
Стандарт IEEE 754 680

Вопросы и задания 683

Алфавитный указатель 685