Обзор языка OCCAM. Парадигма программирования.


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

Типы данных языка OCCAM


OCCAM – является языком строгой типизации, т.е. отсутствует неявное преобразование типов. Пример: язык программирования Паскаль. 1). BOOL (логический) – двоичный тип. 2). BYTE – байтовый тип. 3). INT16, INT32, INT64 – целый тип.

Операторы присваивания и выражения


Оператор присваивания состоит из трех частей: < леводопуст >: = < выражение > где леводопуст – это выражение, которое ссылается на ячейку памяти. Самым простым является идентификатор переменой:

Организация конвейерных вычислений


Рис.7.44. Конвейер будет состоять из 3 стадий, т.е. будет 3 независимых процесса, которые будут распределены на разные процессоры в этой многопроцессорной сети. Данные подаем на один процесс, он их вычисляет, затем результат подаем на 2 процесс, она этот результат должен опять преобразовать и свой результат передать 3-му процессу. Каналы организуем в виде массива.

Игра Перелет птиц


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

Игра Ловля парами


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

259. Яблоки


В ящике перемешаны яблоки трех сортов. Каково наименьшее количество яблок, которое надо взять наугад из ящика, не заглядывая в него, чтобы среди вынутых яблок оказались: 1) хотя бы 2 яблока одного сорта; 2) хотя бы 3 яблока одного сорта?

Игра Воробей и кот


На площадке чертят круг, за которым располагаются все играющие (это-"воробьи"). Один из играющих — водящий ("кот") — становится внутри круга. "Воробьи" непрерывно то вбегают внутрь круга, то выскакивают из него. "Кот" в это время старается поймать того, кто находится в кругу. Запятнанный становится "котом", а "кот" — "воробьем", и игра продолжается.

260. Прогноз погоды (шутка)


Если в 12 часов ночи идет дождь, то можно ли ожидать, что через 72 часа будет солнечная погода?

261. День леса


В День леса двум пионерским отрядам — учащимся IV и VI классов нашей школы — было поручено посадить деревья по обе стороны улицы по равному количеству на каждой стороне.

Выбивалы с мячом


В игре могут принимать участие от 10 до 40 ребят. На площадке чертится прямоугольник со сторонами 5 метров в ширину и 10 — 12 метров в длину. Водящие перебрасывают друг другу волейбольный мяч, стараются им запятнать (выбить) играющих из игрового поля.

Игра Капканы


(игра для среднего возраста под веселую музыку: галоп, полька, бит)

262. У кого какое имя?


Ребята, в наш летний пионерский лагерь завтра утром приедут три еще незнакомых вам мальчика: Буров, Гриднев и Клименко,— сказал вожатый, обращаясь к группе сидевших на лужайке пионеров из старшего отряда.

Организация ЭВМ. Многоуровневая компьютерная организация.


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

Функциональная декомпозиция


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

Архитектурные принципы Неймана


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

Архитектура процессора


При проектировании дискретных устройств мы вынуждены пользоваться некими принципами декомпозиции сложного устройства на части в рамках использования методологии проектирования. Проектирование дискретных устройств состоит из трех этапов: 1. Системное (архитектурное). 2. Логическое (синтез). 3. Техническое.

Структурная организация процессора


Глушков В.М. предложил декомпозировать КА (процессор) на операционный и управляющий блоки. Операционный блок – автомат, предназначенный для выполнения операций преобразования данных. Управляющий блок – предназначен для управления операционным блоком и внешним окружением процессора в соответствии с программой.

Операционный блок


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

Управляющий блок


Микрооперацией называется элементарная операция выполняемая за 1 тактовый интервал и приводимая в действие одним управляющим сигналом (примеры:код операции, сдвиг, выход, строб). Микрокоманда – это совокупность микроопераций выполняемых за 1 тактовый интервал.

Управляющий автомат с хранимой в памяти логикой


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

RISC — процессор


RISC (Redused Instruction Set Computer) – процессор с сокращенной системой команд. Особенности архитектуры RISC: 1) Управляющий автомат с «жесткой» логикой работы.

Система команд


Рассмотрим двухоперандные команды: Рис. 2.12. Двухоперандная команда Закодируем следующим образом: 00 – команда сложения (ADD), которая работает следующим образом Rb¬Ra+Rb

Реализация аппаратной поддержки структурного программирования. Окна Питерсона.


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

Проблема перестановки байт


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