Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Сравнение производительности компьютеров



 

Приступив к поиску подходящего персонального компьютера, вы обнаружите, что зачастую частота сигнала синхронизации (тактовая частота компьютера) используется для сравнения производительности различных вычислительных машин. Частота синхронизации, задается компьютерными часами, которые представляют собой генератор электрических колебаний. Импульсы сигнала синхронизации предназначены для согласо­вания всех действий в компьютере: чем выше частота импульсов синхронизации, тем быстрее машина вы­полняет введенные в нее задания. Частота сигналов синхронизации измеряется в герцах (сокращенно Гц); 1 Гц соответствует выполнению одного цикла (или появлению одного импульса) за секунду. Частота син­хронизирующего сигнала в обычном компьютере колеблется в диапазоне от единиц до сотен и тысяч мега­герц (МГц); 1 МГц равен одному миллиону герц.

К сожалению, центральные процессоры производятся многими фирмами, каждая из которых устанавливает собственный объем работы, выполняемой за один цикл синхронизации. По этой причине сравнение производительности работы по частоте синхронизации для центральных процессоров, имеющих разные конст­рукции, следует считать неадекватным. Если необходимо сравнить производительность компьютера, в ко­тором установлен процессор типа PowerPC, с компьютером, имеющим ЦП типа Pentium, то разумнее будет выполнить измерение показателей производительности с помощью специальных тестовых заданий (benchmark). В этом случае сравнивается реальная скорость выполнения каждым из компьютеров одного и того же задания, называемого тестовым. Подобрав тестовое задание, которое может служить эталоном для некоторого типа приложений, мы получим инструмент сравнения, позволяющий получить осмысленную оценку коммерческих продуктов, представленных в некотором сегменте рынка. Следует отметить, что очень часто компьютер, демонстрирующий наилучшую производительность для одного класса приложений, не является таковым для приложений иного типа.

 

Пример выполнения программы

 

Давайте проследим за выполнением всех машинных циклов, предусматривае­мых программой, текст которой представлен в конце раздела “Машинный язык”. Вначале необ­ходимо разместить программу в какой-либо области памяти машины. Например, будем считать, что текст нашей программы занесен в последовательные ячейки памяти, начиная с адреса А0 (шестнадцатеричное представление). На рис. 2.7 представлена таблица, отражающая содержимое этой области памяти. Если за­писать программу таким способом, можно заставить машину выполнить нашу программу, поместив адрес ее первой команды (А0) в счетчик адреса и запустив машину в работу.

 

 

Адрес Содержимое
А0
А1
А2
A3 6D
А4
А5
А6
А7
А8 С0
А9

Рис 2.7 Программа сложения чисел, записанная в память машины, начиная с адреса А0

 

Блок управления начинает с извлечения из основной памяти команды, запи­санной по адресу А0, и помещает ее (156С) в регистр команды, выполнив тем са­мым этап выборки первого машинного цикла. Обратите внимание, что длина команды составляет шестнадцать разрядов (2 байта). Поэтому выбираемая команда должна занимать две ячейки памяти с адресами А0 и А1. Конструкция блока управления разработана с учетом этой особенности, поэтому он выбирает содержимое обеих ячеек и помещает данные в регистр команды, размер, которого составляет 16 бит. Затем блок управления добавляет число 2 к значению в счет­чике адреса, чтобы содержимое этого регистра представляло собой адрес сле­дующей команды. По завершении этапа выборки первого машинного цикла в счетчике адреса и регистре команд будут содержаться следующие данные:

 

Счетчик адреса: А2

Регистр команд: 15 6С

 

На следующем этапе блок управления анализирует команду, помещенную в регистр команд, и приходит к заключению, что это команда загрузки в ре­гистр 5 содержимого ячейки памяти с адресом 6С. Загрузка осуществляется на этапе выполнения данного машинного цикла, после чего блок управления начнёт новый машинный цикл.

Новый цикл начинается с выборки команды 166D из ячеек памяти с адреса­ми А2 и A3. Блок управления помещает эту команду в регистр команд и увели­чивает значение счетчика адреса, после чего оно становится равным А4. После завершения очередного этапа выборки в счетчике адреса и регистре команд бу­дут следующие данные:

 

Счетчик адреса: А4

Регистр команд: 16 6D

 

Блок управления декодирует команду 166D и определяет, что в регистр 6 не­обходимо загрузить содержимое ячейки памяти с адресом 6D, после чего выпол­няет команду, и в регистр 6 действительно загружается требуемое значение.

Поскольку в данный момент счетчик адреса имеет значение А4, блок управ­ления считывает следующую команду, которая начинается с указанного адреса. В результате в регистр команд помещается значение 5056, а счетчик адреса по­лучает новое значение А6. Блок управления декодирует содержимое очередной команды и выполняет ее посредством активизации электронной схемы сложения чисел в дополнительном двоичном коде, указав этой схеме использовать как входные регистры 5 и 6.

На этапе выполнения данной команды арифметико-логический блок выпол­няет сложение и записывает результат в регистр 0 (как было указано блоком управления), после чего сообщает блоку управления о том, что требуемые дейст­вия выполнены. После этого блок управления начинает следующий машинный цикл. И вновь, используя текущее значение в счетчике адреса, он выбирает сле­дующую команду из двух смежных ячеек памяти с адресами А6 и А7 (теперь это команда 306Е) и модифицирует значение счетчика адреса, установив его рав­ным А8. Затем считанная из памяти команда декодируется и выполняется. В ре­зультате сумма двух чисел помещается в ячейку памяти с адресом 6Е.

Следующая выбираемая команда расположена в памяти, начиная с адреса А8. После ее извлечения значение счетчика адреса увеличивается до АА. Содержимое регистра команд равно С000 и расшифровывается как команда останова. В ре­зультате работа машины останавливается на этапе выполнения, и это означает, что выполнение нашей программы завершено.

В заключение скажем, что выполнение хранимой в памяти программы не от­личается от того процесса, к которому мог бы прибегнуть любой человек, перед которым поставлена задача четко следовать определенному списку инструкций. Обычно человек отмечает в списке выполненные им инструкции галочками — машина же для этого использует счетчик адреса. Определив, какая из инструк­ций должна выполняться следующей, человек знакомится с ней и принимает решение, что именно нужно сделать. Затем он выполняет требуемые действия и переходит к следующей инструкции. Аналогичным образом поступает и маши­на — она выполняет очередную команду, помещенную в регистре команд, и за­пускает следующий цикл выборки.

 

Программы и данные

 

В основной памяти компьютера можно разместить множество программ одновременно, выделив для каждой различные области памяти. Тем, какая из этих программ начнет выполняться при запуске машины, можно легко управлять, просто соответствующим образом установив исходное значение счетчика адреса.

Однако не следует забывать, что данные также содержатся в основной па­мяти и кодируются с помощью нулей и единиц, поэтому машина сама по се­бе не может установить, что именно является данными, что — программой. Если в счетчике адреса, вместо адреса требуемой программы, будет установ­лен адрес данных, то компьютер не сможет предпринять никаких иных дей­ствий, кроме как считать битовые комбинации данных так, как если бы они были командами, и попытаться выполнить их. Полученный результат не­предсказуем и будет зависеть от того, с какими именно данными работала машина.

Тем не менее нельзя сказать, что мы поступаем неверно, придавая и про­граммам и данным одинаковую форму. Благодаря этому одна программа может работать с другими программами (и даже с самой собой) как с обычными дан­ными. Например, можно представить себе программу, которая в результате взаимодействия с окружающей средой изменяет саму себя, получая, таким обра­зом» возможность обучаться. Или другой пример — программа, которая пишет и выполняет другие программы, используя их как средства решения поставленной перед ней задачи.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-25; Просмотров: 831; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь