• Главная
  • Новости
  • Блог
  • Статьи
  • Фото
  • Статьи бывшего милиционера » Разное » Память данных. Основы ПК и программирования.
    Память данных. Основы ПК и программирования.

    Память данных
    Память данных. Память данных - это обычно СОЗУ или СОЗУ и ЭСППЗУ. Память данных (которую иногда называют регистровым файлом) предоставляет место для хранения данных, которые изменяются по мере выполнения приложения и стираются (за исключением ЭСППЗУ) после отключения электропитания системы. Доступ к памяти данных СОЗУ осуществляется через использование 12-разрядных адресов, поэтому максимальный объем доступной памяти равен 3968 байт с адресами от 0x000 до OxF7F.
    Память данных СОЗУ также содержит адреса, которые используются для программирования специальных функций микроконтроллера. Эти специальные функциональные регистры (СФР) расположены в диапазоне адресов памяти от OxF80 до OxFFF или занимают верхние 128 байт пространства памяти данных. Некоторые исполнения микроконтроллеров используют дополнительную память данных, предназначенную для размещения дополнительных СФР. Другие ячейки памяти программ называются общими функциональными регистрами (ОФР), они размещены в диапазоне адресов от 0x000 до OxF7F. ОФР иногда также называют ячейками регистрового файла.


    Если микроконтроллер PIC содержит ЭСППЗУ, то память данных ЭСППЗУ адресуется через специальные функциональные регистры в отдельном адресном пространстве, выделенном ЭСППЗУ. Объем ЭСППЗУ определяется кодом исполнения PIC и имеет диапазон от 0 байт до максимального количества, равного 1024 байт. Согласно Microchip, ячейка ЭСППЗУ может перезаписываться вплоть до одного миллиона раз. Ячейки ЭСППЗУ должны использоваться для хранения информации, которая не изменяется очень часто. Казалось бы, что возможность перезаписи миллион раз ячеек ЭСППЗУ позволяет использовать его для любых целей, однако не следует забывать, что микроконтроллер может функционировать на частоте порядка 40 МГц, при этом за несколько секунд можно перезаписать ячейку ЭСППЗУ много миллионов раз. 
    Память стека. В дополнение к памяти программ, памяти данных СОЗУ, а также памяти ЭСППЗУ, имеется также небольшая объемом 31x21 бит память СОЗУ, которая называется памятью стека. Память стека, как это будет обсуждаться в последующих материалах, содержит только адреса возврата из функций. Разрядность стека равна 21 битам, поскольку он рассчитан на хранение адресов памяти программ. Поскольку максимальный объем памяти программ равен 2М байт, то для доступа к ней нужно использовать 21-битный адрес, т.е. стек должен иметь разрядность в 21 бит. Почему он имеет глубину в 31 ячейку? Просто Microchip решила, что стек глубиной в 31 достаточно велик для обеспечения работы большинства приложений. Единственный способ использовать ячейку стека заключается в вызове функции. Если функция вызывает другую функцию, то две ячейки стека будут использоваться для хранения адресов возврата. Для использования всех ячеек стека нужно чтобы глубина многократных вызовов функций достигла 31, что бывает крайне редко, если вообще бывает. Фактически единственный случай переполнения стека может иметь место тогда, когда в программе присутствует ошибка, приводящая к постоянному вызову функций, возврат из которых не отрабатывается. Рекурсия является единственной возможной причиной этого типа ошибки. Вследствие этого при разработке рекурсивных программ этому вопросу необходимо уделять внимание.

    Современный ПК, может управлять станками, которые производят ковровые дорожки или другую продукцию. Ковровые дорожки в Екатеринбурге можно приобрести через интернет по приемлемой цене - подсказку мы вам дали.

    Понравился материал? Расскажи друзьям: 
    21.11.2018 в 19:49
    0
    923
    Shmarko
    Разное
    Комментарии (0)
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Необычный взгляд на новости
    Контакты редакции
  • marasmus(собака)rambler.ru
  • Хостинг: | Дизайн: Студия AlexandrS
    Наверх