СИСТЕМА ОБРАБОТКИ С УПРАВЛЕНИЕМ ОБРАЩЕНИЕМ К ВНЕШНЕЙ ПАМЯТИ
PROCESSING SYSTEM WITH EXTERNAL MEMORY ACCESS CONTROL

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к системе обработки, и более конкретно к способу управления обращением к внешней памяти во время выполнения программы обработки.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Системы обработки в целом известны в соответствующей области техники и используются в многообразии устройств. Некоторые системы обработки имеют внутреннюю память, которая снабжает систему обработки всеми данными и/или инструкциями. Тем не менее внутренняя память имеет ограниченную емкость и возможности и, следовательно, в некоторых случаях система обработки подключается к внешней памяти, которая расширяет пространство памяти внутренней памяти. В дополнение, внешняя память позволяет обращаться к памяти системам множественной обработки и, вследствие этого, обеспечивать большую гибкость.
Недостаток использования внешней памяти состоит в том, что обращение к внешней памяти, как правило, требует большего количества энергии, чем требуется для процесса обращения к внутренней памяти, и в некоторых случаях может занимать больше времени. Следовательно, в случаях, где на систему обработки наложены ограничения по энергии и/или времени, существует стимул к минимизации обращений к внешней памяти. Тем не менее может не существовать возможности охватить все данные и/или инструкции во внутренней памяти и, следовательно, часто требуется внешняя память.
В системах обработки известного уровня техники, обращение к внешней памяти осуществляется пакетами. Другими словами, обращение к большому блоку внешней памяти, по сути, непрерывно. Это приводит к всплескам потребностей системы обработки в энергии. В средах, где на систему обработки не наложены ограничения по энергии, этот тип обращения к памяти является приемлемым. Тем не менее где существуют ограничения по энергии, например, если система обработки питается через двухпроводную токовую петлю, всплеск в требуемой энергии может неблагоприятно сказаться на компонентах, которые используют источник питания совместно с системой обработки, так как энергия, подаваемая к системе обработки является ограниченной, частично, посредством сигнализации, отправляемой по двухпроводной токовой петле. Пример двухпроводной токовой петли является всего лишь примером и не должен ограничивать объем изобретения, так как существуют множество других ситуаций, при которых подаваемая к системе обработки энергия ограничена. Несмотря на то, что системы обработки известного уровня техники стремятся снижать суммарное энергопотребление, это не всегда является приемлемым решением, так как даже если суммарное энергопотребление снижено, временные всплески в энергопотреблении все же могут неблагоприятно воздействовать на систему.
По этой причине, настоящее изобретение предоставляет способ выполнения программы обработки, управляя при этом обращением к внешней памяти.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В соответствии с аспектом изобретения, способ выполнения программы обработки, использующей внешнюю память и требующей более чем одно обращение к внешней памяти, содержит этап, на котором:
распределяют обращения к внешней памяти на основании заранее определенного количества последовательных обращений к внешней памяти.
Предпочтительно, способ дополнительно содержит этап, на котором обращения к внешней памяти распределяют таким образом, чтобы количество последовательных обращений к внешней памяти было минимизированным.
Предпочтительно, способ дополнительно содержит этап, на котором обращения к внешней памяти распределяют, по сути, равномерно.
Предпочтительно, этап, на котором распределяют обращения к внешней памяти, содержит этап, на котором временно прерывают обращение к внешней памяти на заранее определенное время после заранее определенного количества последовательных обращений к внешней памяти.
Предпочтительно, программа обработки дополнительно использует внутреннюю память и при этом этап, на котором распределяют обращения к внешней памяти, содержит этап, на котором прерывают обращение к внешней памяти после заранее определенного количества обращений к внешней памяти при помощи заранее определенного количества обращений к внутренней памяти.
Предпочтительно, заранее определенное количество последовательных обращений к внешней памяти основано на доступном энергоснабжении.
В соответствии с другим аспектом изобретения, способ выполнения программы обработки, использующей внешнюю память, содержит этапы, на которых:
определяют доступное энергоснабжение; и
обращаются к внешней памяти на основании доступного энергоснабжения.
Предпочтительно, способ дополнительно содержит этап, на котором обращаются к внешней памяти только, если доступное энергоснабжение превышает пороговое значение.
Предпочтительно, программа обработки дополнительно использует внутреннюю память и способ дополнительно содержит этап, на котором обращаются к внутренней памяти, если доступное энергоснабжение не превышает пороговое значение.
Предпочтительно, способ дополнительно содержит этап, на котором распределяют обращения к внешней памяти, если доступное энергоснабжение не превышает пороговое значение.
Предпочтительно, способ дополнительно содержит этап, на котором распределяют обращения к внешней памяти на основании заранее определенного количества последовательных обращений к внешней памяти.
Предпочтительно, заранее определенное количество последовательных обращений к внешней памяти определяется, по меньшей мере, частично, посредством уровня доступного энергоснабжения.
Предпочтительно, программа обработки дополнительно использует внутреннюю память, и способ дополнительно содержит этап, на котором распределяют обращение к внешней памяти посредством прерывания обращения к внешней памяти после заранее определенного количества последовательных обращений к внешней памяти при помощи заранее определенного количества обращений к внутренней памяти.
В соответствии с другим аспектом изобретения, система обработки, содержащая:
внешнюю память; и
процессор, выполненный с возможностью выполнения программы обработки, использующей внешнюю память, при этом процессор выполнен с возможностью распределения обращений к внешней памяти на основании заранее определенного количества последовательных обращений к внешней памяти.
Предпочтительно, процессор дополнительно выполнен с возможностью распределения обращений к внешней памяти таким образом, чтобы количество последовательных обращений к внешней памяти было минимизированным.
Предпочтительно, процессор дополнительно выполнен с возможностью, по сути, равномерного распределения обращений к внешней памяти.
Предпочтительно, процессор дополнительно выполнен с возможностью временного прерывания обращения к внешней памяти на заранее определенное время после заранее определенного количества последовательных обращений к внешней памяти.
Предпочтительно, система обработки дополнительно содержит внутреннюю память, при этом процессор дополнительно выполнен с возможностью распределения обращений к внешней памяти посредством прерывания обращения к внешней памяти после заранее определенного количества обращений к внешней памяти при помощи заранее определенного количества обращений к внутренней памяти.
Предпочтительно, заранее определенное количество последовательных обращений к внешней памяти основано на доступном энергоснабжении.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На чертежах:
Фиг. 1 изображает систему 100 обработки в соответствии с вариантом осуществления изобретения;
Фиг. 2 изображает диаграмму энергопотребления системы обработки при обращении к памятям;
Фиг. 3 изображает обращения системы обработки к памяти в соответствии с известным уровнем техники;
Фиг. 4 изображает диаграмму энергопотребления системы обработки в соответствии с известным уровнем техники;
Фиг. 5 изображает обращения системы обработки к памяти в соответствии с вариантом осуществления изобретения;
Фиг. 6 изображает обращения системы обработки к памяти в соответствии с вариантом осуществления изобретения;
Фиг. 7 изображает диаграмму энергопотребления измерительных электронных устройств в соответствии с вариантом осуществления изобретения;
Фиг. 8 изображает обращения системы обработки к памяти в соответствии с вариантом осуществления изобретения;
Фиг. 9 изображает диаграмму энергопотребления измерительных электронных устройств в соответствии с вариантом осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Фиг. 1-9 и нижеследующее описание описывают конкретные примеры, чтобы представить специалисту в соответствующей области идеи по созданию и использованию лучшего варианта осуществления изобретения. В целях объяснения принципов изобретения, некоторые обычные аспекты были упрощены или опущены. Специалист в соответствующей области должен принимать во внимание вариации этих примеров, которые лежат внутри объема изобретения. Специалист в соответствующей области должен принимать во внимание, что признаки, описанные ниже, могут быть объединены различными способами, чтобы образовать многочисленные вариации изобретения. Как результат, изобретение не ограничивается конкретными описанными ниже примерами, а только пунктами формулы изобретения и их эквивалентами.
Фиг. 1 изображает систему 100 обработки в соответствии с вариантом осуществления изобретения. Система 100 обработки содержит процессор 101, подсоединенный к источнику 104 питания. Источник 104 питания может содержать источник питания с неограниченным энергоснабжением или может содержать источник питания с ограниченным энергоснабжением, такой как, например, двухпроводная токовая петля, которая ограничивается по обеспечению силы тока в диапазоне приблизительно от 4 мА до приблизительно 20 мА. Следовательно, в соответствии с вариантом осуществления изобретения, система 100 обработки функционирует с ограниченным энергоснабжением. Процессор 101 может управлять функционированием системы 100 обработки посредством выполнения одной или более программ обработки. Программа обработки может включать в себя считывание и/или запись инструкций и/или данных. Процессор 101 может быть выполнен в виде компьютера общего назначения, системы микропроцессорной обработки, логической схемы, цифрового сигнального процессора или некоторого другого устройства обработки общего назначения или специализированного. Процессор 101 может быть распределен между множеством устройств обработки. Процессор 101 может включать в себя любой вид неотъемлемого или независимого электронного носителя данных, такого как внутренняя память 102 и внешняя память 103. Следовательно, программы обработки, выполняемые процессором 101, могут использовать внутреннюю память 102, внешнюю память 103 или обе, посредством хранения информации, такой как инструкции и/или данные в памяти 102, 103. Кроме того, система 100 обработки может включать в себя интерфейс 105. Интерфейс 105 может быть выполнен в виде дисплея или механизма ввода/вывода как правило, известного в соответствующей области техники.
Памяти 102, 103 могут хранить данные, программы программного обеспечения, постоянные значения и переменные значения. Должно быть принято во внимание, что всякий раз, когда процессор 102 считывает/записывает информацию с/на памяти 102, 103, системе 100 обработки требуется дополнительное количество энергии. Так как внешняя память 103 требуется во многих вариантах осуществления, то обращение к внешней памяти 103 требует больше энергии, чем обращение к внутренней памяти 102. Это показано на Фиг. 2.
Фиг. 2 изображает диаграмму энергопотребления системы 100 обработки и более конкретно, процессора 101, при обращении к памяти 102, 103. В соответствии с вариантом осуществления изобретения, программа обработки использует одну или обе памяти 102, 103. Вследствие этого, процессору 101 требуется обратиться к памяти 102, 103 при выполнении программы обработки. Кривая 230 представляет собой доступное энергоснабжение. Доступное энергоснабжение может представлять собой энергию доступную системе 100 обработки, процессору 101 или электронному устройству, в котором содержится система 100 обработки. Доступное энергоснабжение 230 может содержать доступную силу тока, напряжение или их сочетание. Например, в случае, где система 100 обработки питается посредством двухпроводной токовой петли, доступное энергоснабжение 230 может содержать доступную силу тока. Тем не менее должно быть понятно, что конкретное значение измеренной энергии будет зависеть от конкретной ситуации и, вследствие этого, не должно ограничивать объем настоящего изобретения.
Кривая 231 показывает обращения к памяти. Каждый всплеск на кривой 231 представляет собой обращение к внешней памяти. Должно быть принято во внимание, что относительно небольшое количество последовательных обращений к внешней памяти, такое как, например, представленное точкой 232, по сути, не оказывает влияния на доступное энергоснабжение. Это видно при рассмотрении энергоснабжения непосредственно над всплеском в точке 232. Тем не менее как видно при обращении, в точке 233, по мере роста количества последовательных обращений к внешней памяти, уровень энергоснабжения доступный прочим приложениям снижается. Ограничение по доступной энергии значительно, где процесс обращения к внешней памяти 103 реализуется при помощи множественных последовательных обращений к внешней памяти, такое как наблюдаемое в точке 234, где энергия, требуемая для обращения к внешней памяти 103, использует почти весь доступный резерв энергии. Во время таких пакетов обращений, оставшиеся компоненты системы 100 обработки остаются почти без энергии.
В соответствии с вариантом осуществления изобретения, определяется доступная энергия 230 и обращение к внешней памяти 103 ограничивается до моментов времени, когда доступная энергия 230 превышает пороговое значение. Это гарантирует то, что обращение к внешней памяти 103, по сути, не исчерпает энергию доступную для оставшихся компонентов электронного устройства или системы 100 обработки. Этот способ так же, по сути, обеспечивает, способ, выполняемый в режиме реального времени, по определению того, когда обращаться к внешней памяти 103. В соответствии с вариантом осуществления изобретения, пороговое значение может быть заранее определенным значением. В соответствии с другим вариантом осуществления изобретения, пороговое значение может зависеть от количества внешних обращений требуемых для выполнения программы обработки. Например, пороговое значение может снижаться по мере снижения количества внешних обращений требуемых для выполнения программы обработки. Это происходит потому что, как видно на Фиг. 2, по мере снижения количества требуемых обращений, влияние обращений, оказываемое на доступное энергоснабжение 230, снижается. Вследствие этого, относительно малое количество внешних обращений не создаст такого большого всплеска в энергопотреблении процессора 101.
В соответствии с вариантом осуществления изобретения, процессор 101 может выполнять программу обработки, которая использует только внешнюю память 103. В этом случае, система 100 обработки может определить доступное энергоснабжение и разрешить обращение к внешней памяти 103 на основании доступного энергоснабжения. В соответствии с одним вариантом осуществления, обращение к внешней памяти 103 разрешается, только если доступное энергоснабжение превышает пороговое значение. Когда доступное энергоснабжение находится ниже или равно пороговому значению, система 100 обработки может временно ограничить обращение к внешней памяти 103 до тех пор, пока доступное энергоснабжение вновь не превысит пороговое значение. Должно быть понятно, что некоторые программы обработки используют только внутреннюю память 102 и вследствие этого, способ ограничения обращения в равной степени применим к внутренней памяти 102; тем не менее во многих вариантах осуществления, пороговое значение, по сути, будет меньше для ограничения обращения к внутренней памяти 102, чем для ограничения обращения к внешней памяти 103. Это происходит потому, что процесс обращения к внутренней памяти 102 требует меньше энергии, чем процесс обращения к внешней памяти 103. В соответствии с другим вариантом осуществления, процесс обращения к внешней памяти 103, когда доступное энергоснабжение не превышает пороговое значение, разрешается в соответствии с одним из распределений, описанным ниже в соответствии с Фиг. 5-9.
В соответствии с другим вариантом осуществления изобретения, процессор 101 может выполнять программу обработки, которая использует как внутреннюю память 102, так и внешнюю память 103. В этом варианте осуществления, система 100 обработки может определить доступное энергоснабжение и разрешить обращение к внешней памяти 103 на основании доступного энергоснабжения. В соответствии с одним вариантом осуществления, обращение к внешней памяти 103 разрешается, только если доступное энергоснабжение превышает пороговое значение. С другой стороны, если доступное энергоснабжение не превышает пороговое значение, обращение к внешней памяти 103 ограничивается, тем не менее обращение к внутренней памяти 102 может быть разрешено. Следовательно, процессор 101 может обращаться к внутренней памяти 102 во время периодов, когда доступное энергоснабжение не превышает пороговое значение, а как только энергоснабжение превышает пороговое значение, процессор 101 может вновь обращаться к внешней памяти 103.
В соответствии с другим вариантом осуществления изобретения, если доступное энергоснабжение 230 не превышает пороговое значение, процессор 101 может распределить процесс обращения к внешней памяти в соответствии с одним из приведенных ниже способов. Конкретный способ может быть выбран на основании доступного энергоснабжения 203. Должно быть понятно, что «распределение» упоминается для обозначения того, что процесс обращения распространяется или разделяется одним из используемых ниже способов, в отличие от обращения пакетами, как в известном уровне техники. Обращения могут быть разделены на периоды времени, когда процессор 101 прекращает все функции, или обращения могут быть разделены на периоды, когда процессор 101 просто переключается с обращения к конкретной памяти, но может обращаться, например, к другой памяти.
Во многих ситуациях, объем информации, хранящейся во внешней памяти 103, по сути, меньше объема информации, хранящегося во внутренней памяти 102. Для заданной программы обработки, процессору может потребоваться, например, 1000 обращений к внешней памяти на каждые 100000 суммарных обращений к памяти. Тем не менее должно быть понятно, что соотношение 1 к 100 используется всего лишь в качестве примера, и фактическое соотношение будет меняться в зависимости от конкретной программы обработки. Системы обработки известного уровня техники группируют 1000 обращений к внешней памяти вместе, т.е. пакетируют обращение. Как показано на Фиг. 3, процессор 101, сначала выполняет все из требуемых обращений к внешней памяти, а затем выполняет все из требуемых обращений к внутренней памяти. Исходный код, связанный с этим пиком энергии для общего количества в 100000 обращений к памяти, может быть записан как:
1
Внешнее
2
Внешнее
3
Внешнее
●
1000
Внешнее
1
Внутреннее
2
Внутреннее
3
Внутреннее
●
99000
Внутреннее
Несмотря на то, что такая группировка не представляет проблем при неограниченном энергоснабжении, как видно по обращению в позиции 234, такой пакет обращений к внешней памяти может, по сути, исчерпать доступный резерв энергии для оставшихся электронных устройств, когда на систему 100 обработки наложены ограничения по энергии. Одной причиной такой группировки в системах обработки известного уровня техники является то, что она требует намного меньше контекстно-зависимого переключения. Следовательно, суммарная пропускная способность может быть максимизирована.
Фиг. 4 изображает диаграмму энергопотребления процессора 101 при обращении сначала к внешней памяти 103, а затем при обращении к внутренней памяти 102, в пределах заданного периода времени. Кривая 430 представляет собой доступное энергоснабжение в заданный момент времени; кривая 431 в целом представляет собой энергопотребление процессора 101 при обращении к памяти 102, 103. Как видно, в течение времени, когда процессор 101 обращается к внешней памяти 103, в целом представленного позицией 432, процессор 101 потребляет, по сути, все доступное энергоснабжение. Как только процессор 101 прекращает обращения к внешней памяти 103 и начинает обращения к внутренней памяти 102, энергия, используемая процессором 101, снижается.
Как видно, такой «пакетный» способ обращения к внешней памяти 103 может создать серьезные проблемы в отношении доступного энергоснабжения. Следовательно, такой способ во многих случаях не выгоден. В соответствии с вариантом осуществления изобретения, для того чтобы преодолеть результаты ограничения энергии, процессор 101 распределяет обращения к внешней памяти на основании заранее определенного способа. Распределение может выполняться до или после компиляции программы обработки. Кроме того, распределение может выполняться вручную или, по сути, автоматически, как описывается ниже.
Фиг. 5 изображает обращения к памяти процессора 101 при выполнении программы обработки в соответствии с вариантом осуществления изобретения. В соответствии с показанным вариантом осуществления, обращения к внешней памяти распределены на основании заранее определенного количества последовательных обращений к внешней памяти. В соответствии с вариантом осуществления изобретения, процессор 101 временно ограничивает обращение к обеим памятям 102, 103 после заранее определенного количества последовательных обращений к внешней памяти. В некоторых вариантах осуществления, это может быть выполнено в виде приостановки выполнения программы обработки, если программа обработки использует только внешнюю память 103. Временная приостановка показана на позиции 534, где процессор 101 не обращается к внутренней или внешней памяти 102, 103. После временного ограничения обращения, процессор 101 может вновь обратиться к внешней памяти 103, что в целом показано на позиции 532. Временное ограничение процесса обращения может быть основано на заранее определенном времени или оно может быть основано на доступном энергоснабжении. Например, обращение к внешней памяти 103 может быть ограничено до тех пор, пока энергоснабжение не увеличится до порогового значения. В соответствии с вариантом осуществления, показанным на Фиг. 5, процессор 101 не обращается к внутренней памяти 102 до тех пор, пока не будут завершены обращения к внешней памяти.
Фиг. 6 изображает обращения к памяти процессором 101 в соответствии с другим вариантом осуществления изобретения. В соответствии с вариантом осуществления, показанным на Фиг. 6, вариант осуществления изобретения состоит в том, что обращения к внешней памяти распределяются посредством временного прерывания процесса обращения к внешней памяти после заранее определенного количества обращений к внешней памяти при помощи заранее определенного количества обращений к внутренней памяти. Используя пример с общим количеством обращений в 100000, при этом 1000 которых является обращениями к внешней памяти, обращения 632 к внешней памяти сгруппированы в модули по 10 обращений на каждую 1000 обращений 633 к внутренней памяти. Посредством разделения обращений 632 к внешней памяти при помощи обращений 633 к внутренней памяти, снижаются всплески энергопотребления. Это происходит потому, что высокое энергопотребление, связанное с обращением к внешней памяти 103, не происходит одновременно. Наоборот, меньшее энергопотребление, требуемое процессору 101 для процесса обращения к внутренней памяти 102, обеспечивает перерывы в высоком энергопотреблении, требуемом для процесса обращения к внешней памяти 103. В соответствии с вариантом осуществления, показанным на Фиг. 6, обращения к внешней памяти, по сути, равномерно разделены посредством обращений к внутренней памяти. Тем не менее в других вариантах осуществления, разделение не должно обязательно носить, по сути, равномерный характер. Исходный код для такого алгоритма может выглядеть следующим образом:
1
Внешнее
●
10
Внешнее
1
Внутреннее
●
1000
Внутреннее
11
Внешнее
●
20
Внешнее
1001
Внутреннее
●
2000
Внутреннее, и т.д.
Фиг. 7 изображает диаграмму энергопотребления процессора 101, когда обращения к внешней памяти распределяются в соответствии со способом, изложенным выше в отношении Фиг. 6. Как видно, энергопотребление процессора 101 имеет всплески, когда система 100 обработки обращается к внешней памяти 103, в целом показанные на позициях 732. Следовательно, распределение обращений к внешней памяти, основанное на заранее определенном числе последовательных обращений к внешней памяти, минимизирует всплески энергопотребления, тем самым, позволяя процессору 101 обращаться к внешней памяти 103 в моменты времени, когда доступное энергоснабжение не превышает пороговое значение. Вследствие этого, в соответствии с вариантом осуществления изобретения, если доступное энергоснабжение не превышает пороговое значение, обращения к внешней памяти могут быть распределены на основании заранее определенного количества последовательных обращений к внешней памяти. В соответствии с другим вариантом осуществления изобретения, обращения к внешней памяти могут быть распределены на основании заранее определенного количества последовательных обращений к внешней памяти, даже когда доступное энергоснабжение не превышает пороговое значение. Заранее определенное количество последовательных обращений к внешней памяти может быть основано на доступном энергоснабжении.
В соответствии с другим вариантом осуществления изобретения, заранее определенное количество последовательных обращений к внешней памяти может быть, по сути, точно таким же, безотносительно к доступному энергоснабжению. Тем не менее в этом варианте осуществления, заранее определенное количество должно быть выбрано таким образом, чтобы процессор 101 мог обратиться к заранее определенному количеству ячеек даже при минимальном доступном энергоснабжении.
Фиг. 8 изображает обращения к памяти в соответствии с другим вариантом осуществления изобретения. В соответствии с вариантом осуществления, показанным на Фиг. 8, обращения к внешней памяти распределяются с наибольшим возможным расстоянием друг от друга. Другими словами, процесс обращения к внешней памяти распределяется таким образом, чтобы количество последовательных обращений к внешней памяти было минимизированным. Вновь в качестве примера принимая 100000 обращений, процессор 101 обращается к внешней памяти 103 один раз в каждые десять обращений к внешней памяти. Это минимизирует всплески энергии, вызываемые обращением к внешней памяти 103. В соответствии с вариантом осуществления изобретения, определяется количество обращений к внешней памяти наряду с количеством обращений к внутренней памяти. Используя эти два количества, обращения к внешней памяти могут прерываться обращениями к внутренней памяти в соответствии с соотношением обращений внешней к внутренней памяти, требуемых для выполнения программы обработки. Следовательно, например, если конкретной программе обработки требуется четыре обращения к внешней памяти и два обращения к внутренней памяти, отношение внешних к внутренним будет 2:1. Вследствие этого, одно обращение к внутренней памяти должно разделяться приблизительно двумя обращениями к внешней памяти. Недостаток такого подхода состоит в том, что процессор 101 постоянно переключается между внешней и внутренней памятью 102, 103, т.е. выполняет «контекстно-зависимое переключение». Это, в некоторых вариантах осуществления может снизить общую пропускную способность. Следовательно, сниженное энергопотребление должно быть сбалансировано с затратами на контекстно-зависимое переключение, связанное с распределением последовательного, линейного характера программы. Вследствие этого, в соответствии с некоторыми вариантами осуществления, распределение обращений к внешней памяти как можно дальше друг от друга может быть не самым выгодным подходом. Исходный код для такого алгоритма, может быть записан как:
1
Внешнее
1
Внутреннее
●
10
Внутреннее
2
Внешнее
11
Внутренее
●
20
Внутреннее
Фиг. 9 изображает диаграмму энергопотребления процессора 101 по мере обращения к внешней памяти 103 и внутренней памяти 102 в соответствии со способом, описанным выше в соответствии с Фиг. 8. Как видно, всплески энергопотребления на позициях 932 происходят, когда процессор 101 обращается к внешней памяти 103. Тем не менее существует только единичный всплеск энергопотребления в каждой из позиций 932, что происходит, так как процессор 101 обращается к внешней памяти 103 только один раз, и затем процесс обращения к внешней памяти 103 прерывается до момента возвращения вновь к процессу обращения к информации из внешней памяти 103. В некоторых вариантах осуществления, во время периодов, когда процесс обращения к внешней памяти 103 прерван, процессор 101 обращается к внутренней памяти 102. Как видно на кривой 930, обращение к внешней памяти 103 на единичной основе лишь минимально влияет на резерв энергии, доступный оставшейся части системы 100 обработки. Следовательно, посредством разделения обращений к внешней памяти как можно дальше друг от друга, резерв энергии, доступный оставшейся части системы, намного больше. Вследствие этого, процессор 101 имеет возможность функционирования при более строгих ограничениях по энергии посредством минимизации всплесков энергии, связанных с обращением к внешней памяти 103 единовременно большими блоками (обращение пакетами).
В соответствии с одним вариантом осуществления, изобретение, описанное выше, предоставляет способ выполнения программы обработки, когда часть программы обработки хранится во внешней памяти 103, а часть программы обработки хранится во внутренней памяти 102. Вследствие этого, чтобы выполнять программу обработки, процессору 101 требуется обращаться как к внутренней памяти 102, так и внешней памяти 103. Способ снижает пики энергопотребления процессора 101 посредством распределения процесса обращения к внешней памяти 103 в соответствии с заранее определенным количеством обращений к внешней памяти. Следовательно, процессор 101 не обращается к внешней памяти 103 большими пакетами, вызывая тем самым большие всплески энергопотребления, характерные для известного уровня техники. В соответствии с одним вариантом осуществления, обращение к внешней памяти 103 остается невозможным в течение заранее определенного времени. В соответствии с другим вариантом осуществления изобретения, процесс обращения к внешней памяти 103 остается невозможен до тех пор, пока процессор 101 выполняет заранее определенное количество обращений к внутренней памяти. Заранее определенное количество обращений к внутренней и внешней памяти может быть одним и тем же количеством или может быть разными количествами. Конкретные заранее определенные количества будут зависеть от конкретной ситуации и конкретного количества общего количества обращений требуемых программе обработки. Как только процессор 101 завершает заранее определенное количество обращений к внешней памяти, процессор 101 может вновь вернутся к обращению к внешней памяти 103.
Как описано выше, в некоторых вариантах осуществления, заранее определенные количества, используемые для распределения обращения к внешней памяти 103, выбираются таким образом, чтобы количество последовательных обращений к внешней памяти было минимизированным. В соответствии с другим вариантом осуществления изобретения, заранее определенные количества, по сути, являются постоянными на протяжении программы обработки. Вследствие этого, распределение процесса обращения к внешней памяти 103, по сути, является равномерным на протяжении программы обработки. В соответствии с другими вариантами осуществления, заранее определенные количества могут изменяться и, вследствие этого, количество обращений выполняемых процессором 101 будет изменяться по мере выполнения процессором 101 программы обработки. В соответствии с другим вариантом осуществления изобретения, обращения к внешней памяти прерываются посредством обращений к внутренней памяти в соответствии с приблизительным соотношением обращений к внешней и к внутренней памяти. Следовательно, например, если отношение требуемых обращений к внутренней памяти к обращениям к внешней памяти составляет 2:1, процесс обращения к внешней памяти будет прерываться после каждого обращения к внешней памяти, и будет оставаться прерванным в течение двух обращений к внешней памяти до того, как процессор 101 вернется к обращению к внешней памяти.
Способ распределения обращений может выполняться разнообразными методами. Распределение может выполняться вручную, в программном обеспечении или аппаратном обеспечении. В соответствии с одним вариантом осуществления изобретения распределение выполняется до компиляции программы обработки. В соответствии с одним вариантом осуществления, распределение обращений выполняется распределением вручную. Распределение обращений к внешней памяти вручную может быть получено через проверку и распределение вручную исходного кода. Это может выполняться посредством проверки и распределения вручную исходного кода. Несмотря на то, что этот способ приемлем в некоторых ситуациях, он является подверженным ошибкам и трудоемким. Кроме того он должен выполняться для каждого нового изменения кода или версии программного обеспечения, тем самым увеличивая требуемое время.
В соответствии с другим вариантом осуществления изобретения, обращения к памяти распределяются в программном обеспечении. В соответствии с одним вариантом осуществления, программное обеспечение может быть изменено, используя программу последующей обработки. Этот способ кратко показан выше где ‘скачок’ вставляется каждые ‘n’ инструкций. Например, в рассмотрении, сопровождающем Фиг. 8 и 9, скачок, т.е., инструкции для внутреннего обращения вставлены для каждых ‘n’ внешних обращений. Это приводит к разделению источника обработки между внутренней и внешней памятью 102, 103.
В соответствии с другим вариантом осуществления изобретения, используется операционная система реального времени (RTOS). В соответствии с этим вариантом осуществления, каждая задача процессора 101 имеет свойство, которое определяет задачу по внутренней или внешней памяти 102, 103. Внешние задачи преимущественно прерываются после ‘n’ инструкций. Не разрешается завершить выполнение внешних задач до тех пор, пока не будет выполнено ‘m’ внутренних инструкций. В этом контексте ‘n’ и ‘m’ являются количеством ячеек памяти, к которым требуется обратиться соответственно во внешней и внутренней памяти 103, 102. В дополнение, RTOS может быть запрограммирована, чтобы удерживать значение ‘n’ как можно меньше. В соответствии с другим вариантом осуществления изобретения, RTOS может быть запрограммирована, чтобы удерживать ‘n’ и ‘m’ относительно постоянными по времени, тем самым осуществляя максимизацию оптимального распределения обращений к внешней памяти.
В соответствии с другим вариантом осуществления изобретения, распределение обращений к памяти может быть реализовано в аппаратном обеспечении, в котором кэш памяти выполнен с возможностью обращаться к внешней памяти оптимальным по времени образом. В соответствии с одним вариантом осуществления, оптимальное по времени обращение выполнено в виде одного обращения к внешней памяти в течение каждых ‘n’ суммарных обращений. Одним недостатком этого варианта осуществления является то, что он требует наличия внутренней кэш памяти. Тем не менее в вариантах осуществления, где кэш внутренней памяти доступен, этот вариант осуществления может быть реализован. Для программирования системы обработки могут использоваться другие способы, как правило, известные в соответствующей области техники и вследствие этого включены в объем притязаний настоящего изобретения.
Описание выше обеспечивает способ программирования программы обработки, требуемой для обращения к внешней памяти 103. В некоторых вариантах осуществления, программа обработки использует впрочем, и внутреннюю память 102. Способ распределяет (прерывает) обращения к внешней памяти на основании заранее определенного количества последовательных обращений к внешней памяти. Несмотря на то, что части описания выше ссылаются на конкретное количество обращений, должно быть понятно, что количества используются исключительно, чтобы способствовать пониманию изобретения и не должны никоим образом ограничивать объем притязаний изобретения, так как конкретное количество обращений будет меняться в зависимости от программы обработки. Кроме того, настоящее изобретение не должно ограничиваться конкретным отношением обращений к внешней памяти к обращениям к внутренней памяти, так как соотношение может изменяться как в меньшую сторону, так и в большую сторону, или оставаться равным указанному в примере.
Описание выше так же обеспечивает способ управления процессом обращения к внешней памяти 103 на основании доступного энергоснабжения. Следовательно, способ гарантирует, что энергия, потребляемая процессором 101 во время процесса обращения к внешней памяти 103, не превышает допустимое энергоснабжение. Должно быть принято во внимание, что два способа (управление процессом обращения на основании допустимой энергии и распределение процесса обращения) могут при необходимости использоваться вместе или отдельно.
Подробные описания вышеупомянутых вариантов осуществления не являются исчерпывающими описаниями всех вариантов осуществления рассматриваемых авторами изобретения как находящихся внутри объема притязаний изобретения. Наоборот, специалист в соответствующей области оценит, что некоторые элементы вышеописанных вариантов осуществления могут быть объединены или исключены различными способами, чтобы создать дополнительные варианты осуществления и такие дополнительные варианты осуществления лежат внутри объема притязаний изобретения. Специалисту в соответствующей области так же будет очевидно, что вышеописанные варианты осуществления могут быть объединены целиком или частично, чтобы создать дополнительные варианты осуществления внутри объема притязаний изобретения.
Следовательно, несмотря на то, что здесь в целях иллюстрации описаны конкретные варианты осуществления и примеры изобретения, различные эквивалентные модификации возможны внутри объема притязаний изобретения, как оценит специалист в соответствующей области. Предоставленные здесь идеи могут быть применены к прочим системам обработки, а не только к вариантам осуществления, описанным выше и показанным в прилагаемых фигурах. Соответственно, объем притязаний изобретения должен определяться из нижеследующей формулы изобретения.