EA038978B1 - 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
EA038978B1
EA038978B1 EA201700120A EA201700120A EA038978B1 EA 038978 B1 EA038978 B1 EA 038978B1 EA 201700120 A EA201700120 A EA 201700120A EA 201700120 A EA201700120 A EA 201700120A EA 038978 B1 EA038978 B1 EA 038978B1
Authority
EA
Eurasian Patent Office
Prior art keywords
computer system
data
external serial
microprocessor
serial rom
Prior art date
Application number
EA201700120A
Other languages
Russian (ru)
Other versions
EA201700120A1 (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 EA201700120A1 publication Critical patent/EA201700120A1/en
Publication of EA038978B1 publication Critical patent/EA038978B1/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 to optimize the execution of initialization program from the external serial ROM by mapping the data addresses located in the external serial ROM into the address space of a microprocessor. The computer system includes a system-on-a-chip and external serial ROM; at this time, the system-on-a-chip comprises: a microprocessor containing at least one microprocessor core; a controller of the external serial ROM; a device for direct mapping of data addresses located in the external serial ROM into the address space of the microprocessor; at least one interface device; at least one internal memory storage; and the internal commutation device ensuring the interaction between the microprocessor and other devices of the system-on-a-chip; moreover, the device for direct mapping of data addresses located in the external serial ROM into the address space of the microprocessor core includes the read data register, the address register, and the finite automation of the address direct mapping device.

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 in relation to inexpensive computer systems with a small amount of random access memory and transmission methods data in 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 obtaining 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 page-by-page data is retrieved from the non-volatile memory, the data page itself including instructions to load the device. 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 the solutions for this patent is that this patent implies the use of a multi-signal interface for 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 bootable 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 preselected 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 that it uses a multi-signal interface between the microprocessor and the NAND Flash microcircuit, which, firstly, requires a large number of pins of the system microcircuit on crystal (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 the serial flash memory, and a flash memory chip using this device, while a ROM controller with with a certain amount of data storage, it 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 unit 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.

Все известные решения объединяет то, что после включения питания, микросхема СнК, содержа- 1 038978 щая микропроцессорное ядро, начинает процедуру начальной инициализации, для чего микропроцессорное ядро начинает считывать и выполнять инструкции программы начальной инициализации с некоторого начального адреса в собственном адресном пространстве. Т.е. программа начальной инициализации располагается в загрузочном энергонезависимом постоянном запоминающем устройстве (ПЗУ), выполненном, например, по технологии Flash, или загрузочное ПЗУ реализуют в составе микросхемы, что требует наличия специального технологического процесса, делает процесс изготовления микросхемы дороже. При использовании другого более дешевого и распространенного варианта с применением внешней микросхемы загрузочного ПЗУ типа Flash для доступа к загрузочному ПЗУ параллельного типа требуется несколько десятков выводов микросхемы СнК, в том числе, выводы адреса, данных и управления.All known solutions are united by the fact that after turning on the power, the SoC microcircuit containing the microprocessor core begins 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, 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 and the complexity of the design. 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, which includes a microprocessor core (3), an external serial ROM controller (7), as well as an intermediate block (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 038978 тельном ПЗУ, в адресное пространство микропроцессорного ядра, шины данных, шины адреса и шины управления, в момент готовности к работе внешнего последовательного ПЗУ с компьютерной системы снимают сигнал сброса, производят автоматическую инициализацию одного или нескольких регистров управления контроллера внешнего последовательного ПЗУ с использованием конечного автомата устройства прямого отображения в адресное пространство микропроцессорного ядра адресов данных, располагающихся во внешнем последовательном ПЗУ, содержащем начальный код загрузки, и ожидают от микропроцессорного ядра поступления запросов на чтение, а при получении запроса на чтение и адреса от микропроцессорного ядра по шине управления и по шине адреса, соответственно, с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра производят соответствующую запись в регистр данных и, быть может, в регистр управления контроллера внешнего последовательного ПЗУ, после этого с использованием конечного автомата устройства (1) прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессорного ядра выполняют чтение регистра данных контроллера внешнего последовательного ПЗУ до тех пор, пока полностью не считают слово данных, которое затем передают в микропроцессорное ядро по шине данных блока прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ (2), в адресное пространство микропроцессорного ядра для использования в микропроцессорном ядре, до окончания получения запросов на чтение данных из ПЗУ (2). Несмотря на то, что основная часть обращений на чтение ПЗУ со стороны микропроцессора происходит во время загрузки, такие обращения могут поступать в течение всей работы компьютерной системы, что позволяет использовать внешнее последовательное ПЗУ в качестве источника данных и после загрузки.- 2 038978 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, Perhaps, in 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 with the possibility of rejection of 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 is 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 addresses of the data, which are instructions of the initial boot code stored in the external serial ROM, but the purpose of the device (1) may not be limited to this function because 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 - a computer system (Fig. 1) includes a system on a chip and an external serial ROM. In this case, the system on a crystal

- 3 038978 ле с использованием устройства (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 038978 le using a device (1) for direct mapping of data addresses located in an external serial ROM (2) to a microprocessor core (3), while the system on a chip includes a microprocessor core (3), a controller (7) of an 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), an appropriate write is made to the data register (14) and, perhaps, to the control register (13) of the controller (7) external serial ROM (2), then, using the state machine (6) of the device (1), read 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 038978 фикации на эту микросхему. Под состоянием сброса понимается состояние микросхемы при активном уровне сигнала сброса - сигнала 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 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 is 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), and an SPI controller can be used as a controller (7) for an external serial ROM (2), and an SPI controller can be used as a serial interface to an external serial ROM (2). SPI 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 038978 исключительно для взаимодействия с микропроцессорным ядром (3) по выбранному протоколу и управляется основным автоматом.- 5 038978 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 transferring 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. When a request for reading the next data word and its address is received 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 register into the address space of the microprocessor core serial ROM controller data. 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 an address is received from the microprocessor core via the control bus and via 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 038978 дов СнК;use of a serial interface (for example, SPI) between 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 (32)

1. Компьютерная система, отличающаяся тем, что включает в себя систему на кристалле и внешнее последовательное ПЗУ, при этом система на кристалле включает в себя:1. A computer system characterized in that it includes a system on a chip and an external serial ROM, while the system on a chip includes: ми кропроцессор, содержащий по меньшей мере одно микропроцессорное ядро;microprocessor containing at least one microprocessor core; ко нтроллер внешнего последовательного ПЗУ;external serial ROM controller; ус тройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессора;device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor; по меньшей мере одно интерфейсное устройство;at least one interface device; по меньшей мере одно устройство внутренней памяти; и ус тройство внутренней коммутации, обеспечивающее взаимодействие между микропроцессором и остальными устройствами системы на кристалле и находящееся между соединенным с контроллером внешнего последовательного ПЗУ устройством прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессора, соединенным с контроллером внешнего последовательного ПЗУ, и другими вышеназванными устройствами;at least one internal memory device; and an internal switching device that provides interaction between the microprocessor and the rest of the system-on-chip devices and located between the device connected to the external serial ROM controller, a device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor, connected to the external serial ROM controller, and other aforementioned devices; при этом названное устройство прямого отображения адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессора содержит регистр считанных данных, регистр адреса и конечный автомат устройства прямого отображения адресов, позволяет осуществлять прямое отображение адресов данных, располагающихся во внешнем последовательном ПЗУ, в адресное пространство микропроцессора и преобразовывает запросы на чтение со стороны микропроцессора в последовательность обращений к контроллеру внешнего последовательного ПЗУ, а считанную из внешнего последовательного ПЗУ последовательность слов данных передает по шине данных из устройства отображения в микропроцессор через устройства внутренней коммутации, при этом устройство внутренней коммутации работает с микропроцессором и с каждым из устройств системы на кристалле с использованием внутрисистемного интерфейса, содержащего наборы шин, каждый из которых включает в себя по меньшей мере одну шину данных, по меньшей мере одну шину адреса и по меньшей мере одну шину управления.in this case, the named device for direct mapping of data addresses located in the external serial ROM to the address space of the microprocessor contains a read data register, an address register and a state machine of a direct address mapping device, allows direct mapping of data addresses located in an external serial ROM into the address space microprocessor and converts the read requests from the microprocessor into a sequence of calls to the external serial ROM controller, and the sequence of data words read from the external serial ROM is transferred via the data bus from the display device to the microprocessor through the internal switching devices, while the internal switching device works with the microprocessor and with each of the system-on-chip devices using an intra-system interface containing sets of buses, each of which includes at least one data bus of at least There is one address bus and at least one control bus. 2. Компьютерная система по п.1, отличающаяся тем, что при работе устройства прямого отображения адресов данных в качестве внешнего последовательного ПЗУ используют микросхему Flash памяти с последовательным интерфейсом.2. A computer system according to claim 1, characterized in that during 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. 3. Компьютерная система по п.2, отличающаяся тем, что при работе устройства прямого отображения адресов данных в качестве последовательного интерфейса к внешнему последовательному ПЗУ используют SPI интерфейс, а в качестве контроллера внешнего последовательного ПЗУ используют SPI контроллер.3. A computer system according to claim 2, 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. 4. Компьютерная система по п.1, отличающаяся тем, что устройство прямого отображения адресов данных выполнено с возможностью отображения в адресное пространство микропроцессора, содержащего по меньшей мере одно микропроцессорное ядро, адресов данных, являющихся инструкциями начального кода загрузки.4. The computer system according to claim 1, characterized in that the device for direct mapping of data addresses is configured to map into the address space of a microprocessor containing at least one microprocessor core, data addresses that are instructions of the initial boot code. 5. Компьютерная система по п.2, отличающаяся тем, что устройство прямого отображения адресов данных выполнено с возможностью отображения в адресное пространство микропроцессора, содержащего, по меньшей мере, одно микропроцессорное ядро, адресов данных, являющихся инструкциями начального кода загрузки.5. A computer system according to claim 2, characterized in that the device for direct mapping of data addresses is configured to map into the address space of a microprocessor containing at least one microprocessor core, data addresses that are instructions of the initial boot code. 6. Компьютерная система по п.3, отличающаяся тем, что устройство прямого отображения адресов данных выполнено с возможностью отображения в адресное пространство микропроцессора, содержащего по меньшей мере одно микропроцессорное ядро, адресов данных, являющихся инструкциями начального кода загрузки.6. A computer system according to claim 3, characterized in that the device for direct mapping of data addresses is configured to map into the address space of a microprocessor containing at least one microprocessor core, data addresses that are instructions of the initial boot code. 7. Компьютерная система по п.4, отличающаяся тем, что устройство прямого отображения адресов данных выполнено с возможностью использования внешнего последовательного ПЗУ в качестве источника данных и после завершения чтения инструкций начального кода загрузки.7. The computer system according to claim 4, characterized in that the device for direct mapping of data addresses is configured to use an external serial ROM as a data source and after completion of reading instructions of the initial boot code. 8. Компьютерная система по п.5, отличающаяся тем, что устройство прямого отображения адресов данных выполнено с возможностью использования внешнего последовательного ПЗУ в качестве источника данных и после завершения чтения инструкций начального кода загрузки.8. A computer system according to claim 5, characterized in that the device for direct mapping of data addresses is configured to use an external serial ROM as a data source and after completion of reading instructions of the initial boot code. 9. Компьютерная система по п.6, отличающаяся тем, что устройство прямого отображения адресов9. The computer system of claim 6, wherein the device for direct mapping of addresses - 7 038978 данных выполнено с возможностью использования внешнего последовательного ПЗУ в качестве источника данных и после завершения чтения инструкций начального кода загрузки.- 7,038978 data is made with the possibility of using the external serial ROM as a data source and after the completion of reading the instructions of the boot start code. 10. Компьютерная система по п.1, отличающаяся тем, что контроллер внешнего последовательного10. The computer system of claim 1, wherein the external serial controller ПЗУ включает в себя конечный автомат контроллера внешнего последовательного ПЗУ, регистр данных, по меньшей мере один регистр управления и по меньшей мере один регистр адреса.The ROM includes an external serial ROM controller state machine, a data register, at least one control register, and at least one address register. 11. Компьютерная система по п.2, отличающаяся тем, что контроллер внешнего последовательного ПЗУ включает в себя конечный автомат контроллера внешнего последовательного ПЗУ, регистр данных, по меньшей мере, один регистр управления, и, по меньшей мере, один регистр адреса.11. The computer system of claim 2, wherein the external serial ROM controller includes a state machine of the external serial ROM controller, a data register, at least one control register, and at least one address register. 12. Компьютерная система по п.3, отличающаяся тем, что контроллер внешнего последовательного ПЗУ включает в себя конечный автомат контроллера внешнего последовательного ПЗУ, регистр данных по меньшей мере один регистр управления и по меньшей мере один регистр адреса.12. The computer system of claim 3, wherein the external serial ROM controller includes a state machine of the external serial ROM controller, a data register, at least one control register, and at least one address register. 13. Компьютерная система по п.1, отличающаяся тем, что микропроцессорные ядра образуют кластеры.13. The computer system of claim 1, wherein the microprocessor cores form clusters. 14. Компьютерная система по п.2, отличающаяся тем, что микропроцессорные ядра образуют кластеры.14. The computer system of claim 2, wherein the microprocessor cores form clusters. 15. Компьютерная система по п.3, отличающаяся тем, что микропроцессорные ядра образуют кластеры.15. The computer system of claim 3, wherein the microprocessor cores form clusters. 16. Компьютерная система по п.4, отличающаяся тем, что микропроцессорные ядра образуют кластеры.16. The computer system of claim 4, wherein the microprocessor cores form clusters. 17. Компьютерная система по п.5, отличающаяся тем, что микропроцессорные ядра образуют кластеры.17. The computer system of claim 5, wherein the microprocessor cores form clusters. 18. Компьютерная система по п.6, отличающаяся тем, что микропроцессорные ядра образуют кластеры.18. The computer system of claim 6, wherein the microprocessor cores form clusters. 19. Компьютерная система по п.7, отличающаяся тем, что микропроцессорные ядра образуют кластеры.19. The computer system of claim 7, wherein the microprocessor cores form clusters. 20. Компьютерная система по п.8, отличающаяся тем, что микропроцессорные ядра образуют кластеры.20. The computer system of claim 8, wherein the microprocessor cores form clusters. 21. Компьютерная система по п.8, отличающаяся тем, что микропроцессорные ядра образуют кластеры.21. The computer system of claim 8, wherein the microprocessor cores form clusters. 22. Компьютерная система по п.1, отличающаяся тем, что в качестве устройства внутренней коммутации используют устройство внутренней коммутации, поддерживающее DMA (Direct Memory Access).22. A computer system according to claim 1, characterized in that an internal switching device supporting DMA (Direct Memory Access) is used as the internal switching device. 23. Компьютерная система по п.2, отличающаяся тем, что в качестве устройства внутренней коммутации используют устройство внутренней коммутации, поддерживающее DMA (Direct Memory Access).23. A computer system according to claim 2, characterized in that an internal switching device supporting DMA (Direct Memory Access) is used as the internal switching device. 24. Компьютерная система по п.3, отличающаяся тем, что в качестве устройства внутренней коммутации используют устройство внутренней коммутации, поддерживающее DMA (Direct Memory Access).24. A computer system according to claim 3, characterized in that an internal switching device supporting DMA (Direct Memory Access) is used as the internal switching device. 25. Компьютерная система по п.10, отличающаяся тем, что в качестве устройства внутренней коммутации используют устройство внутренней коммутации, поддерживающее DMA (Direct Memory Access).25. A computer system according to claim 10, characterized in that an internal switching device supporting DMA (Direct Memory Access) is used as the internal switching device. 26. Компьютерная система по п.11, отличающаяся тем, что в качестве устройства внутренней коммутации используют устройство внутренней коммутации, поддерживающее DMA (Direct Memory Access).26. A computer system according to claim 11, characterized in that an internal switching device supporting DMA (Direct Memory Access) is used as the internal switching device. 27. Компьютерная система по п.12, отличающаяся тем, что в качестве устройства внутренней коммутации используют устройство внутренней коммутации, поддерживающее DMA (Direct Memory Access).27. A computer system according to claim 12, characterized in that an internal switching device supporting DMA (Direct Memory Access) is used as the internal switching device. 28. Компьютерная система по любому из пп.1-27, отличающаяся тем, что в качестве устройства внутренней памяти используют память типа SRAM (Static Random Access Memory).28. A computer system according to any one of claims 1 to 27, characterized in that SRAM (Static Random Access Memory) is used as an internal memory device. 29. Компьютерная система по любому из пп.1-27, отличающаяся тем, что в качестве устройства внутренней памяти используют память типа ROM (Read Only Memory).29. A computer system according to any one of claims 1 to 27, characterized in that ROM (Read Only Memory) is used as the internal memory. 30. Компьютерная система по пп.1-27, отличающаяся тем, что в качестве внутрисистемного интерфейса используют интерфейс типа АМВА.30. A computer system according to claims 1 to 27, characterized in that an AMBA-type interface is used as an intra-system interface. 31. Компьютерная система по пп.1-27, отличающаяся тем, что в качестве внутрисистемного интерфейса используют интерфейс OCR.31. A computer system according to claims 1 to 27, characterized in that an OCR interface is used as an intra-system interface. 32. Компьютерная система пп.1-27, отличающаяся тем, что в качестве интерфейсного устройства используют устройство контроллера Gigabit Ethernet или устройство контроллера PCI (Peripheral component interconnect) или устройство контроллера PCI Express или SATA (Serial Advanced Technology Attachment) или устройство контроллера DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) или устройство контроллера USB (Universal Serial Bus) или устройства контроллеров низкоскоростных последовательных периферийных устройств или устройство контроллера вывода видеоинформации или устройства контроллера ввода/вывода звуковой информации.32. Computer system of claims 1-27, characterized in that the interface device is a Gigabit Ethernet controller device or a PCI (Peripheral component interconnect) controller device or a PCI Express or SATA controller device (Serial Advanced Technology Attachment) or a DDR SDRAM controller device (Double Data Rate Synchronous Dynamic Random Access Memory) or USB (Universal Serial Bus) controller device or low-speed serial peripheral controller devices or video output controller device or audio input / output controller device.
EA201700120A 2014-09-30 2015-09-30 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 EA038978B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2014139279/08A RU2579949C2 (en) 2014-09-30 2014-09-30 Computer system
PCT/RU2015/000626 WO2016053146A1 (en) 2014-09-30 2015-09-30 Computer system

Publications (2)

Publication Number Publication Date
EA201700120A1 EA201700120A1 (en) 2017-10-31
EA038978B1 true EA038978B1 (en) 2021-11-17

Family

ID=53284988

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201700120A EA038978B1 (en) 2014-09-30 2015-09-30 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) EA038978B1 (en)
RU (1) RU2579949C2 (en)
WO (1) WO2016053146A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016224747A1 (en) * 2016-12-12 2018-06-14 Robert Bosch Gmbh control unit

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
RU2014139279A (en) 2015-05-27
WO2016053146A1 (en) 2016-04-07
RU2579949C2 (en) 2016-04-10
EA201700120A1 (en) 2017-10-31
WO2016053146A8 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
JP6602823B2 (en) Extended usage range for memory devices
US8266369B2 (en) Flash memory interface
CN104520932B (en) flash memory controller
US7296143B2 (en) Method and system for loading processor boot code from serial flash memory
MX2012005183A (en) Command queue for peripheral component.
KR100634436B1 (en) Multi chip system and its boot code fetch method
KR20060113248A (en) An apparatus and method for controlling nand flash memory
US10776042B2 (en) Methods for garbage collection and apparatuses using the same
US7725621B2 (en) Semiconductor device and data transfer method
US11068283B2 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
CN109471819B (en) Storage device providing short read response time for read requests from a host
US20190354483A1 (en) Controller and memory system including the same
TW201447573A (en) Serial peripheral interface (SPI) controller, serial peripheral interface flash memory and access method and access control method thereof
CN111984559B (en) System and memory device for data transfer
US10467020B2 (en) Memory device, and information-processing device
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
TWI471731B (en) Memory access method, memory access control method, spi flash memory device and spi controller
JP3804832B2 (en) Memory device and computer system
RU155208U1 (en) COMPUTER SYSTEM
CN109726149B (en) Method and device for accessing NAND FLASH through AXI bus
CN114625307A (en) Computer readable storage medium, and data reading method and device of flash memory chip
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
US8677033B2 (en) Method for initializing registers of peripherals in a microcontroller