Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по информатике1.doc
Скачиваний:
39
Добавлен:
02.05.2014
Размер:
598.02 Кб
Скачать

3. Регистр – разновидность озу, встроенного в микропроцессор.

Рассмотрим состав и назначение регистров на примере микро­процессоров фирмы Intel.

Процессоры х86 имеют регистры, подразделяющиеся на следующие категории:

- регистры общего назначения (общие регистры данных и адресов);

- указатель команд (инструкций);

- регистры сегментов;

- регистр флагов;

- управляющие регистры;

- системные адресные регистры;

- регистры отладки;

- регистры тестирования;

- модельно-специфические (зависящие от конкретной модели процессора) регистры.

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

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

5. Type

TAnObject = Class(TObject)

Function GetColor : TSomeType;

Procedure SetColor (aNewValue : TSomeType);

Property AСolor : TSomeType Read GetColor Write SetColor;

End;

Билет №4

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

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

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

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

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

COMMIT (фиксировать), превращающее все предварительные обновления в окончательные (“зафиксированные”);

ROLLBACK (откат), аннулирующее все предварительные обновления.

Таким образом, транзакцией можно назвать последовательность SQL-предложений, расположенных между “точками синхронизации”, учреждаемых в начале выполнения программы и издании COMMIT или ROLLBACK и только в этих случаях. При этом следует иметь в виду, что возможен неявный COMMIT (существует режим AUTOCOMMIT, в котором система издает COMMIT после выполнения каждого SQL-предложения) и ROLLBACK (выполняемый при аварийном завершении программы).

Таким образом, пользователь должен сам решать, включать ли механизм обработки транзакций, и если включать, то где издавать COMMIT (ROLLBACK), т.е. какие последовательности SQL-предложений являются транзакциями.

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

3. Наборно-ассоциативная архитектура кэша позволяет каждому блоку кэшируе­мой памяти претендовать на одну из нескольких строк кэша, объединенных в набор (set). Можно считать, что в этой архитектуре есть несколько параллельно и согла­сованно работающих каналов прямого отображения, где контроллеру кэша при­ходится принимать решение о том, в какую из строк набора помещать очередной блок данных.

В простейшем случае каждый блок памяти может помещаться в одну из двух строк (Two Way Set-Associative Cache – двухканальный наборно-ассоциативный кэш). Такой кэш должен содержать два банка памяти тегов.

Номер набора (индекс), в котором может отображаться затре­бованный блок дан­ных, однозначно определяется средней частью адреса (как номер строки в кэше прямого отображения). Строка набора, отображающая требуемый блок, опреде­ляется сравнением тегов (как и в ассоциативном кэше), параллельно выполняе­мым для всех каналов кэша. Кроме того, с каждым набором должен быть связан признак, определяющий строку набора, подлежащую замещению новым блоком данных в случае кэш-промаха. Канди­датом на замещение обычно выбирается строка, к которой дольше всего не обра­щались (алгоритм LRU– Least Recently Used). При относительно большом коли­честве каналов (строк в наборе) прибегают к некоторому упрощению – алгоритм Pseudo-LRU для четырех строк (Four Way Set Associative Cache) позволяет при­нимать решения, используя всего 3 бита. Возможно также применение алгоритма замещения FIFO (первым вошел – первым вышел) или даже случайного (random) замещения, что проще, но менее эффективно.

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

Соседние файлы в предмете Информатика