Классификация вс в зависимости от числа потоков команд и данных
М. Флинн, 1966.
Поток данных | Поток команд | |
одиночный | множестве- нный | |
одиночный | SISD – Single Instruction Stream/Single Data Stream (одиночный поток команд и одиночный поток данных ОКОД) | MISD – Mul- tiple Instruc- tion Stream/ Single Data Stream (мно- жественный поток кома- нд и одино- чный поток данных МКОД) |
множествен- ный | SIMD – Single Instruction Stream/Multi- ple Data Stre- am (одиноч- ный поток ко- манд и мно- жественнй поток дан- ных ОКМД) | MIMD – Mu- ltiple Instruc- tion Stream/ Multiple Data Stream (мно- жественный поток кома- нл и множе- ственный по- ток данных МКМД) |
В 1966 году Флинном был предложен следующий подход классификации ар-хитектур ВС. В основу было положено понятие потока, под которым понимае- тся последовательность элементов ко- манд или данных, обрабатываемая про-цессором.
Архитектура SISD (ОКОД). Охватывает все однопроцессорные и одномашинные варианты систем, т.е. с одним вычислите- лем. Все ЭВМ классической структуры попадают в этот класс.
память
команд
П 1
поток поток
данных результатов
память
данных
память команд
поток команд
Пn
П2
П1
поток результат
данных
память данных
Элементы технологии SIMD реализованы в процессорах Intel, начиная с Pentium MMX.
Архитектура MISD (МКОД). Предпола- гает построение своеобразного процес-сорного конвейера, в котором результа- ты обработки передаются от одного про-цессора к другому по цепочке. ВС этого типа конвейеры должны образовать гру- ппы процессоров. Такая архитектура ис- пользуется в скалярных процессорах су- перЭВМ, в которых они применяются как спец. процессоры для поддержки ве-кторной обработки.
память команд
поток команд
П1 П2 П3
поток поток
данных результатов
память данных
Архитектура MIMD (МКМД). Предпола- гает, что все процессоры системы работа- ют по своим программам с собственным потоком данных. Такая схема часто при-меняется на вычислительных центрах для увеличения пропускной способности це- нтра. Подобные системы могут быть мно-гомашинными и многопроцессорными.
память команд
поток
команд
П1, П2,…, Пn
Пn+1, Пn+2 … П
Пm+1, Пm+2
Поток поток
данных результатов
память
данных
Пример:
Составить программу, обеспечивающую передачу 17 байт по интерфейсу RS-232C (COM1) со скоростью 9600 бит/с. Кол-во передаваемых бит 8, количество стопо- вых бит 1, контроль на четность преры- вания не используется.
.MODEL CMALL
.STACK 256
.data
DB ‘123456789ABCDEFGI’
.code
MOV AX , @data
MOV DS , AX
; выбор строки
MOV DX , 3FBh
MOV AL , 80h
OUT DX , AL ; 3FBh<7>=1
MOV DX , 3F8h ; 9600 – код 0 00 C
MOV AL , 0Ch 3F9h 3F8h
OUT DX , AL
MOV DX , 3F9h
MOV AL , 0
OUT DX , AL
; выбор формата
MOV DX , 3FBh
MOV AL , 00011011b
OUT DX , AL
; запрет прерывания
MOV DX , 3F9h
MOV AL , 0
OUT DX , AL
; продолжение
ДУФ SI , A
MOV CX , 17
AM: MOV AL , [SI]
MOV DX , 3F8h
OUT DX , AL
MOV DX , 3FDh
AS: IN AL , DX
;выделение 5 разряда
AND AL , 00100000b
JZ AS ; переход, если AL=0, <5>=0
INC SI
DEC CX
JNZ AM
MOV AM , 4C00h
INT 21h
END