Пульт управления мультипроцессорной вычислительной машины
Иллюстрации
Показать всеРеферат
ОП ИСАИИЕ1 .911527
ИЗОВРЕТЕН ИЯ
Со1оэ Советскик
Социалистическив
Реслублик
К АВТОУСКОМУ СВИДЕТЕЛЬСТВУ (6i ) Дополнительное к авт. свид-ву (22) Заявлено 25.0б.80 (2l ) 294б938/18-24 с присоединением заявки М (23) П риоритет (51)М. Кл.
G 06 F 9/06
1всудвратавпаМ каквтат
CCCP ав @алаи изобретений и втарштвв
Опубликовано 07.03.82. Бюллетень И 9 (53) УДК б81.3 (088.8) Дата опубликования описания 07.03.82
В.У.Плюснин, Ю.В.Лопатин, b.Н.Насакин, П.Г.Чистобородов, А.M.Ëèòâèíîâ, Ю.П.Цуканов, Н.А.Николаев, Ф.P.Кушнеров, Е.Л.Брусиловский и В.ВПак (72) Авторы изобретения (7l) Заявитель (54) ПУЛЬТ УПРАВЛЕНИЯ ИУЛЬТИПРОЦЕССОРНОЙ
ВЫЧИСЛИТЕЛЬНОЙ ИАШИНЫ
Изобретение относится к вычисли- тельной технике и может быть использовано для управления вычислительной машины (в том числе и мультипроцессорной) без снижения ее произ" водительности.
Известен пульт управления, содержащий панель индикации и управления, а также блок контроля и диагностики, включающий в себя специальный адаптер для управления пультовым накопителем на гибком диске pl IОднако пульт используется для пультовых операций процессор машины, тем самым снижая ее производительность и не обеспечивает пространственного и временного доступа к блокам машины, который необходим для сокращения времени кантроля и диагностики оборудования, а также для возможности применения пульта для управления мультипроцессорной вычислительной машины (BM).
Наиболее близким к предлагаемому является пульт управления со- держащий вычислитель, информационный вход-выход которого соединен с выходом-входом блока оперативной памяти, а управляющий вход-выход— с управляющим входом-выходом блока сопряжения с накопителем на магнитном диске, блока сопряжения с ка.налом, блока сопряжения с панелью
1О управления и индикации и блока .сопряжения с машиной, к информационным входам-выходам которых подключены соответственно информационные входы-выходц накопителя на дис15
1 ке, канала, панели управления и индикации, и машины $2(..
В этом пульте управления пультовые операции не занимают время .процессора, что позволяе" увеличить быстродействие на количество пультовых команд. Кроме того, имеется возможность программного доступа
911527 4
55 к блокам машины через соответствующий блок сопряжения. . Однако данное устройство при применении в быстродействующих мультипроцессорных вычислительных машинах не обеспечивает нужного быстродействия вследствии большого времени реакции на запрос. Обработка запроса включает в себя формирование массива служебной информации и передачу этого массива в процессор. Обращение в память пульта возможно только со стороны вычислителя, поэтому формирование массива служебной информации и обмен могут идти только последовательно, что существенно увеличивает время реакции пульта на запросы процессора и не позволяет использовать пульт для управления ВМ, работающей в реальном масштабе времени.
Таким образом, основным недостатком устройства является недостаточное быстродействие. Кроме того, при сбое в процессе обмена необходимо повторять обработку запроса сначала, что также уменьшает быстродействие и увеличивает время реакции.
Цель изобретения — повышение быстродействия.
Поставленная цель достигается тем, что в пульт управления мультипроцессорной вычислиТельной машины содержащей вычислитель, информационный вход-выход которого соединен с информационным выходом-входом блока оперативной памяти и первыми информационными выходами-входами первого и второго адаптеров, а управляющий выход — с первыми управляющими входами первого и второго адаптеров, блок сопряжения с панелью управления, и индикации, первый вход-выход которого подключен к информационному входу-выходу панели управления и индикации, а второй выход-вход соединен со вторым информационным входомвыходом первого адаптера, третий информационный вход-выход которого подключен к первому информационному выходу-входу блока сопряжения с вычислительной машиной, второй информационный вход-выход второго ацаптера подключен к входу-выходу блока сопряжения с накопителями, введены блок приоритета, блок формирования прерываний, блок формирования меток времени и блок сопряжения с перифе5
t0
40 рийными абонентами, причем управляющий выход блока приоритета соединен с соответствующим входом блока оперативной памяти, разрешающий выход — с управляющим входом вычислителя, разрешающими входами первого и второго адаптеров, выход блока формирования прерываний подключен к управляющему входу вычислителя, маскирующий вход — к управляющему выходу вычислителя, первый и второй запросные входы - соответственно, к выходам прерываний первого и второго адаптера, третий, четвертый и пятый запросные входы блока формирования пре рываний соединены соответственно с выходами прерываний панели управления и индикации всех блоков сопряжений и блока формирования меток времени, управляющий вход которого соединен с управляющим выходом вычислителя, а управляющий выход — с тактовыми входами первого и второго адаптеров и всех блоков сопряжения, первый, второй и третий запросные входы.блока приоритета соединены соответственно с управляющими выходами вычислителя, первого и второго адаптеров, первый второй и третий запросные входы блока приоритета соединены соответственно с управляющими выходами вычислителя, первого и второго адаптеров, третий информационный вход-выход которого соединены с входом-выходом блока сопряжения с периферийными абонентами, управляющий вход блока формирования прерываний является управляющим входом пульта, вторые информационные входы-выходы блока сопряжения с вычислительной машиной и блока сопряжения с периферийными абонентами являются информационным входами-выходами пульта.
Пульт управления мультипроцессорной ЗВМ представляет собой управляющую вычислительную машину повышенной надежности, содержащую разветвленную систему обработки и хранения запросов, Запросы от процессоров бывают двух типов. Первый — запросы, связанные с приемом исходных данных с периферийного устройства пульта управления, формированием массива служебной информации и передачей его в процессор. Второй — с приемом массива служебной информации, анализом этого массива и выдачей результатов анализа в перифе5 9115 рийный абонент пульта управления.
Таким образом, время реакции на запрос распадается на три составляющие: время формирования или анализа массива; времена обмена пульта управ- ления с процессором; время обмена пульта управления с периферийным устройством. Обмен и формирование (анализ) массива идут одновременно. 1О
Для повышения быстродействия обмена сигналы интерфейса между блоками сопряжения и адаптерами, а также между блоками сопряжения и внешними устройствами контролируются вре- 15 менными метками, приходящими с блока формирования меток времени. Это позволяет в случае сбоя программно повторить обмен.
Пульт управления осуществляет ин- 20 дикацию состояния машины. Для этого каждый 10 м сек, постоянно обновляемая информация о состоянии машины, вЫсвечивается на панели индикации и управления. 25
На фиг. 1 представлена блок-схема пульта управления многопроцессорной 3BM, на фиг. 2 — блок-схема блока приоритета, на фиг. 3 — блок-схема блока формирования прерываний 30 на фиг. 4 — блок-схема блока формирования меток времени, на фиг. 5— блок-схема сопряжения с периферийными абонентами, на фиг. 6 — блоксхема блока сопряжения с накопителями, на фиг. 7 — блок-схема блока сопряжения с панелью индикации и управления.
Блок сопряжения с накопителями (фиг. 6) содержит регистр 77 данных, регистр 78 управления, счетчик 79 адреса данных, коммутатор 80 сигнапов интерфейса, контрольный счетчик 81, логический элемент И 82.
Блок сопряжения с панелью (фиг. 7) содержит регистр 83 управления, счетчик 84 данных, коммутатор 85 сигналов интерфейса, дешифратор 86, контрольный счетчик 87, коммутатор 88 данных, логический элемент И 89. Пульт управления мультипроцессор40 ной вычислительной машины (фиг. !) содержит блок 1 оперативной памяти, вычислитель 2, блок 3 приоритета, блок 4 формирования прерываний, блок
5 формирования меток времени, первый
45 адаптер 6, второй адаптер 7, блок 8 сопряжения с панелью управления и индикации, блок 9 сопряжения с вычислительной машиной, блок 10 сопряжения с накопителями, блок ll сопряжения с периферийными абонента50 ми, панель 12 управления и индикации, накопитель 13 на магнитном диске, группу периферийных абонентов
14, управляющий вход 15 пульта, информационные входы-выходы 16 пульта, 55 вход 17 запросов второго адаптера вход 18 адреса второго адаптера, вход 19 адреса первого адаптера, вход
27 6
20 запросов первого адаптера, вход
21 запросов вычислителя, вход 22 адреса вычислителя, вход 23 маски, вход 24 запросов первого адаптера, вход 25 запросов панели, вход 26 запросов сопряжения, вход 27 запросов второго адаптера, вход 28 запросов индикации, информационный вход" выход
29, входы 30-35 меток времени, информационные входы-выходы 36-37 пульта, управляющий вход 38.
Блок приоритета (фиг. 2) содержит регистр 39 запросов вычислителя, регистр 40 запросов первого адаптера, регистр 41 запросов второго адаптера, логический элемент ИЛИ 42, логический элемент НЕ 43, счетчик 44 обращений, логические элементы И 45-47, разрешающий регистр 48 вычислителя, разрешающий регистр 49 первого адаптера, разрешающий регистр 50 второго адаптера, логический элемент
ИЛИ 51, коммутатор 52 адреса, регистр
53 адреса.
Блок формирования прерываний (фиг. 3) содержит регистр 54 маски, регистр 55 прерывания первого.адаптера, регистр 56 прерывания второго адаптера, регистр 57 прерывания па нели, регистр 58 прерывания индикации, регистр 59 прерывания зависания, регистр 60 прерывания машины, логические элементы ИЛИ 61-64, регистр
65 сборных прерываний, логический элемент И бб, логический элемент . ИЛИ 67.
Блок формирования меток времени .(фиг. 4} содержит счетчик 68 времени, логические элементы И 69-70.
Блок сопряжения с периферийными устройствами (фиг. 5) содержит регистр 71 данных, регистр 72 управления, преобразователь кодов 73, коммутатор 74 сигналов интерфейса, контрольный счетчик 75, логический элемент И 76.
7 91152
Пульт управления работает следующим образом.
В исходном состоянии, после выполнения операции "Сброс" и загрузки операционной системы пульта, пульт находится в состоянии "Ожидание".
Инициация его работы может быть вызвана запросами на прерывание: от вычислительной машины (ВИ), приходящими на управляющий вход 15 (фиг.1) tO пульта, с панели .12 приходящими на вход 25 запросов панели блока 4, от блока 11 сопряжения с периферийными абонентами, приходящими на вход
26 запросов сопряжения блока 4. 15
Эти запросы на прерывания в блоке
4 формирования прерываний записываются на соответствующие регистры
57, 59, 60 прерываний (фиг. 3), которые являются многоразрядными. Сигналы с выходов этих регистров поступают на входы соответствующих логических элементов ИЛИ 61-63. В состав блока 4 входит регистр 54 маски, ин25 формация на который поступает по входу 23 маски из вычислителя 2.
Количество разрядов регистра 54 соответствует количеству видов запросов на прерывания. Если в соответствующем разряде регистра 54 записана
"единица", то сигнал запроса прохоцит через соответствующий логический элемент И 64 и записывается на регистр 65 прерываний. Логический элемент ИЛИ 67, стоящий на выходе регистра 65, формирует сборный запрос на прерывание, который поступает с выхода прерываний блока 4 на управляющий вход вычислителя 2, который по получении данного сигнала выпол- 40 няет прерывание программы с помощью блока приоритета. Запрос на прерыва" ние от вычислителя 2 приходит на вход 21 запросов вычислителя и записывается на регистр 39 вычислителя 45 (фиг. 2). Одновременно на вход 22 адреса вычислителя приходит адрес, по которому должно происходить обращение в блок 1 оперативной памяти.
В том случае, если отсутствуют за- 50 просы на входе 20 запросов первого адаптера и входе 17 запросов второго адаптера, выход логического элемента
ИЛИ 51 будет иметь нулевое значение, 1
° которое через логический элемент
НЕ 43 подается на разрешающий элемент логического элемента И 45 и запрос с выхода регистра 39 переписывается
7 8 на .регистр 48. Сигнал с выхода этого регистра является разрешающим для записи адреса из вычислителя 2 через коммутатор 52 адреса на регистр
53 адреса. Указанный сигнал с разрешающего выхода блока 3 поступает в вычислитель 2 для выдачи данных при записи в блок.1. Адрес с выхода адреса блока 3 поступает в блок 1 и происходит запись или чтение информации.
Пульт управления предусматривает возможность совместной работы адаптера 6 и 7 и вычислителя 2. Если на входах 17-20, запросов блока 3 имеют" ся сразу все запросы, то наименьший приоритет имеет запрос вычислителя, а запросы адаптеров 6 и 7 обслуживаются по очереди. Очередность обслуживания устанавливается с помощью счетчика 44 обращений. Сборка запросов адаптеров осуществляется на логическом элементе ИЛИ 42, выход которого управляется переключением счетчика 44. Если счетчик 44 находится в нулевом состоянии, то сигнал с
его выхода поступает на логический элемент И 46 и запрещает прохождение запроса адаптера 6 на регистр
49. Тот же сигнал через логический элемент НЕ 43, поступая на логичес" кий элемент И 47, разрешает прохождение запроса адаптера 7 и запись его на регистр 50. В следующий такт работы пульта управления счетчик
44 переключается и разрешение получает другой адаптер. Вычислитель 2 работает только во время отсутствия запросов адаптеров. В результате выполнения прерывания вычислитель 2 начинает выполнять программу обработки прерывания, которая включает в себя несколько процедур. Состав программы и ее конечный результат определяется видом прерывания. Анализ вида прерывания производится вычислителем.
Для этого вычислитель выдает сигнал на вход 23 маски блока 4, который поступает на логический элемент И 66 и содержимое регистра 65 передается в вычислитель.
Прерывание от ВМ. Конечной целью обработки данного прерывания является установление обмена с BM с помощью адаптера 6 и блока 9 сопряжения с машиной по информационному входу-выходу 16 пульта. Вычислитель посылает на управляющий вход адаптера 6 служебную информацию. В состав ее входит наФ
527 10
Прерывание от панели 12 управления и индикации. Конечной целью обработки данного прерывания является установ5 адаптера 6 — блока 8 сопряжения с панелью по информационному входуописанной выше.
50
9 911 чальный адрес памяти, который записывается на счетчик адреса информации, размер массива данных, который записывается на счетчик информации, адрес блока. сопряжения, который записывается на регистр управляющего слова, приказ для блока сопряжения, который записывается на регистр информации, и эталон, который записывается на регистр эталона.В состав адаптера 6 входит также регистр меток записи, каждый разряд которого следит за состоянием одного из регистров или счетчиков. Нри записи на регистр или счетчик, входящий в состав адаптера 6, в соответствующий разряд регистра меток записи пишется "единица". При этом запрещается повторная запись на уже загруженный счетчик или регистр. Регистр эталона имеет разрядность, равную регистру меток записи.
Поеле загрузки всех необходимых регистров и счетчиков адаптера регистр, эталона сравнивается с регистром меток записи.
После загрузки всех необходимых регистров и счетчиков адаптера регистр эталона сравнивается с регистром меток записи. Эталон, заносимый на регистр эталона, содержит требуемое значение регистра меток записи. В случае совпадения содержимого регистра меток. записи и регистра Эталона дается разрешение на обмен. Если какой-либо регистр или счетчик не был загружен, схема сравнения не выдаст разрешения. Таким образом, с помощью регистра меток записи и регистра эталона контролируется полнота и правильность загрузки. При выработке сигнала, разрешающего обмен, адаптер 6 передает приказ в блок 9 сопряжения с машиной, в ответ на что блок начинает передавать в адаптер или принимать из него информацию. В функции адаптера входит выборка информации из блока 1 или запись ее в блок 1. Ра бота адаптера с блоком 1 происходит через блок 3. После окончания обмена адаптер 6 вырабатывает запрос, поступающий на вход 24 запросов первого адаптера блока 4, который записывается на регистр 55. Этот запрос сообщает вычислителю, что адаптер закончил обмен.
40 ление обмена с панелью 12 с помощью выходу 29. Вычислитель производит загрузку адаптера аналогично загрузке при обработке прерывания от ВМ, После пРограммного пуска адаптера он передает в блок 8 (фиг..7} приказ, часть которого записывается на регистр 83 управления, а остальная часть на счетчик 84 данных.
Управляющая информация, содержащаяся на регистре 83, поступает в коммутатор 85 сигналов интерфейса, который вырабатывает управляющие сигналы для обмена с панелью 12. Информация, содержащаяся на счетчике
84, расшифровывается дешифратором
86, который управляет коммутатором
88 данных. Такое построение схемы позволяет обмениваться не всем массивом данных, а любой его частью.
Контрольный счетчик 87 и логический элемент И 89 служат для контроля управляющих сигналов. Обмен заканчивается выработкой запроса адаптера, который поступает на вход 24 запроса первого адаптера блока 4.
Прерывание от периферийных абонентов. Конечной целью обработки данного прерывания является установление обмена с группой периферийных абонентов 14 с помощью адаптера 7 .и блока 11 сопряжения с периферийными абонентами по информационному входу-выходу 37. Вычислитель производит загрузку адаптера 7 аналогично загрузке адаптера 6. После программного пуска адаптер передает. в блок 11 (фиг. 5) приказ, который записывается на регистр 72 управления.
Управляющая информация, содержащаяся на регистре 72, поступает в преобразователь 73 кода, а также поступает в коммутатор 74 сигналов интерфейса, который вырабатывает управляющие сигналы для обмена с периферийными абонентами. Регистр 71 данных служит для буферизацйи данных ввиду малой скорости работы периферийных абонентов по сравнению с адаптером
7. Контрольный счетчик 75 и логический элемент И 76 служат для контроля управляющих сигналов интерфейса. Адаптер 7 обращается в блок 1 аналогич27 l2 который работает только по инициации программ пульта. Если в процессе выполнения программы необходимо установить обмен с накопителем 13, вычислитель производит загрузку адаптера 7, аналогично описанной вышее.
После программного пуска адаптер передает в блок 10 (фиг. 6) приказ, часть которого записывается на регистр 78 управления, а остальная часть — на счетчик 79 данных. Управляющая информация, содержащаяся на регистре 78, поступает в коммутатор
80 сигналов интерфейса, который вырабатывает управляющие сигналы для обмена с накопителем 13. Регистр
77 данных служит для буферизации данных ввиду малой скорости работы накопителя 13 по сравнению с адаптером 7 ° Счетчик 79 адреса данных устанавливает адрес, начиная с которого производится передача данных от накопителя 13 в адаптер 7. Контрольный счетчик 81 и логический элемент И 82 служат для контроля управляющих сигналов интерфеиса. Обмен заканчивается выработкой запроса адаптера 7.
Таким образом, предлагаемое устройство позволяет в отличии от известного значительно повысить быстродействие по обработке запросов за счет одновременной работы вычислителя и двух адаптеров.
Для известного устройства время реакции на запрос составляет
Э5
В случае одновременного выполнения
К процедур время реакции на запрос составит
Соответственно увеличение быстродействия можно оценить следующим образом:
dt= R t, f„-Х „ „-It. I; %„, Рассматривая частный случай, когда все процедуры одинаковы по длиll 9115 но адаптеру 6. Обмен заканчивается выработкой запроса. адаптера 7 ко2 торый поступает на вход 27 запроса второго адаптера блока 4 формирования прерываний. 5
Прерывание по индикации. Сигнал на прерывание по индикации приходит из блока 5 формирования меток времени (фиг. 4), который содержит двадцатичетырехразрядный счетчик 68 времени, 10 логический элемент И 69, на который заходят разряды 20-23, вырабатывающий метку времени 10 м с, и логический элемент И 70, на который заходит разряды 20-23, вырабатывающий мет- 15 ку времени 1 с. Метка времени 1 с поступает на входы 30-35 меток времени, а метка времени 10 м с поступает на вход 28 запросов инцикации блока
4 формирования прерываний H 3BHHcbIвается на регистр 58. Конечной целью обработки прерывания по индикации является установление обмена с панелью 12 с помощью адаптера 6 и блока 8 сопряжения с панелью по информационному входу-выходу 29, Обмен осуществляется аналогично обмену при обработке прерывания от панели 12, за исключением того, что происходит выборка данных из блока
1 и передача их через адаптер 6 и блок 8 на регистр индикации панели 12. Счетчик 79 данных определяет в этом случае, начиная с какого разряда регистр индикации необходимо высвечивать.
Прерывания от блоков сопряжения °
Данный вид прерывания служит для организации программного повторения обмена. Это прерывание от схем кон40 Троля обмена по метке времени 1 с. где „
Метка времени 1 с с блока 5 поступает на входы 30-35 адаптеров 6 и 1
7, блоков 8-11. Указанные блоки со- И цержат схемы временного контроля
45 сигналов управления обменом, которые считают количество меток между сигналами интерфейса. Если оно (это
- количество) превышает заранее заданное значение, то схема контроля вырабатывает запрос, который посту-» пает на вход 26 запросов сопряжения блока 4 и записывается на регистр
59. Конечной целью программы обработки прерывания является повторение обмена, на котором произошел сбой, K пульту управления подключается накопитель 13 на магнитном диске, время на выполнение 1 -й про цедуры; количество 1 -х процедур число процедур необходимых для .обработки запроса, 1= 1,,и °
911527
14 тельности и количеству, выраженье для Ь можно упростить
М = 11- (n-К) Ь-(; = <(-1) 10
25
35 с
50
Таким образом, уменьшение времени реакции на запрос, происходит на М). где 4 — время выполнения одной про-, цедуры, К вЂ” количество одновременно выполняемых процедур.
При использовании устройства для управления мультипроцессорнои вычислительной машиной, количество запросов увеличивается на величину (m-1) 4 ..
2Г+ М где yves- количество процессоров; ф — число запросов от процессоров;
Д вЂ” число запросов от других устройств.
Суммарное увеличение быстродействия для мультипроцессорной BM вычисляется следующим образом: и
-b <;)...)t ",".",1, или в частном случае
Формула изобретения
Пульт управления мультипроцессорной вычислительной машины, содержащий вычислитель, информационный вход-выход которого соединен с информационным выходом-входом, блока оперативной памяти и пЕ1;выми информационными выходами-входами первого и второго адаптеров, а управляющий выход - с первыми управляющими входами первого и второго адаптеров, блок сопряжения с панелью управления и индикации, первый вход-выход которого подключен к информационному входу-выходу панели управления и индикации, а второй вход-выход соединен со вторым информационным входом-выходом первого адаптера, третий информационный вход-выход которого подключен к первому информационному выходу-входу блока сопряжения с вычислительной машиной, второй информационный входвыход второго адаптера подключен к входу-выходу блока сопряжения с на:опителями, о тли ч ающийс я тем, что, с целью повышения быстродействия, в него введены блок приоритета, блок формирования прерываний, блок формирования меток времени и блок сопряжения с периферийными абонентами, причем управляющий выход блока приоритета соединен с соответствующим входом блока оперативной памяти, разрешающий выход— с управляющим входом вычислителя, разрешающими входами первого и второго адаптеров, выход блока формирования прерываний подключен к управляющему входу вычислителя, маскирующий вход — к управляющему выходу вычислителя, первый и второй запрос-,, ные входы — соответственно, к выходам прерываний первого и второго адаптеров, третий, четвертый и пятый запросные входы блока формирования прерываний соединены соответственно с выходами прерываний панели управления и индикации всех блоков сопряжения и блока формирования меток времени, управляющий вход которого соединен с управляющим выходом вычислителя, а управляющий выход — с тактовыми входами первого и второго адаптеров и всех блоков сопряжения, первый, второй и третий адресные входы блока приоритета соединены соответственно с адресными выходами вычислителя, первого и второго адаптеров, первый, второй и третий запросные входы блока приоритета соединены соответственно с управляющими выходами вычислителя, первого и второго адаптеров, третий информационный вход-выход которого соединен с входом-выходом блока сопряжения с периферийными абонентами, управляющий вход блока формирования прерываний является управляющим входом пульта, вторые информационные входы-выходы блока сопряжения с вычислительной M&HIHHQH и блока сопряжения с периферийными абонентами являются информационныии входами-выходами пульта.
Источники информации, принятые во внимание при экспертизе
1. Процессор ЕС 1060. Техническое описание. 1977.
2. Заявка ФРГ М 2725503,. кл. G Об F 9/18, опублик. 1977 (прототип).
91!527
Составитель ИеХазова
Техред М.Рейвес . Корректор C.Ùîèàê
Редактор ВеЛушникова
Заказ )130 41 Тираж 732 11одписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж"35р Раушская наб., д. 4/5
Филиал П11ПП11тг1!атент", г. Укгород, ул. Проектная, 4