Детальный проект конвейерного RISC процессора (Краткий обзор содержания книги)

Страницы работы

Содержание работы

Введение

Краткий обзор содержания книги

В ЭТОЙ КНИГЕ мы разрабатываем детальный проект конвейерного RISC процессора с отсроченным ветвлением (delayed branch), пересылкой (forwarding), аппаратной взаимной блокировкой (hardware interlock), точными маскируемыми вложенными прерываниями (precise maskable nested interrupts), кэшем и полностью IEEE- совместимым сопроцессором для операций с плавающей точкой.

Образованный читатель должен немедленно спросить "И что? Такие конструкции существовали в промышленности несколько лет назад.. В чем смысл разбора всех подробностей?"

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

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

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

• После конструирования модулей мы даем полное объяснение, почему конструкция выполняет спецификацию. Наиболее быстрый путь к


2


получению таких объяснений – строгие математические доказательства1 правильности.

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

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

Как использовать этот текст

Мы видим три пути использования этой книги:

• Сперва мы начнем с очевидного: можно попробовать изучить весь материал, читая только одну книгу. Поскольку книга - полностью включает в себя все эти работы. Понимание основ программирования, знание математики средней школы и некоторого знакомства с доказательствами индукцией достаточно, чтобы понять и проверить (или отвергнуть!) каждое утверждение в этой книге.

• Материал этой книги может быть охвачен в течение двух семестров. Для класса "компьютерные структуры" сопровождаемого классом "архитектура вычислительной системы 1" материал несколько тяжеловат. Но наш опыт показывает, что студенты классов "архитектура вычислительной системы 1 и 2 " хорошо работают со всем материалом. Многие расширенные возможности, а именно суперскалярные процессоры, неупорядоченное выполнение, страничная организация (paging) и параллельная обработка, которые не охвачены в этой книге, могут быть очень хорошо рассмотрены на семинарах параллельно с классом "архитектура вычислительной системы 2". Студенты, которые работали с первой частью этой книги, обычно представляют и обсуждают с значительной зрелостью расширенный материал на семинарах.

Разделы 2.1 - 2.5, глава 7 и глава 8 представляют отдельную конструкцию путей данных (data paths) IEEE-совместимого сопроцессора для операций с плавающей точкой. Этот материал может быть охвачен в течение одного семестра в классе по компьютерной арифметике.

 

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


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

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

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

• Пересылка аппаратных средств, про которые думают, что они правильные и которые оборачиваются позже дефектными, может стоить для изготовителя компьютеров МНОГО денег.

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

• Основная причина - скорость. Если вкладывать капитал в развитие соответствующего математического формализма (использование формул), то можно выражать мысли гораздо яснее и короче, чем без него. Это, в свою очередь, позволяет быстрее развиваться.

Вспомните известную формулу: квадрат суммы первого и второго числа равняется сумме квадрата первого числа, удвоенного произведения первого числа на второе и квадрата второго числа. Строка

 (a + b)2 = a2+2ab + b2

утверждает то же самое, но намного понятнее. Изучение формализма алгебры - инвестиционное, оно происходит в средней школе и требует времени. Но оно окупится, если время, сохраненное в течение вычислений с формализмом, превышает потраченное на его изучение время.


Похожие материалы

Информация о работе