Принципы проектирования компьютеров
Автор: Сакиев Т.Р., Набиева С.С.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Основной раздел
Статья в выпуске: 7 (25), 2017 года.
Бесплатный доступ
В статье рассмотрены основные принципы проектирования компьютеров. Описываются те понятия, которые встречаются во всех компьютерах: Все команды должны выполняться аппаратным обеспечением, компьютер должен запускать как можно больше команд в секунду, команды должны легко декодироваться, регистров должно быть много.
Компьютер, команды, памят, аппаратный обеспечение, регистры
Короткий адрес: https://sciup.org/140272043
IDR: 140272043
Текст научной статьи Принципы проектирования компьютеров
Рассморим ряд принципов разработки, иногда называемых принципами RISC, которым по возможности стараются следовать производители универсальных процессоров. Из-за некоторых внешних ограничений, например требования совместимости с другими машинами, приходится время от времени идти на компромисс, но эти принципы - цель, к которой стремится большинство разработчиков.
Принципы проектирования компьютеров
Все команды должны выполняться непосредственно аппаратным обеспечением. То есть обычные команды выполняются напрямую, без интерпретации микрокомандами. Устранение уровня интерпретации повышает скорость выполнения большинства команд. В компьютерах типа CISC более сложные команды могут разбиваться на несколько шагов, которые затем выполняются как последовательность микрокоманд. Эта дополнительная операция снижает быстродействие машины, но может использоваться для редко применяемых команд.
Компьютер должен запускать как можно больше команд в секунду. В современных компьютерах используется много различных способов повышения производительности, главный из которых - запуск как можно большего количества команд в секунду. В конце концов, если процессор сможет запустить 500 млн команд в секунду, то его производительность составляет 500 MIPS, сколько бы времени ни занимало выполнение этих команд. Этот принцип предполагает, что параллелизм должен стать важным фактором повышения производительности, поскольку запустить на выполнение большое количество команд за короткий промежуток времени можно только в том случае, если есть возможность одновременного выполнения нескольких команд.
Хотя команды любой программы всегда располагаются в памяти в определенном порядке, компьютер изменить порядок их запуска (так как необходимые ресурсы памяти могут быть заняты) и (или) завершения. Конечно, если команда 1 устанавливает значение в регистр, а команда 2 использует этот регистр, нужно действовать с особой осторожностью, чтобы команда 2 не считала значение из регистра раньше, чем оно там окажется. Чтобы не допускать подобных ошибок, необходимо хранить в памяти большое количество дополнительной информации, но благодаря возможности выполнять несколько команд одновременно производительность все равно оказывается выше.
Команды должны легко декодироваться. Предел количества запускаемых в секунду команд зависит от темпа декодирования отдельных команд. Декодирование команд позволяет определить, какие ресурсы им необходимы и какие действия нужно выполнить. Все, что способствует упрощению этого процесса, полезно. Например, можно использовать единообразные команды с фиксированной длиной и с небольшим количеством полей. Чем меньше разных форматов команд, тем лучше.
К памяти должны обращаться только команды загрузки и сохранения. Один из самых простых способов разбить операцию на отдельные шаги -сделать так, чтобы операнды большей части команд брались из регистров и возвращались туда же. Операция перемещения операндов из памяти в регистры и обратно может осуществляться в разных командах. Поскольку доступ к памяти занимает много времени, длительность которой невозможно спрогнозировать, выполнение этих команд могут взять на себя другие команды, единственное назначение которых - перемещение операндов между регистрами и памятью. То есть к памяти должны обращаться только команды загрузки и сохранения (LOAD и STORE).
Регистров должно быть много. Поскольку доступ к памяти происходит относительно медленно, в компьютере должно быть много регистров (по крайней мере 32). Если слово было однажды загружено из памяти, при наличии большого числа регистров оно может содержаться в регистре до тех пор, пока не потребуется. Возвращение слова из регистра в память и новая загрузка этого же слова в регистр нежелательны. Лучший способ избежать излишних перемещений - наличие достаточного количества регистров.
Список литературы Принципы проектирования компьютеров
- Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Учебник. -3-е издание. СПб. Питер. 2006г.
- Бройдо В.Л. Вычислительные системы, сети и телекоммуникации. СПб.: Питер. 2003.
- Бройдо В.Л. Архитектура ЭВМ и вычислительных систем. Учебник. 2.е издание. М.: Форум. 2008.
- Ватаманюк А. Создание, обслуживание и администрирование сетей. СПб.: Питер. 2010.