Контрольная Работа: Архитектура Компьютера
Формула оценки:
Grade = 0.4 * Теория + 0.6 * Задача
Часть 1: Теория
Отправляйте свои ответы через эту форму.
Пишите ответы в текстовом редакторе, сохраняйте у себя локально, и только потом отправляйте. Если по какой-о причине не удалось отправить (форма не сработала), отправляйте ответы преподавателю.
Можно отвечать и по-русски и по-английски. Ответ на каждый из вопросов - примерно 1-2 предложения (основные факты, без “воды”). Формулируйте ответы своими словами. Оценивается ваше понимание темы и знание основных фактов. Ответы, скопированные из внешних источников и у других студентов, не принимаются. В случае выявления плагиата - штраф 100%.
Критерии оценивания:
- Ответы на вопросы по каждой из тем (data formats, CPU, memory) имеют одинаковый вес и дают до 33.3% от балла за теорию.
- Ответы на вопросы в рамках одной темы оцениваются, как единое целое. Они пронумерованы, чтобы никто ничего не пропустил. Как правило, основные вопросы идут первыми в списке.
Вопросы:
- Data 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?
- CPU.
- Describe the concept of pipeline. List the 5 pipeline stages with brief descriptions.
- What pipeline hazards are? List hazards and ways to prevent them.
- Give an example of a hazard situation and how it can be handled.
- Explain what branch prediction is needed for.
- Explain the idea of multiple-issue (superscalar) processor and out-of-order execution.
- List the types of thread-level parallelism with brief explanation.
- How the loop unrolling optimization can help improve performance?
- What CPU does your laptop/desktop have (model name)? How many cores does it have?
- Memory.
- Describe the idea of memory hierarchy. Why do we need it?
- Explain what a cache is and how it 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)?
- Explain how CPU translates virtual addresses into physical.
- What is a TLB miss and what is a page fault?
- How many caches does your laptop/desktop have?
Часть 2: Задача по программированию
Написать на ассемблере RISC-V программу, которая реализует функцию f(x)
согласно заданной формуле. У каждого студента свой индивидуальный вариант формулы.
Задание разбито на 7 задач (шагов). Это сделано для того, чтобы можно было оценить неполные решения.
Критерии оценивания:
- Полное решение задач 1-4 дает по 1 баллу за каждую задачу.
- Полное решение задач 5-7 дает по 2 балла за каждую задачу.
- Полное решение всех задач дает в сумме 10 баллов.
Замечания:
- Не используйте Web Proxy.
- Заходить в контест своей группы (по номеру группы в логине, даже если сменили группу).
Ejudge контесты по группам: