EA039007B1 - Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных - Google Patents

Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных Download PDF

Info

Publication number
EA039007B1
EA039007B1 EA201700119A EA201700119A EA039007B1 EA 039007 B1 EA039007 B1 EA 039007B1 EA 201700119 A EA201700119 A EA 201700119A EA 201700119 A EA201700119 A EA 201700119A EA 039007 B1 EA039007 B1 EA 039007B1
Authority
EA
Eurasian Patent Office
Prior art keywords
data
external serial
serial rom
microprocessor core
rom
Prior art date
Application number
EA201700119A
Other languages
English (en)
Other versions
EA201700119A1 (ru
Inventor
Дмитрий Сергеевич КОРОЛЕВ
Константин Львович ГУРИН
Павел Николаевич ОСИПЕНКО
Константин КРАСИК
Original Assignee
Открытое Акционерное Общество "Байкал Электроникс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Открытое Акционерное Общество "Байкал Электроникс" filed Critical Открытое Акционерное Общество "Байкал Электроникс"
Publication of EA201700119A1 publication Critical patent/EA201700119A1/ru
Publication of EA039007B1 publication Critical patent/EA039007B1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)
  • Digital Computer Display Output (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в снижении требований к объему ОЗУ при возможности отказа от встроенных в микросхему начального микроПЗУ и внутреннего загрузочного ОЗУ. Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра включает в себя регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро.

Description

Изобретение относится к компьютерной технике, в частности к системам памяти и способам управления ими с возможностью выполнять программу с того же накопителя, где она размещена, без ее предварительной загрузки в оперативную память микропроцессора, применительно к недорогим компьютерным системам с небольшим объемом оперативной памяти и к способам передачи данных в них.
Уровень техники
Известно решение по патенту США 6601167 В1 (приоритет от 14.01.2000), включающее в себя способ инициализации компьютерной системы, включающей процессор и память последовательного доступа с программой загрузки, хранящейся в ней, и соответствующую компьютерную систему для осуществления способа. Загрузчик в ответ на инициализацию компьютерной системы, сначала управляет последовательным запоминающим устройством для чтения загрузочной программы, после чего управляет процессором для перехода к работе загрузочной программы в памяти последовательного доступа. Первая страница памяти программы начальной загрузки вызывает загрузочный код, который должен быть передан в оперативное запоминающее устройство (ОЗУ). Затем процессор переключается на код в ОЗУ, заставляет передать оставшуюся часть загрузочного кода из памяти последовательного доступа в ОЗУ и выполнить его.
Недостатком данного решения является необходимость использования внутреннего ОЗУ даже для небольших компьютерных систем.
Известны другие решения, включающие в себя устройства загрузки с использованием NAND флэшпамяти, например по патенту США 7849302, приоритет от 10 апреля, и способ получения команд загрузки из энергонезависимой памяти, например решение по патенту США 20068533448 (приоритет от 06.12.2010), которые могут быть реализованы путем обнаружения сигнала сброса, относящегося к устройству, и получения заранее определенной страницы данных из энергонезависимой области памяти в регистр, связанный с энергонезависимой памятью, при постраничном извлечении данных из энергонезависимой памяти, при этом сама страница данных включает в себя команды загрузки устройства. При получении команды на считывание данных, хранящихся в регистре, используют включенный в нее адрес, идентифицирующий местоположение одной или более команд в регистре. В результате из регистра извлекается одна или более команд для исполнения процессором. Эти команды включают в себя команды загрузки данных из регистра памяти во внутреннее ОЗУ. Недостатком решений по данному патенту является то, что данный патент подразумевает использование многосигнального интерфейса NAND Flash памяти, описанного в стандарте ONFI. Стоит также отметить, что данный патент подразумевает использование в качестве загрузочного ПЗУ исключительно NAND Flash память, что сужает круг устройств, которые можно использовать в качестве ПЗУ в соответствующих компьютерных системах.
Из заявки на получение патента США 2005/0108500 (приоритет от 18.11.2003) известно решение архитектуры загрузочной флэш-памяти, которая позволяет использовать неадресуемую память NAND, которая будет использоваться в качестве загрузочной памяти в цифровых процессорных системах. NAND-память имеет более низкую стоимость и более высокую плотность и важна для реализации процессоров с низким энергопотреблением. В начале процедуры (последовательной) загрузки, предварительно выбранный адрес передается в NAND флэш-память. Этот предварительно выбранный адрес совпадает с тем, который ожидает процессорное ядро в начале процесса загрузки. После завершения цикла выбранной длительности флэш-память NAND переходит к следующей, последовательной ячейке памяти и, таким образом, выводит последовательность команд по линии передачи данных. Линии передачи данных из флэш-памяти NAND предоставляют собой линии входа для передачи данных процессорному ядру. Процессорное ядро во время загрузки компьютера получает новые загрузочные команды в тот момент времени, когда они выходят из NAND флэш-памяти. Недостатками данного решения является то, что заявленный метод загрузки предусматривает использование исключительно NAND Flash памяти, а для метода загрузки то, что в нем используется многосигнальный интерфейс между микропроцессором и микросхемой NAND Flash, что, во-первых, требует большого количества выводов микросхемы системы на кристалле (СнК), а, во-вторых, требует наличия специализированного интерфейса устройства микропроцессора. Кроме того, данный подход может потребовать наличия внутреннего ОЗУ.
Известно также решение по заявке на получение патента США 2004/0230738 А1 (приоритет 29.10.2003) в виде устройства, позволяющего управлять исполнением команд непосредственно из последовательной флэш-памяти, и чип флэш-памяти с использованием этого устройства, при этом контроллер ПЗУ с определенным объемом хранения данных имеет доступ к ПЗУ для чтения целых страниц памяти, в которых хранятся требуемые данные, и может передавать необходимые данные основному управляющему модулю или исполнять их. Устройство включает в себя кэш-модуль для доступа к указанному адресу памяти ПЗУ в ответ на команду, полученную от управляющего модуля, и чтения или записи данных основным управляющим модулем, и контроллер ПЗУ с загрузчиком, позволяющим осуществлять загрузку путем чтения данных с ПЗУ с хранением загрузочных кодов в буфере и немедленной передачей загрузочных кодов в основной управляющий модуль по его требованию. Основным недостатком является обязательное наличие внутреннего ОЗУ.
Все известные решения объединяет то, что после включения питания микросхема СнК, содержащая
- 1 039007 микропроцессорное ядро, начинает процедуру начальной инициализации, для чего микропроцессорное ядро начинает считывать и выполнять инструкции программы начальной инициализации с некоторого начального адреса в собственном адресном пространстве. Т.е. программа начальной инициализации располагается в загрузочном энергонезависимом постоянном запоминающем устройстве (ПЗУ), выполненном, например, по технологии Flash, или загрузочное ПЗУ реализуют в составе микросхемы, что требует наличия специального технологического процесса, делает процесс изготовления микросхемы дороже. При использовании другого более дешевого и распространенного варианта с применением внешней микросхемы загрузочного ПЗУ типа Flash для доступа к загрузочному ПЗУ параллельного типа требуется несколько десятков выводов микросхемы СнК, в том числе выводы адреса, данных и управления.
Кроме того, для уменьшения необходимого количества выводов как СнК, так и микросхемы памяти, уменьшения размеров и снижения стоимости корпусов СнК и микросхем памяти, а, следовательно, размеров и стоимости печатных плат компьютерных систем широко используются ПЗУ последовательного типа (например, формата SPI (последовательный периферийный интерфейс)) для хранения программы начальной инициализации, которые осуществляют передачу данных чтения и записи, управляющую и статусную информацию по однобитному последовательному каналу. В частности, микросхемы ПЗУ типа SPI, используют три линии для приема и передачи данных:
вход для тактирования передаваемых или принимаемых данных (Serial Clock);
вход для передачи данных от контроллера к микросхеме (SI-Serial Input), по этой линии побитно передают адрес, данные для записи и коды команд управления микросхемой;
выход для передачи данных от микросхемы к контроллеру, по этой линии побитно передают читаемые данные, а также информацию о состоянии микросхемы (SO-Serial Output).
Для взаимодействия с ПЗУ такого типа требуется специальный контроллер, инициирующий операции чтения/записи/стирания и т.д. путем подачи специализированной последовательности команд.
Недостатком такого рода решений является то, что содержимое последовательного ПЗУ прямо не отображается в адресном пространстве микропроцессорного ядра, что сильно влияет на сложность программного обеспечения.
Имеющиеся решения для работы с таким ПЗУ требуют наличия встроенного в микросхему СнК начального микроПЗУ и внутреннего загрузочного оперативного запоминающего устройства ОЗУ. В этом случае после включения питания микропроцессорное ядро считывает и выполняет инструкции из микроПЗУ, результатом выполнения которых будет копирование программы начальной инициализации из последовательного ПЗУ во внутреннее загрузочное ОЗУ, после чего происходит передача управления на команду внутреннего загрузочного ОЗУ, что сказывается на быстродействии, сложности конструкции и, следовательно, стоимости системы.
Сущность изобретения
Для преодоления указанных недостатков в заявленном решении предлагается использовать систему на кристалле, включающую микропроцесссорное ядро (3), контроллер внешнего последовательного ПЗУ (7), а также промежуточный блок (1) - устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра (3). При этом микропроцесссорное ядро (3) соединено с конечным автоматом блока прямого отображения адресов (6) шиной адреса, с регистром адреса (5) шиной адреса, с регистром считанных данных (4), регистр адреса (5) и конечный автомат блока прямого отображения адресов (6), производящий автоматичское обращение к регистрам контроллера внешнего последовательного ПЗУ (7). Конечный автомат блока прямого отображения адресов (6) соединен с регистром статуса (12) и регистром управления (13) контроллера внешнего последовательного ПЗУ (7) управляющими сигналами, реалилизующие последовательность циклов чтения и записи, имитирующих необходимую управляющую последовательность со стороны микропроцессорного ядра. При использовании устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), а адресное пространство микропроцессорного ядра (3) в компьютерной системе его располагают между микропроцессорным ядром (3) и контроллером (7) внешнего последовательного ПЗУ (2). Функция устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра (3) заключается в преобразовании запросов на чтение ПЗУ (2), поступающих со стороны микропроцессорного ядра (3) в последовательность обращений к контроллеру (7) внешнего последовательного ПЗУ (2), в последовательность обращений к контроллеру (7) внешнего последовательного ПЗУ (2), результатом работы которого является набор слов данных, считанных из внешнего последовательного ПЗУ (2) (фиг. 1) и переданных по шине данных в микопроцессорное ядро.
В результате работы компьютерной системы с использованием устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра осуществляется передача данных компьютерной системой (а в качестве наилучшего варианта осуществления компьютерной системы осуществляется передача начального кода загрузки компьютерной системы), располагающихся во внешнем последовательном ПЗУ, благодаря тому, что в системе, состоящей из микропроцессорного ядра, внешнего последовательного ПЗУ, контроллера последовательного ПЗУ, устройства прямого отображения адресов данных, располагающихся в последова
- 2 039007 тельном ПЗУ, в адресное пространство микропроцессорного ядра, шины данных, шины адреса и шины управления, в момент готовности к работе внешнего последовательного ПЗУ с компьютерной системы снимают сигнал сброса, производят автоматическую инициализацию одного или нескольких регистров управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства прямого отображения в адресное пространство микропроцессорного ядра адресов данных, располагающихся во внешнем последовательном ПЗУ, содержащем начальный код загрузки, и ожидают от микропроцессорного ядра поступления запросов на чтение, а при получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующую запись в регистр данных и, быть может, в регистр управления контроллера внешнего последовательного ПЗУ, после этого с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра выполняют чтение регистра данных контроллера внешнего последовательного ПЗУ до тех пор, пока полностью не считают слово данных, которое затем передают в микропроцессорное ядро по шине данных блока прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до окончания получения запросов на чтение данных из ПЗУ (2). Несмотря на то, что основная часть обращений на чтение ПЗУ со стороны микропроцессора происходит во время загрузки, такие обращения могут поступать в течение всей работы компьютерной системы, что позволяет использовать внешнее последовательное ПЗУ в качестве источника данных и после загрузки.
Техническим результатом использования описанного выше устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра является упрощение конструкции благодаря замене параллельного способа передачи данных в последовательный, снижению числа контактов, снижению требований к объему ОЗУ при возможности отказа от встроенных в микросхему начального микроПЗУ и внутреннего загрузочного ОЗУ, что в целом приводит также к снижению материалоемкости и, следовательно, к снижению стоимости микросхемы.
Перечень чертежей
Решение проблемы и сущность заявленных технических решений могут быть пояснены с помощью следующих чертежей.
Фиг 1. Компьютерная система и схема ее работы с устройством прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра.
Фиг. 2. Алгоритм работы устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра.
Примеры осуществления изобретения
Заявленное изобретение в форме устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра (3) включает в себя регистр считанных данных (4), регистр адреса (5) и конечный автомат (6) устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2) в адресное пространство микропроцессорного ядра (3). В компьютерной системе устройство (1) располагается между микропроцессорным ядром (3) и контроллером (7) внешнего последовательного ПЗУ (2). Устройство (1) преобразует цикл чтения со стороны микропроцессорного ядра (3) в последовательность обращений к контроллеру (7) внешнего последовательного ПЗУ (2), в результате чего на выходе из него получают слово данных, считанное из внешнего последовательного ПЗУ (2) (фиг. 1), которое передается в микропроцессорное ядро (3) по шине данных (8). Функция преобразования цикла чтения со стороны микропроцессорного ядра (3) в последовательность обращений к контроллеру внешнего последовательного ПЗУ (7) осуществляется благодаря конечному автомату (6) устройства (1). Алгоритм работы устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра (3) представлен на фиг. 2. Возможна ситуация, когда при работе устройства (1) в качестве внешнего последовательного ПЗУ используют микросхему Flash памяти с последовательным интерфейсом, в качестве которого используют SPI интерфейс, а в качестве контроллера этого последовательного ПЗУ используют SPI контроллер. Как уже указывалось выше, наилучшим вариантом осуществления изобретения является вариант, при котором устройство (1) используется для отображения в адресное пространство микропроцессорного ядра адреса данных, являющихся инструкциями начального кода загрузки, хранящегося во внешнем последовательном ПЗУ, но назначение устройства (1) может быть и не ограничено данной функцией, поскольку внешнее последовательное ПЗУ может продолжать использоваться в качестве источника данных после завершения чтения инструкций начального кода загрузки.
Заявленное изобретение по второму независимому пункту формулы - компьютерная система (фиг. 1) систему на кристалле и внешнее последовательное ПЗУ. При этом система на кристалле с использовани
- 3 039007 ем устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в микропроцессорное ядро (3) включает в себя при этом система на кристалле включает в себя микропроцессорное ядро (3), контроллер (7) внешнего последовательного ПЗУ (2) для параллельной передачи слов данных, считанных из внешнего последовательного ПЗУ, и устройство (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра с обеспечением возможности осуществления обмена данными между ним и процессорным ядром (3) путем использования внутрисистемного интерфейса системы на кристалле. Устройство (1) располагают между контроллером (7) внешнего последовательного ПЗУ (2) и микропроцессорным ядром (3). Оно предназначено для преобразования циклов чтения со стороны микропроцессорного ядра (3) в последовательность обращений к контроллеру (7) внешнего последовательного ПЗУ (2), в результате чего на выходе из устройства (1) получают слова данных, считанные из внешнего последовательного ПЗУ (2) (фиг. 1), которые передаются в микропроцессорное ядро (3) по шине данных (8). Микропроцессорное ядро (3) способно производить чтение данных из внешнего по отношению к СнК внешнего последовательного ПЗУ (2) с помощью контроллера (7) внешнего последовательного ПЗУ (2) и устройства (1). Взаимодействие микропроцессорного ядра (3) с устройством (1) может производиться по любому внутрисистемному интерфейсу СнК: АМВА/ОСР/и т.д. В таких интерфейсах можно выделить набор шин, состоящий по меньшей мере из трех шин - шины данных (8), шины адреса (9), шины управления (10). Контроллер внешнего последовательного ПЗУ включает в себя конечный автомат (11) контроллера последовательного ПЗУ и набор регистров, среди которых можно выделить один или несколько регистров статуса (12), один или несколько регистров управления (13) и регистр данных (14). Обмен данными между устройством (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра и контроллером (7) внешнего последовательного ПЗУ может осуществляться в соответствии с любым протоколом, поддерживаемым контроллером (7) внешнего последовательного ПЗУ. Обмен данными с внешним последовательным ПЗУ (2) производится по однобитным последовательным каналам (15). В компьютерной системе при работе устройства прямого отображения адресов данных в качестве внешнего последовательного ПЗУ может быть использована микросхема Flash памяти с последовательным интерфейсом, в качестве которого используют SPI интерфейс, а в качестве контроллера внешнего последовательного ПЗУ используют SPI контроллер. В описанной конфигурации компьютерная система с использованием устройства (1) прямого отображения адресов данных может отображать в адресное пространство микропроцессорного ядра адреса данных, являющиеся инструкциями начального кода загрузки, но не ограничивается этим, и внешнее последовательное ПЗУ продолжают использовать в качестве источника данных и после завершения чтения инструкций начального кода загрузки.
В результате работы описанной выше компьютерной системы, использующей устройство (блок) (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра (3) осуществляют способ передачи данных (загрузки начального кода загрузки в частном случае) компьютерной системой, располагающихся во внешнем последовательном ПЗУ (2), благодаря тому, что в системе, включающей в себя СнК и внешнее по отношению к СнК последовательное ПЗУ (2). Сама СнК включает в себя микропроцессорное ядро (3), контроллер (7) внешнего последовательного ПЗУ (2) для параллельной передачи слов данных, считанных из внешнего последовательного ПЗУ, и устройство (1), которое осуществляет прямое отображение адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра (3) с использованием шины данных (8), шины адреса (9) и шины управления (10). При этом в момент готовности к работе внешнего последовательного ПЗУ (2) с СнК снимают сигнал сброса, производят автоматическую инициализацию одного или нескольких регистров управления контроллера (7) внешнего последовательного ПЗУ (2) с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), содержащем данные (например, начальный код загрузки в наилучшем варианте изобретения), в адресное пространство микропроцессорного ядра и ожидают от микропроцессорного ядра (3) поступления запросов на чтение, а при получении запроса на чтение и адреса от микропроцессорного ядра (3) по шине управления (10) и по шине адреса (9) соответственно с использованием конечного автомата устройства (1) производят соответствующую запись в регистр данных (14) и, быть может, в регистр управления (13) контроллера (7) внешнего последовательного ПЗУ (2), после этого с использованием конечного автомата (6) устройства (1) выполняют чтение регистра данных (14) контроллера (7) внешнего последовательного ПЗУ (2) до тех пор, пока полностью не считают слово данных, которое затем передают в микропроцессорное ядро (3) по шине данных (8) устройства (1) для использования в микропроцессорном ядре. Чтение-передача данных могут осуществляться в течение всего времени работы компьютерной системы. При этом предполагают, что основная часть обращений во внешнее последовательное ПЗУ (2) со стороны микропроцессорного ядра (3) происходит во время загрузки.
Предполагается, что СнК выводится из состояния сброса в тот момент, когда внешнего последовательное ПЗУ (2) (например, Serial Flash) уже готово к работе. При этом микросхема Flash памяти готова к работе не сразу после подачи на нее питания, а по прошествии некоторого времени, описанного в специ- 4 039007 фикации на эту микросхему. Под состоянием сброса понимается состояние микросхемы при активном уровне сигнала сброса - сигнала Reset. Соответственно вывод системы из состояния сброса - это перевод сигнала сброса в неактивное состояние.
После снятия сигнала сброса конечный автомат (6) устройства (1) производит автоматическую инициализацию контроллера (7) внешнего последовательного ПЗУ (2) (например, SPI-контроллера). Под инициализацией контроллера внешнего последовательного ПЗУ подразумевается инициализация его регистра управления (13). При этом возможны реализации, при которых контроллер внешнего последовательного ПЗУ содержит не один, а несколько регистров управления. В этом случае конечный автомат (6) устройства (1) должен произвести автоматическую инициализацию всех регистров управления контроллера (7) внешнего последовательного ПЗУ (2). По окончании инициализации конечный автомат (6) устройства (1) ожидает запросов от микропроцессорного ядра (3) на чтение внешнего последовательного ПЗУ (2) по адресам, отображаемым в адресное пространство микропроцессорного ядра (3). При получении от микропроцессорного ядра запроса на чтение (запрос на чтение определяется по состоянию сигналов шины управления (10) и сопровождается получением адреса соответственно по шине адреса (9)) конечный автомат (6) устройства (1) производит запись в регистр (14) данных контроллера (7) внешнего последовательного последовательного ПЗУ (2) команды чтения ПЗУ (2), а также адреса, по которому производится чтение ПЗУ (2). Возможны также такие реализации контроллера (7) внешнего последовательного ПЗУ, при которых конечному автомату (6) устройства (1) необходимо также производить запись в регистр управления (13) контроллера (7) внешнего последовательного ПЗУ (2) для управления передачей команды чтения и адреса во внешнее последовательное ПЗУ (2).
После этого конечный автомат (6) устройства (1) ожидает появления кадра данных, считанных из ПЗУ (2), в регистре (14) данных контроллера (7) внешнего последовательного ПЗУ (2). Наличие данных в регистре (14) данных может быть определено либо по результатам периодических опросов регистра (12) состояния контроллера (7) последовательного ПЗУ (2), либо по состоянию каких-либо контрольных сигналов (например, сигналов прерывания), выходящих из контроллера (7) последовательного ПЗУ (2).
После того как кадр считанных данных появляется в регистре (14) данных контроллера (7) последовательного ПЗУ, конечный автомат (6) устройства (1) производит считывание этих данных и проверяет, полностью ли было считано запрашиваемое слово данных. Если слово данных было считано не полностью, конечный автомат (6) устройства (1) ожидает появления в регистре (14) данных контроллера (7) внешнего последовательного ПЗУ (2) следующего кадра данных.
После того как запрашиваемое слово данных полностью считано из внешнего последовательного ПЗУ (2) и сформировано в регистре (4) считанных данных устройства (1), это слово данных передается в микропроцессорное ядро (3) по шине данных (8). При этом передача слова данных может сопровождаться изменением состояния сигналов шины управления (10).
После того как слово данных передано микропроцессорному ядру, конечный автомат (6) устройства (1) переходит в состояние ожидания следующего запроса на чтение.
Для реализации описанного способа загрузки в качестве внешнего последовательного ПЗУ (2) может быть использована SPI Flash память, в качестве контроллера (7) внешнего последовательного ПЗУ (2) - контроллер SPI, а в качестве последовательного интерфейса к внешнему последовательному ПЗУ (2) используют SPI интерфейс. В этом случае ПЗУ (2) необходимо иметь всего лишь три порта для приема и передачи данных по проводам шины (15):
вход (SC - Serial Clock) для тактирования передаваемых или принимаемых данных;
вход (SI - Serial Input) для передачи данных от контроллера (7) к микросхеме ПЗУ (2), по этой линии побитно передают адрес, данные для записи и коды команд управления микросхемой ПЗУ (2);
выход (SO - Serial Output) для передачи данных от ПЗУ (2) к контроллеру (7), по этой линии побитно передают читаемые данные, а также информацию о состоянии ПЗУ (2).
Управление микросхемой внешнего последовательного ПЗУ (2) производится контроллером (7) внешнего последовательного ПЗУ (2) посредством набора команд этого ПЗУ. Контроллер (7) последовательного ПЗУ (2) содержит набор вспомогательных регистров, среди которых можно выделить регистр данных (14), регистр управления (13) и регистр состояния (12). При этом возможны реализации, при которых контроллер (7) внешнего последовательного ПЗУ (2) содержит несколько регистров управления и состояния, а также отдельно регистры считанных и записываемых данных. В упрощенном виде, для считывания данных из внешнего последовательного ПЗУ (2) требуется выполнить следующую последовательность операций:
инициализация регистра управления (13);
запись команды чтения в регистр данных (14);
запись адреса данных, располагающихся в ПЗУ, в регистр данных (14);
периодический опрос регистра состояния (12), пока не станет активным признак завершения цикла чтения кадра данных из последовательного ПЗУ (2);
считывание данных из регистра данных (14).
Конечный автомат (6) устройства (1) в частном случае исполнения может быть представлен в виде двух автоматов - основного и вспомогательного, при этом вспомогательный автомат будет предназначен
- 5 039007 исключительно для взаимодействия с микропроцессорным ядром (3) по выбранному протоколу и управляется основным автоматом.
Фактически можно считать, что реализуется способ передачи данных в описанной выше компьютерной системе, включающей в себя систему на кристалле и внешнее последовательное ПЗУ, при этом система на кристалле включает в себя микропроцессорное ядро, контроллер внешнего последовательного ПЗУ для параллельной передачи слов данных, считанных из последовательного ПЗУ, и устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра с обеспечением возможности осуществления обмена данными между ним и процессорным ядром путем использования внутрисистемного интерфейса системы на кристалле, содержащего набор шин, включающий в себя, по меньшей мере, шину данных, шину адреса и шину управления, а названное устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра содержит регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро. При подключении системы на кристалле в момент готовности к работе внешнего последовательного ПЗУ с системы на кристалле снимают сигнал сброса, производится автоматическая инициализация по меньшей мере одного регистра управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, при этом ожидают от микропроцессорного ядра поступления запросов на чтение данных. При получении запроса на чтение очередного слова данных и его адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующие записи в регистр данных контроллера последовательного ПЗУ. После этого с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра выполняют чтение регистра состояния контроллера последовательного ПЗУ до тех пор, пока в регистре данных контроллера последовательного ПЗУ не появится очередной кадр данных, считанный из внешнего последовательного ПЗУ. Затем производят чтение регистра данных контроллера последовательного ПЗУ, повторяя последние две операции чтения регистра статуса и чтения регистра данных до тех пор, пока полностью не считают запрашиваемое слово данных, которое затем передают в микропроцессорное ядро по шине данных устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до момента окончания получения запросов на чтение данных из ПЗУ от микропроцессорного ядра.
При реализации способа в качестве последовательного ПЗУ можно использовать микросхему Flash памяти с последовательным интерфейсом, например с SPI интерфейсом, а в качестве контроллера (7) использовать SPI контроллер. Реализация описанного способа передачи данных может использоваться тогда, когда в качестве данных из внешнего последовательного ПЗУ считывают инструкции начального кода загрузки (в наилучшем варианте осуществления изобретения), а также после окончания передачи инструкций начального кода загрузки компьютерной системы с продолжением использования внешнего последовательного ПЗУ в качестве источника данных. При осуществлении способа сигнал сброса снимают с компьютерной системы в тот момент, когда внешнее последовательное ПЗУ уже готово к работе, при этом микропроцессор обращается к данным во внешнем последовательном ПЗУ по заранее известному для используемой архитектуры микропроцессора адресу. При получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов производят соответствующую запись также по крайней мере в один регистр управления контроллера внешнего последовательного ПЗУ. Для определения наличия кадра данных, считанного из последовательного ПЗУ, в регистре данных контроллера внешнего последовательного ПЗУ используют контрольные сигналы прерываний контроллера внешнего последовательного ПЗУ.
Осуществление описанной компьютерной системы и способа передачи данных (в т.ч. загрузки) с использованием устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра обеспечит следующие преимущества:
исключение необходимости наличия в СнК внутренних блоков памяти - начального микроПЗУ в контроллере (7) внешнего последовательного ПЗУ (2) и внутреннего ОЗУ для загрузки;
использование последовательного интерфейса (например, SPI) между СнК и микросхемой внешнего последовательного ПЗУ (2) (например, микросхемой Flash памяти), что уменьшает коли- 6 039007 чество выводов СнК;
возможность использования широкого спектра микросхем ПЗУ (2) (в частности, Flash памяти) за счет малого количества требований к данным микросхемам;
упрощение программного доступа к данным в ПЗУ (2) за счет прямого отображения ПЗУ в адресное пространство микропроцессора и исключения, таким образом, необходимости подачи специальных команд для чтения ПЗУ (2).
Отсутствие известных технических решений, позволяющих обеспечить указанные выше преимущества, позволяет считать, что заявленные решения отвечают требованиям патентоспособности.

Claims (12)

1. Система на кристалле, включающая в себя микропроцессорное ядро, контроллер внешнего последовательного ПЗУ, отличающаяся тем, что содержит устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, а также регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро.
2. Система на кристалле по п.1, отличающаяся тем, что при работе устройства прямого отображения адресов данных в качестве внешнего последовательного ПЗУ используют микросхему Flash памяти с последовательным интерфейсом.
3. Система на кристалле по п.2, отличающаяся тем, что при работе устройства прямого отображения адресов данных в качестве последовательного интерфейса к внешнему последовательному ПЗУ используют SPI интерфейс, а в качестве контроллера внешнего последовательного ПЗУ используют SPI контроллер.
4. Система на кристалле по пп.1-3, отличающаяся тем, что в качестве данных, располагающихся во внешнем последовательном ПЗУ, используют инструкции начального кода загрузки с возможностью дальнейшего использования внешнего последовательного ПЗУ в качестве источника данных и после окончания чтения инструкций начального кода загрузки.
5. Способ передачи данных, характеризующийся тем, что используют компьютерную систему, включающую в себя систему на кристалле и внешнее последовательное ПЗУ, при этом система на кристалле включает в себя микропроцессорное ядро, контроллер внешнего последовательного ПЗУ для параллельной передачи слов данных, считанных из внешнего последовательного ПЗУ, и устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра с обеспечением возможности осуществления обмена данными между ним и процессорным ядром путем использования внутрисистемного интерфейса системы на кристалле, содержащего набор шин, включающий в себя, по меньшей мере, шину данных, шину адреса и шину управления, а названное устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра содержит регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро, при этом при подключении системы на кристалле в момент готовности к работе внешнего последовательного ПЗУ с системы на кристалле снимают сигнал сброса, производят автоматическую инициализацию по меньшей мере одного регистра управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра и ожидают от микропроцессорного ядра поступления запросов на чтение данных, а при получении запроса на чтение очередного слова данных и его адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующие записи в регистр данных контроллера внешнего последовательного ПЗУ, после чего с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного
- 7 039007 ядра выполняют чтение регистра состояния контроллера внешнего последовательного ПЗУ до тех пор, пока в регистре данных контроллера внешнего последовательного ПЗУ не появится очередной кадр данных, считанный из внешнего последовательного ПЗУ, после чего производят чтение регистра данных контроллера внешнего последовательного ПЗУ, повторяя операции чтения регистра статуса и чтения регистра данных до тех пор, пока полностью не считают запрашиваемое слово данных, которое затем передают в микропроцессорное ядро по шине данных устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до момента окончания получения запросов на чтение данных из внешнего последовательного ПЗУ от микропроцессорного ядра.
6. Способ передачи данных по п.5, отличающийся тем, что при работе устройства прямого отображения адресов данных в качестве внешнего последовательного ПЗУ используют микросхему Flash памяти с последовательным интерфейсом.
7. Способ передачи данных по п.6, отличающийся тем, что при работе устройства прямого отображения адресов данных в качестве последовательного интерфейса к внешнему последовательному ПЗУ используют SPI интерфейс, а в качестве контроллера внешнего последовательного ПЗУ используют SPI контроллер.
8. Способ передачи данных по п.5, отличающийся тем, что в качестве данных из внешнего последовательного ПЗУ считывают инструкции начального кода загрузки.
9. Способ передачи данных по п.8, отличающийся тем, что после окончания передачи инструкций начального кода загрузки компьютерной системы продолжают использовать внешнее последовательное ПЗУ в качестве источника данных.
10. Способ передачи данных по п.5, отличающийся тем, что сигнал сброса снимают с компьютерной системы в тот момент, когда внешнее последовательное ПЗУ уже готово к работе, при этом микропроцессор обращается к данным во внешнем последовательном ПЗУ по заранее известному для используемой архитектуры микропроцессора адресу.
11. Способ передачи данных по п.5, отличающийся тем, что при получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов производят соответствующую запись также по крайней мере в один регистр управления контроллера внешнего последовательного ПЗУ.
12. Способ передачи данных по п.5, отличающийся тем, что для определения наличия кадра данных, считанного из внешнего последовательного ПЗУ, в регистре данных контроллера внешнего последовательного ПЗУ используют контрольные сигналы прерываний контроллера внешнего последовательного ПЗУ.
EA201700119A 2014-09-01 2015-09-01 Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных EA039007B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2014135505/08A RU2579942C2 (ru) 2014-09-01 2014-09-01 Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
PCT/RU2015/000553 WO2016036281A1 (ru) 2014-09-01 2015-09-01 Устройство прямого отображения адресов данных

Publications (2)

Publication Number Publication Date
EA201700119A1 EA201700119A1 (ru) 2017-10-31
EA039007B1 true EA039007B1 (ru) 2021-11-22

Family

ID=53284987

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201700119A EA039007B1 (ru) 2014-09-01 2015-09-01 Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных

Country Status (3)

Country Link
EA (1) EA039007B1 (ru)
RU (1) RU2579942C2 (ru)
WO (1) WO2016036281A1 (ru)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858457B (zh) * 2020-07-15 2023-01-10 苏州浪潮智能科技有限公司 一种数据处理方法、装置、***和fpga
CN112817902B (zh) * 2021-02-05 2022-08-02 中国电子科技集团公司第五十八研究所 互联裸芯接口管理***及其初始化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535360A (en) * 1994-08-31 1996-07-09 Vlsi Technology, Inc. Digital computer system having an improved direct-mapped cache controller (with flag modification) for a CPU with address pipelining and method therefor
US20060174100A1 (en) * 2005-01-31 2006-08-03 Samsung Electronics Co., Ltd System and method of booting an operating system for a computer

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
JP2004334486A (ja) * 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535360A (en) * 1994-08-31 1996-07-09 Vlsi Technology, Inc. Digital computer system having an improved direct-mapped cache controller (with flag modification) for a CPU with address pipelining and method therefor
US20060174100A1 (en) * 2005-01-31 2006-08-03 Samsung Electronics Co., Ltd System and method of booting an operating system for a computer

Also Published As

Publication number Publication date
RU2014135505A (ru) 2015-05-27
RU2579942C2 (ru) 2016-04-10
EA201700119A1 (ru) 2017-10-31
WO2016036281A1 (ru) 2016-03-10

Similar Documents

Publication Publication Date Title
JP6602823B2 (ja) メモリ機器のための拡張利用範囲
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
US8266369B2 (en) Flash memory interface
CN104520932B (zh) 闪存存储器控制器
US20050283598A1 (en) Method and system for loading processor boot code from serial flash memory
KR100634436B1 (ko) 멀티 칩 시스템 및 그것의 부트코드 페치 방법
KR101105489B1 (ko) Nand 플래시 메모리의 커맨드 기반 제어
JP2011513823A5 (ru)
MX2012005183A (es) Linea de espera de comandos para componente periferico.
US7725621B2 (en) Semiconductor device and data transfer method
JP2003150574A (ja) マイクロコンピュータ
US11068283B2 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
WO2013192633A2 (en) Virtual memory module
EP3270293B1 (en) Two stage command buffers to overlap iommu map and second tier memory reads
EA039007B1 (ru) Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
CN110765065A (zh) 片上***
EA038978B1 (ru) Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
RU155208U1 (ru) Компьютерная система
KR101030385B1 (ko) 내부 메모리만을 가지는 시스템의 부팅 장치 및 방법
US8677033B2 (en) Method for initializing registers of peripherals in a microcontroller
US20230376340A1 (en) Memory system and operating method thereof
KR101028855B1 (ko) 시리얼 플래시 컨트롤러
JP2002049607A (ja) キャッシュ内蔵マイクロコンピュータ
WO2006112968A1 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers