Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) ( 35 ) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (35)

ровать который без дополнительных аппаратных средств невозможно. Поэтому обращение к расширенной памяти реализуется в два этапа: выбор страницы и обращение к ячейке в заданной странице. Если память разделена на 16 страниц по 64К байта в каждой, то адрес страницы содержит 4 бита, а адрес в пределах страницы 16 бит. Для определенности положим, что обычная память считается нулевой страницей. Будем называть ее локальной памятью, а остальную часть расширенной системы памяти - основной или главной памятью. Для выбора целевой страницы необходимо предусмотреть 4-битный порт вывода, называемый портом выбора страниц и определяющий одну из 16 выбираемых страниц (рис. 3-37). При включении системы следует произвести загрузку порта выбора страницы, чтобы процессор начал выполнение программы с известной ячейки.

3-12. БУФЕРНЫЕ ЗУПВ

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

Наиболее эффективно обмен данными между системами с различным быстродействием реализуется при наличии между ними специальной буферной памяти. Данные от подсистемы 1 временно запоминаются в буферной памяти до готовности подсистемы 2 принять их. Емкость буферной памяти должна быть достаточной для хранения тех блоков данных, которые подсистема 1 формирует между считываниями их подсистемой 2. Отличительной особенностью буферной памяти является запись данных с быстродействием и под управлением подсистемы 1, а считывание - с



5) Dlo-Dh-Dr, DIj-

Подсистема 1 (медленнодействующая)

Данные

Данные

Буферная память FIFO

Подсистема 2

(быстродействующая)

Запись

Считывания

Входной регистр Р1

SI-и

Регистры данных 64 X 4

-*-DOa

Выходной

-»- DO,

регистр Р64

-*-DOi

Управление входом

Управпение передачами

Управление выходом

SO . OR

Рис. 3-38. Применение буферной памяти (о); структурная схема буфера

64X4 (б)

быстродействием и под управлением подсистемы 2 («эластичная» память). В общем случае память должна выполнять операции записи и считывания соверщенно независимо и даже одновременно, что устраняет необходимость синхронизации подсистем. Разумеется, буферная память должна сохранять порядок поступления данных от подсистемы 1, т. е. работать по принципу «первое записанное слово считывается также первым» (FIFO). Таким образом, под буферной памятью типа FIFO понимается ЗУПВ, которое автоматически следит за порядком поступления данных и выдает их в том же порядке, допуская выполнение независимых и одновременных операций записи и считывания. На рис. 3-38, б приведена структурная схема буферной памяти типа FIFO емкостью 64X4. На кристалле размещены 64 4-битных регистра с независимыми цепями сдвига, организованных в 4 последовательных 64-битных регистра данных, 64-битный управляющий регистр, а также схема управления. Входные данные поступают на линии DIo-DI3, а вывод данных осуществляется через контакты DOo-DO3. Ввод (запись) данных производится управляющим сигналом SI (shift in), а вывод (считывание)-сигналом вывода SO (shift out). Ввод данных осуществляется только при наличии сигнала готовности ввода Ш (input ready), а вывод- при наличии сигнала готовности вывода OR (output ready). Управляющий сигнал R (reset) производит сброс содержимого буфера.



При вводе 4-битного слова под действием сигнала Sl оно автоматически передвигается в ближайший к выходу свободный регистр. Состояние регистра данных отображается в соответствующем ему управляющем триггере, совокупность триггеров образует 64-битный управляющий регистр. Если регистр содержит данные, то управляющий триггер находится в состоянии 1, а если регистр не содержит данных, то триггер находится в состоянии 0. Как только управляющий бит соседнего справа регистра изменяется на О, слово данных автоматически сдвигается к выходу. Перед началом работы в буфер подается сигнал сброса R и все управляющие триггеры переводятся в состояние О (все регистры буфера свободны). На выводе IR формируется логическая 1, т. е. буфер готов воспринимать входные данные. При действии сигнала ввода SI входное слово загружается в регистр Р1, а управляющий триггер этого регистра устанавливается в состояние 1: на входе IR формируется логический 0. Связи между регистрами организованы таким образом, что поступившее в Р1 слово «спонтанно» копируется во всех регистрах данных FIFO и появляется на выходных линиях DOo-DO3. Теперь все 64 регистра буфера содержат одинаковые слова, управляющий триггер последнего регистра Р64 находится в состоянии 1, а остальные управляющие триггеры сброшены при передаче данных в соседние справа регистры. Состояние управляющего триггера Р64 выведено на линию готовности выхода OR; OR принимает значение 1, когда в триггер записывается 1. Процесс ввода может продолжаться до полного заполнения буфера; в этом случае все управляющие триггеры находятся в состоянии 1 и на линии IR сохраняется логический 0.

При подаче сигнала SO производится восприятие слова с линией DOo -DO3, управляющий триггер Р64 переводится в состояние 1, на линии OR появляется логическая 1, а управляющий триггер Р64 сбрасывается в 0. Затем этот процесс повторяется для остальных регистров и нуль в управляющем регистре перемещается ко входу по мере сдвига данных вправо.

В некоторых кристаллах буфера FIFO имеется дополнительная выходная линия флажка заполнения наполовину. На ней формируется сигнал 1, если число слов составляет более половины емкости буфера.

Рассмотренный принцип организации FIFO допускает выполнение записи и считывания данных независимо и одновременно. Скорость ввода определяется временным интервалом, необходимым для передачи данных из Р1, а вы-



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) ( 35 ) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)