Контрольная Работа: Архитектура Компьютера
Формула оценки:
Grade = 0.4 * Теория + 0.6 * Задача
Часть 1: Теория
Отправляйте свои ответы через эту форму.
Можно отвечать и по-русски и по-английски. Ответ на каждый из вопросов - примерно 1-2 предложения (основные факты, без “воды”). Формулируйте ответы своими словами. Оценивается ваше понимание темы и знание основных фактов. Ответы, скопированные из внешних источников и у других студентов, не принимаются. В случае выявления плагиата - штраф 100%.
Критерии оценивания:
- Ответы на вопросы по каждой из тем (data formats, pipeline, caches) имеют одинаковый вес и дают до 33.3% от балла за теорию.
- Ответы на вопросы в рамках одной темы оцениваюся, как единое целое. Они пронумерованы, чтобы никто ничего не пропустил. Как правило, основные вопросы идут первыми в списке.
Вопросы:
- Integer and floating-point formats.
- Describe how integers are represented in the binary format (unsigned integers, 2’s complement).
- What is the difference between integer sign- and zero-extension?
- What is the difference between arithmetical and logical shift?
- What is integer overflow?
- Explain the floating-point format (sign, exponent, fraction). Describe single and double precision.
- What is implicit
1.
in fraction? - Why exponents are biased and what is bias?
- What are floating-point overflow and underflow?
- Pipeline.
- Describe the concept of pipeline.
- List the 5 stages and give brief descriptions for them.
- What pipeline hazards are?
- List the types of hazards and the ways to prevent them (with brief definitions).
- Give an example of a hazard situation and how it can be handled.
- What is branch prediction is needed for?
- How the loop unrolling optimization can help improve pipeline performance?
- Caches.
- Give a brief definition of a cache. Why do we need it?
- Explain how caching works (block, index, tag, valid bit, dirty bit).
- Give the definition of associativity (direct-mapped, set associative, fully associative).
- What is the difference between write-through and write-back?
- What is replacement policy (what types of policy do you know)?
- How many cache levels are typical for modern processors?
- What problem can caches create for multicore processors?
Часть 2: Задача по программированию
Написать на ассемлере RISC-V программу, которая реализует функцию f(x)
согласно заданной формуле.
У каждого студента свой индивидуальный вариант формулы.
Задание разбито на 7 задач (шагов).
Это сделано для того, чтобы можно было оценить неполные решения.
Критерии оценивания:
- Полное решение задач 1-4 дает по 1 баллу за каждую задачу.
- Полное решение задач 5-7 дает по 2 балла за каждую задачу.
- Полное решение всех задач дает в сумме 10 баллов.
Ejudge контесты по группам: