ДРУГИЕ ТИПЫ АРХИТЕКТУРЫ КОМПЬЮТЕРОВ.docx

  • docx
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала ДРУГИЕ ТИПЫ АРХИТЕКТУРЫ КОМПЬЮТЕРОВ.docx

ДРУГИЕ ТИПЫ АРХИТЕКТУРЫ КОМПЬЮТЕРОВ*

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


CISC- и RISC-архитектура компьютеров. Разработка машинного языка требует предварительного принятия многих решений. Одно из них состоит в выборе между построением сложной машины, способной декодировать и выполнять широ- кий спектр разнообразных команд, и созданием более простой машины, которая будет иметь ограниченный набор команд. К первому варианту относятся компьютеры с CISC-архитектурой (Complex Instruction Set Computer – компьютер со сложным набором команд), а ко второму – компьютеры с RISC-архитектурой (Reduced Instruction Set Computer – компьютер с ограни- ченным набором команд). CISC-компьютер проще программировать, поскольку единственная его команда позволяет решить задачу, выполнение которой в RISC-компьютере потребует длинной последовательности более простых команд. Однако CISC-компьютер сложнее сконструировать, и он обходится дороже как при создании, так и при эксплуатации. Более того, многие сложные команды найдут лишь ограниченное применение, вследствие чего могут оказаться просто балластом, соз- дающим дополнительную бесполезную нагрузку.

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

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

В настоящее время на рынке представлены оба вида процессоров – как с CISC-, так и с RISC-архитектурой. Процессоры серии Pentium, выпускаемые компанией Intel, являются примером центральных процессоров с CISC-архитектурой, тогда как процессоры серии PowerPC, выпускаемые компаниями Apple Computer, IBM и Motorola, имеют RISC-архитектуру.

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

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

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

Конструкции современных процессоров оставляют далеко позади рассмотренный выше простейший пример конвейер- ной обработки. Современные процессоры способны выбирать сразу несколько команд за одно и то же время, а также реаль- но выполнять больше одной команды одновременно, если только их действия не являются взаимозависимыми.

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

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


способствует созданию конфигурации с более высокой степенью использования элементов.

По этому принципу было разработано большое количество машин. Один подход предусматривает подключение к од- ним и тем же ячейкам основной памяти нескольких устройств обработки данных, каждое из которых напоминает обычный центральный процессор однопроцессорной машины. В такой конфигурации процессоры могут работать независимо, коорди- нируя свои действия посредством обмена сообщениями через общие ячейки памяти. Например, когда один процессор полу- чает большое и сложное задание, он может записать программу для выполнения части этого задания в общем поле памяти, а затем послать другому процессору запрос на ее выполнение. В результате мы получим машину, в которой разные последова- тельности команд выполняют обработку разных наборов данных. Подобная архитектура носит название MIMD (multiple in- struction stream, multiple-data stream – множество потоков команд с множеством потоков данных). Очевидно, что она является противоположной по отношению к традиционной архитектуре компьютеров, называемой SISD (single instruction stream, sin- gle-data stream – один поток команд и один поток данных).

Еще одним вариантом архитектуры многопроцессорных компьютеров является такое соединение процессоров между собой, которое позволит им одновременно выполнять одну и ту же последовательность команд, но с разными наборами дан- ных. Этот вариант носит название архитектуры SIMD (single instruction stream, multiple-data stream – один поток команд и мно- жество потоков данных). Машины этого типа больше всего подходят для выполнения таких приложений, в которых один и тот же алгоритм обработки применяется к отдельным наборам схожих элементов, составляющих один большой блок дан- ных.

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

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

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

Вопросы для самопроверки

1.   Почему для работы машины с микропрограммным управлением требуются два счетчика адреса и два регистра ко- манд?

2.   Еще раз вернемся к вопросу 3 из раздела 2.3. Если в машине будет применяться обсуждавшаяся выше технология конвейерной обработки, то какая команда попадет на "конвейер", когда будет выполняться команда, расположенная в ячейке с адресом АА? При каких условиях конвейерная обработки на данном этапе программы не будет давать никаких преиму- ществ?

3.   Какие противоречия должны быть разрешены при запуске программы, приведенной в вопросе 4 из раздела 2.3, в ма- шине с конвейерной обработкой данных?

4.   Предположим, что два центральных процессора подсоединены к одному и тому же полю основной памяти и выпол- няют различные программы. Более того, в одно и то же время одному из процессоров требуется прибавить единицу к содер- жимому некоторой ячейки памяти, а другому необходимо отнять единицу от содержимого этой же ячейки. (Общий резуль- тат этих действий должен быть таким, что содержимое данной ячейки останется неизменным.)

а) Опишите последовательность действий, которая приведет к тому, что в результате их выполнения содержимое дан- ной ячейки будет на единицу меньше исходного значения.

б) Опишите, какая последовательность действий приведет к тому, что в результате их выполнения содержимое данной ячейки будет на единицу больше исходного значения.

Упражнения

(Упражнения, отмеченные звездочкой, относятся к разделам для дополнительного чтения.)

1.  Дайте краткое определение следующим понятиям:

а) регистр; б) кэш-память; в) основная память; г) массовая память.


2.  Предположим, что в ячейках памяти машины, описанной в приложении В, записан блок данных с адресами от В9 и до С1 включительно. Сколько ячеек памяти содержит этот блок? Перечислите их адреса.

3.   Каким будет значение в счетчике адреса машины, описанной в приложении В, непосредственно после выполнения команды с кодом В0ВА?

4.  Предположим, что ячейки памяти с адресами от 00 до 05 в машине, описанной в приложении В, содержат следующие битовые комбинации.

Адрес       Содержимое

00

21

01

04

02

31

03

00

04

С0

05

00

Исходя из предположения, что исходно счетчик адреса содержал значение 00, запишите содержимое счетчика адреса, регистра команд и ячейки памяти по адресу 00 в конце фазы выборки каждого машинного цикла до тех пор, пока машина не остановится.

5.  Предположим, что в машинной памяти записаны три числа (х, у и z). Опишите последовательность действий (загруз- ка значений из памяти в регистры, сохранение результатов в памяти и т.д.), необходимых для вычисления суммы х + у + z. А какая последовательность действий потребуется для вычисления значения выражения (2х) + у?

6.   Ниже приведено несколько команд на машинном языке, описанном в приложении В. Дайте текстовое описание этих команд.

а) 407Е; б) 9028; в) А302; г) B3AD; д) 2835.

7.   Предположим, что в некотором машинном языке поле кода операции имеет длину четыре бита. Сколько различных типов команд может существовать в этом языке? Что можно сказать по этому поводу, если длина поля кода операции будет увеличена до 8 бит?

8.  Запишите приведенные ниже команды на машинном языке, описанном в приложении В: а) Загрузить в регистр 8 содержимое ячейки памяти с адресом 55.

б) Загрузить в регистр 8 шестнадцатеричное число 55.

в) Выполнить циклический сдвиг содержимого регистра 4 на три бит вправо.

г) Выполнить операцию AND над содержимым регистров F и 2, поместив результат операции в регистр 0.

д) Выполнить переход к команде, расположенной по адресу 31, если содержимое регистра 0 будет равно содержимому регистра В.

9.  Распределите на три категории приведенные ниже команды (записанные на машинном языке, описанном в приложе- нии В), исходя из того, изменит ли выполнение команды содержимое ячейки памяти с адресом 3В, позволит ли выполнение команды считать содержимое ячейки памяти с адресом 3В или же данная команда никак не зависит от содержимого ячейки памяти с адресом 3В: а) 153В; б) 253В; в) 353В; г) ЗВЗВ; д) 403В.

10.  Предположим, что в машине, описанной в приложении В, ячейки памяти с адресами от 00 до 03 содержат следую- щие битовые комбинации.

Адрес Содержимое

00                     23

01                     02

02                    С0

03                     00

а) Дайте текстовую формулировку первой команды.

б) Если в начале работы машины содержимое счетчика адреса будет равно 00, какая битовая комбинация окажется в регистре 3, когда машина выпол- нит команду останова?

11.  Предположим, что в машине, описанной в приложении В, ячейки памяти с адресами от 00 до 05 содержат следую- щие битовые комбинации.

 

Адрес

Содержимое

00

10

01

04

02

30

03

45

04

С0

05

00

Дайте ответ на поставленные ниже вопросы, полагая, что машина начинает работу со счетчиком адреса, равным 00.

а) Сформулируйте текстовое описание каждой команды.

б) Какая битовая комбинация будет находиться в ячейке памяти с адресом 45, после того как машина выполнит команду останова?

в) Какая битовая комбинация будет находиться в счетчике адреса, когда машина выполнит команду останова?

12.  Предположим, что в машине, описанной в приложении В, ячейки памяти с адресами от 00 до 09 содержат следую- щие битовые комбинации.

Адрес       Содержимое

00                    1А

01                     02


02

03

02

04

05

АВ

06

ЗС

07

00

08

С0

09

00

Будем считать, что машина начинает работу со счетчиком адреса, равным 00.

а) Какое значение будет находиться в ячейке памяти с адресом 00, когда машина выполнит команду останова? б) Какая битовая комбинация будет находиться в счетчике адреса, когда машина выполнит команду останова?

13.  Предположим, что в машине, описанной в приложении В, ячейки памяти с адресами от 00 до 0D содержат следую- щие битовые комбинации.

Адрес

Содержимое

00

20

01

03

02

21

03

01

04

40

05

12

06

51

07

12

08

В1

09

В0

06

С0

0D

00

Будем считать, что машина начинает работу со счетчиком адреса, равным 00.

а) Какая битовая комбинация будет находиться в регистре 1, когда машина выполнит команду останова? б) Какая битовая комбинация будет находиться в регистре 0, когда машина выполнит команду останова?

в) Какая битовая комбинация будет находиться в счетчике адреса, когда машина выполнит команду останова?

14.  Предположим, что в машине, описанной в приложении В, ячейки памяти с адресами от F0 до FD содержат следую- щие битовые комбинации (шестнадцатеричные).

 

Адрес

Содержимое

F0

20

F1

00

F2

21

F3

01

F4

23

F5

05

F6

83

F7

FC

F8

50

F9

01

FA

В0

FB

F6

FC

С0

FD

00

Если машина начнет работу со счетчиком адреса, имеющим значение F0, какое значение будет находиться в регистре 0,

когда машина выполнит команду останова, расположенную в ячейке с адресом FC?

15.  Если машина, описанная в приложении В, выполняет каждую команду за одну микросекунду (миллионная доля се- кунды), сколько времени займет выполнение программы, приведенной в задаче 14?

16.  Предположим, что в машине, описанной в приложении В, в ячейках памяти с адресами от 00 до 05 содержатся сле- дующие битовые комбинации (шестнадцатеричные).

Адрес

Содержимое

00

25

01

В0

02

35

03

04

04

С0

05

00

Когда машина выполнит команду останова, если она начнет работу при содержимом счетчика адреса 00?


17.   Для каждого приведенного ниже задания напишите небольшую программу на машинном языке, описанном в при- ложении В, предназначенную для его выполнения. Исходите из того, что каждая программа будет записана в памяти, начи- ная с адреса 00.

а) Переместите значение, сохраняемое в ячейке памяти с адресом 8D, в ячейку с адресом ВЗ. б) Поменяйте местами значения, записанные в ячейках с адресами 8D и ВЗ.

в) Если значение, записанное в ячейке памяти с адресом 45, равно 00, запишите значение СС в ячейку памяти с адресом

88, в противном случае запишите значение DD в ячейку памяти с адресом 88.

18.  Одной из популярных среди любителей компьютеров игр является core wars (война сердечников). (Термин core ис- пользовался в устаревших технологиях создания основной памяти, где нули и единицы представлялись магнитными полями в небольших кольцевых сердечниках из магнитного материала.) Игра проводится между двумя программами, выступающи- ми друг против друга, которые записаны по разным адресам общей памяти компьютера. Предполагается, что компьютер по- стоянно переключается с одной программы на другую, т.е. выполняет одну команду первой программы, после чего немед- ленно выполняет одну команду второй программы и т.д. Цель каждой программы – уничтожение другой программы посред- ством записи посторонних данных поверх ее текста, сохраняемого в основной памяти. Однако ни одна из программ не знает места расположения другой программы.

а) Напишите игровую программу на машинном языке (описанном в приложении В), реализующую стратегию обороны, т.е. имеющую минимально возможный размер.

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

в) Модернизируйте программу из пункта б), чтобы она продолжала свое перемещение по новым адресам. В частности, пусть программа переместит себя по адресу 70, затем по адресу ЕО (70 + 70), а затем по адресу 60 (70 + 70 + 70) и т.д.

19.  Напишите программу на машинном языке, описанном в приложении В, которая будет вычислять сумму чисел, пред- ставленных в двоичном дополнительном коде и сохраняемых в ячейках с адресами А1, А2, A3, А4. Результат должен быть записан в ячейку с адресом А5.

20.  Предположим, что в машине, описанной в приложении В, ячейки памяти с адресами от 00 до 05 содержат следую- щие битовые комбинации (шестнадцатеричное представление).

Адрес

Содержимое

00

20

01

С0

02

30

03

04

04

00

05

00

Что произойдет, если машина начнет работу со счетчиком адреса, имеющим значение 00?

21.  Что произойдет, если в машине, описанной в приложении В, ячейки памяти с адресами 06 и 07 будут содержать би- товые комбинации В0 и 06 и машина начнет работу со счетчиком адреса, имеющим значение 06?

22.  Предположим, что приведенная ниже программа написана на машинном языке, описанном в приложении В, и запи- сана в память машины, начиная с ячейки с адресом 30 (шестнадцатеричное представление). Какое задание будет выполнено про- граммой после ее завершения?

2003

2101

2200

2310

1400

3410

5221

5331

3239

333В В248 В038 С000

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

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

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

26.   Предположим, что регистры 4 и 5 в машине, описанной в приложении В, содержат битовые комбинации ЗС и С8, соответственно. Какая комбинация окажется в регистре 0 после выполнения следующих команд:

а) 5045; б) 6045; в) 7045; г) 8045; д) 9045.

27.  Используя машинный язык, описанный в приложении В, напишите программы для выполнения приведенных ниже заданий.


а) Скопируйте битовую комбинацию, записанную в ячейке памяти с адресом 66, в ячейку с адресом ВВ.

б) Присвойте четырем младшим битам ячейки памяти с адресом 34 значение 0, не изменяя при этом значения осталь- ных ее битов.

в) Скопируйте четыре младших бита из ячейки памяти с адресом А5 в четыре младших бита ячейки с адресом А6, не изменяя при этом значения остальных битов ячейки с адресом А6.

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

28.  Выполните указанные операции:


111000

а) AND

111000	000100	000100	111011
101001	101010	010101	110101

101001

 

д)


000100

; б)AND

101010


000100

; в)AND

010101


110101

; г);AND

000100


111000	000100	000100	111011
101001	101010	010101	110101

OR              ;      е) OR              ;     ж) OR              ;   з) OR              ;

 

и) XOR               ;  к) XOR               ; л) XOR               ; м) XOR              .


29.  Укажите значение маски и тип логической операции, необходимые для выполнения указанных ниже действий. а) Поместите значение 0 в четыре средних бита восьмибитовой комбинации, не изменяя состояния других ее битов. б) Получите двоичное дополнение для комбинации из восьми битов.

в) Определите двоичное дополнение для старшего бита восьмибитовой ячейки памяти без изменения состояния осталь- ных ее битов.

г) Поместите значение 1 в старший бит восьмибитовой комбинации, не изменяя состояния остальных ее битов.

д) Поместите значение 1 во все биты восьмибитовой комбинации, кроме самого старшего, оставив его значение неиз- менным.

30.  Укажите тип логической операции (вместе с соответствующей маской), которая при применении к входной восьми- битовой строке даст на выходе строку из всех нулей тогда и только тогда, когда входная строка будет иметь значение 10000001.

31.  Укажите последовательность логических операций (вместе с соответствующими масками), которые при применении ее к входной восьмибитовой строке дадут на выходе строку из всех нулей тогда и только тогда, когда входная строка будет начинаться и заканчиваться битом со значением 1. Во всех остальных случаях выходная строка должна будет содержать по крайней мере один единичный бит.

32.  Каков будет результат выполнения операции циклического сдвига на четыре бита влево для следующих битовых комбинаций:

а) 10101; б) 11110000; в) 001; г) 101000; Д) 00001.

33.  Каким будет результат выполнения циклического сдвига на один бит вправо для следующих байтов, представлен- ных в шестнадцатеричной системе? Ответы также должны быть представлены в шестнадцатеричной системе: a) 3F; б) 0D; в) FF; г) 77.

34.  Напишите программу на машинном языке, описанном в приложении В, которая изменит содержимое ячейки памяти с адресом 8С на обратное.

35*. Успеет ли принтер, печатающий 40 знаков в секунду, вывести строку из символов кода ASCII (каждый имеет бит четности), последовательно поступающих со скоростью 300 бит/с? А если скорость передачи будет 1200 бит/с?

36*. Предположим, что человек вводит с клавиатуры по 30 слов в минуту, причем каждое слово состоит из пяти симво- лов. Если считать, что машина каждую микросекунду (миллионная доля секунды) выполняет одну команду, то сколько ко- манд выполнит эта машина, пока с клавиатуры будут введены два символа?

37*. Сколько битов в секунду должна передавать клавиатура в компьютер, чтобы успевать за пользователем, выпол- няющим ввод со скоростью 30 слов в минуту? (Предположим, что каждый символ шифруется в коде ASCII и имеет бит чет- ности, а каждое слово состоит из пяти символов.)

38*. Какую скорость передачи информации, выраженную в битах в секунду, будет иметь система связи, способная пе- редавать любую последовательность из восьми различных состояний с максимальной скоростью 300 состояний в секунду?

39*. Предположим, что машина, описанная в приложении В, для работы с принтером использует метод отображения ввода/вывода в память. Также предположим, что адрес FF используется для передачи символов в принтер, а адрес FE – для получения информации о состоянии принтера. В частности, будем считать, что младший бит ячейки с адресом FE определя- ет готовность принтера получить еще один символ (значение 0 означает неготовность, а значение 1 – готовность получить очередной символ). Напишите на машинном языке программу, начинающуюся с адреса 00, которая будет ожидать, пока принтер сообщит о готовности принять очередной символ, а затем отправит ему символ, представленный битовой комбина- цией в регистре 5.

40*. Напишите программу на машинном языке, описанном в приложении В, которая будет помещать значения 00 во все ячейки основной памяти с адресами от А0 до С0 и одновременно будет достаточно небольшого размера, чтобы помещаться в ячейках памяти с адресами от 00 до 13 (шестнадцатеричными).

41*. Предположим, что машина, имеющая на жестком диске

500 Мбайт свободной памяти, принимает данные по телефонной линии связи со скоростью 14 400 бит/с. Сколько време- ни ей понадобится, чтобы заполнить данными все свободное место на жестком диске?

42*. Предположим, что линия связи используется для последовательной передачи данных со скоростью 14 400 бит/с.

Сколько битов данных будет искажено, если возникнет радиопомеха общей длительностью 0,01 секунды?


43*. Предположим, что имеются 32 процессора, каждый из которых способен определить сумму двух многозначных чисел за миллионную долю секунды. Опишите, как применить методы параллельной обработки, чтобы обеспечить вычисле- ние суммы 64 чисел всего за шесть миллионных долей секунды. Сколько времени потребуется одному процессору для опре- деления этой суммы?

44*. Кратко опишите основные отличия между CISC- и RISC-архитектурами.

45*. Кратко опишите отличия между основной памятью и памятью микропрограмм. 46*. Опишите два подхода к увеличению пропускной способности машины.

47*. Объясните, как среднее значение для некоторого набора чисел может быть вычислено быстрее в многопроцессор- ной машине, чем в машине, имеющей только один процессор.


 

Скачано с www.znanio.ru