JP2015141500A - Digital signal processor system and signal processor - Google Patents

Digital signal processor system and signal processor Download PDF

Info

Publication number
JP2015141500A
JP2015141500A JP2014013255A JP2014013255A JP2015141500A JP 2015141500 A JP2015141500 A JP 2015141500A JP 2014013255 A JP2014013255 A JP 2014013255A JP 2014013255 A JP2014013255 A JP 2014013255A JP 2015141500 A JP2015141500 A JP 2015141500A
Authority
JP
Japan
Prior art keywords
program data
signal processor
digital signal
dsp
activation
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2014013255A
Other languages
Japanese (ja)
Inventor
憲之 小川
Noriyuki Ogawa
憲之 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014013255A priority Critical patent/JP2015141500A/en
Publication of JP2015141500A publication Critical patent/JP2015141500A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a digital signal processor system and a signal processor capable of realizing both flexibility and damper resistance for change in program data on a digital signal processor.SOLUTION: In a digital signal processor system of an embodiment, if a first digital signal processor and a second signal processor each read activation program data from a nonvolatile memory, execute the activation program data, and are activated (go through first activation), the first digital signal processor turns into a state of being able to receive a decoding command from an external device and then, in response to the decoding command, decodes encrypted program data stored in the nonvolatile memory by a decoding unit, exerts an activation control over the second digital signal processor to go through a second activation by executing the decoded program data in response to an activation signal captured from the external device, and executes the decoded program data to go through second activation.

Description

本発明の実施形態は、デジタルシグナルプロセッサシステムおよび信号処理装置に関する。   Embodiments described herein relate generally to a digital signal processor system and a signal processing apparatus.

複数のデジタルシグナルプロセッサ(Digital Signal Processor;DSP)とフラッシュROM(Flash Read Only Memory)とを搭載したDSPカードが知られている。DSPカードに搭載された複数のDSPは、フラッシュROMから読み込んだプログラムデータを実行することにより、デジタル信号処理を行う。従来のDSPカードでは、信号処理の目的に応じてプログラムデータを選択したり上位バージョンに更新したりできる、プログラムデータの変更に対する柔軟性と、耐タンパ性とを両立させることが困難であった。   2. Description of the Related Art A DSP card equipped with a plurality of digital signal processors (DSP) and a flash ROM (Flash Read Only Memory) is known. A plurality of DSPs mounted on the DSP card perform digital signal processing by executing program data read from the flash ROM. In the conventional DSP card, it is difficult to achieve both the flexibility for changing the program data and the tamper resistance, which can select the program data according to the purpose of the signal processing or update to a higher version.

特開2008−71107号公報JP 2008-71107 A

本発明が解決しようとする課題は、デジタルシグナルプロセッサのプログラムデータの変更に対する柔軟性と耐タンパ性とを両立させることができる、デジタルシグナルプロセッサシステムおよび信号処理装置を提供することである。   The problem to be solved by the present invention is to provide a digital signal processor system and a signal processing device that can achieve both flexibility and tamper resistance against changes in program data of the digital signal processor.

実施形態のデジタルシグナルプロセッサシステムは、第1のデジタルシグナルプロセッサと、第2のデジタルシグナルプロセッサと、不揮発性メモリと、揮発性メモリと、復号部とを持つ。不揮発性メモリは、前記第1のデジタルシグナルプロセッサおよび前記第2のデジタルシグナルプロセッサを第1起動させるための起動プログラムデータを記憶する。揮発性メモリは、外部装置から転送される暗号化プログラムデータを記憶する。復号部は、前記暗号化プログラムデータを復号する。そして、前記第1のデジタルシグナルプロセッサおよび前記第2のデジタルシグナルプロセッサそれぞれが、前記不揮発性メモリから前記起動プログラムデータを読み込んで実行し前記第1起動すると、前記第1のデジタルシグナルプロセッサが、前記外部装置から復号命令を受け付け可能な状態になり、その後、前記復号命令を受信すると、前記揮発性メモリに記憶された前記暗号化プログラムデータを前記復号部によって復号させ、前記外部装置から取り込む起動命令にしたがって、前記第2のデジタルシグナルプロセッサに、前記復号されたプログラムデータを実行させて第2起動するよう起動制御し、前記復号されたプログラムデータを実行し前記第2起動する。   The digital signal processor system of the embodiment includes a first digital signal processor, a second digital signal processor, a nonvolatile memory, a volatile memory, and a decoding unit. The non-volatile memory stores start program data for first starting the first digital signal processor and the second digital signal processor. The volatile memory stores encrypted program data transferred from an external device. The decryption unit decrypts the encrypted program data. When each of the first digital signal processor and the second digital signal processor reads and executes the activation program data from the nonvolatile memory and performs the first activation, the first digital signal processor When the decryption command is received from the external device and then the decryption command is received, the decryption unit decrypts the encrypted program data stored in the volatile memory, and the activation command is fetched from the external device Accordingly, the second digital signal processor is caused to execute the decrypted program data to perform a second activation so as to execute the decrypted program data and perform the second activation.

実施形態のデジタルシグナルプロセッサシステムおよび信号処理装置を含む信号処理システム全体の構成図。The block diagram of the whole signal processing system containing the digital signal processor system and signal processing apparatus of embodiment. ファイルサーバの処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of a file server. CPUカードの処理手順の一例を示すフローチャート。The flowchart which shows an example of the processing procedure of a CPU card. CPUカードの処理手順の一例を示すフローチャート。The flowchart which shows an example of the processing procedure of a CPU card. DSPカードのマスタDSPの起動の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of starting of the master DSP of a DSP card. DSPカードのマスタDSPの起動の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of starting of the master DSP of a DSP card. DSPカードのスレーブDSPの起動の処理手順の一例を示すフローチャート。The flowchart which shows an example of the process sequence of starting of the slave DSP of a DSP card.

以下、実施形態のデジタルシグナルプロセッサシステムを、図面を参照して説明する。
図1は、実施形態のデジタルシグナルプロセッサシステムおよび信号処理装置を含む信号処理システム全体の構成図である。同図に示すように、信号処理システムは、ファイルサーバ100と、信号処理装置50とを含む。ファイルサーバ100と信号処理装置50とは、ネットワーク200を介して接続される。
Hereinafter, a digital signal processor system according to an embodiment will be described with reference to the drawings.
FIG. 1 is a configuration diagram of an entire signal processing system including a digital signal processor system and a signal processing device according to an embodiment. As shown in the figure, the signal processing system includes a file server 100 and a signal processing device 50. The file server 100 and the signal processing device 50 are connected via the network 200.

ネットワーク200は、例えば、インターネットプロトコル(Internet Protocol;IP)により通信可能なコンピュータネットワークである。ネットワーク200は、有線によるネットワークおよび無線によるネットワークの組み合わせであってもよいし、いずれかであってもよい。   The network 200 is a computer network capable of communication using, for example, the Internet protocol (IP). The network 200 may be a combination of a wired network and a wireless network, or any one of them.

図1に示すように、ファイルサーバ100は、HDD(Hard Disk Drive)101と、暗号化部102と、LANコントローラ(Local Area Network Controller)103と、CPU(Central Processing Unit)104と、RAM(Random Access Memory)105とを備える。   As shown in FIG. 1, a file server 100 includes an HDD (Hard Disk Drive) 101, an encryption unit 102, a LAN controller (Local Area Network Controller) 103, a CPU (Central Processing Unit) 104, and a RAM (Random). (Access Memory) 105.

HDD101は、信号処理装置50に搭載されるデジタルシグナルプロセッサが実行するためのプログラムデータ(DSPプログラムデータ)をファイル化して記憶する。HDD101は、DSPによる信号処理目的別に、複数種類のプログラムデータを記憶している。
CPU104は、RAM105に展開された信号処理装置管理プログラムのコードを実行することにより、後述する信号処理装置50の管理処理を行う。LANコントローラ103は、CPU104の制御に基づいて、信号処理装置50と通信を行う。
The HDD 101 stores program data (DSP program data) to be executed by a digital signal processor mounted on the signal processing device 50 as a file. The HDD 101 stores a plurality of types of program data for each purpose of signal processing by the DSP.
The CPU 104 performs management processing of the signal processing device 50 described later by executing the code of the signal processing device management program expanded in the RAM 105. The LAN controller 103 communicates with the signal processing device 50 based on the control of the CPU 104.

暗号化部102は、HDD101に格納された複数種類のプログラムデータの中から、ユーザによって選択されたプログラムデータを暗号化して暗号化プログラムデータを生成し、この暗号化プログラムデータをRAM105に記憶する。暗号化部102は、例えば、転置法によってプログラムデータの暗号化を行う。
なお、暗号化部102は、ハードウェアにより実現されてもよいし、CPU104が実行するソフトウェアにより実現されてもよい。
The encryption unit 102 encrypts program data selected by the user from a plurality of types of program data stored in the HDD 101 to generate encrypted program data, and stores the encrypted program data in the RAM 105. The encryption unit 102 encrypts program data by, for example, a transposition method.
The encryption unit 102 may be realized by hardware or may be realized by software executed by the CPU 104.

信号処理装置50の管理処理として、ファイルサーバ100は、例えばユーザの操作によって選択されたプログラムデータを暗号化し、暗号化プログラムデータを生成する。また、ファイルサーバ100は、生成した暗号化プログラムデータと、この暗号化プログラムデータを復号するための復号鍵とを、信号処理装置50に送信する。また、ファイルサーバ100は、信号処理装置50に暗号化プログラムデータを復号させるための復号命令を信号処理装置50に送信する。また、ファイルサーバ100は、信号処理装置50から復号結果を受信した後、DSPにプログラムデータを実行させるための起動命令を信号処理装置50に送信する。   As a management process of the signal processing device 50, the file server 100 encrypts program data selected by a user operation, for example, and generates encrypted program data. Further, the file server 100 transmits the generated encrypted program data and a decryption key for decrypting the encrypted program data to the signal processing device 50. In addition, the file server 100 transmits a decryption command for causing the signal processing device 50 to decrypt the encrypted program data to the signal processing device 50. Further, after receiving the decoding result from the signal processing device 50, the file server 100 transmits an activation command for causing the DSP to execute the program data to the signal processing device 50.

図1に示すように、信号処理装置50は、CPUカード40(外部装置)と、DSPカード10−1と、DSPカード10−2とを備える。CPUカード40と、DSPカード10−1と、DSPカード10−2とは、バス20を介して接続されている。バス20は、例えば、VMEバス(VERSAmodule Eurocard Bus)である。   As shown in FIG. 1, the signal processing device 50 includes a CPU card 40 (external device), a DSP card 10-1, and a DSP card 10-2. The CPU card 40, the DSP card 10-1, and the DSP card 10-2 are connected via the bus 20. The bus 20 is, for example, a VME bus (VERSA module Eurocard Bus).

なお、以下の説明において、DSPカード10−1とDSPカード10−2とを区別しないで述べる場合は、単にDSPカード10(デジタルシグナルプロセッサシステム)と記載する場合がある。本実施形態において、信号処理装置50は、2枚のDSPカード10を備える例であるが、DSPカード10の枚数は2枚に限定されず、1枚でもよいし、3枚以上でもよい。   In the following description, when the DSP card 10-1 and the DSP card 10-2 are not distinguished from each other, they may be simply referred to as the DSP card 10 (digital signal processor system). In the present embodiment, the signal processing device 50 is an example including two DSP cards 10, but the number of DSP cards 10 is not limited to two, and may be one or three or more.

図1に示すように、CPUカード40は、ホストCPU30と、RAMDISK31とを備える。   As shown in FIG. 1, the CPU card 40 includes a host CPU 30 and a RAMDISK 31.

ホストCPU30は、ファイルサーバ100とDSPカード10とを中継する処理部であり、また、RAMDISK31の制御部である。ホストCPU30には、RAMDISK31が接続されている。ホストCPU30は、制御プログラムを実行することによって動作する。この制御プログラムは、ホストCPU30に内蔵されていてもよいし、ファイルサーバ100からホストCPU30にダウンロードされてもよい。   The host CPU 30 is a processing unit that relays between the file server 100 and the DSP card 10 and is a control unit of the RAMDISK 31. A RAMDISK 31 is connected to the host CPU 30. The host CPU 30 operates by executing a control program. This control program may be built in the host CPU 30 or downloaded from the file server 100 to the host CPU 30.

ホストCPU30は、ファイルサーバ100が送信した暗号化プログラムデータを受信すると、この暗号化プログラムデータをRAMDISK31に記憶(ロード)させる。また、ホストCPU30は、RAMDISK31から暗号化プログラムデータを読み出して、この暗号化プログラムデータをDSPカード10に送信する。また、ホストCPU30は、ファイルサーバ100が送信した復号鍵を受信すると、この復号鍵を内蔵するメモリに記憶させる。また、ホストCPU30は、そのメモリから復号鍵を読み出して、この復号鍵をDSPカード10に送信する。   When the host CPU 30 receives the encrypted program data transmitted from the file server 100, the host CPU 30 stores (loads) the encrypted program data in the RAMDISK 31. The host CPU 30 reads the encrypted program data from the RAMDISK 31 and transmits the encrypted program data to the DSP card 10. Further, when receiving the decryption key transmitted from the file server 100, the host CPU 30 stores the decryption key in a built-in memory. Further, the host CPU 30 reads the decryption key from the memory and transmits the decryption key to the DSP card 10.

RAMDISK31は、機械的な駆動部を具備しない大容量の外部記憶装置である。RAMDISK31は、例えば、揮発性の半導体メモリにより構成されたソリッドステートドライブである。CPUカード40に搭載されるRAMDISK31をソリッドステートドライブにより実現することにより、信号処理装置50を、機械的な駆動部を具備しない装置のみで構成することができる。この構成により、信号処理装置50の耐震性および防塵性を向上させることができる。   The RAMDISK 31 is a large-capacity external storage device that does not include a mechanical drive unit. The RAMDISK 31 is a solid state drive configured by, for example, a volatile semiconductor memory. By realizing the RAMDISK 31 mounted on the CPU card 40 by a solid state drive, the signal processing device 50 can be configured only by a device that does not include a mechanical drive unit. With this configuration, the earthquake resistance and dust resistance of the signal processing device 50 can be improved.

図1に示すように、DSPカード10−1は、DSP1−1(第1のデジタルシグナルプロセッサ)と、DSP1−2(第2のデジタルシグナルプロセッサ)と、バスブリッジ3と、RAM4と、復号部5と、ROM6とを備える。RAM4は、バス9を介してバスブリッジ3に接続されている。DSP1−1とDSP1−2とは、バス7を介してバスブリッジ3に接続されている。復号部5とROM6とは、バス8を介してバスブリッジ3に接続されている。   As shown in FIG. 1, the DSP card 10-1 includes a DSP 1-1 (first digital signal processor), a DSP 1-2 (second digital signal processor), a bus bridge 3, a RAM 4, and a decoding unit. 5 and ROM 6. The RAM 4 is connected to the bus bridge 3 via the bus 9. The DSP 1-1 and the DSP 1-2 are connected to the bus bridge 3 via the bus 7. The decoding unit 5 and the ROM 6 are connected to the bus bridge 3 via the bus 8.

DSPカード10−2も、DSPカード10−1と同様の構成を有する。よって、本実施形態では、DSPカード10−1についてその構成の詳細を説明する。   The DSP card 10-2 has the same configuration as the DSP card 10-1. Therefore, in the present embodiment, details of the configuration of the DSP card 10-1 will be described.

DSP1−1は、マスタDSPとも呼ばれる。また、DSP1−2は、スレーブDSPとも呼ばれる。DSPカード10には、1個のマスタDSPが搭載される。本実施形態では、DSPカード10は、1個のスレーブDSP(DSP1−2)を備える例であるが、スレーブDSPの個数は1個に限定されず、2個以上でもよい。なお、以下の説明において、DSP1−1とDSP1−2とを区別しないで述べる場合は、単にDSP1と記載する場合がある。   The DSP 1-1 is also called a master DSP. The DSP 1-2 is also called a slave DSP. One master DSP is mounted on the DSP card 10. In the present embodiment, the DSP card 10 is an example including one slave DSP (DSP1-2), but the number of slave DSPs is not limited to one and may be two or more. In the following description, when DSP1-1 and DSP1-2 are not distinguished from each other, they may be simply referred to as DSP1.

ROM6は、DSP1−1およびDSP1−2を起動(第1起動)させるための起動プログラムデータを記憶する。ROM6は、例えば、フラッシュROM(Flash Read Only Memory)等の不揮発性メモリにより実現される。
RAM4は、ホストCPU30により転送される暗号化プログラムデータを格納する揮発性メモリである。また、RAM4は、復号部5がRAM4に記憶された暗号化プログラムを復号することによって得られたプログラムデータを記憶する。
The ROM 6 stores activation program data for activating the DSP 1-1 and the DSP 1-2 (first activation). The ROM 6 is realized by a non-volatile memory such as a flash ROM (Flash Read Only Memory), for example.
The RAM 4 is a volatile memory that stores encrypted program data transferred by the host CPU 30. The RAM 4 stores program data obtained by the decryption unit 5 decrypting the encrypted program stored in the RAM 4.

バスブリッジ3は、バス20と、DSPカード10内部のバス7、バス8、およびバス9との間でバスプロトコルを変換するためのバスプロトコル変換部である。また、バスブリッジ3は、CPUカード40が転送する復号鍵を記憶するための記憶領域を有する。信号処理装置50に電源が投入された後、バスブリッジ3の当該記憶領域は、例えば“0(ゼロ)”に初期化される。   The bus bridge 3 is a bus protocol conversion unit for converting a bus protocol between the bus 20 and the bus 7, the bus 8, and the bus 9 inside the DSP card 10. The bus bridge 3 has a storage area for storing a decryption key transferred by the CPU card 40. After the signal processing device 50 is turned on, the storage area of the bus bridge 3 is initialized to, for example, “0 (zero)”.

図1に示すように、DSP1−1およびDSP1−2それぞれは、内部メモリと、DMAC(Direct Memory Access Controller)とを内蔵する。内部メモリは、揮発性メモリである。DSP1は、ROM6から内部メモリに読み込んだ起動プログラムデータを実行することにより起動(第1起動)する。
DSP1−1およびDSP1−2それぞれが、ROM6から起動プログラムデータを読み込んで実行し第1起動すると、DSP1−1(マスタDSP)は、CPUカード40から復号命令を受け付け可能な状態になり、その後、復号命令を受信すると、RAM4に記憶された暗号化プログラムデータを復号部5によって復号させ、復号されたプログラムデータをRAM4に記憶させる。
そして、DSP1−1は、CPUカード40から取り込む起動命令にしたがって、RAM4からDSP1−2(スレーブDSP)の内部メモリに、DMACを用いてプログラムデータを読み込ませて、このプログラムデータを実行させて起動(第2起動)するよう起動制御する。
そして、DSP1−1は、RAM4からDSP1−1自身の内部メモリに、DMACを用いてプログラムデータを読み込んで、このプログラムデータを実行し起動(第2起動)する。
As shown in FIG. 1, each of the DSP 1-1 and the DSP 1-2 includes an internal memory and a DMAC (Direct Memory Access Controller). The internal memory is a volatile memory. The DSP 1 is activated (first activation) by executing the activation program data read from the ROM 6 into the internal memory.
When each of the DSP 1-1 and the DSP 1-2 reads and executes the startup program data from the ROM 6 and executes the first startup, the DSP 1-1 (master DSP) becomes ready to accept a decryption command from the CPU card 40, and thereafter When the decryption instruction is received, the encrypted program data stored in the RAM 4 is decrypted by the decrypting unit 5, and the decrypted program data is stored in the RAM 4.
Then, in accordance with the activation instruction fetched from the CPU card 40, the DSP 1-1 reads program data from the RAM 4 into the internal memory of the DSP 1-2 (slave DSP) using the DMAC, and executes the program data to activate. The activation is controlled so as to perform (second activation).
Then, the DSP 1-1 reads program data from the RAM 4 into the DSP 1-1's own internal memory using the DMAC, executes the program data, and activates it (second activation).

これにより、DSP1−1およびDSP1−2は、起動プログラムデータの実行によって一旦起動(第1起動)した後、リセット動作を伴うことなく、RAM4に展開されたプログラムデータを実行するための第2起動を行うことができる。   As a result, the DSP 1-1 and the DSP 1-2 are first activated by executing the activation program data (first activation), and then the second activation for executing the program data expanded in the RAM 4 without a reset operation. It can be performed.

次に、本実施形態における信号処理システムの動作について説明する。
図2は、ファイルサーバ100の処理手順の一例を示すフローチャートである。ファイルサーバ100のCPU104が信号処理装置管理プログラムを実行することにより、ファイルサーバ100は、同図のフローチャートにしたがった処理を行う。
Next, the operation of the signal processing system in this embodiment will be described.
FIG. 2 is a flowchart illustrating an example of a processing procedure of the file server 100. When the CPU 104 of the file server 100 executes the signal processing device management program, the file server 100 performs processing according to the flowchart of FIG.

ステップS1において、暗号化部102は、ユーザによって選択されたプログラムデータを暗号化して暗号化プログラムデータを生成し、この暗号化プログラムデータと暗号化に用いた鍵(復号に用いる復号鍵)とをRAM105に記憶させる。
次に、ステップS2において、LANコントローラ103は、RAM105に記憶された暗号化プログラムデータをCPUカード40に送信する。
次に、ステップS3において、LANコントローラ103は、暗号化プログラムデータを復号するための復号鍵をCPUカード40に送信する。
なお、ステップS2の処理とステップS3の処理との順序は、逆であってもよい。
In step S1, the encryption unit 102 encrypts the program data selected by the user to generate encrypted program data, and uses the encrypted program data and a key used for encryption (decryption key used for decryption). It is stored in the RAM 105.
Next, in step S <b> 2, the LAN controller 103 transmits the encrypted program data stored in the RAM 105 to the CPU card 40.
Next, in step S <b> 3, the LAN controller 103 transmits a decryption key for decrypting the encrypted program data to the CPU card 40.
Note that the order of the process of step S2 and the process of step S3 may be reversed.

次に、ステップS4において、LANコントローラ103は、復号命令をCPUカード40に送信する。
次に、LANコントローラ103がCPUカード40から復号結果を受信すると(ステップS5:YES)、ステップS6において、LANコントローラ103は、起動命令をCPUカード40に送信する。
Next, in step S4, the LAN controller 103 transmits a decryption command to the CPU card 40.
Next, when the LAN controller 103 receives the decryption result from the CPU card 40 (step S5: YES), the LAN controller 103 transmits an activation command to the CPU card 40 in step S6.

図3および図4は、CPUカード40の処理手順の一例を示すフローチャートである。CPUカード40のホストCPU30が制御プログラムを実行することにより、CPUカード40は、図3および図4のフローチャートにしたがった処理を行う。
ステップS11において、ホストCPU30は、ファイルサーバ100のLANコントローラ103が送信した暗号化プログラムデータを受信し、この暗号化プログラムをRAMDISK31に記憶させる。
次に、ステップS12において、ホストCPU30は、LANコントローラ103が送信した復号鍵を受信し内蔵するメモリに記憶させる。
3 and 4 are flowcharts showing an example of the processing procedure of the CPU card 40. When the host CPU 30 of the CPU card 40 executes the control program, the CPU card 40 performs processing according to the flowcharts of FIGS.
In step S <b> 11, the host CPU 30 receives the encrypted program data transmitted from the LAN controller 103 of the file server 100 and stores the encrypted program in the RAMDISK 31.
Next, in step S12, the host CPU 30 receives the decryption key transmitted from the LAN controller 103 and stores it in the built-in memory.

ホストCPU30は、ファイルサーバ100から復号命令を受信すると(ステップS13:YES)、RAMDISK31から読み出した暗号化プログラムデータを、各DSPカード10のRAM4に転送(ロード)する(ステップS14〜ステップS16)。このとき、DSP1はRAM4に対するアクセスを行わず、バス7に対してフローティング状態となっている。   When the host CPU 30 receives the decryption command from the file server 100 (step S13: YES), the host CPU 30 transfers (loads) the encrypted program data read from the RAMDISK 31 to the RAM 4 of each DSP card 10 (steps S14 to S16). At this time, the DSP 1 does not access the RAM 4 and is in a floating state with respect to the bus 7.

次に、ホストCPU30は、内蔵するメモリに記憶された復号鍵を、各DSPカード10のバスブリッジ3に転送(ロード)する(ステップS17〜ステップS19)。
次に、ホストCPU30は、ファイルサーバ100から復号命令を受信したことにしたがって、復号命令を各DSPカード10のDSP1−1(ホストDSP)に送信する(ステップS20〜ステップS22)。
Next, the host CPU 30 transfers (loads) the decryption key stored in the built-in memory to the bus bridge 3 of each DSP card 10 (steps S17 to S19).
Next, the host CPU 30 transmits the decryption command to the DSP 1-1 (host DSP) of each DSP card 10 in accordance with the reception of the decryption command from the file server 100 (step S20 to step S22).

次に、ホストCPU30は、各DSPカード10から復号結果を受信すると(ステップS23:YES)、ステップS24において、その復号結果をファイルサーバ100に送信する。
次に、ホストCPU30は、ファイルサーバ100から起動命令を受信すると(ステップS25:YES)、起動命令を各DSPカード10のDSP1−1(ホストDSP)に送信する(ステップS26〜ステップS28)。
Next, when receiving the decryption result from each DSP card 10 (step S23: YES), the host CPU 30 transmits the decryption result to the file server 100 in step S24.
Next, when receiving the activation command from the file server 100 (step S25: YES), the host CPU 30 transmits the activation command to the DSP 1-1 (host DSP) of each DSP card 10 (step S26 to step S28).

図5および図6は、DSPカード10のマスタDSP(DSP1−1)の起動の処理手順の一例を示すフローチャートである。   FIG. 5 and FIG. 6 are flowcharts showing an example of a processing procedure for starting the master DSP (DSP 1-1) of the DSP card 10.

ステップS31において、DSP1−1は、ROM6から起動プログラムデータを読み込んで実行を開始する。起動プログラムデータの実行を開始したDSP1−1は、RAM4に対するアクセスを行わず、バス7に対してフローティング状態となっている。
次に、DSP1−1は、CPUカード40から復号命令を受信すると(ステップS32:YES)、ステップS33において、バスブリッジ3から復号鍵を取り込む。
In step S31, the DSP 1-1 reads the activation program data from the ROM 6 and starts execution. The DSP 1-1 that has started to execute the startup program data does not access the RAM 4 and is in a floating state with respect to the bus 7.
Next, when receiving a decryption command from the CPU card 40 (step S32: YES), the DSP 1-1 takes in a decryption key from the bus bridge 3 in step S33.

次に、DSP1−1は、取り込んだ復号鍵の値と起動プログラムデータの実行により得られる初期値とを比較する。そして、DSP1−1は、復号鍵の値と初期値とが等しくない場合(ステップS34:YES)はステップS35の処理に移し、復号鍵の値と初期値とが等しい場合(ステップS35:NO)はステップS38の処理に移す。復号鍵の値と初期値(例えば“0(ゼロ)”)とが等しい場合とは、バスブリッジ3における復号鍵の記憶領域に復号鍵がロードされていないことを示し、言い換えると、復号しないことを示す。   Next, the DSP 1-1 compares the fetched decryption key value with the initial value obtained by executing the startup program data. When the value of the decryption key is not equal to the initial value (step S34: YES), the DSP 1-1 proceeds to the process of step S35, and when the value of the decryption key is equal to the initial value (step S35: NO). Goes to step S38. The case where the value of the decryption key is equal to the initial value (for example, “0 (zero)”) indicates that the decryption key is not loaded in the storage area of the decryption key in the bus bridge 3, in other words, the decryption key is not decrypted. Indicates.

ステップS35において、DSP1−1は、入力アドレスとデータサイズと出力アドレスとを復号部5に設定し、RAM4に記憶された暗号化プログラムデータを復号部5により復号させ、復号されたプログラムデータをRAM4に記憶させる。このとき、スレーブDSP(DSP1−2)は、RAM4に対するアクセスを行わず、バス7に対してフローティング状態となっている。
次に、ステップS36において、DSP1−1は、バスブリッジ3に記憶された復号鍵を削除する。具体的に、例えば、DSP1−1は、バスブリッジ3における復号鍵の記憶領域に“0(ゼロ)”を書き込む。
In step S35, the DSP 1-1 sets the input address, the data size, and the output address in the decryption unit 5, causes the decryption unit 5 to decrypt the encrypted program data stored in the RAM 4, and stores the decrypted program data in the RAM 4 Remember me. At this time, the slave DSP (DSP 1-2) does not access the RAM 4 and is in a floating state with respect to the bus 7.
Next, in step S36, the DSP 1-1 deletes the decryption key stored in the bus bridge 3. Specifically, for example, the DSP 1-1 writes “0 (zero)” in the storage area of the decryption key in the bus bridge 3.

次に、ステップS37において、DSP1−1は、復号結果をCPUカード40に送信する。具体的に例えば、暗号化プログラムデータの復号処理が正常終了した場合、DSP1−1は、正常終了を表す復号結果をCPUカード40に送信する。一方、暗号化プログラムデータの復号処理が異常終了した場合、DSP1−1は、異常終了を表す復号結果をCPUカード40に送信する。   Next, in step S <b> 37, the DSP 1-1 transmits the decryption result to the CPU card 40. Specifically, for example, when the decryption process of the encrypted program data ends normally, the DSP 1-1 transmits a decryption result indicating the normal end to the CPU card 40. On the other hand, when the decryption process of the encrypted program data ends abnormally, the DSP 1-1 transmits a decryption result indicating the abnormal end to the CPU card 40.

DSP1−1は、CPUカード40から起動命令を受信すると(ステップS38:YES)、起動命令をスレーブDSP(DSP1−2)に送信する(ステップS39〜ステップS41)。このとき、スレーブDSP(DSP1−2)は、RAM4に対するアクセスを行わず、バス7に対してフローティング状態となっている。
ただし、スレーブDSPが複数ある場合に、DSP1−1は、第1起動した複数のスレーブDSPを順次、起動制御する。
When the DSP 1-1 receives the activation command from the CPU card 40 (step S38: YES), the DSP 1-1 transmits the activation command to the slave DSP (DSP 1-2) (step S39 to step S41). At this time, the slave DSP (DSP 1-2) does not access the RAM 4 and is in a floating state with respect to the bus 7.
However, when there are a plurality of slave DSPs, the DSP 1-1 sequentially controls the activation of the first activated slave DSPs.

次に、ステップS42において、DSP1−1は、内蔵するDMACのDMA転送完了ベクタに、内部メモリの先頭アドレスを設定する。
次に、ステップS43において、DSP1−1は、DMACを用いて、RAM4から復号されたプログラムデータを内部メモリに転送(ロード)する。
次に、ステップS44において、DSP1−1は、DMACからのDMA転送完了割り込みを受けて、ロードされたプログラムデータの先頭から実行を開始する(第2起動)。
Next, in step S42, the DSP 1-1 sets the start address of the internal memory in the DMA transfer completion vector of the built-in DMAC.
Next, in step S43, the DSP 1-1 uses the DMAC to transfer (load) the program data decoded from the RAM 4 to the internal memory.
Next, in step S44, the DSP 1-1 receives the DMA transfer completion interrupt from the DMAC, and starts execution from the top of the loaded program data (second activation).

図7は、DSPカード10のスレーブDSP(DSP1−2)の起動の処理手順の一例を示すフローチャートである。   FIG. 7 is a flowchart illustrating an example of a processing procedure for starting the slave DSP (DSP 1-2) of the DSP card 10.

ステップS51において、DSP1−2は、ROM6から起動プログラムデータを読み込んで実行を開始する。起動プログラムデータの実行を開始したDSP1−2は、RAM4に対するアクセスを行わず、バス7に対してフローティング状態となっている。
次に、DSP1−2は、DSP1−1からの起動命令を受信すると(ステップS52:YES)、ステップS53において、DSP1−2は、内蔵するDMACのDMA転送完了ベクタに、内部メモリの先頭アドレスを設定する。
次に、ステップS54において、DSP1−2は、DMACを用いて、RAM4から復号されたプログラムデータを内部メモリに転送(ロード)する。
次に、ステップS55において、DSP1−2は、DMACからのDMA転送完了割り込みを受けて、ロードされたプログラムデータの先頭から実行を開始する。
In step S51, the DSP 1-2 reads the startup program data from the ROM 6 and starts execution. The DSP 1-2 that has started execution of the startup program data does not access the RAM 4 and is in a floating state with respect to the bus 7.
Next, when the DSP 1-2 receives the start command from the DSP 1-1 (step S52: YES), in step S53, the DSP 1-2 sets the start address of the internal memory to the DMA transfer completion vector of the built-in DMAC. Set.
Next, in step S54, the DSP 1-2 uses DMAC to transfer (load) the program data decoded from the RAM 4 to the internal memory.
Next, in step S55, the DSP 1-2 receives the DMA transfer completion interrupt from the DMAC, and starts executing from the top of the loaded program data.

以上、詳述したとおり、実施形態のDSPカード10は、マスタDSPであるDSP1−1と、スレーブDSPであるDSP1−2と、DSP1−1およびDSP1−2を第1起動させるための起動プログラムデータを記憶するROM6と、CPUカード40により転送される、暗号化されたプログラムデータである暗号化プログラムデータが記憶されるRAM4と、暗号化プログラムデータを復号する復号部5とを備える。そして、DSPカード10は、DSP1−1およびDSP1−2それぞれが、ROM6から起動プログラムデータを読み込んで実行し第1起動すると、DSP1−1が、CPUカード40から復号命令を受け付け可能な状態になる。その後、DSP1−1は、復号命令を受信すると、RAM4に記憶された暗号化プログラムデータを復号部5によって復号される。そして、DSP1−1は、CPUカード40から取り込む起動命令にしたがって、DSP1−2に、復号されたプログラムデータを実行させて第2起動するよう起動制御し、復号されたプログラムデータを実行し第2起動する。   As described above in detail, the DSP card 10 according to the embodiment includes the DSP 1-1 that is the master DSP, the DSP 1-2 that is the slave DSP, and the startup program data for first starting the DSP 1-1 and the DSP 1-2. ROM 6 for storing the data, RAM 4 for storing encrypted program data, which is encrypted program data transferred by the CPU card 40, and a decrypting unit 5 for decrypting the encrypted program data. When the DSP card 1 and the DSP 1-2 read and execute the startup program data from the ROM 6 and execute the first startup, the DSP 1-1 is in a state in which the DSP 1-1 can accept a decryption command from the CPU card 40. . Thereafter, when the DSP 1-1 receives the decryption command, the decryption unit 5 decrypts the encrypted program data stored in the RAM 4. Then, the DSP 1-1 controls the DSP 1-2 to execute the decrypted program data in accordance with the activation command fetched from the CPU card 40, and executes the decrypted program data. to start.

この構成により、DSPカード10は、DSP1−1およびDSP1−2を第1起動させるための起動プログラムデータのみを予めROM6に記憶させ、信号処理を行わせるための暗号化プログラムデータおよび復号後のプログラムデータをRAM4に記憶させることになる。よって、信号処理用のプログラムデータはROM6に記憶されないため、ROM6の記憶容量を圧迫することがなく、また、リバースエンジニアリングによってROM6からプログラムデータが読み出されることがない。信号処理用のプログラムデータは、RAM4に展開されるため、信号処理装置50の電源が落とされた場合やDSPカード10が抜き取られた場合にRAM4から消滅する。よって、DSPカード10として、プログラムデータに対する耐タンパ性が高い。また、CPUカード40は、任意の暗号化プログラムデータをRAM4にロードすることができるため、信号処理の目的に応じてプログラムデータを選択できる柔軟性が高い。   With this configuration, the DSP card 10 stores only the activation program data for first activation of the DSP 1-1 and DSP1-2 in the ROM 6 in advance, and the encrypted program data and the decrypted program for performing signal processing. Data is stored in the RAM 4. Therefore, since the signal processing program data is not stored in the ROM 6, the storage capacity of the ROM 6 is not compressed, and the program data is not read from the ROM 6 by reverse engineering. Since the signal processing program data is developed in the RAM 4, it disappears from the RAM 4 when the signal processing device 50 is powered off or the DSP card 10 is removed. Therefore, the DSP card 10 has high tamper resistance against program data. Further, since the CPU card 40 can load arbitrary encrypted program data into the RAM 4, the CPU card 40 is highly flexible in selecting program data according to the purpose of signal processing.

なお、DSPカード10に複数のスレーブDSPが搭載されている場合、マスタDSP(DSP1−1)が、第1起動した複数のスレーブDSPのいずれかを選択して起動制御するようにしてもよい。
この構成により、信号処理の目的に応じた回路規模のデジタルシグナルプロセッサシステムを実現することができる。
When a plurality of slave DSPs are mounted on the DSP card 10, the master DSP (DSP 1-1) may select one of the first activated slave DSPs to perform activation control.
With this configuration, a digital signal processor system having a circuit scale according to the purpose of signal processing can be realized.

また、復号部5は、複数種類の復号処理方法の中から復号鍵の内容に応じた種類の復号処理方法を選択するように構成してもよい。
この構成により、復号部5自体の耐タンパ性をより高めることができる。
Further, the decrypting unit 5 may be configured to select a decryption processing method of a type corresponding to the content of the decryption key from among a plurality of decryption processing methods.
With this configuration, the tamper resistance of the decoding unit 5 itself can be further improved.

以上説明した少なくともひとつの実施形態によれば、DSP1−1およびDSP1−2それぞれが、ROM6から起動プログラムデータを読み込んで実行し第1起動すると、DSP1−1が、CPUカード40から復号命令を受け付け可能な状態になり、その後、復号命令を受信すると、RAM4に記憶された暗号化プログラムデータを復号部5によって復号させ、CPUカード40から取り込む起動命令にしたがって、DSP1−2に、復号されたプログラムデータを実行させて第2起動するよう起動制御し、復号されたプログラムデータを実行し第2起動することにより、DSP1−1およびDSP1−2のプログラムデータの変更に対する柔軟性と耐タンパ性とを両立させることができる。   According to at least one embodiment described above, when the DSP 1-1 and the DSP 1-2 each read and execute the startup program data from the ROM 6 and perform the first startup, the DSP 1-1 accepts the decryption command from the CPU card 40. When the decryption command is received after that, the encrypted program data stored in the RAM 4 is decrypted by the decryption unit 5, and the decrypted program is transmitted to the DSP 1-2 according to the start command fetched from the CPU card 40 By controlling the activation so that the data is executed and performing the second activation, the decrypted program data is executed and the second activation is performed, thereby providing flexibility and tamper resistance against changes in the program data of the DSP 1-1 and DSP1-2. Both can be achieved.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.

1−1…DSP、1−2…DSP、3…バスブリッジ、4…RAM、5…復号部、6…ROM、7…バス、8…バス、9…バス、10−1…DSPカード(デジタルシグナルプロセッサシステム)、10−2…DSPカード(デジタルシグナルプロセッサシステム)、20…バス、30…ホストCPU、31…RAMDISK、40…CPUカード、50…信号処理装置、100…ファイルサーバ、101…HDD、102…暗号化部、103…LANコントローラ、104…CPU、105…RAM、200…ネットワーク   1-1 ... DSP, 1-2 ... DSP, 3 ... bus bridge, 4 ... RAM, 5 ... decoding unit, 6 ... ROM, 7 ... bus, 8 ... bus, 9 ... bus, 10-1 ... DSP card (digital Signal processor system), 10-2 ... DSP card (digital signal processor system), 20 ... bus, 30 ... host CPU, 31 ... RAMDISK, 40 ... CPU card, 50 ... signal processing device, 100 ... file server, 101 ... HDD , 102 ... Encryption unit, 103 ... LAN controller, 104 ... CPU, 105 ... RAM, 200 ... network

Claims (5)

第1のデジタルシグナルプロセッサと、
第2のデジタルシグナルプロセッサと、
前記第1のデジタルシグナルプロセッサおよび前記第2のデジタルシグナルプロセッサを第1起動させるための起動プログラムデータを記憶する不揮発性メモリと、
外部装置により転送される、暗号化されたプログラムデータである暗号化プログラムデータが記憶される揮発性メモリと、
前記暗号化プログラムデータを復号する復号部と、
を備え、
前記第1のデジタルシグナルプロセッサおよび前記第2のデジタルシグナルプロセッサそれぞれが、前記不揮発性メモリから前記起動プログラムデータを読み込んで実行し前記第1起動すると、前記第1のデジタルシグナルプロセッサが、前記外部装置から復号命令を受け付け可能な状態になり、その後、前記復号命令を受信すると、前記揮発性メモリに記憶された前記暗号化プログラムデータを前記復号部によって復号させ、前記外部装置から取り込む起動命令にしたがって、前記第2のデジタルシグナルプロセッサに、前記復号されたプログラムデータを実行させて第2起動するよう起動制御し、前記復号されたプログラムデータを実行し前記第2起動する、
デジタルシグナルプロセッサシステム。
A first digital signal processor;
A second digital signal processor;
A non-volatile memory for storing start program data for first starting the first digital signal processor and the second digital signal processor;
A volatile memory that stores encrypted program data, which is encrypted program data, transferred by an external device;
A decryption unit for decrypting the encrypted program data;
With
When each of the first digital signal processor and the second digital signal processor reads and executes the activation program data from the nonvolatile memory and performs the first activation, the first digital signal processor causes the external device to After receiving the decryption command, the decryption unit decrypts the encrypted program data stored in the volatile memory, and in accordance with an activation command fetched from the external device , Causing the second digital signal processor to execute the decrypted program data to perform a second start-up, execute the decrypted program data, and start the second
Digital signal processor system.
前記復号部は、前記暗号化プログラムデータの転送に伴って前記外部装置から転送される復号鍵を用いて前記暗号化プログラムデータを復号する、
請求項1記載のデジタルシグナルプロセッサシステム。
The decryption unit decrypts the encrypted program data using a decryption key transferred from the external device along with the transfer of the encrypted program data;
The digital signal processor system according to claim 1.
前記第2のデジタルシグナルプロセッサを複数備え、
前記第1起動した前記第1のデジタルシグナルプロセッサが、前記第1起動した前記複数の第2のデジタルシグナルプロセッサを順次起動制御する、
請求項1または2いずれか記載のデジタルシグナルプロセッサシステム。
A plurality of the second digital signal processors;
The first digital signal processor that has been first activated sequentially controls activation of the plurality of second digital signal processors that have been first activated.
The digital signal processor system according to claim 1 or 2.
前記第1起動した前記第1のデジタルシグナルプロセッサが、前記第1起動した前記複数の第2のデジタルシグナルプロセッサのいずれかを選択して起動制御する、
請求項3記載のデジタルシグナルプロセッサシステム。
The first digital signal processor activated first selects and controls activation of the plurality of second digital signal processors activated first;
The digital signal processor system according to claim 3.
請求項1から請求項4いずれか一項記載のデジタルシグナルプロセッサシステムと、
前記外部装置と、
を備える信号処理装置。
A digital signal processor system according to any one of claims 1 to 4,
The external device;
A signal processing apparatus comprising:
JP2014013255A 2014-01-28 2014-01-28 Digital signal processor system and signal processor Pending JP2015141500A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014013255A JP2015141500A (en) 2014-01-28 2014-01-28 Digital signal processor system and signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014013255A JP2015141500A (en) 2014-01-28 2014-01-28 Digital signal processor system and signal processor

Publications (1)

Publication Number Publication Date
JP2015141500A true JP2015141500A (en) 2015-08-03

Family

ID=53771827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014013255A Pending JP2015141500A (en) 2014-01-28 2014-01-28 Digital signal processor system and signal processor

Country Status (1)

Country Link
JP (1) JP2015141500A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023528845A (en) * 2020-06-19 2023-07-06 チップワン テクノロジー(ベイジン)カンパニー,リミティド Chip activation control method, chip, display panel and electronic device
US11960902B2 (en) 2020-06-19 2024-04-16 Chipone Technology (Beijing) Co., Ltd. Chip booting control method, chip, and display panel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023528845A (en) * 2020-06-19 2023-07-06 チップワン テクノロジー(ベイジン)カンパニー,リミティド Chip activation control method, chip, display panel and electronic device
US11960902B2 (en) 2020-06-19 2024-04-16 Chipone Technology (Beijing) Co., Ltd. Chip booting control method, chip, and display panel

Similar Documents

Publication Publication Date Title
US10949546B2 (en) Security devices, electronic devices and methods of operating electronic devices
TWI615732B (en) Electronic component of electronic device, method of starting electronic device and encryption method
US10360373B2 (en) Return address encryption
JP6873811B2 (en) Information processing device
JP2011181000A (en) Controller, semiconductor memory device, and method for controlling semiconductor memory device
KR20190014444A (en) Security device, electronic device including the same and method of operating electronic device
US20180004982A1 (en) Transparent execution of secret content
KR20160130773A (en) Data integrity protection from rollback attacks for use with systems employing message authentication code tags
KR101619286B1 (en) Cross-platform based security system
TW201702868A (en) Architecture and method for updating firmware of storage device
JP2020047064A5 (en)
JP2015141500A (en) Digital signal processor system and signal processor
KR101126596B1 (en) Dual mode aes implementation to support single and multiple aes operations
US9912578B2 (en) Image communication apparatus, control method for the same, and computer-readable storage medium
US20200076591A1 (en) Systems and Methods for Automated Generation and Update of Cipher Parameters
JP6348273B2 (en) Information processing system
JP2016181836A (en) Information processor, cryptographic device, control method of information processor and program
JP2008041059A (en) Multiprocessor controller and information processor
JP2016115002A (en) Memory device
JP7263101B2 (en) Information processing device, data verification method
JP6017287B2 (en) Control method and information processing apparatus
CN114424166A (en) Encryption table signature
JP6987112B2 (en) Integrated circuit
JP2014203441A (en) Electronic device, image forming apparatus, control device, and program
JP6965322B2 (en) Information processing device, encryption device, control method of information processing device, and program