Участник:Kamensky/FAQ по Скакову — различия между версиями
Kamensky (обсуждение | вклад) (TODO растет) |
Kamensky (обсуждение | вклад) (→Плюсы минусы VLIW и суперскалярной архитектур) |
||
Строка 17: | Строка 17: | ||
;VLIW | ;VLIW | ||
− | * '''+''' | + | * '''+''' простое железо |
− | * '''+''' | + | * '''+''' планировка на стадии компиляции — есть больше времени, чтобы все хорошо продумать |
− | * - длинный код (блоки идут от 2 до 6 команд, в некоторых блоках много NOP'ов) | + | * '''-''' длинный код (блоки идут от 2 до 6 команд, в некоторых блоках много NOP'ов) |
− | * - | + | * '''-''' необходимость перекомпилировать программу при добавлении модулей (переносе на отличающееся железо) |
− | * - некоторые модули могут только складывать (т.е. если программа мало складывает - такие модули бесполезны) | + | * '''-''' некоторые модули могут только складывать (т.е. если программа мало складывает - такие модули бесполезны) |
− | * - кэш забит большим числом NOP-ов, чтобы добиться той же эффективности кэша необходимо делать его больше | + | * '''-''' кэш забит большим числом NOP-ов, чтобы добиться той же эффективности кэша, необходимо делать его больше |
;Суперскаляр | ;Суперскаляр | ||
* '''+''' есть Sheduler(планировщик) команд который наперед знает код и распределяет команды по ядрам(умным способом) - т.е. время выполнения программы меньше (код выполняется быстрее) | * '''+''' есть Sheduler(планировщик) команд который наперед знает код и распределяет команды по ядрам(умным способом) - т.е. время выполнения программы меньше (код выполняется быстрее) | ||
* '''+''' есть run-time информация про кэш, может планировать выполнение более умно | * '''+''' есть run-time информация про кэш, может планировать выполнение более умно | ||
− | * '''+''' код более компактный(плотный) (нет тех нопов которые есть у | + | * '''+''' код более компактный (плотный) (нет тех нопов которые есть у VLIW) |
* '''+''' возможно улучшение архитектуры (т.е наверное можно не парится с перекомпиляцией программы) | * '''+''' возможно улучшение архитектуры (т.е наверное можно не парится с перекомпиляцией программы) | ||
− | * - тяжелое железо (трудно создать такую штуку - Sheduler) | + | * '''-''' тяжелое железо (трудно создать такую штуку - Sheduler) |
Версия 07:27, 19 января 2014
В этой статье собраны вопросы, которые Павел Сергеевич задает на экзамене
TODO-лист
- Почему jk триггер не может быть асинхронным?
- Нарисовать неполный сумматор на заданном элементе
- Почему ячейки памяти хранятся матрично, а не в линию?
- Двухпортовая ячейка памяти
- Схемы ячеек памяти
- Почему синхронизация в SDRAM — это хорошо?
- Что клёвого в DDR (дважды за такт отсылаем информацию), почему это лучше, чем увеличить частоту в два раза, что изменили в DDR2 и DDR3 (стали отсылать ещё в два и ещё в два раза чаще)?
- Почему номера строк и столбцов лучше передавать последовательно, а не параллельно?
- Что идейно среднее между однопортовой и двухпортовой ячейками статической памяти?
Вопросы с ответами
Плюсы минусы VLIW и суперскалярной архитектур
- VLIW
- + простое железо
- + планировка на стадии компиляции — есть больше времени, чтобы все хорошо продумать
- - длинный код (блоки идут от 2 до 6 команд, в некоторых блоках много NOP'ов)
- - необходимость перекомпилировать программу при добавлении модулей (переносе на отличающееся железо)
- - некоторые модули могут только складывать (т.е. если программа мало складывает - такие модули бесполезны)
- - кэш забит большим числом NOP-ов, чтобы добиться той же эффективности кэша, необходимо делать его больше
- Суперскаляр
- + есть Sheduler(планировщик) команд который наперед знает код и распределяет команды по ядрам(умным способом) - т.е. время выполнения программы меньше (код выполняется быстрее)
- + есть run-time информация про кэш, может планировать выполнение более умно
- + код более компактный (плотный) (нет тех нопов которые есть у VLIW)
- + возможно улучшение архитектуры (т.е наверное можно не парится с перекомпиляцией программы)
- - тяжелое железо (трудно создать такую штуку - Sheduler)