Участник:Kamensky/FAQ по Скакову — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Больше вопросов)
м (TODO-лист)
 
(не показано 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
В этой статье собраны вопросы, которые Павел Сергеевич задает на экзамене
+
В этой статье собраны вопросы, которые Павел Сергеевич задает на экзамене. Некоторые считают, что здесь это зря выложено, что читатели сего должны сами заботать архитектуру, ходить на все лекции и писать конспекты. Поэтому крайне не рекомендуется прогуливать лекции, иначе пропадет понимание, и преподаватель докопается до ваших (не)знаний.
 +
 
 +
По возможности, уменьшайте количество вопросов в TODO, отвечая на них как можно более развернуто.
  
 
== TODO-лист ==
 
== TODO-лист ==
Строка 14: Строка 16:
 
* Примеры разных ISA (хватит двух) и разных микроархитектур с одной ISA
 
* Примеры разных ISA (хватит двух) и разных микроархитектур с одной ISA
 
* Различия CISC и RISC
 
* Различия CISC и RISC
* Что быстрее: стек, аккумулятор, рег-рег, рег-мем или мем-мем.
+
* Что быстрее: стек, аккумулятор, reg-reg, reg-mem, mem-mem?
* Как лучше поцарапать оптический диск: по дуге или вдоль радиуса.
+
* Как лучше поцарапать оптический диск: по дуге или вдоль радиуса
* Может ли быть динамическая память быть двухпортовой. (да)
+
* Может ли динамическая память быть двухпортовой (да)
 +
* Чем GDDR отличается от DDR?
 +
* Почему прокачивать DDR лучше, чем увеличивать частоту шины данных?
 +
* Почему не делают двухпортовый DDR?
 +
* Чем отличается двухтранзисторный инвертор от однотранзисторного?
 +
* Почему команды памяти не стоит передавать параллельно? Или стоит?
 +
* Как хранится информация в оперативной памяти?
 +
* Чем хорош write-through?
 +
* Почему наблюдается просадка скорости при чтении диска (или при записи)?
 +
* Как размежевывается код Соломон Рида?
 +
* Плюсы и минусы flash-памяти в сравнении с магнитными накопителями?
 +
* В чем разница между фон Неймановской архитектурой и Гарвардской с точки зрения программистов?
 +
* Что определяет ISA?
 +
* Какая ISA лучше?
 +
* Что такое структурные хазарды (нет, не предсказание переходов)?
  
 
== Вопросы с ответами ==
 
== Вопросы с ответами ==
Строка 25: Строка 41:
 
* '''+''' простое железо
 
* '''+''' простое железо
 
* '''+''' планировка на стадии компиляции — есть больше времени, чтобы все хорошо продумать
 
* '''+''' планировка на стадии компиляции — есть больше времени, чтобы все хорошо продумать
* '''-''' длинный код (блоки идут от 2 до 6 команд, в некоторых блоках много NOP'ов)
+
* '''−''' длинный код (блоки идут от 2 до 6 команд, в некоторых блоках много NOP'ов)
* '''-''' необходимость перекомпилировать программу при добавлении модулей (переносе на отличающееся железо)
+
* '''−''' необходимость перекомпилировать программу при добавлении модулей (переносе на отличающееся железо)
* '''-''' некоторые модули могут только складывать (т.е. если программа мало складывает — такие модули бесполезны)
+
* '''−''' некоторые модули могут только складывать (т.е. если программа мало складывает — такие модули бесполезны)
* '''-''' кэш забит большим числом NOP-ов, чтобы добиться той же эффективности кэша, необходимо делать его больше
+
* '''−''' кэш забит большим числом NOP-ов, чтобы добиться той же эффективности кэша, необходимо делать его больше
 
;Суперскаляр
 
;Суперскаляр
 
* '''+''' есть Sheduler(планировщик) команд который наперед знает код и распределяет команды по ядрам(умным способом) — т.е. время выполнения программы меньше (код выполняется быстрее)
 
* '''+''' есть Sheduler(планировщик) команд который наперед знает код и распределяет команды по ядрам(умным способом) — т.е. время выполнения программы меньше (код выполняется быстрее)
Строка 34: Строка 50:
 
* '''+''' код более компактный (плотный) (нет тех нопов которые есть у VLIW)
 
* '''+''' код более компактный (плотный) (нет тех нопов которые есть у VLIW)
 
* '''+''' возможно улучшение архитектуры (т.е наверное можно не парится с перекомпиляцией программы)
 
* '''+''' возможно улучшение архитектуры (т.е наверное можно не парится с перекомпиляцией программы)
* '''-''' тяжелое железо (трудно создать такую штуку - Sheduler)
+
* '''−''' тяжелое железо (трудно создать такую штуку - Sheduler)
 +
 
 +
=== Какой недостаток look-aside? ===
 +
 
 +
Необходимо много проводов. Экономически невыгодно.
 +
 
 +
=== Можно ли бесконечно перезаписывать НЖМД? Сколько там циклов перемагничивания? ===
 +
 
 +
Бесконечно много. Железке все равно.
 +
 
 +
=== Почему флешка работает медленнее HDD? ===
 +
 
 +
Одна дешевая микросхема, дешевый контроллер. Если скорость ~30 МБ/с, то все упирается в USB 2.0. Если меньше, то производитель экономил на производстве.
 +
 
 +
=== Что быстрее SSD или HDD? Почему? ===
 +
 
 +
У SSD выше скорость поиска, потому что время доступа ко всем ячейкам почти одинаковое. А в HDD все зависит от того, где находится считывающая головка и скорости ее перемещения.
 +
 
 +
=== Что делает сложение на этапе MEM MIPS-конвейера? ===
 +
 
 +
Ничего. MIPS — reg-reg архитектура, обращение к памяти происходит только при инструкциях LD и ST.

Текущая версия на 12:17, 19 января 2014

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

По возможности, уменьшайте количество вопросов в TODO, отвечая на них как можно более развернуто.

TODO-лист[править]

  • Почему jk триггер не может быть асинхронным?
  • Нарисовать неполный сумматор на заданном элементе
  • Почему ячейки памяти хранятся матрично, а не в линию?
  • Двухпортовая ячейка памяти
  • Схемы ячеек памяти
  • Почему синхронизация в SDRAM — это хорошо?
  • Что клёвого в DDR (дважды за такт отсылаем информацию), почему это лучше, чем увеличить частоту в два раза, что изменили в DDR2 и DDR3 (стали отсылать ещё в два и ещё в два раза чаще)?
  • Почему номера строк и столбцов лучше передавать последовательно, а не параллельно?
  • Что идейно среднее между однопортовой и двухпортовой ячейками статической памяти?
  • В чем разница между оптическими носителями и магнитными с точки зрения пользователя/программиста (а не с точки зрения внутреннего устройства)
  • Примеры разных ISA (хватит двух) и разных микроархитектур с одной ISA
  • Различия CISC и RISC
  • Что быстрее: стек, аккумулятор, reg-reg, reg-mem, mem-mem?
  • Как лучше поцарапать оптический диск: по дуге или вдоль радиуса
  • Может ли динамическая память быть двухпортовой (да)
  • Чем GDDR отличается от DDR?
  • Почему прокачивать DDR лучше, чем увеличивать частоту шины данных?
  • Почему не делают двухпортовый DDR?
  • Чем отличается двухтранзисторный инвертор от однотранзисторного?
  • Почему команды памяти не стоит передавать параллельно? Или стоит?
  • Как хранится информация в оперативной памяти?
  • Чем хорош write-through?
  • Почему наблюдается просадка скорости при чтении диска (или при записи)?
  • Как размежевывается код Соломон Рида?
  • Плюсы и минусы flash-памяти в сравнении с магнитными накопителями?
  • В чем разница между фон Неймановской архитектурой и Гарвардской с точки зрения программистов?
  • Что определяет ISA?
  • Какая ISA лучше?
  • Что такое структурные хазарды (нет, не предсказание переходов)?

Вопросы с ответами[править]

Плюсы минусы VLIW и суперскалярной архитектур[править]

VLIW
  • + простое железо
  • + планировка на стадии компиляции — есть больше времени, чтобы все хорошо продумать
  • длинный код (блоки идут от 2 до 6 команд, в некоторых блоках много NOP'ов)
  • необходимость перекомпилировать программу при добавлении модулей (переносе на отличающееся железо)
  • некоторые модули могут только складывать (т.е. если программа мало складывает — такие модули бесполезны)
  • кэш забит большим числом NOP-ов, чтобы добиться той же эффективности кэша, необходимо делать его больше
Суперскаляр
  • + есть Sheduler(планировщик) команд который наперед знает код и распределяет команды по ядрам(умным способом) — т.е. время выполнения программы меньше (код выполняется быстрее)
  • + есть runtime информация про кэш, может планировать выполнение более умно
  • + код более компактный (плотный) (нет тех нопов которые есть у VLIW)
  • + возможно улучшение архитектуры (т.е наверное можно не парится с перекомпиляцией программы)
  • тяжелое железо (трудно создать такую штуку - Sheduler)

Какой недостаток look-aside?[править]

Необходимо много проводов. Экономически невыгодно.

Можно ли бесконечно перезаписывать НЖМД? Сколько там циклов перемагничивания?[править]

Бесконечно много. Железке все равно.

Почему флешка работает медленнее HDD?[править]

Одна дешевая микросхема, дешевый контроллер. Если скорость ~30 МБ/с, то все упирается в USB 2.0. Если меньше, то производитель экономил на производстве.

Что быстрее SSD или HDD? Почему?[править]

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

Что делает сложение на этапе MEM MIPS-конвейера?[править]

Ничего. MIPS — reg-reg архитектура, обращение к памяти происходит только при инструкциях LD и ST.