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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

Введение

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

В ЭТОЙ КНИГЕ мы разрабатываем детальный проект конвейерного 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

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


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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.