ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 662
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
АРХИТЕКТУРЫ, ХАРАКТЕРИСТИКИ, КЛАССИФИКАЦИЯ ЭВМ
3. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОДСИСТЕМЫ ПАМЯТИ ЭВМ И ВС
ОРГАНИЗАЦИЯ СИСТЕМНОГО ИНТЕРФЕЙСА И ВВОДА/ВЫВОДА ИНФОРМАЦИИ
МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
ячейки в модуле В(старшая часть адреса).
Принцип расслоения обращений иллюстрируется на рис. 4.9, а. Все программы и данные «размещаются» в адресном пространстве последо- вательно. Однако ячейки памяти, имеющие смежные адреса, находятся в различных физических модулях памяти. Если ОП состоит из 4-х мо- дулей, то номер модуля кодируется двумя младшими разрядами адреса. При этом полные m-разрядные адреса 0, 4, 8, … будут относиться к бло- ку 0, адреса 1, 5, 9, … – к блоку 1, адреса 2, 6, 10, … – к блоку 2 и адреса
3, 7, 11, … – к блоку 3. В результате этого последовательность обраще-
ний к адресам 0, 1, 2, 3, 4, 5, … будет расслоена между модулями 0, 1, 2,
3, 0, 1, ….
Поскольку каждый физический модуль памяти имеет собственные схемы управления выборкой, можно обращение к следующему модулю производить, не дожидаясь ответа от предыдущего. Так на временной диаграмме (рис. 4.9, б) показано, что время доступа к каждому модулю составляет = 4Т, где Т= ti+1 – ti– длительность такта. В каждом такте
следуют непрерывно обращения к модулям памяти в моменты времени
t1, t2, t3, ...
При наличии четырех модулей темп выдачи квантов информации из памяти в процессор будет соответствовать одному такту Т, при этом скорость выдачи информации из каждого модуля в четыре раза ниже.
Задержка в выдаче кванта информации относительно момента об- ращения также составляет 4Т, однако задержка в выдаче каждого по- следующего кванта относительно момента выдачи предыдущего соста- вит Т.
При реализации расслоения по адресам число модулей памяти мо- жет быть произвольным и необязательно кратным степени 2. В некото-
рых компьютерах допускается произвольное отключение модулей па- мяти, что позволяет исключать из конфигурации неисправные модули.
В современных высокопроизводительных компьютерах число мо- дулей обычно составляет 4–16, но иногда превышает 64.
Так как схема расслоения по адресам базируется на допущении о локальности, она дает эффект в тех случаях, когда это допущение справедливо, т.е. при решении одной задачи.
Для повышения производительности мультипроцессорных систем, работающих в многозадачных режимах, реализуют другие схемы, при которых различные процессоры обращаются к различным модулям памяти. Необходимо помнить, что процессоры ввода/вывода также за- нимают циклы памяти и вследствие этого могут сильно влиять на про- изводительность системы. Для уменьшения этого влияния обращения центрального процессора и процессоров ввода/вывода можно организо- вать к разным модулям памяти.
Обобщением идеи расслоения памяти является возможность реа- лизации нескольких независимых обращений, когда несколько кон- троллеров памяти позволяют модулям памяти (или группам расслоен- ных модулей памяти) работать независимо.
Прямое уменьшение числа конфликтов за счет организации чере- дующихся обращений к различным модулям памяти может быть до- стигнуто путем размещения программ и данных в разных модулях. Доля команд в программе, требующих ссылок к находящимся в ОП данным, зависит от класса решаемой задачи и от архитектурных осо- бенностей компьютера. Для большинства ЭВМ с традиционной архитек- турой и задач научно-технического характера эта доля превышает 50 %.
Адрес
а
Моменты обращения
Модули памяти
Моменты выдачи
б
τ τ
Модули
0
1
2
к ПР
3
Моменты обращения
Моменты выдачи в ПР
t1 t2 t3 t4
t5 t6 t7 t8
Рис. 4.9. Расслоение памяти:
а– организация адресного пространства; б– временная диаграмма работы модулей
Поскольку обращения к командам и элементам данных чередуют- ся, то разделение памяти на память команд и память данных повышает быстродействие машины подобно рассмотренному выше механизму расслоения. Разделение памяти на память команд и память данных ши- роко используется в системах управления или обработки сигналов. В подобного рода системах в качестве памяти команд нередко использу- ются постоянные запоминающие устройства (ПЗУ), цикл которых меньше цикла устройств, допускающих запись, это делает разделение программ и данных весьма эффективным. Следует отметить, что обра- щения процессоров ввода/вывода в режиме прямого доступа в память логически реализуются как обращения к памяти данных.
Выбор той или иной схемы расслоения для компьютера (системы) определяется целями (достижение высокой производительности при решении множества задач или высокого быстродействия при решении одной задачи), архитектурными и структурными особенностями систе- мы, а также элементной базой (соотношением длительностей циклов памяти и узлов обработки). Могут использоваться комбинированные схемы расслоения.
Оперативная память является важнейшим и наиболее дефицитным ресурсом в вычислительных машинах и системах, требующим тщательно- го и эффективного управления. Проблема усложняется при переходе к мультипрограммным системам, т.к в них оперативную память одновре- менно используют несколько вычислительных процессов (программ).
Для идентификации переменных и команд используются символь- ные имена (метки), виртуальные адреса и физические адреса (рис. 4.10). Символьные имена присваивает пользователь при написании про-
граммы на алгоритмическом языке или ассемблере.
Виртуальные адреса вырабатывает транслятор, переводящий про- грамму на машинный язык. Так как во время трансляции в общем слу- чае неизвестно, в какое место ОП будет загружена программа, то транс- лятор присваивает переменным и командам виртуальные (условные) ад- реса, обычно считая по умолчанию, что программа будет размещена, начиная с нулевого адреса. Совокупность виртуальных адресов процес- са (программы) называется виртуальным адресным пространством. Каждый процесс имеет собственное виртуальное адресное простран-
ство. Максимальный размер виртуального адресного пространства ограничивается разрядностью адреса, присущей данной архитектуре компьютера и, как правило, не совпадает с объемом физической памяти, имеющимся в компьютере.
Идентификаторы переменных в
программе на алгоритмическом языке.
Условные адреса, вырабатываемые транслятором:
Номера ячеек физической памяти.
Рис. 4.10. Типы адресов
Физические адреса соответствуют номерам ячеек ОП, где в дей- ствительности расположены или будут расположены переменные и ко- манды. Переход от виртуальных адресов к физическим может осу- ществляться двумя способами.
В первом случае замену виртуальных адресов на физические делает специальная системная программа – перемещающий загрузчик. Пере- мещающий загрузчик на основании имеющихся у него исходных дан- ных о начальном адресе физической памяти, в которую предстоит за- гружать программу, и информации, предоставленной транслятором об адресно-зависимых константах программы, выполняет загрузку про- граммы, совмещая её с заменой виртуальных адресов физическими.
Второй способ заключается в том, что программа загружается в память в неизменном виде в виртуальных адресах, при этом операци- онная система (ОС) фиксирует смещение действительного расположе- ния программного кода относительно виртуального адресного про- странства. Во время выполнения программы при каждом обращении к ОП выполняется преобразование виртуального адреса в физический. Второй способ является более гибким, он допускает перемещение про- граммы во время ее выполнения, в то время как перемещающий загруз-
чик жестко привязывает программу к первоначально выделенному ей участку. Вместе с тем использование загрузчика уменьшает накладные расходы, т.к преобразование каждого виртуального адреса происходит
Принцип расслоения обращений иллюстрируется на рис. 4.9, а. Все программы и данные «размещаются» в адресном пространстве последо- вательно. Однако ячейки памяти, имеющие смежные адреса, находятся в различных физических модулях памяти. Если ОП состоит из 4-х мо- дулей, то номер модуля кодируется двумя младшими разрядами адреса. При этом полные m-разрядные адреса 0, 4, 8, … будут относиться к бло- ку 0, адреса 1, 5, 9, … – к блоку 1, адреса 2, 6, 10, … – к блоку 2 и адреса
3, 7, 11, … – к блоку 3. В результате этого последовательность обраще-
ний к адресам 0, 1, 2, 3, 4, 5, … будет расслоена между модулями 0, 1, 2,
3, 0, 1, ….
Поскольку каждый физический модуль памяти имеет собственные схемы управления выборкой, можно обращение к следующему модулю производить, не дожидаясь ответа от предыдущего. Так на временной диаграмме (рис. 4.9, б) показано, что время доступа к каждому модулю составляет = 4Т, где Т= ti+1 – ti– длительность такта. В каждом такте
следуют непрерывно обращения к модулям памяти в моменты времени
t1, t2, t3, ...
При наличии четырех модулей темп выдачи квантов информации из памяти в процессор будет соответствовать одному такту Т, при этом скорость выдачи информации из каждого модуля в четыре раза ниже.
Задержка в выдаче кванта информации относительно момента об- ращения также составляет 4Т, однако задержка в выдаче каждого по- следующего кванта относительно момента выдачи предыдущего соста- вит Т.
При реализации расслоения по адресам число модулей памяти мо- жет быть произвольным и необязательно кратным степени 2. В некото-
рых компьютерах допускается произвольное отключение модулей па- мяти, что позволяет исключать из конфигурации неисправные модули.
В современных высокопроизводительных компьютерах число мо- дулей обычно составляет 4–16, но иногда превышает 64.
Так как схема расслоения по адресам базируется на допущении о локальности, она дает эффект в тех случаях, когда это допущение справедливо, т.е. при решении одной задачи.
Для повышения производительности мультипроцессорных систем, работающих в многозадачных режимах, реализуют другие схемы, при которых различные процессоры обращаются к различным модулям памяти. Необходимо помнить, что процессоры ввода/вывода также за- нимают циклы памяти и вследствие этого могут сильно влиять на про- изводительность системы. Для уменьшения этого влияния обращения центрального процессора и процессоров ввода/вывода можно организо- вать к разным модулям памяти.
Обобщением идеи расслоения памяти является возможность реа- лизации нескольких независимых обращений, когда несколько кон- троллеров памяти позволяют модулям памяти (или группам расслоен- ных модулей памяти) работать независимо.
Прямое уменьшение числа конфликтов за счет организации чере- дующихся обращений к различным модулям памяти может быть до- стигнуто путем размещения программ и данных в разных модулях. Доля команд в программе, требующих ссылок к находящимся в ОП данным, зависит от класса решаемой задачи и от архитектурных осо- бенностей компьютера. Для большинства ЭВМ с традиционной архитек- турой и задач научно-технического характера эта доля превышает 50 %.
Адрес
а
Моменты обращения
Модули памяти
Моменты выдачи
б
τ τ
Модули
0
1
2
к ПР
3
Моменты обращения
Моменты выдачи в ПР
t1 t2 t3 t4
t5 t6 t7 t8
Рис. 4.9. Расслоение памяти:
а– организация адресного пространства; б– временная диаграмма работы модулей
Поскольку обращения к командам и элементам данных чередуют- ся, то разделение памяти на память команд и память данных повышает быстродействие машины подобно рассмотренному выше механизму расслоения. Разделение памяти на память команд и память данных ши- роко используется в системах управления или обработки сигналов. В подобного рода системах в качестве памяти команд нередко использу- ются постоянные запоминающие устройства (ПЗУ), цикл которых меньше цикла устройств, допускающих запись, это делает разделение программ и данных весьма эффективным. Следует отметить, что обра- щения процессоров ввода/вывода в режиме прямого доступа в память логически реализуются как обращения к памяти данных.
Выбор той или иной схемы расслоения для компьютера (системы) определяется целями (достижение высокой производительности при решении множества задач или высокого быстродействия при решении одной задачи), архитектурными и структурными особенностями систе- мы, а также элементной базой (соотношением длительностей циклов памяти и узлов обработки). Могут использоваться комбинированные схемы расслоения.
- 1 ... 65 66 67 68 69 70 71 72 ... 76
Методы управления памятью
Оперативная память является важнейшим и наиболее дефицитным ресурсом в вычислительных машинах и системах, требующим тщательно- го и эффективного управления. Проблема усложняется при переходе к мультипрограммным системам, т.к в них оперативную память одновре- менно используют несколько вычислительных процессов (программ).
Типы адресов
Для идентификации переменных и команд используются символь- ные имена (метки), виртуальные адреса и физические адреса (рис. 4.10). Символьные имена присваивает пользователь при написании про-
граммы на алгоритмическом языке или ассемблере.
Виртуальные адреса вырабатывает транслятор, переводящий про- грамму на машинный язык. Так как во время трансляции в общем слу- чае неизвестно, в какое место ОП будет загружена программа, то транс- лятор присваивает переменным и командам виртуальные (условные) ад- реса, обычно считая по умолчанию, что программа будет размещена, начиная с нулевого адреса. Совокупность виртуальных адресов процес- са (программы) называется виртуальным адресным пространством. Каждый процесс имеет собственное виртуальное адресное простран-
ство. Максимальный размер виртуального адресного пространства ограничивается разрядностью адреса, присущей данной архитектуре компьютера и, как правило, не совпадает с объемом физической памяти, имеющимся в компьютере.
Идентификаторы переменных в
программе на алгоритмическом языке.
Условные адреса, вырабатываемые транслятором:
-
перемещающий загрузчик – статическое преобразование; -
динамическое преобразование аппаратными средствами.
Номера ячеек физической памяти.
Рис. 4.10. Типы адресов
Физические адреса соответствуют номерам ячеек ОП, где в дей- ствительности расположены или будут расположены переменные и ко- манды. Переход от виртуальных адресов к физическим может осу- ществляться двумя способами.
В первом случае замену виртуальных адресов на физические делает специальная системная программа – перемещающий загрузчик. Пере- мещающий загрузчик на основании имеющихся у него исходных дан- ных о начальном адресе физической памяти, в которую предстоит за- гружать программу, и информации, предоставленной транслятором об адресно-зависимых константах программы, выполняет загрузку про- граммы, совмещая её с заменой виртуальных адресов физическими.
Второй способ заключается в том, что программа загружается в память в неизменном виде в виртуальных адресах, при этом операци- онная система (ОС) фиксирует смещение действительного расположе- ния программного кода относительно виртуального адресного про- странства. Во время выполнения программы при каждом обращении к ОП выполняется преобразование виртуального адреса в физический. Второй способ является более гибким, он допускает перемещение про- граммы во время ее выполнения, в то время как перемещающий загруз-
чик жестко привязывает программу к первоначально выделенному ей участку. Вместе с тем использование загрузчика уменьшает накладные расходы, т.к преобразование каждого виртуального адреса происходит