EA039007B1 - Device for direct mapping of data addresses located in the external serial rom into the address space of microprocessor core, computer system, and data transmission method - Google Patents

Device for direct mapping of data addresses located in the external serial rom into the address space of microprocessor core, computer system, and data transmission method 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
Russian (ru)
Other versions
EA201700119A1 (en
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/en
Publication of EA039007B1 publication Critical patent/EA039007B1/en

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

Abstract

The invention relates to computing equipment. The technical result is lowering the requirements to the storage space of RAM, if it is possible to refuse the initial micro-ROM and internal boot RAM, which are built-in the microchip. The device for direct mapping of data addresses, which are located in the external serial ROM, to the address space of a microprocessor core includes the read data register, the address register, and the finite automation of the address direct mapping device with a capability to carry out direct mapping of data addresses located in the external serial ROM into the address space of microprocessor core, transform requests for reading from the microprocessor core into the sequence of the access to the external serial ROM controller and transmit the sequence of data words read from the external serial ROM, via the data bus to the microprocessor core.

Description

Изобретение относится к компьютерной технике, в частности к системам памяти и способам управления ими с возможностью выполнять программу с того же накопителя, где она размещена, без ее предварительной загрузки в оперативную память микропроцессора, применительно к недорогим компьютерным системам с небольшим объемом оперативной памяти и к способам передачи данных в них.The invention relates to computer technology, in particular to memory systems and methods for managing them with the ability to execute a program from the same drive where it is located, without first loading it into the RAM of the microprocessor, as applied to inexpensive computer systems with a small amount of RAM and to methods transferring data to them.

Уровень техникиState of the art

Известно решение по патенту США 6601167 В1 (приоритет от 14.01.2000), включающее в себя способ инициализации компьютерной системы, включающей процессор и память последовательного доступа с программой загрузки, хранящейся в ней, и соответствующую компьютерную систему для осуществления способа. Загрузчик в ответ на инициализацию компьютерной системы, сначала управляет последовательным запоминающим устройством для чтения загрузочной программы, после чего управляет процессором для перехода к работе загрузочной программы в памяти последовательного доступа. Первая страница памяти программы начальной загрузки вызывает загрузочный код, который должен быть передан в оперативное запоминающее устройство (ОЗУ). Затем процессор переключается на код в ОЗУ, заставляет передать оставшуюся часть загрузочного кода из памяти последовательного доступа в ОЗУ и выполнить его.Known solution for US patent 6601167 B1 (priority from 14.01.2000), including a method for initializing a computer system, including a processor and sequential memory with a boot program stored therein, and a corresponding computer system for implementing the method. The bootloader, in response to initialization of the computer system, first controls the serial memory to read the boot program, and then controls the processor to move the boot program into the serial memory. The first page of bootstrap memory calls the boot code to be transferred to random access memory (RAM). The processor then switches to the code in RAM, forces the remainder of the boot code from serial memory to be transferred to RAM, and executes it.

Недостатком данного решения является необходимость использования внутреннего ОЗУ даже для небольших компьютерных систем.The disadvantage of this solution is the need to use internal RAM, even for small computer systems.

Известны другие решения, включающие в себя устройства загрузки с использованием NAND флэшпамяти, например по патенту США 7849302, приоритет от 10 апреля, и способ получения команд загрузки из энергонезависимой памяти, например решение по патенту США 20068533448 (приоритет от 06.12.2010), которые могут быть реализованы путем обнаружения сигнала сброса, относящегося к устройству, и получения заранее определенной страницы данных из энергонезависимой области памяти в регистр, связанный с энергонезависимой памятью, при постраничном извлечении данных из энергонезависимой памяти, при этом сама страница данных включает в себя команды загрузки устройства. При получении команды на считывание данных, хранящихся в регистре, используют включенный в нее адрес, идентифицирующий местоположение одной или более команд в регистре. В результате из регистра извлекается одна или более команд для исполнения процессором. Эти команды включают в себя команды загрузки данных из регистра памяти во внутреннее ОЗУ. Недостатком решений по данному патенту является то, что данный патент подразумевает использование многосигнального интерфейса NAND Flash памяти, описанного в стандарте ONFI. Стоит также отметить, что данный патент подразумевает использование в качестве загрузочного ПЗУ исключительно NAND Flash память, что сужает круг устройств, которые можно использовать в качестве ПЗУ в соответствующих компьютерных системах.Other solutions are known, including boot devices using NAND flash memory, for example, according to US patent 7849302, priority dated April 10, and a method for receiving boot commands from non-volatile memory, for example, the solution according to US patent 20068533448 (priority dated 12/06/2010), which can be implemented by detecting a device-related reset signal and retrieving a predetermined page of data from the non-volatile memory area into a register associated with the non-volatile memory while paging data from the non-volatile memory, wherein the data page itself includes device boot commands. Upon receipt of a command to read data stored in a register, an included address identifying the location of one or more commands in the register is used. As a result, one or more instructions are retrieved from the register for execution by the processor. These commands include commands to load data from a memory register into internal RAM. The disadvantage of solutions for this patent is that this patent implies the use of a multi-signal interface NAND Flash memory, described in the ONFI standard. It is also worth noting that this patent implies the use of exclusively NAND Flash memory as a boot ROM, which narrows the range of devices that can be used as a ROM in corresponding computer systems.

Из заявки на получение патента США 2005/0108500 (приоритет от 18.11.2003) известно решение архитектуры загрузочной флэш-памяти, которая позволяет использовать неадресуемую память NAND, которая будет использоваться в качестве загрузочной памяти в цифровых процессорных системах. NAND-память имеет более низкую стоимость и более высокую плотность и важна для реализации процессоров с низким энергопотреблением. В начале процедуры (последовательной) загрузки, предварительно выбранный адрес передается в NAND флэш-память. Этот предварительно выбранный адрес совпадает с тем, который ожидает процессорное ядро в начале процесса загрузки. После завершения цикла выбранной длительности флэш-память NAND переходит к следующей, последовательной ячейке памяти и, таким образом, выводит последовательность команд по линии передачи данных. Линии передачи данных из флэш-памяти NAND предоставляют собой линии входа для передачи данных процессорному ядру. Процессорное ядро во время загрузки компьютера получает новые загрузочные команды в тот момент времени, когда они выходят из NAND флэш-памяти. Недостатками данного решения является то, что заявленный метод загрузки предусматривает использование исключительно NAND Flash памяти, а для метода загрузки то, что в нем используется многосигнальный интерфейс между микропроцессором и микросхемой NAND Flash, что, во-первых, требует большого количества выводов микросхемы системы на кристалле (СнК), а, во-вторых, требует наличия специализированного интерфейса устройства микропроцессора. Кроме того, данный подход может потребовать наличия внутреннего ОЗУ.From the application for obtaining US patent 2005/0108500 (priority dated 11/18/2003) a solution to the architecture of a boot flash memory is known, which allows the use of non-addressable NAND memory, which will be used as a boot memory in digital processor systems. NAND memory has a lower cost and higher density, and is important for implementing low-power processors. At the beginning of the (sequential) boot procedure, the preselected address is transferred to the NAND flash memory. This pre-selected address is the same as what the processor core expects at the start of the boot process. After completing a cycle of the selected duration, the NAND flash moves to the next, sequential memory location and thus outputs a sequence of commands over the data line. NAND flash data lines provide input lines for transferring data to the processor core. The processor core during computer boot receives new boot instructions at the same time when they exit from the NAND flash memory. The disadvantages of this solution are that the declared boot method provides for the use of exclusively NAND Flash memory, and for the boot method, it uses a multi-signal interface between the microprocessor and the NAND Flash microcircuit, which, firstly, requires a large number of system-on-chip pins (SoC), and, secondly, it requires a specialized interface of the microprocessor device. In addition, this approach may require internal RAM.

Известно также решение по заявке на получение патента США 2004/0230738 А1 (приоритет 29.10.2003) в виде устройства, позволяющего управлять исполнением команд непосредственно из последовательной флэш-памяти, и чип флэш-памяти с использованием этого устройства, при этом контроллер ПЗУ с определенным объемом хранения данных имеет доступ к ПЗУ для чтения целых страниц памяти, в которых хранятся требуемые данные, и может передавать необходимые данные основному управляющему модулю или исполнять их. Устройство включает в себя кэш-модуль для доступа к указанному адресу памяти ПЗУ в ответ на команду, полученную от управляющего модуля, и чтения или записи данных основным управляющим модулем, и контроллер ПЗУ с загрузчиком, позволяющим осуществлять загрузку путем чтения данных с ПЗУ с хранением загрузочных кодов в буфере и немедленной передачей загрузочных кодов в основной управляющий модуль по его требованию. Основным недостатком является обязательное наличие внутреннего ОЗУ.It is also known a solution for the application for a US patent 2004/0230738 A1 (priority 29.10.2003) in the form of a device that allows you to control the execution of commands directly from a serial flash memory, and a flash memory chip using this device, while a ROM controller with a certain storage capacity has access to the ROM to read entire pages of memory, which store the required data, and can transfer the necessary data to the main control module or execute them. The device includes a cache module for accessing the specified ROM memory address in response to a command received from the control module and reading or writing data by the main control module, and a ROM controller with a bootloader that allows loading by reading data from a bootable ROM codes in the buffer and immediate transfer of the boot codes to the main control module on demand. The main disadvantage is the mandatory presence of internal RAM.

Все известные решения объединяет то, что после включения питания микросхема СнК, содержащаяAll known solutions are united by the fact that after turning on the power, the SoC microcircuit containing

- 1 039007 микропроцессорное ядро, начинает процедуру начальной инициализации, для чего микропроцессорное ядро начинает считывать и выполнять инструкции программы начальной инициализации с некоторого начального адреса в собственном адресном пространстве. Т.е. программа начальной инициализации располагается в загрузочном энергонезависимом постоянном запоминающем устройстве (ПЗУ), выполненном, например, по технологии Flash, или загрузочное ПЗУ реализуют в составе микросхемы, что требует наличия специального технологического процесса, делает процесс изготовления микросхемы дороже. При использовании другого более дешевого и распространенного варианта с применением внешней микросхемы загрузочного ПЗУ типа Flash для доступа к загрузочному ПЗУ параллельного типа требуется несколько десятков выводов микросхемы СнК, в том числе выводы адреса, данных и управления.- 1 039007 microprocessor core, starts the initial initialization procedure, for which the microprocessor core begins to read and execute the instructions of the initial initialization program from a certain starting address in its own address space. Those. The initial initialization program is located in a bootable non-volatile read-only memory (ROM), made, for example, using Flash technology, or the boot ROM is implemented as part of a microcircuit, which requires a special technological process and makes the process of manufacturing a microcircuit more expensive. When using another cheaper and more widespread option with the use of an external Flash-type boot ROM chip, several tens of SoC chip pins are required to access the parallel-type boot ROM, including address, data, and control pins.

Кроме того, для уменьшения необходимого количества выводов как СнК, так и микросхемы памяти, уменьшения размеров и снижения стоимости корпусов СнК и микросхем памяти, а, следовательно, размеров и стоимости печатных плат компьютерных систем широко используются ПЗУ последовательного типа (например, формата SPI (последовательный периферийный интерфейс)) для хранения программы начальной инициализации, которые осуществляют передачу данных чтения и записи, управляющую и статусную информацию по однобитному последовательному каналу. В частности, микросхемы ПЗУ типа SPI, используют три линии для приема и передачи данных:In addition, to reduce the required number of pins for both SoC and memory microcircuits, reduce the size and cost of SoC packages and memory microcircuits, and, consequently, the size and cost of printed circuit boards of computer systems, serial ROMs are widely used (for example, the SPI format (serial peripheral interface)) for storing initial initialization programs that transfer read and write data, control and status information over a one-bit serial channel. In particular, SPI-type ROM chips use three lines for receiving and transmitting data:

вход для тактирования передаваемых или принимаемых данных (Serial Clock);input for clocking of transmitted or received data (Serial Clock);

вход для передачи данных от контроллера к микросхеме (SI-Serial Input), по этой линии побитно передают адрес, данные для записи и коды команд управления микросхемой;an input for transferring data from the controller to the microcircuit (SI-Serial Input), the address, data for recording and command codes for controlling the microcircuit are transmitted bit by bit along this line;

выход для передачи данных от микросхемы к контроллеру, по этой линии побитно передают читаемые данные, а также информацию о состоянии микросхемы (SO-Serial Output).an output for transmitting data from the microcircuit to the controller, through this line read data is transmitted bit by bit, as well as information about the state of the microcircuit (SO-Serial Output).

Для взаимодействия с ПЗУ такого типа требуется специальный контроллер, инициирующий операции чтения/записи/стирания и т.д. путем подачи специализированной последовательности команд.To interact with this type of ROM requires a special controller that initiates read / write / erase operations, etc. by issuing a specialized sequence of commands.

Недостатком такого рода решений является то, что содержимое последовательного ПЗУ прямо не отображается в адресном пространстве микропроцессорного ядра, что сильно влияет на сложность программного обеспечения.The disadvantage of this kind of solution is that the contents of the serial ROM are not directly mapped to the address space of the microprocessor core, which greatly affects the complexity of the software.

Имеющиеся решения для работы с таким ПЗУ требуют наличия встроенного в микросхему СнК начального микроПЗУ и внутреннего загрузочного оперативного запоминающего устройства ОЗУ. В этом случае после включения питания микропроцессорное ядро считывает и выполняет инструкции из микроПЗУ, результатом выполнения которых будет копирование программы начальной инициализации из последовательного ПЗУ во внутреннее загрузочное ОЗУ, после чего происходит передача управления на команду внутреннего загрузочного ОЗУ, что сказывается на быстродействии, сложности конструкции и, следовательно, стоимости системы.The available solutions for working with such a ROM require an initial micro-ROM built into the SoC chip and an internal bootable random access memory (RAM). In this case, after turning on the power, the microprocessor core reads and executes instructions from the micro ROM, the result of which will be the copying of the initial initialization program from the serial ROM to the internal boot RAM, after which control is transferred to the command of the internal boot RAM, which affects the speed, design complexity, and hence the cost of the system.

Сущность изобретенияThe essence of the invention

Для преодоления указанных недостатков в заявленном решении предлагается использовать систему на кристалле, включающую микропроцесссорное ядро (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) и переданных по шине данных в микопроцессорное ядро.To overcome these shortcomings in the claimed solution, it is proposed to use a system on a chip, including a microprocessor core (3), an external serial ROM controller (7), as well as an intermediate unit (1) - a device for direct mapping of data addresses located in an external serial ROM (2) , into the address space of the microprocessor core (3). In this case, the microprocessor core (3) is connected to the state machine of the direct address mapping unit (6) by the address bus, with the address register (5) by the address bus, with the read data register (4), the address register (5) and the state machine of the direct address mapping unit (6), which makes automatic access to the registers of the external serial ROM controller (7). The state machine of the direct address mapping unit (6) is connected to the status register (12) and the control register (13) of the external serial ROM controller (7) by control signals that implement a sequence of read and write cycles that simulate the necessary control sequence from the microprocessor core. When using the device (1) for direct mapping of data addresses located in the external serial ROM (2), and the address space of the microprocessor core (3) in the computer system, it is located between the microprocessor core (3) and the controller (7) of the external serial ROM (2) ... The function of the device (1) for direct mapping of data addresses located in the external serial ROM (2) to the address space of the microprocessor core (3) is to convert requests to read the ROM (2) coming from the microprocessor core (3) into a sequence of calls to controller (7) of the external serial ROM (2), in the sequence of calls to the controller (7) of the external serial ROM (2), the result of which is a set of data words read from the external serial ROM (2) (Fig. 1) and transmitted via data bus to the microprocessor core.

В результате работы компьютерной системы с использованием устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра осуществляется передача данных компьютерной системой (а в качестве наилучшего варианта осуществления компьютерной системы осуществляется передача начального кода загрузки компьютерной системы), располагающихся во внешнем последовательном ПЗУ, благодаря тому, что в системе, состоящей из микропроцессорного ядра, внешнего последовательного ПЗУ, контроллера последовательного ПЗУ, устройства прямого отображения адресов данных, располагающихся в последоваAs a result of the operation of the computer system using a device for direct mapping of data addresses located in the external serial ROM, data is transferred to the address space of the microprocessor core by the computer system (and as the best embodiment of the computer system, the initial code for loading the computer system is transmitted) located in the external serial ROM, due to the fact that in a system consisting of a microprocessor core, an external serial ROM, a serial ROM controller, a device for direct mapping of data addresses located in a serial

- 2 039007 тельном ПЗУ, в адресное пространство микропроцессорного ядра, шины данных, шины адреса и шины управления, в момент готовности к работе внешнего последовательного ПЗУ с компьютерной системы снимают сигнал сброса, производят автоматическую инициализацию одного или нескольких регистров управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства прямого отображения в адресное пространство микропроцессорного ядра адресов данных, располагающихся во внешнем последовательном ПЗУ, содержащем начальный код загрузки, и ожидают от микропроцессорного ядра поступления запросов на чтение, а при получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующую запись в регистр данных и, быть может, в регистр управления контроллера внешнего последовательного ПЗУ, после этого с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра выполняют чтение регистра данных контроллера внешнего последовательного ПЗУ до тех пор, пока полностью не считают слово данных, которое затем передают в микропроцессорное ядро по шине данных блока прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до окончания получения запросов на чтение данных из ПЗУ (2). Несмотря на то, что основная часть обращений на чтение ПЗУ со стороны микропроцессора происходит во время загрузки, такие обращения могут поступать в течение всей работы компьютерной системы, что позволяет использовать внешнее последовательное ПЗУ в качестве источника данных и после загрузки.- 2 039007 tel ROM, to the address space of the microprocessor core, data bus, address bus and control bus, when the external serial ROM is ready for operation, the reset signal is removed from the computer system, one or more control registers of the external serial ROM controller are automatically initialized using the state machine of the device for direct mapping to the address space of the microprocessor core of data addresses located in the external serial ROM containing the initial boot code and expecting read requests from the microprocessor core, and when receiving a read request and addresses from the microprocessor core via the control bus and the address bus, respectively, using the state machine of the device (1) for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, a corresponding write is made to the data register and, possibly em, into the control register of the external serial ROM controller, then using the state machine of the device (1) for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, read the data register of the external serial ROM controller until completely do not count the data word, which is then transferred to the microprocessor core via the data bus of the unit for direct mapping of data addresses located in the external serial ROM (2) into the address space of the microprocessor core for use in the microprocessor core, until the end of receiving requests to read data from the ROM ( 2). Despite the fact that the main part of ROM reads from the microprocessor occurs during boot, such calls can occur during the entire operation of the computer system, which allows the external serial ROM to be used as a data source after boot.

Техническим результатом использования описанного выше устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра является упрощение конструкции благодаря замене параллельного способа передачи данных в последовательный, снижению числа контактов, снижению требований к объему ОЗУ при возможности отказа от встроенных в микросхему начального микроПЗУ и внутреннего загрузочного ОЗУ, что в целом приводит также к снижению материалоемкости и, следовательно, к снижению стоимости микросхемы.The technical result of using the device (1) described above for direct mapping of data addresses located in the external serial ROM (2) to the address space of the microprocessor core is to simplify the design by replacing the parallel method of transferring data to the serial one, reducing the number of contacts, and reducing the requirements for the amount of RAM when the possibility of abandoning the initial micro-ROM and internal boot RAM built into the microcircuit, which in general also leads to a decrease in material consumption and, consequently, to a decrease in the cost of the microcircuit.

Перечень чертежейList of drawings

Решение проблемы и сущность заявленных технических решений могут быть пояснены с помощью следующих чертежей.The solution to the problem and the essence of the claimed technical solutions can be explained using the following drawings.

Фиг 1. Компьютерная система и схема ее работы с устройством прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра.Fig 1. A computer system and a diagram of its operation with a device for direct mapping of data addresses located in an external serial ROM to the address space of a microprocessor core.

Фиг. 2. Алгоритм работы устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра.FIG. 2. Algorithm of the device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core.

Примеры осуществления изобретенияExamples of implementation of the invention

Заявленное изобретение в форме устройства (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) может быть и не ограничено данной функцией, поскольку внешнее последовательное ПЗУ может продолжать использоваться в качестве источника данных после завершения чтения инструкций начального кода загрузки.The claimed invention in the form of a device (1) for direct mapping of data addresses located in an external serial ROM (2) into the address space of a microprocessor core (3) includes a read data register (4), an address register (5) and a state machine (6 ) a device (1) for direct mapping of data addresses located in the external serial ROM (2) into the address space of the microprocessor core (3). In a computer system, the device (1) is located between the microprocessor core (3) and the controller (7) of the external serial ROM (2). The device (1) converts the read cycle from the microprocessor core (3) into a sequence of calls to the controller (7) of the external serial ROM (2), as a result of which a data word read from the external serial ROM (2) is obtained at its output (Fig. . 1), which is transmitted to the microprocessor core (3) via the data bus (8). The function of converting the read cycle from the microprocessor core (3) into a sequence of calls to the external serial ROM controller (7) is carried out thanks to the state machine (6) of the device (1). The operation algorithm of the device (1) for direct mapping of data addresses located in the external serial ROM (2) into the address space of the microprocessor core (3) is shown in Fig. 2. It is possible that when the device (1) is operating, a flash memory chip with a serial interface is used as an external serial ROM, which is used as an SPI interface, and an SPI controller is used as a controller for this serial ROM. As already mentioned above, the best embodiment of the invention is a variant in which the device (1) is used to map into the address space of the microprocessor core the address of the data, which are instructions of the initial boot code, stored in the external serial ROM, but the purpose of the device (1) can be is not limited to this function, since the external serial ROM can continue to be used as a data source after the boot start code instructions have finished reading.

Заявленное изобретение по второму независимому пункту формулы - компьютерная система (фиг. 1) систему на кристалле и внешнее последовательное ПЗУ. При этом система на кристалле с использованиThe claimed invention according to the second independent claim is a computer system (Fig. 1) a system on a chip and an external serial ROM. In this case, the system-on-chip using

- 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) прямого отображения адресов данных может отображать в адресное пространство микропроцессорного ядра адреса данных, являющиеся инструкциями начального кода загрузки, но не ограничивается этим, и внешнее последовательное ПЗУ продолжают использовать в качестве источника данных и после завершения чтения инструкций начального кода загрузки.- 3 039007 em device (1) for direct mapping of data addresses located in the external serial ROM (2) to the microprocessor core (3) includes the system-on-chip includes the microprocessor core (3), the controller (7) of the external serial ROM (2) for parallel transmission of data words read from the external serial ROM, and a device (1) for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core with the possibility of data exchange between it and the processor core ( 3) by using the system-on-chip in-system interface. The device (1) is located between the controller (7) of the external serial ROM (2) and the microprocessor core (3). It is designed to convert the read cycles from the microprocessor core (3) into a sequence of calls to the controller (7) of the external serial ROM (2), as a result of which the data words read from the external serial ROM (2) are obtained at the output from the device (1) (Fig. 1), which are transmitted to the microprocessor core (3) via the data bus (8). The microprocessor core (3) is capable of reading data from an external serial ROM (2) external to the SoC using an external serial ROM (2) controller (7) and a device (1). The interaction of the microprocessor core (3) with the device (1) can be performed via any SoC in-system interface: AMVA / OSR / etc. In such interfaces, a set of buses can be distinguished, consisting of at least three buses - data bus (8), address bus (9), control bus (10). The external serial ROM controller includes a state machine (11) of the serial ROM controller and a set of registers, among which one or more status registers (12), one or more control registers (13) and a data register (14) can be distinguished. The exchange of data between the device (1) for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core and the controller (7) of the external serial ROM can be carried out in accordance with any protocol supported by the controller (7) of the external serial ROM. Data exchange with the external serial ROM (2) is performed via one-bit serial channels (15). In a computer system, when the device for direct mapping of data addresses is operating, a flash memory chip with a serial interface can be used as an external serial ROM, which is used as an SPI interface, and an SPI controller is used as an external serial ROM controller. In the described configuration, the computer system using the device (1) direct mapping of data addresses can map to the address space of the microprocessor core, data addresses that are instructions of the boot start code, but is not limited to this, and the external serial ROM continues to be used as a data source even after reading is completed. boot start code instructions.

В результате работы описанной выше компьютерной системы, использующей устройство (блок) (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) происходит во время загрузки.As a result of the operation of the above-described computer system using the device (block) (1) for direct mapping of data addresses located in the external serial ROM (2) to the address space of the microprocessor core (3), a method of data transmission (loading the initial boot code in the special case ) by a computer system located in an external serial ROM (2), due to the fact that in a system that includes a SoC and a serial ROM external to SoC (2). The SoC itself includes a microprocessor core (3), a controller (7) of an external serial ROM (2) for parallel transmission of data words read from an external serial ROM, and a device (1) that directly maps data addresses located in the external serial ROM (2), into the address space of the microprocessor core (3) using the data bus (8), the address bus (9) and the control bus (10). At the same time, when the external serial ROM (2) is ready for operation, the reset signal is removed from the SoC, one or more control registers of the controller (7) of the external serial ROM (2) are automatically initialized using the state machine of the device (1) for direct mapping of data addresses, located in an external serial ROM (2) containing data (for example, the initial boot code in the best version of the invention), into the address space of the microprocessor core and wait for read requests from the microprocessor core (3), and upon receiving a read request and addresses from of the microprocessor core (3) via the control bus (10) and the address bus (9), respectively, using the state machine of the device (1), make a corresponding entry into the data register (14) and, perhaps, into the control register (13) of the controller (7 ) external serial ROM (2), then using the state machine (6) of the device (1) reads e of the data register (14) of the controller (7) of the external serial ROM (2) until the data word is completely read, which is then transferred to the microprocessor core (3) via the data bus (8) of the device (1) for use in the microprocessor core. Reading and transmission of data can be carried out during the entire operating time of the computer system. It is assumed that the bulk of the calls to the external serial ROM (2) from the microprocessor core (3) occurs during boot.

Предполагается, что СнК выводится из состояния сброса в тот момент, когда внешнего последовательное ПЗУ (2) (например, Serial Flash) уже готово к работе. При этом микросхема Flash памяти готова к работе не сразу после подачи на нее питания, а по прошествии некоторого времени, описанного в специ- 4 039007 фикации на эту микросхему. Под состоянием сброса понимается состояние микросхемы при активном уровне сигнала сброса - сигнала Reset. Соответственно вывод системы из состояния сброса - это перевод сигнала сброса в неактивное состояние.It is assumed that the SoC is removed from the reset state at the moment when the external serial ROM (2) (for example, Serial Flash) is already ready for operation. In this case, the Flash memory microcircuit is ready for operation not immediately after power is applied to it, but after some time, described in the specification for this microcircuit. The reset state means the state of the microcircuit when the reset signal is active - the Reset signal. Accordingly, the withdrawal of the system from the reset state is the transfer of the reset signal to the inactive state.

После снятия сигнала сброса конечный автомат (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).After removing the reset signal, the state machine (6) of the device (1) automatically initializes the controller (7) of the external serial ROM (2) (for example, an SPI controller). Initialization of the external serial ROM controller means the initialization of its control register (13). In this case, implementations are possible in which the controller of the external serial ROM contains not one, but several control registers. In this case, the state machine (6) of the device (1) must automatically initialize all control registers of the controller (7) of the external serial ROM (2). Upon completion of initialization, the state machine (6) of the device (1) waits for requests from the microprocessor core (3) to read the external serial ROM (2) at the addresses mapped into the address space of the microprocessor core (3). When a read request is received from the microprocessor core (the read request is determined by the state of the control bus (10) signals and is accompanied by the receipt of an address, respectively, via the address bus (9)), the state machine (6) of the device (1) writes to the data register (14) controller (7) external serial serial ROM (2) commands for reading ROM (2), as well as the address at which the ROM is read (2). Such implementations of the controller (7) of the external serial ROM are also possible, in which the state machine (6) of the device (1) must also write to the control register (13) of the controller (7) of the external serial ROM (2) to control the transmission of the read command and address to external serial ROM (2).

После этого конечный автомат (6) устройства (1) ожидает появления кадра данных, считанных из ПЗУ (2), в регистре (14) данных контроллера (7) внешнего последовательного ПЗУ (2). Наличие данных в регистре (14) данных может быть определено либо по результатам периодических опросов регистра (12) состояния контроллера (7) последовательного ПЗУ (2), либо по состоянию каких-либо контрольных сигналов (например, сигналов прерывания), выходящих из контроллера (7) последовательного ПЗУ (2).After that, the state machine (6) of the device (1) waits for a data frame read from the ROM (2) to appear in the data register (14) of the controller (7) of the external serial ROM (2). The presence of data in the data register (14) can be determined either by the results of periodic polling of the register (12) of the controller state (7) of the serial ROM (2), or by the state of any control signals (for example, interrupt signals) coming from the controller ( 7) serial ROM (2).

После того как кадр считанных данных появляется в регистре (14) данных контроллера (7) последовательного ПЗУ, конечный автомат (6) устройства (1) производит считывание этих данных и проверяет, полностью ли было считано запрашиваемое слово данных. Если слово данных было считано не полностью, конечный автомат (6) устройства (1) ожидает появления в регистре (14) данных контроллера (7) внешнего последовательного ПЗУ (2) следующего кадра данных.After the frame of the read data appears in the data register (14) of the controller (7) of the serial ROM, the state machine (6) of the device (1) reads this data and checks whether the requested data word has been completely read. If the data word was not read completely, the state machine (6) of the device (1) waits for the next data frame to appear in the data register (14) of the controller (7) of the external serial ROM (2).

После того как запрашиваемое слово данных полностью считано из внешнего последовательного ПЗУ (2) и сформировано в регистре (4) считанных данных устройства (1), это слово данных передается в микропроцессорное ядро (3) по шине данных (8). При этом передача слова данных может сопровождаться изменением состояния сигналов шины управления (10).After the requested data word has been completely read from the external serial ROM (2) and formed in the read data register (4) of the device (1), this data word is transferred to the microprocessor core (3) via the data bus (8). In this case, the transfer of the data word can be accompanied by a change in the state of the control bus signals (10).

После того как слово данных передано микропроцессорному ядру, конечный автомат (6) устройства (1) переходит в состояние ожидания следующего запроса на чтение.After the data word has been transferred to the microprocessor core, the state machine (6) of the device (1) goes into the state of waiting for the next read request.

Для реализации описанного способа загрузки в качестве внешнего последовательного ПЗУ (2) может быть использована SPI Flash память, в качестве контроллера (7) внешнего последовательного ПЗУ (2) - контроллер SPI, а в качестве последовательного интерфейса к внешнему последовательному ПЗУ (2) используют SPI интерфейс. В этом случае ПЗУ (2) необходимо иметь всего лишь три порта для приема и передачи данных по проводам шины (15):To implement the described boot method, SPI Flash memory can be used as an external serial ROM (2), an SPI controller can be used as a controller (7) for an external serial ROM (2), and SPI can be used as a serial interface to an external serial ROM (2) interface. In this case, the ROM (2) must have only three ports for receiving and transmitting data over the bus wires (15):

вход (SC - Serial Clock) для тактирования передаваемых или принимаемых данных;input (SC - Serial Clock) for clocking the transmitted or received data;

вход (SI - Serial Input) для передачи данных от контроллера (7) к микросхеме ПЗУ (2), по этой линии побитно передают адрес, данные для записи и коды команд управления микросхемой ПЗУ (2);input (SI - Serial Input) for transferring data from the controller (7) to the ROM microcircuit (2), the address, data for recording and command codes for controlling the ROM microcircuit (2) are transmitted bit by bit along this line;

выход (SO - Serial Output) для передачи данных от ПЗУ (2) к контроллеру (7), по этой линии побитно передают читаемые данные, а также информацию о состоянии ПЗУ (2).output (SO - Serial Output) for transmitting data from the ROM (2) to the controller (7), through this line read data is transmitted bit by bit, as well as information about the status of the ROM (2).

Управление микросхемой внешнего последовательного ПЗУ (2) производится контроллером (7) внешнего последовательного ПЗУ (2) посредством набора команд этого ПЗУ. Контроллер (7) последовательного ПЗУ (2) содержит набор вспомогательных регистров, среди которых можно выделить регистр данных (14), регистр управления (13) и регистр состояния (12). При этом возможны реализации, при которых контроллер (7) внешнего последовательного ПЗУ (2) содержит несколько регистров управления и состояния, а также отдельно регистры считанных и записываемых данных. В упрощенном виде, для считывания данных из внешнего последовательного ПЗУ (2) требуется выполнить следующую последовательность операций:The control of the external serial ROM (2) microcircuit is performed by the controller (7) of the external serial ROM (2) by means of a set of commands of this ROM. The controller (7) of the serial ROM (2) contains a set of auxiliary registers, among which the data register (14), the control register (13) and the status register (12) can be distinguished. In this case, implementations are possible in which the controller (7) of the external serial ROM (2) contains several control and status registers, as well as separately registers of read and write data. In a simplified form, to read data from an external serial ROM (2), you need to perform the following sequence of operations:

инициализация регистра управления (13);initialization of the control register (13);

запись команды чтения в регистр данных (14);writing the read command to the data register (14);

запись адреса данных, располагающихся в ПЗУ, в регистр данных (14);writing the address of the data located in the ROM into the data register (14);

периодический опрос регистра состояния (12), пока не станет активным признак завершения цикла чтения кадра данных из последовательного ПЗУ (2);periodic polling of the status register (12) until the sign of the completion of the cycle of reading the data frame from the serial ROM (2) becomes active;

считывание данных из регистра данных (14).reading data from the data register (14).

Конечный автомат (6) устройства (1) в частном случае исполнения может быть представлен в виде двух автоматов - основного и вспомогательного, при этом вспомогательный автомат будет предназначенThe finite state machine (6) of the device (1) in the particular case of execution can be represented in the form of two automata - the main and the auxiliary one, while the auxiliary automaton will be designed

- 5 039007 исключительно для взаимодействия с микропроцессорным ядром (3) по выбранному протоколу и управляется основным автоматом.- 5 039007 exclusively for interaction with the microprocessor core (3) according to the selected protocol and is controlled by the main machine.

Фактически можно считать, что реализуется способ передачи данных в описанной выше компьютерной системе, включающей в себя систему на кристалле и внешнее последовательное ПЗУ, при этом система на кристалле включает в себя микропроцессорное ядро, контроллер внешнего последовательного ПЗУ для параллельной передачи слов данных, считанных из последовательного ПЗУ, и устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра с обеспечением возможности осуществления обмена данными между ним и процессорным ядром путем использования внутрисистемного интерфейса системы на кристалле, содержащего набор шин, включающий в себя, по меньшей мере, шину данных, шину адреса и шину управления, а названное устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра содержит регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро. При подключении системы на кристалле в момент готовности к работе внешнего последовательного ПЗУ с системы на кристалле снимают сигнал сброса, производится автоматическая инициализация по меньшей мере одного регистра управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, при этом ожидают от микропроцессорного ядра поступления запросов на чтение данных. При получении запроса на чтение очередного слова данных и его адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующие записи в регистр данных контроллера последовательного ПЗУ. После этого с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра выполняют чтение регистра состояния контроллера последовательного ПЗУ до тех пор, пока в регистре данных контроллера последовательного ПЗУ не появится очередной кадр данных, считанный из внешнего последовательного ПЗУ. Затем производят чтение регистра данных контроллера последовательного ПЗУ, повторяя последние две операции чтения регистра статуса и чтения регистра данных до тех пор, пока полностью не считают запрашиваемое слово данных, которое затем передают в микропроцессорное ядро по шине данных устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до момента окончания получения запросов на чтение данных из ПЗУ от микропроцессорного ядра.In fact, it can be considered that the data transfer method is implemented in the above-described computer system, which includes a system on a chip and an external serial ROM, while the system on a chip includes a microprocessor core, an external serial ROM controller for parallel transmission of data words read from the serial ROM, and a device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, enabling data exchange between it and the processor core by using the system-on-a-chip intersystem interface containing a set of buses including at least , data bus, address bus and control bus, and the named device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core contains a read data register, an address register and a state machine of the device two direct mapping of addresses, with the possibility of direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, converting read requests from the microprocessor core into a sequence of calls to the external serial ROM controller and transmitting a sequence of data words over the data bus, read from the external serial ROM to the microprocessor core. When the system-on-a-chip is connected at the moment the external serial ROM is ready for operation, the reset signal is removed from the system-on-chip, at least one control register of the external serial ROM controller is automatically initialized using the state machine of the device (1) for direct mapping of data addresses located in the external serial ROM, into the address space of the microprocessor core, while waiting for the requests to read data from the microprocessor core. Upon receipt of a request to read the next data word and its address from the microprocessor core via the control bus and via the address bus, respectively, using the state machine of the device for direct mapping of data addresses located in the external serial ROM, corresponding entries are made to the controller data register into the address space of the microprocessor core. serial ROM. After that, using the state machine of the device for direct mapping of data addresses located in the external serial ROM, the state register of the serial ROM controller is read into the address space of the microprocessor core until the next data frame read from the external one appears in the data register of the serial ROM controller. serial ROM. Then the data register of the serial ROM controller is read, repeating the last two operations of reading the status register and reading the data register until the requested data word is fully read, which is then transferred to the microprocessor core via the data bus of the device for direct mapping of data addresses located in the external serial ROM, into the address space of the microprocessor core for use in the microprocessor core, until the end of receiving requests to read data from the ROM from the microprocessor core.

При реализации способа в качестве последовательного ПЗУ можно использовать микросхему Flash памяти с последовательным интерфейсом, например с SPI интерфейсом, а в качестве контроллера (7) использовать SPI контроллер. Реализация описанного способа передачи данных может использоваться тогда, когда в качестве данных из внешнего последовательного ПЗУ считывают инструкции начального кода загрузки (в наилучшем варианте осуществления изобретения), а также после окончания передачи инструкций начального кода загрузки компьютерной системы с продолжением использования внешнего последовательного ПЗУ в качестве источника данных. При осуществлении способа сигнал сброса снимают с компьютерной системы в тот момент, когда внешнее последовательное ПЗУ уже готово к работе, при этом микропроцессор обращается к данным во внешнем последовательном ПЗУ по заранее известному для используемой архитектуры микропроцессора адресу. При получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов производят соответствующую запись также по крайней мере в один регистр управления контроллера внешнего последовательного ПЗУ. Для определения наличия кадра данных, считанного из последовательного ПЗУ, в регистре данных контроллера внешнего последовательного ПЗУ используют контрольные сигналы прерываний контроллера внешнего последовательного ПЗУ.When implementing the method, a flash memory chip with a serial interface, for example, with an SPI interface, can be used as a serial ROM, and an SPI controller can be used as a controller (7). The implementation of the described data transfer method can be used when instructions of the initial boot code are read from the external serial ROM as data (in the best embodiment of the invention), as well as after the end of the transmission of instructions of the initial boot code of the computer system with the continued use of the external serial ROM as a source data. When implementing the method, the reset signal is removed from the computer system at the moment when the external serial ROM is ready for operation, while the microprocessor accesses the data in the external serial ROM at the address known in advance for the microprocessor architecture used. When a request for reading and addresses is received from the microprocessor core via the control bus and the address bus, respectively, using the state machine, the direct address mapping devices also make a corresponding write to at least one control register of the external serial ROM controller. To determine the presence of a data frame read from the serial ROM, the interrupt control signals of the external serial ROM controller are used in the data register of the external serial ROM controller.

Осуществление описанной компьютерной системы и способа передачи данных (в т.ч. загрузки) с использованием устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра обеспечит следующие преимущества:Implementation of the described computer system and method of data transfer (including loading) using the device (1) for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core will provide the following advantages:

исключение необходимости наличия в СнК внутренних блоков памяти - начального микроПЗУ в контроллере (7) внешнего последовательного ПЗУ (2) и внутреннего ОЗУ для загрузки;elimination of the need for the presence in the SoC of internal memory blocks - the initial micro-ROM in the controller (7) of the external serial ROM (2) and internal RAM for loading;

использование последовательного интерфейса (например, SPI) между СнК и микросхемой внешнего последовательного ПЗУ (2) (например, микросхемой Flash памяти), что уменьшает коли- 6 039007 чество выводов СнК;use of a serial interface (for example, SPI) between the SoC and an external serial ROM chip (2) (for example, a Flash memory chip), which reduces the number of SoC pins;

возможность использования широкого спектра микросхем ПЗУ (2) (в частности, Flash памяти) за счет малого количества требований к данным микросхемам;the ability to use a wide range of ROM microcircuits (2) (in particular, Flash memory) due to the small number of requirements for these microcircuits;

упрощение программного доступа к данным в ПЗУ (2) за счет прямого отображения ПЗУ в адресное пространство микропроцессора и исключения, таким образом, необходимости подачи специальных команд для чтения ПЗУ (2).simplification of program access to data in ROM (2) due to direct mapping of ROM to the address space of the microprocessor and thus eliminating the need to supply special commands for reading ROM (2).

Отсутствие известных технических решений, позволяющих обеспечить указанные выше преимущества, позволяет считать, что заявленные решения отвечают требованиям патентоспособности.The lack of known technical solutions that provide the above advantages allows us to consider that the claimed solutions meet the requirements of patentability.

Claims (12)

1. Система на кристалле, включающая в себя микропроцессорное ядро, контроллер внешнего последовательного ПЗУ, отличающаяся тем, что содержит устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, а также регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро.1. A system on a chip, which includes a microprocessor core, an external serial ROM controller, characterized in that it contains a device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, as well as a read data register, an address register and a final automatic device for direct display of addresses, with the possibility of direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, converting read requests from the microprocessor core into a sequence of calls to the external serial ROM controller and transferring a sequence of data words over the data bus read from the external serial ROM to the microprocessor core. 2. Система на кристалле по п.1, отличающаяся тем, что при работе устройства прямого отображения адресов данных в качестве внешнего последовательного ПЗУ используют микросхему Flash памяти с последовательным интерфейсом.2. The system-on-chip according to claim 1, characterized in that when the device for direct mapping of data addresses is operating, a flash memory chip with a serial interface is used as an external serial ROM. 3. Система на кристалле по п.2, отличающаяся тем, что при работе устройства прямого отображения адресов данных в качестве последовательного интерфейса к внешнему последовательному ПЗУ используют SPI интерфейс, а в качестве контроллера внешнего последовательного ПЗУ используют SPI контроллер.3. System-on-a-chip according to claim 2, characterized in that when the device for direct mapping of data addresses operates, an SPI interface is used as a serial interface to an external serial ROM, and an SPI controller is used as an external serial ROM controller. 4. Система на кристалле по пп.1-3, отличающаяся тем, что в качестве данных, располагающихся во внешнем последовательном ПЗУ, используют инструкции начального кода загрузки с возможностью дальнейшего использования внешнего последовательного ПЗУ в качестве источника данных и после окончания чтения инструкций начального кода загрузки.4. System-on-chip according to claims 1 to 3, characterized in that the instructions of the initial boot code are used as the data located in the external serial ROM, with the possibility of further use of the external serial ROM as a data source and after the end of reading the instructions of the initial boot code ... 5. Способ передачи данных, характеризующийся тем, что используют компьютерную систему, включающую в себя систему на кристалле и внешнее последовательное ПЗУ, при этом система на кристалле включает в себя микропроцессорное ядро, контроллер внешнего последовательного ПЗУ для параллельной передачи слов данных, считанных из внешнего последовательного ПЗУ, и устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра с обеспечением возможности осуществления обмена данными между ним и процессорным ядром путем использования внутрисистемного интерфейса системы на кристалле, содержащего набор шин, включающий в себя, по меньшей мере, шину данных, шину адреса и шину управления, а названное устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра содержит регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, с возможностью осуществления прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра, преобразования запросов на чтение со стороны микропроцессорного ядра в последовательность обращений к контроллеру внешнего последовательного ПЗУ и передачи по шине данных последовательности слов данных, считанных из внешнего последовательного ПЗУ, в микропроцессорное ядро, при этом при подключении системы на кристалле в момент готовности к работе внешнего последовательного ПЗУ с системы на кристалле снимают сигнал сброса, производят автоматическую инициализацию по меньшей мере одного регистра управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра и ожидают от микропроцессорного ядра поступления запросов на чтение данных, а при получении запроса на чтение очередного слова данных и его адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующие записи в регистр данных контроллера внешнего последовательного ПЗУ, после чего с использованием конечного автомата устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного5. A method of data transmission, characterized in that a computer system is used that includes a system on a chip and an external serial ROM, while the system on a chip includes a microprocessor core, an external serial ROM controller for parallel transmission of data words read from the external serial ROM, and a device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, enabling data exchange between it and the processor core by using the system-on-a-chip intersystem interface containing a set of buses including at least , the data bus, the address bus and the control bus, and the named device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core contains the read data register, the address register and the state machine of the device directly address mapping, with the possibility of direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core, converting read requests from the microprocessor core into a sequence of calls to the external serial ROM controller and transferring a sequence of data words read through the data bus from the external serial ROM to the microprocessor core, while when the system-on-chip is connected at the moment when the external serial ROM is ready for operation, the reset signal is removed from the system-on-chip, at least one control register of the external serial ROM controller is automatically initialized using the state machine of the device direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor core and expect from the microprocessor core to receive requests to read data, and and receiving a request to read the next data word and its address from the microprocessor core via the control bus and via the address bus, respectively, using the state machine of the device for direct mapping of data addresses located in the external serial ROM, corresponding entries are made to the controller data register into the address space of the microprocessor core external serial ROM, then using a state machine of the device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor - 7 039007 ядра выполняют чтение регистра состояния контроллера внешнего последовательного ПЗУ до тех пор, пока в регистре данных контроллера внешнего последовательного ПЗУ не появится очередной кадр данных, считанный из внешнего последовательного ПЗУ, после чего производят чтение регистра данных контроллера внешнего последовательного ПЗУ, повторяя операции чтения регистра статуса и чтения регистра данных до тех пор, пока полностью не считают запрашиваемое слово данных, которое затем передают в микропроцессорное ядро по шине данных устройства прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до момента окончания получения запросов на чтение данных из внешнего последовательного ПЗУ от микропроцессорного ядра.- 7 039007 cores read the state register of the external serial ROM controller until the next data frame read from the external serial ROM appears in the data register of the external serial ROM controller, after which they read the data register of the external serial ROM controller, repeating the read operations the status register and reading the data register until the requested data word is fully read, which is then transferred to the microprocessor core via the data bus of the device for direct mapping of data addresses located in the external serial ROM, to the address space of the microprocessor core for use in the microprocessor core, until the end of receiving requests to read data from the external serial ROM from the microprocessor core. 6. Способ передачи данных по п.5, отличающийся тем, что при работе устройства прямого отображения адресов данных в качестве внешнего последовательного ПЗУ используют микросхему Flash памяти с последовательным интерфейсом.6. The method of data transmission according to claim 5, characterized in that during the operation of the device for direct mapping of data addresses, a flash memory chip with a serial interface is used as an external serial ROM. 7. Способ передачи данных по п.6, отличающийся тем, что при работе устройства прямого отображения адресов данных в качестве последовательного интерфейса к внешнему последовательному ПЗУ используют SPI интерфейс, а в качестве контроллера внешнего последовательного ПЗУ используют SPI контроллер.7. The method of data transmission according to claim 6, characterized in that during operation of the device for direct mapping of data addresses, an SPI interface is used as a serial interface to an external serial ROM, and an SPI controller is used as an external serial ROM controller. 8. Способ передачи данных по п.5, отличающийся тем, что в качестве данных из внешнего последовательного ПЗУ считывают инструкции начального кода загрузки.8. The method of data transmission according to claim 5, characterized in that instructions of the boot start code are read from the external serial ROM as data. 9. Способ передачи данных по п.8, отличающийся тем, что после окончания передачи инструкций начального кода загрузки компьютерной системы продолжают использовать внешнее последовательное ПЗУ в качестве источника данных.9. The method of data transmission according to claim 8, characterized in that after the end of the transmission of instructions of the initial boot code of the computer system, the external serial ROM is continued to be used as a data source. 10. Способ передачи данных по п.5, отличающийся тем, что сигнал сброса снимают с компьютерной системы в тот момент, когда внешнее последовательное ПЗУ уже готово к работе, при этом микропроцессор обращается к данным во внешнем последовательном ПЗУ по заранее известному для используемой архитектуры микропроцессора адресу.10. The method of data transmission according to claim 5, characterized in that the reset signal is removed from the computer system at the moment when the external serial ROM is ready for operation, while the microprocessor accesses the data in the external serial ROM according to the previously known microprocessor architecture address. 11. Способ передачи данных по п.5, отличающийся тем, что при получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса соответственно с использованием конечного автомата устройства прямого отображения адресов производят соответствующую запись также по крайней мере в один регистр управления контроллера внешнего последовательного ПЗУ.11. The method of transmitting data according to claim 5, characterized in that when a request for reading and an address is received from the microprocessor core via the control bus and via the address bus, respectively, using the state machine of the direct address mapping device, a corresponding write is also made to at least one register control of the external serial ROM controller. 12. Способ передачи данных по п.5, отличающийся тем, что для определения наличия кадра данных, считанного из внешнего последовательного ПЗУ, в регистре данных контроллера внешнего последовательного ПЗУ используют контрольные сигналы прерываний контроллера внешнего последовательного ПЗУ.12. The method of transmitting data according to claim 5, characterized in that interrupt control signals of the external serial ROM controller are used in the data register of the external serial ROM controller to determine the presence of a data frame read from the external serial ROM.
EA201700119A 2014-09-01 2015-09-01 Device for direct mapping of data addresses located in the external serial rom into the address space of microprocessor core, computer system, and data transmission method EA039007B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2014135505/08A RU2579942C2 (en) 2014-09-01 2014-09-01 Device for direct mapping of data addresses, located in external serial rom, to address space of microprocessor core, computer system and method of transmitting data
PCT/RU2015/000553 WO2016036281A1 (en) 2014-09-01 2015-09-01 Device for the direct mapping of data addresses

Publications (2)

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

Family

ID=53284987

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201700119A EA039007B1 (en) 2014-09-01 2015-09-01 Device for direct mapping of data addresses located in the external serial rom into the address space of microprocessor core, computer system, and data transmission method

Country Status (3)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858457B (en) * 2020-07-15 2023-01-10 苏州浪潮智能科技有限公司 Data processing method, device and system and FPGA
CN112817902B (en) * 2021-02-05 2022-08-02 中国电子科技集团公司第五十八研究所 Interconnected bare chip interface management system and initialization method thereof

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 (en) * 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> Starting system using boot code and starting method

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 (en) 2015-05-27
RU2579942C2 (en) 2016-04-10
WO2016036281A1 (en) 2016-03-10
EA201700119A1 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
JP6602823B2 (en) Extended usage range for memory devices
US7296143B2 (en) Method and system for loading processor boot code from serial flash memory
US8266369B2 (en) Flash memory interface
CN104520932B (en) flash memory controller
KR100634436B1 (en) Multi chip system and its boot code fetch method
KR101105489B1 (en) Command-based control of nand flash memory
JP2011513823A5 (en)
MX2012005183A (en) Command queue for peripheral component.
JP2003150574A (en) Microcomputer
US7725621B2 (en) Semiconductor device and data transfer method
US11068283B2 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
WO2013192633A2 (en) Virtual memory module
US6782463B2 (en) Shared memory array
EP3270293B1 (en) Two stage command buffers to overlap iommu map and second tier memory reads
EA039007B1 (en) Device for direct mapping of data addresses located in the external serial rom into the address space of microprocessor core, computer system, and data transmission method
CN110765065A (en) System on chip
EA038978B1 (en) Device for direct mapping of data addresses located in the external serial rom into the address space of microprocessor core, computer system, and data transmission method
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
RU155208U1 (en) COMPUTER SYSTEM
KR101030385B1 (en) Booting apparatus and method for system with only internal memory
US8677033B2 (en) Method for initializing registers of peripherals in a microcontroller
US20230376340A1 (en) Memory system and operating method thereof
KR101028855B1 (en) Serial Flash Controller
US20170206099A1 (en) Circuitry for configuring entities
JP2002049607A (en) Microcomputer with built-in cache