Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Сравнение производительности компьютеров
Приступив к поиску подходящего персонального компьютера, вы обнаружите, что зачастую частота сигнала синхронизации (тактовая частота компьютера) используется для сравнения производительности различных вычислительных машин. Частота синхронизации, задается компьютерными часами, которые представляют собой генератор электрических колебаний. Импульсы сигнала синхронизации предназначены для согласования всех действий в компьютере: чем выше частота импульсов синхронизации, тем быстрее машина выполняет введенные в нее задания. Частота сигналов синхронизации измеряется в герцах (сокращенно Гц); 1 Гц соответствует выполнению одного цикла (или появлению одного импульса) за секунду. Частота синхронизирующего сигнала в обычном компьютере колеблется в диапазоне от единиц до сотен и тысяч мегагерц (МГц); 1 МГц равен одному миллиону герц. К сожалению, центральные процессоры производятся многими фирмами, каждая из которых устанавливает собственный объем работы, выполняемой за один цикл синхронизации. По этой причине сравнение производительности работы по частоте синхронизации для центральных процессоров, имеющих разные конструкции, следует считать неадекватным. Если необходимо сравнить производительность компьютера, в котором установлен процессор типа PowerPC, с компьютером, имеющим ЦП типа Pentium, то разумнее будет выполнить измерение показателей производительности с помощью специальных тестовых заданий (benchmark). В этом случае сравнивается реальная скорость выполнения каждым из компьютеров одного и того же задания, называемого тестовым. Подобрав тестовое задание, которое может служить эталоном для некоторого типа приложений, мы получим инструмент сравнения, позволяющий получить осмысленную оценку коммерческих продуктов, представленных в некотором сегменте рынка. Следует отметить, что очень часто компьютер, демонстрирующий наилучшую производительность для одного класса приложений, не является таковым для приложений иного типа.
Пример выполнения программы
Давайте проследим за выполнением всех машинных циклов, предусматриваемых программой, текст которой представлен в конце раздела “Машинный язык”. Вначале необходимо разместить программу в какой-либо области памяти машины. Например, будем считать, что текст нашей программы занесен в последовательные ячейки памяти, начиная с адреса А0 (шестнадцатеричное представление). На рис. 2.7 представлена таблица, отражающая содержимое этой области памяти. Если записать программу таким способом, можно заставить машину выполнить нашу программу, поместив адрес ее первой команды (А0) в счетчик адреса и запустив машину в работу.
Рис 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; Нарушение авторского права страницы