WO2002093392A1 - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
WO2002093392A1
WO2002093392A1 PCT/JP2002/004526 JP0204526W WO02093392A1 WO 2002093392 A1 WO2002093392 A1 WO 2002093392A1 JP 0204526 W JP0204526 W JP 0204526W WO 02093392 A1 WO02093392 A1 WO 02093392A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
memory
data processor
fifo
address
Prior art date
Application number
PCT/JP2002/004526
Other languages
French (fr)
Japanese (ja)
Inventor
Michihiro Horiuchi
Katsumi Iwata
Original Assignee
Renesas Technology Corp.
Renesas Northern Japan Semiconductor, Inc.
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 Renesas Technology Corp., Renesas Northern Japan Semiconductor, Inc. filed Critical Renesas Technology Corp.
Publication of WO2002093392A1 publication Critical patent/WO2002093392A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module

Definitions

  • the present invention relates to a FIFO (First-In First-Out) buffer function for an on-chip peripheral circuit or an input / output circuit of a data processor called a microcomputer or a microprocessor. It functions as an effective technology when applied to a single-chip microcomputer equipped with an input / output circuit for communication or high-speed data input / output control or peripheral circuits.
  • FIFO First-In First-Out
  • SCI Serial Communication Bus
  • USB Universal Serial Bus
  • MMC Multimedia Card
  • IrDA Infrared Data Association
  • UART Universal Asynchronous Receive-Transceiver
  • IIC Inter IC Bus
  • USB Universal Serial Bus
  • IrDA Infrared Data Association
  • UART Universal Asynchronous Receive-Transceiver
  • an FIF 0 buffer In order for these interface controllers to support high-speed, large-capacity data transfer, an FIF 0 buffer must be installed. For example, the interface controller inputs data from an external device sequentially at a predetermined transfer rate, and a buffer for input data and data so that the input data is not lost. Use a FIFO buffer.
  • a buffer such as the FIF 0 buffer is used. Evening buffers alone cannot fill that gap. Therefore, the data captured in the FIF 0 buffer Evening: The CPU may have to process the data transferred to AM and stored in RAM. In particular, in recent years, data transmission and reception speeds with other system devices have been increased, and the amount of transferred data has been increasing. FIFII is becoming necessary.
  • Japanese Patent Application Laid-Open No. 2-168318 is an example of a document describing a peripheral circuit employing a FIFO buffer.
  • the data received by the input / output interface module is sequentially transferred from the FIFO buffer to the RAM, the CPU reads the transferred data from the RAM, performs arithmetic processing, and writes the arithmetic result to the RAM. Wit.
  • the data written to the RAM is transferred to the FIF0 buffer of the second interface module and transmitted to other devices.
  • data transfer between the FIF0 buffer and the RAM must be performed using a CPU or a DMAC. This transfer process is a memory access operation different from the RAM access for the CPU to process the reception data. If the CPU or DMAC also uses the bus to perform such data transfer processing, the time occupied by the CPU or DMAC for such data transfer will be prolonged, and the data transfer processing of the system as a whole will take place. Speed decreases.
  • An object of the present invention is to provide a FIF 0 buffer for an input / output circuit or a peripheral circuit. Another object of the present invention is to provide a data processor which can suppress an increase in the chip area due to hardware.
  • Another object of the present invention is to provide a data processor capable of suppressing a decrease in data processing capability due to data transfer processing between an FIF buffer of an input / output circuit and an on-chip memory such as a RAM.
  • Still another object of the present invention is to provide a data processor which can eliminate the need for a data transfer process between a FIFO buffer of an input / output circuit and an on-chip memory such as a RAM.
  • the data processor comprises a central processing unit, a memory accessible by the central processing unit (5), and a plurality of input / output circuits (12, 22, 13, 17). ) And an FIF 0 control circuit (6) for operating the memory as FIF 0 buffers of the plurality of input / output circuits in one semiconductor chip.
  • the FIF 0 control circuit includes: an area designating unit (BAR, DTCR FIFI size designating field) for defining a plurality of memory areas used as the FIF 0 buffer; and a memory area defined by the area designating unit.
  • Address means for holding address information for read access and write access, for example, address pointer means (RAR, WAR); and a predetermined response to a request from one of the plurality of input / output circuits.
  • the input / output circuit for example, a plurality selected from a serial communication interface controller, a universal serial bus controller, a noise-width modulation circuit, a timer circuit, an analog / digital converter, and a digital / analog converter. Circuit.
  • the RAM buffer realized by the on-chip memory and the F0 control circuit eliminates the need for a FIFO buffer dedicated to the input / output circuit. By eliminating the need for a dedicated FIFO, the chip area can be reduced and costs can be reduced. Since this RAM buffer operates in FIFO with respect to the memory area specified by the error designation means, CPU access operation or data transfer control operation by DMAC for data transfer between the I / O circuit and the memory area. Does not require
  • the specification by the area specifying means may be fixed or variable.
  • the area designation means is a storage means capable of programmably designating the plurality of memory areas. If the specified contents can be changed, the FIFO capacity according to the transfer data structure can be set as desired within the range of the memory capacity. Alternatively, it becomes easy to optimally allocate the memory area of the RAM buffer according to the state of use of the memory by the CPU.
  • the FIFO control circuit may further include input / output circuit designating means for designating, for each of the plurality of input / output circuits, the use of each of the plurality of memory areas defined by the area designating means.
  • the designation by the input / output circuit designation means may be fixed or variable. If it is variable, it can be used as the FIF 0 buffer specified by the above-mentioned error designation means. A very small number of memory areas can be shared by many input / output circuits.
  • the input / output circuit designating means is a storage means capable of programmably designating the input / output circuit.
  • the input / output circuit may be specified programmatically for each of read access and write access to the memory area of the RAM buffer.
  • the input / output circuit specification means can separately and programmably set input / output circuit specification information used in a read operation and input / output circuit specification information used in a write operation for each memory area. It is a storage means.
  • the data of one input / output circuit is written to one memory area defined by the area designating means, and the central processing unit reads the write data and performs arithmetic processing.
  • one memory area can be used for separate I / O circuits for read and write. Since one memory area can be used as a read / write separate FIF 0 buffer for multiple input / output circuits, the FIFO buffer of one memory area is shared by multiple input / output circuits. It becomes possible. As a result, data can be transferred between the input / output circuits without performing processing by the central processing unit, and high-speed continuous transfer of data between the input / output circuits becomes possible.
  • the area designating means and the input / output circuit designating means can be constituted by register means accessible by the central processing unit.
  • a register means for defining the memory area according to a base address and size information may be employed.
  • the addressless bus means includes a read for the pace address.
  • a read address register (RAR) for holding offset address information for writing and a write address pointer (WAR) for holding offset address information for writing with respect to the base address may be employed.
  • the memory area of the RAM buffer is a memory area where random access is possible.
  • a memory address obtained by adding the read offset address information to the base address is held as a read start address, and a memory address obtained by adding write offset address information to the base address is stored.
  • a memory address register means (NRA, NWA) for holding a dress as a write head address is provided, and the memory address register means is accessible by the central processing unit.
  • the CPU can directly obtain the read start address and the write start address of FIF 0 by accessing the memory address register means, and the base address and the read address can be obtained. It is not necessary to access the offset address information for writing and the offset address information for writing, and to perform arithmetic processing one by one.
  • the FIFO control circuit is provided with data number register means (DAT AN, F RE EN) indicating the number of valid data that can be read and the number of empty areas that can be written, and the data number less register means.
  • DAT AN, F RE EN data number register means
  • F RE EN data number register means
  • the memory may be dedicated to the FIFO or may be arranged in an address space of the central processing unit like a main memory. You may. In the latter case, the central processing unit, FIFO control circuit and memory are connected to a common bus.
  • control means can arbitrate the competition of the requests by accepting a request having a higher priority according to a priority order.
  • the FIF 0 control circuit responds to a request for FIF 0 operation from one of the plurality of input / output circuits by requesting a bus control unit to acquire a bus right, and by activating the FIFO operation after acquiring the bus right.
  • the FIFO control circuit selects the operation clock signal of the central processing unit when controlling the FIFO operation in response to a request from the input / output circuit. A configuration that can be changed to a high-speed operation clock signal as far as possible is adopted.
  • the CPU when the FIFO control circuit performs the FIFO operation in response to a request from the input / output circuit, the CPU operates at a high speed, so that the amount of arithmetic processing that can be performed by the CPU before acquiring the bus right increases, and the bus cycle waiting time increases. Can be shortened. As a result, it is possible to prevent a delay in following the FIFO operation, which is typified by the loss of data over the reception.
  • the clock control circuit includes a clock generation circuit capable of outputting a first clock signal of a first frequency and a second clock signal of a second frequency lower than the first frequency.
  • the first clock signal or the second clock signal can be selected as an operation clock signal to be supplied to the central processing unit, and the FIFO control circuit is input when the second clock signal is selected.
  • the second clock signal is changed to the first clock signal.
  • the FIFO control circuit is best operated in synchronization with the first clock signal or a third clock signal having a third frequency higher than the first frequency of the first clock signal.
  • the data processor includes a central processing unit, a control circuit for controlling an operation clock signal of the central processing unit, and a bus control unit for acquiring a bus right in place of the central processing unit.
  • the clock control circuit performs control to change the operation clock signal of the central processing unit to a high-speed operation clock signal within a selectable range in response to the possibility of acquiring the bus right by the bus mass means.
  • the data processor having this configuration further includes a memory accessible by the central processing unit and a plurality of peripheral circuits of the central processing unit, the data processor is connected to the memory and the peripheral circuits as the bus mass unit.
  • An FI FO control circuit that operates the memory as a FI FO buffer of the peripheral circuit can be employed.
  • the FIFO control circuit includes an area specifying means for specifying a plurality of memory areas to be used as the FIF 0 buffer, and address information for read access and write access for each memory area specified by the area specifying means. And a control means for performing a FIF operation using a predetermined memory area in response to a request from the peripheral circuit, using a predetermined address area.
  • the FIFO control circuit includes an input / output circuit designating unit that designates a peripheral circuit that uses the plurality of memory areas specified by the area designating unit.
  • an input / output circuit designating unit that designates a peripheral circuit that uses the plurality of memory areas specified by the area designating unit.
  • a function of causing the memory area used by the input / output circuit to perform the FIF 0 operation using the address binding means may be realized.
  • FIG. 1 is a block diagram illustrating a data processor according to the present invention.
  • FIG. 2 is a block diagram showing an example of the RFU.
  • FIG. 3 is a flowchart illustrating the initial setting of the RFU and the FIFO operation control based on the initial setting.
  • FIG. 4 is a block diagram mainly showing the data processor of FIG. 1: RFU.
  • FIG. 5 is a block diagram showing an operation example when data is transferred from the SCI to the MC IFC using one FIFO channel under the control of the RFU.
  • FIG. 6 is an explanatory diagram exemplifying an assignment state of a boyfriend to an ID number.
  • FIG. 7 is a flowchart illustrating an example of a data transfer operation from SCI to MCIFC using one FIFO channel shown in FIG.
  • FIG. 8 is a block diagram illustrating a data processor according to the comparative example of FIG.
  • FIG. 9 is a flowchart showing an operation example when transmitting the SCI reception data from the MCIFC using the configuration of FIG.
  • FIG. 10 is an explanatory diagram schematically showing the operation using the FRU described in FIGS. 5 and 7.
  • FIG. 11 is an explanatory diagram schematically showing an operation using the FIF0 buffer unique to the peripheral circuit described with reference to FIGS. 8 and 9.
  • FIG. 12 is a timing chart illustrating the operation timing of the above-described mouth control.
  • FIG. 13 shows still another operation example. 9 is a timing chart for explaining the effect of the exclusive use of the bus by the FIFO buffer control processing by the RFU.
  • FIG. 14 is a timing chart illustrating an operation example for eliminating the influence of FIG.
  • FIG. 15 is a block diagram illustrating an audio system using a data processor. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows an example of a data processor 1 according to the present invention.
  • the data processor 1 shown in FIG. It is formed on one semiconductor substrate (semiconductor chip) such as single crystal silicon.
  • the processor 1 has a central processing unit (CPU) 2, a DMA controller (DMAC) 3, a read-only memory (ROM) 4, which is a program memory for storing processing programs for the CPU 2, and a CPU 2 Random access memory (RAM) 5, FIFO control circuit (RFU) 6, bus controller 7, clock generation circuit (CPG) 8, clock control circuit (RAM) C CNT) 9, Interrupt controller 10, Evening counter (TMR) 11, Serial communication interface, Evening controller (SCI) 12, Universal serial bus controller (USB) 13, ⁇ 1 ⁇ 0 arithmetic unit 14, digital analog converter (D / A) 15, analog digital converter (AZD) 16, memory card controller (MC IFC) 17, pulse Wise Modulation Night (PWM) 18 Fazzi roller 1 9, watchdog evening timer (WDT) 20, a free-running evening timer (FRT) 2 1, the cryptographic computing units (DE S) 22 and the output port 2 3-2 5.
  • CPU central processing unit
  • DMAC DMA controller
  • ROM read-only memory
  • ROM read-only
  • the CPU 2, DMAC 3, M4, RAM 5, RFU 6, and bus controller 7 are connected to a CPU bus 28.
  • the CPU bus 28 is connected to a peripheral bus 29 via a path controller ⁇ , and the peripheral bus 29 is connected to the interrupt controller 10, TMR 11, and SCI 12 as peripheral circuits.
  • USB 13, CRC calculator 14, D / A 15, A / D 16, MC IFC 17, PWM 18, keyboard buffer controller 19, WDT 20, FRT 21, and encryption Arithmetic unit 22 is connected.
  • the CPU bus 28 and the peripheral bus 29 include a data bus, an address bus, and a control signal bus, respectively.
  • the peripheral bus 29 is connected to an external bus (not shown) via the input / output port 23.
  • the CPU bus 28 is interfaced with a peripheral bus 29 via a bus controller and an external bus via an input / output port 23.
  • I / O ports 24 and 25 function as external interface buffers for peripheral circuits.
  • a data reception terminal and a data transmission terminal in a predetermined communication channel of the SCI 12 are assigned to a predetermined port of the input / output port 25.
  • the bus modules are the CPU 2, DMA C3, and RFU 6.
  • the CPU 2 fetches an instruction from R0M4 and decodes the fetched instruction.
  • the CPU 2 performs an arithmetic operation using a general-purpose register, an arithmetic logic unit, or the like according to the instruction decoding result by the instruction control unit.
  • the DMAC 3 is initialized by the CPU 2 for data transfer conditions, and performs data transfer control in response to a data transfer request from a peripheral circuit or the like.
  • the RFU 6 is a control circuit capable of operating the RAM 5 as a FIFO buffer of peripheral circuits, for example, SCI 12, USB 13, MC IFC 17, and DES 22 according to the initial setting by the CPU 2. It is. From the peripheral circuits SCI 12, USB 13, MC IFC 17 s and DES 22 to R FU 6, a start signal (request signal) for operating RAM 5 as a FIFO buffer and an acknowledgment signal (acknowledge signal) for it are Collectively referred to as signal group 30.
  • the RFU 6 requests the FIFO buffer operation, the RFU 6 requests the bus controller 7 for the bus right with the bus request signal 31 and receives an approval for the bus right with the bus acknowledge signal 32.
  • the RAM 5 For the circuit, control the RAM 5 to operate as a FIF 0 buffer and perform direct memory access control.
  • the RFU 6 operates as a function program in which the DMA transfer control function and the FIF 0 point control function are combined. About the details Will be described later.
  • the operating speed of the peripheral circuits SCI 12, USB 13, MCI FC 17, and DES 22 is directly or indirectly affected by the speed of the information interface with the outside.
  • the received data must be accumulated so as not to miss the data for the data reception baud rate.
  • the bus controller 7 arbitrates for contention of a bus request between the bus master module CPU 2, RFU 6, DMAC 7, and the external bus master.
  • the arbitration logic is, for example, arbitration control based on priority.
  • the bus master module to which the bus right is granted outputs a bus command, and the bus controller 7 controls the bus based on the bus command.
  • the bus controller 7 outputs an address signal and an access strobe signal to the outside via the input / output port 23 when the address signal output from the bus master module indicates the external address space of the data processor 1.
  • the interrupt controller 10 receives an interrupt request signal (not shown) output from a circuit module such as the SCI 12 connected to the peripheral bus 29, and performs priority control and mask control on the input interrupt request signal. To accept the interrupt request. Upon receiving the interrupt, the interrupt controller 10 outputs an interrupt request signal (not shown) to the CPU 2. When an interrupt request signal is given to the CPU 2, the CPU 2 interrupts the processing being executed and branches to a predetermined processing routine according to the interrupt factor. At the end of the processing routine at the branch destination, a return instruction is executed, and by executing this instruction, the interrupted processing can be restarted.
  • an interrupt request signal is given to the CPU 2
  • the CPU 2 interrupts the processing being executed and branches to a predetermined processing routine according to the interrupt factor.
  • a return instruction is executed, and by executing this instruction, the interrupted processing can be restarted.
  • data processor 1 has external terminals such as ground level (V ss) and power supply voltage level (Vc c) as power supply terminals, and reset control (RES), standby (input) STBY), mode control input (MD0, MD1), and clock input (EXTAL, XTAL).
  • V ss ground level
  • Vc c power supply voltage level
  • RES standby
  • mode control input MD0, MD1
  • EXTAL clock input
  • the CPG 8 is, although not particularly limited, a clock signal ⁇ 1 (first clock signal) based on a crystal oscillator connected to the terminals EXTAL and XTAL or an external clock signal input to the EXTAL terminal. Generates cycle signal 2 (second clock signal).
  • the clock control circuit 9 selects a clock signal 11 or 2 according to the operation mode and the internal operation state of the data processor 1 and uses it as a reference clock (system clock). give.
  • the SCI 12, USB 13, MC I FC 17, and DE S 22 connected to the RFU 6 via the signal group 30 are expected to perform high-speed operation.
  • the clock signal 01 is supplied as the synchronous operation clock signal, and accordingly, the clock signal 1 is supplied to the RFU 6 as the operation clock signal.
  • a low-speed clock signal 02 is supplied to the keyboard buffer controller 19, D / A 15, and A / D 16 as a synchronous clock signal.
  • FIG. 2 shows an example of the RFU6.
  • the RFU 6 has eight FI F0 channels CH0 to CH7, though not particularly limited.
  • Each FIF channel has a base address register BAR, a read address pointer: RAR, a write address pointer WAR, a temporary pointer TMR, a valid data byte register DATAN, and a read start address register. It has NRA, Head of Writer Dress Register NWA, Data Transfer Control Register DT CR, Data Transfer Status Register DTS TR C, Data Transfer ID Register DTI DR.
  • the RFU 6 has a control circuit 40 for controlling the entire system.
  • a control circuit 40 for controlling the entire system.
  • a data transfer ID read / write selection register DTIDSR As a register for setting control information for overall control, a data transfer ID read / write selection register DTIDSR, a data transfer ID register, etc. It has an evening transfer status register DTST, a data transfer register selection register DTRSR, and other registers DTIER and DTCRD.
  • the register BAR is set with a base address in a memory area of the RAM 5 which can be operated as a FIFO buffer.
  • the above-mentioned register RAR is a register read cycle for specifying a RAM address to be read in a RAM read cycle.
  • the RAM address when operating RAM5 as a FIFO buffer is calculated by BAR + RAR (this value is the FIFO address when peripheral circuits such as SCI 12 read RAM5 as FI F0 buffer). Address.
  • the value is also held in the register NAR, and is read and used when CPU2 accesses RAM5 as a FIFO buffer.
  • the value of the RAR is:
  • the control circuit 40 increments the value by the number of read bytes every RAM read cycle. However, it is not incremented beyond the size of the selected FIF 0 buffer, and is cleared to 0 when it is incremented up to the FIFO buffer size.
  • the pointer WAI or RFU 6 is a pointer for specifying a RAM address to be written in an AM write cycle.
  • the RAM address when operating RAM5 as a FIF0 buffer is calculated as BAR + WAR. This value is used as a FIFO write address when a peripheral circuit such as SCI12 writes RAM5 as a FIFO buffer.
  • the value is also held in the register NWA, and is read and used when the CPU 2 accesses the RAM 5 as a FIFO buffer.
  • the value of the pointer WAR is incremented by the number of write bytes in each RAM write cycle, but is not incremented beyond the selected FIFO buffer size, and the value is cleared to 0 at that time.
  • Pointer TMP is a temporary address bus available when using USB 13 as a source or destination.
  • the register DATA indicates the number of valid data bytes that can be read in the FIFO buffer in the pointer set of each FIFO channel.
  • the register evening FREE N indicates the number of free area bytes that can be written to the FIF buffer in the evening set of each FIFO channel.
  • the register NRA has a value of BAR + RAR. The calculation is performed by the control circuit 40.
  • the Registrar NWA holds the value of BAR + WAR. The calculation is performed by the control circuit 40.
  • the register DTCR includes the size of a memory area as a FIFO buffer (FIFO buffer size), the data size of a bus cycle started by a peripheral circuit such as CSI12, the use of a temporary rebuffer, the FIF 0 Select whether or not to detect the detection of full (war RAR status by write bus cycle) in the full flag of the register DTSTR.
  • Register DTSTRC is FIF0 full (depending on write bus cycle)
  • the control circuit 40 detects the FIF0 full and the FIF0 empty.
  • Register DT IDR is a register that selects peripheral functions that can request activation of the FIF 0 channel.
  • Peripheral functions are assigned 4-bit ID numbers in advance. For example, a unique ID number is assigned to the USB 13 separately for each communication channel, and for each of the transfer direction from the RAM 5 to the USB 13 and the transfer direction from the USB 13 to the RAM 5.
  • a unique ID number is assigned to the SCI 12 for each communication channel and for each of the transfer direction from the RAM 5 to the SCI 12 and the transfer direction from the SCI 12 to the RAM 5.
  • the MC IFC 17 is assigned a unique ID number for each of the transfer direction from the RAM 5 to the MC IFC 17 and the transfer direction from the MC IFC 17 to the RAM 5.
  • a unique ID number is assigned to the DES 22 for each of the transfer direction from the RAM 5 to the DE S 22 and the transfer direction from the DES 22 to the RAM 5.
  • 2 for the DTI DR for each FIF 0 channel ID numbers are set.
  • the data transfer direction is read (the data transfer direction from RAM to peripheral circuits) and write (the data transfer direction from peripheral circuits to RAM).
  • the types of peripheral circuits need not be the same. For example, by setting the write direction ID number of USB 13 and the read direction ID number of MC IFC 17 in one FIF 0 channel, the reception of USB 13 using one FIFO buffer Processing that transfers the data to MC IFC 17 is also possible.
  • the register DTIDSR sets the transfer direction indicated by the ID number. However, since the ID number is assigned to the peripheral function in advance, the transfer direction is fixed.
  • interrupt enable information for selecting whether to output an interrupt signal when a full flag empty flag or the like is set is set.
  • the register evening D TR SR is connected to CPU 2
  • This register is used to specify R, RAR, WAR, TMP, DATA, FREEN, NRA, and NWA that can be accessed by CPU 2.
  • the designated register can be directly accessed by the CPU 2 via the internal module data bus 41 and the internal data bus bus 42. It is not necessary to always place all registry evenings in the CPU 2 address space.
  • 28 D is a data bus constituting the bus 28.
  • the control circuit 40 ⁇ Dress Boyne evening control for Pointasedzu bets for each FI FO channels, Basuin evening face control between the bus controller I, from the peripheral circuit DES 22, SCI 1 2, USB 1 3 3 MC IFC 1 7 It performs start control and the like in response to the start request.
  • the activation factor that can activate the operation of each FIF 0 channel of the RFU 6 is determined in advance for each ID number. For example, if the ID number 7 indicates the transfer direction from the USB 13 to the RAM 5 for a predetermined communication channel of the USB 13, the FIB output by the USB 13 in response to the request for the reception operation for the communication channel.
  • the activation of the activation request signal for the FO operation becomes an activation factor of the FI FO channel corresponding to the communication channel of the USB 13 concerned.
  • the control circuit 40 assigns priorities to the activation factors, although not particularly limited, in order to eliminate the competition for the activation factors for each ID number, and accepts the activation factors with a higher priority for the competition.
  • the control circuit 40 requests the bus controller 7 for the bus right with a signal 31 to perform the FIFO operation corresponding to the received activation factor, and uses the RAM 5 after the bus right is approved by the response signal 32. : FIF 0 operation can be started. After obtaining the bus approval, the control circuit 40 returns the FIFOI operable state to the requesting source of the FIF0 operation by an acknowledge signal.
  • FIG. 2 shows the FIF 0 activation request signal 12 eq from the SCI 12 and the FIF 0 acknowledgment signal 12 ack to the SCI 12, and the FIF from the MCI FC 17 ⁇ the activation request signal 17 req and the MC I FC 17
  • the FIF 0 acknowledgment signal 17 ack to is representatively shown.
  • the control circuit 40 outputs the RAM addresses sequentially generated by the address bus control to the address bus 28A included in the bus 28.
  • the full state and the empty state can be detected in the operating FIFO channel, and the full detection signal and the empty detection signal can be supplied to the corresponding peripheral circuits. It has become.
  • FIG. 2 exemplarily shows a full detection signal 12 fu 1 and an empty detection signal 12 ept for the SCI 12 and a full detection signal 17 fu 1 and an empty detection signal 17 ept for the MC IFC 17.
  • a function is provided to output the interrupt request signal 6 irq to the interrupt controller 10 according to the full state detection or the empty state detection according to the setting value of the register.
  • FIG. 3 shows an example of the initial setting of the RFU 6 and the FIFO operation control based on the initial setting.
  • First select the channel to be set in the register DTR SR, set the base address of RAjVI in the register BAR of the selected channel (S l), and set the transfer size, FI FO size, etc. in the register DTCR.
  • Set (S2) In addition to setting the ID number to be activated in the register DTI DR, the register DTIDSR is set for each ID number to indicate which of RAR and WAR the pointer updated at the time of transfer execution (S3).
  • the interrupt enable is set in the register DTIER (S4), the ID number set in each channel is enabled in the register DTCR (S5), and the enable setting for each channel is set in the register DT CRD.
  • Perform (S6).
  • the enabled FIF0 channel is placed in a transfer request (FIFO operation activation request) wait state (S7).
  • a bus right acquisition process is performed on the bus controller 7 (S8). If the transfer request is FIF 0 read, an empty detection is performed (S 9). If it is empty, an empty interrupt (or a notification by an empty detection signal) is generated (S 10). If not, read transfer is performed. Execute (S ll) and increment the read pointer (RAR) (S 12).
  • step S 4 If not, the process returns to step S7. If the transfer request is a FIFO write, full detection is performed (S15). If full, a full interrupt (or notification by full detection signal) is generated (S16). If not, write transfer is performed. Is executed (S17), and the write pointer (WAR) is incremented (S18). After the increment, full detection is performed (S19), and if full, a full interrupt (or notification by a full detection signal) is generated (S20). Judgment Step S 19: If it is not empty, return to step S 7
  • FIG. 4 shows the data processor 1 mainly with the RFU 6.
  • the overall function of RFU 6 will be explained based on the figure. For example, when a reception request is input to a predetermined communication channel of SCI 12 via input / output port 25, SCI 12 sends FIF 0 to RFU 6 by FIF 0 request signal 1 2 req assigned to the communication channel. Request action.
  • the RFU 6 asserts the bus request signal 31 to request the bus right from the bus controller 7, waits for the bus acknowledge signal 32 to acknowledge the bus right, and then sends the FIFO acknowledge signal to the SCI 12 1 thereby c a 2 ack to veers Bok, SCI 1 2 receives the input and output ports 2 5 Karade Isseki, speed intermittently data bus in response to reception de Isseki the baud rate one bets received data Output to 2 9 D.
  • the data output to the data bus 29 D is transmitted to the data bus 28 D via the bus controller 7.
  • the RFU 6 operates the FIFI channel assigned to the communication channel of the SCI 12 in synchronization with the reception operation, calculates the RAM address corresponding to the FIF 0 push operation using the address book set, Output to address bus 28 A. At this time, the bus controller 7 generates the RAM access strobe signal. As a result, the data received on the predetermined communication channel of the SCI 12 is stored in the FIF 0 area of the RAM allocated to the communication channel. Stored sequentially in FIF 0 format.
  • the MC IFC 17 requests the RFU 6 to perform the FIF 0 operation by the FIF 0 request signal 17 req.
  • the RFU 6 asserts the bus request signal 31 to request the bus right from the bus controller 7 and waits for the bus acknowledge signal 32 to acknowledge the occupation of the bus right. Assert ack.
  • the RFU 6 operates the FIFI channel assigned to the MC IFC 17 in synchronization with the transmission operation of the MC IFC 17, and sets the RAM address for the FIF 0 pop operation to the address pointer set. And output to address bus 28 A.
  • the AM access strobe signal is generated by the bus controller 7.
  • the data responding to the RAM address is sequentially read out to the data bus 28D, and propagated to the data bus 29D via the bus controller 7.
  • the MCIF 17 sequentially takes in the data on the data bus 29D and outputs the data from the input / output port 24 to the outside according to a predetermined protocol.
  • FIG. 5 shows an operation example when data is transferred from the SCI 12 to the MC IFC 17 using one FIF 0 channel of the RFU 6.
  • the bus controller 7 is not shown.
  • buses 28 and 29 are grouped together, and their overnight buses are collectively referred to as D AT and the address buses are collectively referred to as ADR.
  • reference numeral 50 denotes a memory area indicated by the register address BAR, ie, based on the address (H, E 800), ie, the address of the start of the FO: the memory area indicated by the buffer size of FIF 0,
  • the end address is, for example, H'EFFF.
  • FIG. 7 illustrates a flowchart of a data transfer operation from the SCI 12 to the MC IFC 17 using one FIF0 channel shown in FIG.
  • the SCI 112 stores the input data (reception data) from the outside in the data register 12Reg, and then requests the RFU 6 to start the FIFO operation with the signal 12req (S30).
  • the RFU 6 acquires the internal bus right, and then transfers the data in the data register 12Reg to a predetermined area (FIFO buffer area) of the RAM 5 (S31).
  • the MCIF 17 on the receiving side waits until the built-in register 17Reg becomes empty, and requests the RFU 6 to start the FIFO operation with the signal 17Req (S32).
  • the RFU 6 acquires the bus right of the internal bus, and then transfers the data in the FIF0 buffer area of the RAM 5 to the data register 17Reg (S33).
  • FIG. 8 illustrates a data processor according to the comparative example of FIG. No.
  • FIG. 9 exemplifies an operation flowchart when transmitting the SCI reception data from the MC IFC using the configuration of FIG.
  • the SCI stores the received data in the FIFO buffer (S34).
  • the SCI issues an interrupt request (S35).
  • the interrupt request is processed by the interrupt controller and the CPU
  • the CPU reads the received data from the SCI FIF 0 buffer and transfers it to the RAM in accordance with the interrupt processing routine (S36).
  • MC IFC issues an interrupt request when the FIFO buffer has enough free space (S37).
  • the interrupt request is processed by the interrupt controller, and an interrupt signal is output to the CPU.
  • the CPU writes the data in the RAM to the FIFO buffer of the MCIFC according to the interrupt processing routine (S38).
  • the MC I FC transmits the data stored in the FIFO buffer at any time (S39).
  • FIG. 10 schematically shows the operation using the FRU 6 described in FIGS. 5 and 7.
  • FIG. 11 schematically shows the operation using the FIF ⁇ buffer unique to the peripheral circuit described with reference to FIGS. 8 and 9.
  • the buffer realized by the meon-chip RAM 5 and the FU 6 eliminates the need for a dedicated FIF 0 buffer for peripheral circuits.
  • the dedicated FIF 0 buffer becomes unnecessary, the chip area of the data processor 1 can be reduced, and the cost of the data processor 1 can be reduced. Since the RFU 6 performs a FIFO operation on the memory area defined by the base address register BAR and the FFO size, the data between the peripheral circuits such as the SCI 12 and the MC IFC 17 and the RAM memory area is used. The evening transfer does not require the CPU 2 access operation or the DMA C 13 overnight transfer control operation. In this regard, the situation in which data processing by the CPU 2 is spent for FIF 0 access control can be suppressed, and it becomes easy to keep the data processing capability of the data processor 1 high.
  • Base address register The memory area defined by the BAR and FIF ⁇ size can be changed according to the set value, so it depends on the transfer data structure; the FIFO capacity is desirably within the range of the memory capacity. It can be set. Or RFU 6 depending on the memory usage by CPU 2 FI; It is easy to optimally allocate the RAM memory area for F0.
  • the RFU 6 registers a peripheral circuit which can be a request source of a FIFO operation with respect to the plurality of memory areas which can be used as an FIFO buffer as defined by the base address register BAR and the FIFO size. Since the data can be variably designated by the DTI DR, a small number of memory areas that can be used as the FIF 0 buffer can be shared by many input / output circuits.
  • the peripheral circuits can be variably designated for each of the read access and the write access to the memory area functioning as the FIF buffer.
  • the CPU 2 reads the data from one peripheral circuit for one memory area, and the CPU 2 reads the data from the write circuit and performs arithmetic processing, and writes the result of the arithmetic processing to that memory area.
  • one memory area can be used for separate peripheral circuits for read and write.
  • One memory area can be used as a FIFO buffer for multiple peripheral circuits separately for read / write, so FIF 0 data in one memory area can be shared by multiple peripheral circuits. .
  • data can be transferred between peripheral circuits without performing direct data transfer processing by the CPU 2, and high-speed continuous data transfer between peripheral circuits becomes possible.
  • the CPU control circuit 9 for controlling the operation clock signal of the CPU 2 operates when the RFU 6 performs the FIF 0 operation in response to the activation request from the peripheral circuit. Control to forcibly change to high-speed operation clock signal ⁇ 1.
  • a bus right request signal 31 given from the RFU 6 to the bus controller 7 is used. In short, if the bus right quest signal 31 is enabled, it is guaranteed that the RFU 6 will acquire the bus right and perform FIFO control at the timing after the path contention is avoided. It is.
  • the RFU 6 is preferably operated in synchronization with the clock signal ⁇ 1 or another clock signal (third clock signal) having a higher frequency than the frequency of the clock signal ⁇ 1.
  • the case where the CPU 2 operates synchronously with the slow clock signal 02 is, for example, a case where a low power consumption mode or the like is set by the mode signals MD0 and MD1.
  • the CPU 2 when the RFU 6 performs the FIFO operation in response to the start request from the peripheral circuit, the CPU 2 operates at a high speed, so that the amount of arithmetic processing that the CPU 2 can process before acquiring the bus right increases, and the bus cycle wait time Save time it can. Therefore, it is possible to prevent a delay in following the FIFO operation, which is typified by the loss of the reception data.
  • CPU 2 is operated in synchronization with clock signal ⁇ 2 in response to a low power consumption mode or the like.
  • Two cycles of the clock signal 1 are regarded as one state of the CPU, and in the states ST 1 to ST 3, the CPU clock is the low-speed clock signal ⁇ 2.
  • the bus request signal 31 is activated to a high level. That is, the RFU 6 accepts the operation start request by the time t0, and sets the bus request signal 31 to the high level in response to the request.
  • the clock control circuit 9 selects the clock signal 01 as the CPU clock signal ⁇ while the bus request signal 31 is at the high level.
  • one cycle of the clock signal 01 forms one state after the state ST4.
  • CPU 2 executes the necessary arithmetic processing at high speed up to the relinquishment of the bus right in synchronization with clock signal ⁇ 1.c This causes CPU 2 to relinquish the bus right in three cycles of clock signal ⁇ 1.
  • RFU 6 acquires the bus right and is required in state ST7: Perform FIF 0 operation by RAM access. When the processing of the FIF0 operation is completed, the RFU 6 deactivates the bus request signal 31 and relinquishes the bus right.
  • the clock control circuit 9 When the clock control circuit 9 detects the relinquishment of the bus right by the bus request signal 31 in the state ST8, the clock control circuit 9 switches the CPU clock ⁇ to the original low-speed clock ⁇ 2 in the next state ST9, thereby performing the low power consumption operation. Make it continuable.
  • FIG. 13 shows still another operation example. Since the FIF 0 buffer control processing by the RFU 6 requires the occupation of the bus right, the bus occupancy by the CPU 2 and the like is reduced accordingly. For example, as shown in Fig. 13, both CPU 2 and RFU 6 operate with two cycles of clock signal 1 as one state. When an RFU cycle is inserted, CPU 2 cannot occupy the bus during that time, and the data processing performance of CPU 2 is reduced.
  • Fig. 14 is an example to solve this problem.
  • both CPU2 and RFU6 operate with two cycles of clock signal ⁇ 1 as one state, but actually operate with one cycle of clock signal ⁇ 1. Have been completed. In short, one cycle of the clock signal 01 in the latter half is not substantially used. If this assumption holds, then when RFU 6 acquires the bus, the clock signal
  • FIG. 15 illustrates an audio system 55 using the data processor 1 described above.
  • This audio system is not particularly limited, but is positioned as an MPS player.
  • a DSP 56 for digital signal processing calculation for audio reproduction is connected to the bus controller 7.
  • the digital audio signal is converted to an analog signal by DAC 57, amplified by amplifier 58, and made available for sound from headphone 59 or the like.
  • This audio system can be connected to a mobile phone 60 via SCI 12 as an input means of MP3 data, and can interface with a memory card 61 such as a multimedia card via MC IFC 17. It can be interfaced with a host PC 62 such as a personal computer via the USB 13.
  • the RFU 6 is used for transfer control and pointer control for both data storage and reading between the USB-connected host PC 62 and the memory card 61 connected to the MC IFC 17. It can be realized by processing by the FIF 0 operation using the built-in RAM 5 as a buffer area.
  • peripheral circuits such as SCI, USB, and DES are positioned as input / output circuits.
  • An input / output circuit is a circuit that inputs information from the outside and outputs it to the outside.In a narrow sense, it may be called a peripheral interface circuit, a peripheral interface controller, a peripheral input / output circuit, etc.
  • a variety of circuits meeting such a definition can be employed for the input / output circuit.
  • the area specifying means for specifying the memory area used as the FIF 0 buffer is not limited to the means for specifying the head memory address and the size, but may be given by the start memory address and the end memory address.
  • the CPU does not have a register that holds the read start address, the write start address, the number of valid data that can be read, and the number of valid data that can be written, so that the CPU can easily access the memory area.
  • the memory used for the FIF 0 buffer is not limited to RAM such as the main memory of the CPU. For example, a RAM dedicated to the FIFO buffer may be used. It does not mean that the operating clock is limited to only two types, and that the operating speed of the CPU during low-speed operation is increased.
  • the control is not limited to the method using the bus control signal output from the RFU 6.
  • the CPU clock may be switched at high speed in response to a request for starting the FIF0 buffer operation for the RFU.
  • clock switching control is applicable not only when the RFU acquires the bus right, but also when the other bus modules such as DMAC and DTC acquire the bus right.
  • the built-in memory can be used as a FIF0 buffer of a plurality of interface modules, FIF0 data can be shared by a plurality of modules. As a result, data can be transferred between the input / output circuits without performing CPU processing, and high-speed continuous data transfer between the input / output circuits becomes possible.
  • the present invention can be widely applied to a data processor such as a single-chip microcomputer equipped with an input / output circuit for high-speed data communication or high-speed data input / output control or a peripheral circuit.

Abstract

A data processor (1) comprises a central processing unit (2), a memory (5) accessible by the central processing unit, input/output circuits (12, 13), and a FIFO control circuit (6) for operating the memory as a FIFO buffer for the input/output circuits. The FIFO control circuit specifies memory areas used as a FIFO buffer by using area specifying means, holds address information for read and write accesses for each specified memory area in address pointer means, and includes control means for FIFO-operating a predetermined area in response to a request of the input/output circuit by means of the address pointer means. Therefore, any FIFO buffer for only the input/output circuits is not required because the buffer composed of an on-chip memory and the FIFO control circuit is provided, the chip area is small, the cost is low, and the increase of the chip area caused by providing a FIFO buffer for the input/output circuits is suppressed.

Description

明 細 書 デ一夕プロセッサ 技術分野  Technical Data Processor
本発明は、 マイクロコンピュー夕もしくはマイクロプロセッサなどと称さ れるデ一夕プロセッサのオンチップ周辺回路若しくは入出力回路のための F I FO (First-In First-Out) バッファ機能に関し、 例えば高速デ一夕通信も しくは高速データ入出力制御用の入出力回路若しくは周辺回路を搭載したシ ングルチップマイクロコンビュ一夕に適用して有効な技術に関数する。 背景技術  The present invention relates to a FIFO (First-In First-Out) buffer function for an on-chip peripheral circuit or an input / output circuit of a data processor called a microcomputer or a microprocessor. It functions as an effective technology when applied to a single-chip microcomputer equipped with an input / output circuit for communication or high-speed data input / output control or peripheral circuits. Background art
機器制御用途のデ一夕プロセッサ等では、 U SB (Universal Serial Bus ) 、 M M C ( Multimedia Card) 、 I r D A ( Infrared Data Association ) 、 U A R T ( Universal Asynchronous Receive - Transceiver) に代表される S C I (Serial Communication Interface)、 I I C (Inter IC Bus) 等のィン夕フェ一スコントロ一ラのオンチヅプ 化が進んでいる。 これらのイン夕フェースコントロ一ラが高速、 大容量 デ一夕転送に対応するには F I F 0バッファを搭載する必要がある。例 えばィン夕フェースコントロ一ラは所定の転送レ一トで外部からのデ 一夕を順次入力し、 順次入力したデ一夕の取りこぼしが無いように、 入 カデ一夕のデ一夕バヅファとして F I FOバッファを用いる。 F I FO バッファの記憶容量は有限であり比較的小さいから、 C PUのデータ処 理能力とデ一夕入力レートとの間に比較的大きなギヤップがある場合 には、 F I F 0バヅファのようなデ一夕バヅファだけではそのギヤップ を埋めることはできない。 そこで、 F I F 0バッファに取り込んだデ一 夕を更に: AMに転送し、 RAMに蓄えたデータを CP Uが処理せざる を得ない場合がある。特に近年は、他のシステムデバイスとのデ一夕送 受信速度の高速化、 並びに転送データの大容量化が進んでおり、 CPU によるデ一夕処理が間に合わなくなることを防止するためには大容量 の F I F〇が必要となってきている。 In a data processor for device control, SCI (Serial Communication Bus) represented by Universal Serial Bus (USB), Multimedia Card (MMC), Infrared Data Association (IrDA), Universal Asynchronous Receive-Transceiver (UART) Interface controllers such as Interface) and IIC (Inter IC Bus) are becoming more and more on-chip. In order for these interface controllers to support high-speed, large-capacity data transfer, an FIF 0 buffer must be installed. For example, the interface controller inputs data from an external device sequentially at a predetermined transfer rate, and a buffer for input data and data so that the input data is not lost. Use a FIFO buffer. Since the storage capacity of the FI FO buffer is finite and relatively small, if there is a relatively large gap between the data processing capacity of the CPU and the data input rate, a buffer such as the FIF 0 buffer is used. Evening buffers alone cannot fill that gap. Therefore, the data captured in the FIF 0 buffer Evening: The CPU may have to process the data transferred to AM and stored in RAM. In particular, in recent years, data transmission and reception speeds with other system devices have been increased, and the amount of transferred data has been increasing. FIFII is becoming necessary.
尚、: F I FOバッファを採用した周辺回路について記載された文献の 例として特開平 2— 168318号公報がある。  Incidentally, Japanese Patent Application Laid-Open No. 2-168318 is an example of a document describing a peripheral circuit employing a FIFO buffer.
しかしながら、デ一夕プロセッサにオンチップされる入出力ィン夕フ エース回路の数が増えると、入出力ィン夕フエース回路毎に専用の F I F 0バヅファを搭載する必要があるため、チップ面積の増大を招いてし まう。  However, as the number of input / output interface circuits on-chip in the data processor increases, it is necessary to mount a dedicated FIF 0 buffer for each input / output interface circuit. It leads to an increase.
また、第 1の入出力ィン夕フェースモジュールからデ一夕を入力し、 入力デ一夕を処理して第 2の入出力ィン夕フエ一スモジュールから外 部に供給する場合、第 1の入出力ィン夕フェースモジュールで受信した デ一夕を逐次 F I FOバッファから RAMに転送し、 CPUは転送され た RAMのデ一夕をリードして演算処理を行い、演算結果を RAMにラ ィ トする。 RAMにライ トされたデ一夕は第 2のィン夕フェースモジュ —ルの F I F 0バッファに転送されて、その他のデバイスへデ一夕送信 される。 このとき、 F I F 0バッファと RAMとの間のデ一夕転送は C PU或は DMACなどを用いて行わなければならない。この転送処理は、 CPUが受信デ一夕を処理するための RAMアクセスとは別のメモリ アクセス動作になる。 CPUや DMACがバスを用いてそのようなデー 夕転送処理も行うことになれば、そのようなデータ転送のために CP U 又は DMACが占有される時間が長くなり、全体としてシステムのデー 夕処理速度が低下してしまう。  When inputting data from the first input / output interface module and processing the input data and supplying it to the outside from the second input / output interface module, The data received by the input / output interface module is sequentially transferred from the FIFO buffer to the RAM, the CPU reads the transferred data from the RAM, performs arithmetic processing, and writes the arithmetic result to the RAM. Wit. The data written to the RAM is transferred to the FIF0 buffer of the second interface module and transmitted to other devices. At this time, data transfer between the FIF0 buffer and the RAM must be performed using a CPU or a DMAC. This transfer process is a memory access operation different from the RAM access for the CPU to process the reception data. If the CPU or DMAC also uses the bus to perform such data transfer processing, the time occupied by the CPU or DMAC for such data transfer will be prolonged, and the data transfer processing of the system as a whole will take place. Speed decreases.
本発明の目的は、入出力回路もしくは周辺回路のための F I F 0バッ ファによるチップ面積増大を抑えることができるデータプロセッサを 提供することにある。 An object of the present invention is to provide a FIF 0 buffer for an input / output circuit or a peripheral circuit. Another object of the present invention is to provide a data processor which can suppress an increase in the chip area due to hardware.
本発明の別の目的は、入出力回路の F I F〇バッファと RAMのよう なオンチップメモリとの間のデータ転送処理によりデータ処理能力の 低下するのを抑制することができるデータプロセッサを提供すること にめ 。  Another object of the present invention is to provide a data processor capable of suppressing a decrease in data processing capability due to data transfer processing between an FIF buffer of an input / output circuit and an on-chip memory such as a RAM. Nime
本発明の更に別の目的は、入出力回路の F I FOバッファと RAMの ようなオンチップメモリとの間のデ一夕転送処理を不要にすることが できるデータプロセッサを提供することにある。  Still another object of the present invention is to provide a data processor which can eliminate the need for a data transfer process between a FIFO buffer of an input / output circuit and an on-chip memory such as a RAM.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及 び添付図面から明らかになるであろう。 発明の開示  The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings. Disclosure of the invention
本願において開示される発明のうち代表的なものの概要を簡単に説 明すれば下記の通りである。  The following is a brief description of an outline of typical inventions disclosed in the present application.
〔1〕 《RFU ·エリア指定》本発明に係るデータプロセッサは、 中 央処理装置と、 前記中央処理装置によりアクセス可能なメモリ (5) と、 複数の入出力回路 ( 12、 22、 13、 17) と、 前記メモリを前記複 数の入出力回路の F I F 0バッファとして動作させる F I F 0制御回 路 ( 6 ) とを 1個の半導体チップに含む。  [1] << RFU area designation >> The data processor according to the present invention comprises a central processing unit, a memory accessible by the central processing unit (5), and a plurality of input / output circuits (12, 22, 13, 17). ) And an FIF 0 control circuit (6) for operating the memory as FIF 0 buffers of the plurality of input / output circuits in one semiconductor chip.
前記 F I F 0制御回路は、前記 F I F 0バッファとして利用する複数 のメモリ領域を規定するエリァ指定手段(B AR、 D T CRの F I F I サイズ指定フィールド) と、前記エリア指定手段で規定されるメモリ領 域毎にリ一ドアクセス及びライ トアクセスのためのァドレス情報を保 持するアドレス手段例えばアドレスポインタ手段 (RAR、 WAR) と、 前記複数の入出力回路の 1つからの要求に応答して、所定のメモリ領域 を、 前記ァドレスボイン夕手段を用いて、 F I F O動作させる制御手段 と、 を含んで構成される。 The FIF 0 control circuit includes: an area designating unit (BAR, DTCR FIFI size designating field) for defining a plurality of memory areas used as the FIF 0 buffer; and a memory area defined by the area designating unit. Address means for holding address information for read access and write access, for example, address pointer means (RAR, WAR); and a predetermined response to a request from one of the plurality of input / output circuits. Memory area And a control unit for performing a FIFO operation using the addressless connection unit.
前記入出力回路として、 例えば、 シリアルコミュニケーションイン夕 フェースコントローラ、 ユニバーサルシリアルバスコン トローラ、 ノ レ スワイズモジユレ一ション回路、 夕イマ回路、 アナログディジタルコン バー夕、ディジタルアナログコンバ一夕の中から選ばれた複数個の回路 を備える。  As the input / output circuit, for example, a plurality selected from a serial communication interface controller, a universal serial bus controller, a noise-width modulation circuit, a timer circuit, an analog / digital converter, and a digital / analog converter. Circuit.
上記より、オンチップメモリと Fェ F 0制御回路で実現される R A M バッファにより入出力回路専用の F I F Oバッファが不要になる。専用 F I F Oが不要となることによるチップ面積を縮小でき、コスト低減が 可能になる。この R A Mバッファはェリァ指定手段で規定されるメモリ 領域に対して F I F O動作されるから、入出力回路とメモリ領域との間 のデ一夕転送に C P Uのアクセス動作又は D M A Cによるデ一夕転送 制御動作を要しない。  As described above, the RAM buffer realized by the on-chip memory and the F0 control circuit eliminates the need for a FIFO buffer dedicated to the input / output circuit. By eliminating the need for a dedicated FIFO, the chip area can be reduced and costs can be reduced. Since this RAM buffer operates in FIFO with respect to the memory area specified by the error designation means, CPU access operation or data transfer control operation by DMAC for data transfer between the I / O circuit and the memory area. Does not require
〔2〕 《プログラマプル指定》前記エリア指定手段による指定は固定 であっても可変であってもよい。例えば、 前記エリア指定手段は、 前記 複数のメモリ領域をプログラマブルに指定可能な記憶手段である。指定 内容が可変可能であれば、転送データ構造に応じた F I F O容量をメモ リ容量の制約の範囲で所望に設定可能になる。或いは、 C P Uによるメ モリの使用状況に応じて R A Mバヅファのメモリ領域を最適に割り当 てることが容易になる。  [2] << Programmer specification >> The specification by the area specifying means may be fixed or variable. For example, the area designation means is a storage means capable of programmably designating the plurality of memory areas. If the specified contents can be changed, the FIFO capacity according to the transfer data structure can be set as desired within the range of the memory capacity. Alternatively, it becomes easy to optimally allocate the memory area of the RAM buffer according to the state of use of the memory by the CPU.
前記 F I F O制御回路は、前記エリア指定手段で規定された前記複数 のメモリ領域のそれそれに対する利用を前記複数の入出力回路に対し てそれそれ指定する入出力回路指定手段を更に備えてよい。入出力回路 指定手段による指定は固定であっても可変であってもよい。可変であれ ば、前記ェリァ指定手段で規定される F I F 0バッファとして利用可能 な少数のメモリ領域を多くの入出力回路で共用することができる。例え ば、 前記入出力回路指定手段は、前記入出力回路をプログラマブルに指 定可能な記憶手段である。 The FIFO control circuit may further include input / output circuit designating means for designating, for each of the plurality of input / output circuits, the use of each of the plurality of memory areas defined by the area designating means. The designation by the input / output circuit designation means may be fixed or variable. If it is variable, it can be used as the FIF 0 buffer specified by the above-mentioned error designation means. A very small number of memory areas can be shared by many input / output circuits. For example, the input / output circuit designating means is a storage means capable of programmably designating the input / output circuit.
特に、: R A Mバッファのメモリ領域に対するリードアクセスとライ ト アクセスの夫々に対してプログラマプルに入出力回路を指定可能にし てよい。例えば、 前記入出力回路指定手段は、 夫々のメモリ領域に対し リード動作で利用する入出力回路の指定情報とライ ト動作で利用する 入出力回路の指定情報とを別々に且つプログラマブルに設定可能な記 憶手段である。 これにより、 前記エリア指定手段で規定される一つのメ モリ領域に対し、 一の入出力回路のデ一夕をライ トし、 ライ トデ一夕を 中央処理装置がリ一ドして演算処理し、演算処理結果をそのメモリ領域 にライ トし、ライ トされた演算処理結果を他の入出力回路がリードする という利用が可能になる。要するに、 一つのメモリ領域をリードとライ トで別々の入出力回路で利用することができる。一つのメモリ領域をリ —ド 'ライ ト別々に複数の入出力回路の F I F 0バヅファとして使用す ることが可能でるから、一つのメモリ領域の F I F Oデ一夕を複数の入 出力回路で共有することが可能となる。 これにより、 入出力回路間で中 央処理装置による処理を行うことなくデ一夕を転送することが可能と なり、 入出力回路間でのデータの高速連続転送が可能となる。  In particular, the input / output circuit may be specified programmatically for each of read access and write access to the memory area of the RAM buffer. For example, the input / output circuit specification means can separately and programmably set input / output circuit specification information used in a read operation and input / output circuit specification information used in a write operation for each memory area. It is a storage means. Thus, the data of one input / output circuit is written to one memory area defined by the area designating means, and the central processing unit reads the write data and performs arithmetic processing. In addition, it is possible to write the result of the arithmetic processing to the memory area and read the written result of the arithmetic processing by another input / output circuit. In short, one memory area can be used for separate I / O circuits for read and write. Since one memory area can be used as a read / write separate FIF 0 buffer for multiple input / output circuits, the FIFO buffer of one memory area is shared by multiple input / output circuits. It becomes possible. As a result, data can be transferred between the input / output circuits without performing processing by the central processing unit, and high-speed continuous transfer of data between the input / output circuits becomes possible.
前記エリァ指定手段及び入出力回路指定手段は中央処理装置により アクセス可能なレジス夕手段によって構成することができる。  The area designating means and the input / output circuit designating means can be constituted by register means accessible by the central processing unit.
〔3〕上記プログラマブル指定に関する更に具体的な態様について述 ベる。前記前記エリァ指定手段には、 ベースアドレスとサイズ情報によ つて前記メモリ領域を規定するレジス夕手段 (B A R, D T C R ) を採 用してよい。  [3] A more specific mode relating to the above-mentioned programmable designation will be described. As the area designating means, a register means (BAR, DTCR) for defining the memory area according to a base address and size information may be employed.
前記ァドレスボイン夕手段には、前記ペースアドレスに対するリード 用オフセヅ トァドレス情報を保持するリードアドレスボイン夕 (R A R) と、前記ベースアドレスに対するライ ト用オフセヅ トアドレス情報 を保持するライ トアドレスポインタ (WAR) と採用してよい。 The addressless bus means includes a read for the pace address. A read address register (RAR) for holding offset address information for writing and a write address pointer (WAR) for holding offset address information for writing with respect to the base address may be employed.
C PUにとつて前記 RAMバヅファのメモリ領域はランダム 'ァクセ ス可能なメモリ領域である。 CPUがそのメモリ領域を F I F 0として 容易に認識できるようにすることを考慮する。例えば、前記 F I FO制 御回路に、前記ベースアドレスに前記リード用オフセッ トアドレス情報 を加算したメモリアドレスをリード先頭ァドレスとして保持し、前記べ —スアドレスにライ ト用オフセッ トァドレス情報を加算したメモリァ ドレスをライ ト先頭ァドレスとして保持するメモリアドレスレジス夕 手段 (NRA, NWA) を設け、 前記メモリアドレスレジス夕手段を前 記中央処理装置によりアクセス可能にする。 CPUは、前記メモリ領域 を F I F〇形式でアクセスするとき、そのメモリアドレスレジス夕手段 をアクセスすることにより、 F I F 0のリード先頭ァドレス、 ライ ト先 頭アドレスを直接得ることができ、 ベースアドレス、 リード用オフセヅ トアドレス倩報、 ライ ト用オフセヅ トァドレス情報をアクセスし、 一々 演算処理を行うことを要しない。  For the CPU, the memory area of the RAM buffer is a memory area where random access is possible. Consider allowing the CPU to easily recognize the memory area as FIF0. For example, in the FIFO control circuit, a memory address obtained by adding the read offset address information to the base address is held as a read start address, and a memory address obtained by adding write offset address information to the base address is stored. A memory address register means (NRA, NWA) for holding a dress as a write head address is provided, and the memory address register means is accessible by the central processing unit. When accessing the memory area in the FIF II format, the CPU can directly obtain the read start address and the write start address of FIF 0 by accessing the memory address register means, and the base address and the read address can be obtained. It is not necessary to access the offset address information for writing and the offset address information for writing, and to perform arithmetic processing one by one.
また、 前記 F I FO制御回路に、 リード可能な有効データ数及びライ ト可能な空きエリァの数を示すデ一夕数レジス夕手段(DAT AN, F RE EN)を設け、 前記データ数レスレジス夕手段を前記中央処理装置 によりアクセス可能にする。 これにより、 CPUが前記メモリ領域を F I F〇形式でアクセスするとき、ェンプティ状態に至るまでの読み出し 可能なデ一夕数、 フル状態に至るまでの書き込み可能なデータ数を、 い ちいち取得する演算処理を行うことを要しない。  Further, the FIFO control circuit is provided with data number register means (DAT AN, F RE EN) indicating the number of valid data that can be read and the number of empty areas that can be written, and the data number less register means. Are accessible by the central processing unit. Thus, when the CPU accesses the memory area in the FIF〇 format, the calculation for obtaining the number of data that can be read until reaching the empty state and the number of writable data until reaching the full state can be performed. No action is required.
〔4〕 《競合制御》前記メモリは F I FO専用であってもよいし、 メ インメモリのように前記中央処理装置のァドレス空間に配置されてい てもよい。 後者の場合、 前記中央処理装置、 F I F O制御回路及びメモ リは共通バスに接続する。 [4] << Competition control >> The memory may be dedicated to the FIFO or may be arranged in an address space of the central processing unit like a main memory. You may. In the latter case, the central processing unit, FIFO control circuit and memory are connected to a common bus.
前記制御手段は、 複数の F I F O動作の要求が競合した き、 優先順 位にしたがって優先順位の高い要求を受付けることにより、前記要求の 競合を調停することができる。  When a plurality of FIFO operation requests compete, the control means can arbitrate the competition of the requests by accepting a request having a higher priority according to a priority order.
前記 F I F 0制御回路は前記複数の入出力回路の 1つからの F I F 0動作の要求に対し、 バス制御手段にバス権の獲得をリクエストし、 バ ス権の獲得後に F I F O動作を起動することにより、共通バスに関する バス権の調停を行うことができる。  The FIF 0 control circuit responds to a request for FIF 0 operation from one of the plurality of input / output circuits by requesting a bus control unit to acquire a bus right, and by activating the FIFO operation after acquiring the bus right. Arbitrate bus rights for common buses.
〔5〕 《C P Uクロック制御》前記入出力回路からの要求に応答して 前記 F I F 0制御回路が F I F 0動作を開始するには、 F I F 0制御回 路は C P Uからバス権を獲得しなければならず、それまでに C P Uは、 途中の演算処理を終了することが必要である。このバスサイクル待ち時 間が長いと、入出力回路からの周期的な要求に答えて F I F O動作を行 うことができない。例えば、 1 2 M b p sでデ一夕受信を行う通信系入 出力回路を想定したとき、 1バイ ト当たり 6 6 7 n sでデ一夕受信を行 い、 これは、 2 O M H zで動作するデータプロセヅサにおいて 1 3サイ クル毎に 1バイ トデ一夕を処理するのと等価である。低消費電力モード のような動作モードにおいて C P Uの動作クロック周波数が低くされ ているとき、前記バスサイクル待ち時間として許容される C P Uの動作 サイクル数は上記 1 3サイクルよりも少なくなり、 C P Uの動作速度を そのままの状態にしていては、受信データの取りこぼしを生ずる虞があ る。 そこで、 前記中央処理装置の動作クロック信号を制御するクロック 制御回路として、前記 F I F O制御回路が入出力回路からの要求に応答 して; F I F O動作を制御するとき、中央処理装置の動作クロック信号を 選択可能な範囲で高速動作クロック信号に変更可能な構成を採用する。 これにより、前記 F I F O制御回路が入出力回路からの要求に応答して F I F O動作を行うとき、 C P Uは高速動作するから、 バス権獲得まで に C P Uが処理できる演算処理量が増し、バスサイクル待ち時間を短縮 できる。 これにより、 受信デ一夕の取りこぼしに代表されるような、 F I F O動作の追従遅れを防止することができる。 [5] << CPU clock control >> In order for the FIF 0 control circuit to start the FIF 0 operation in response to a request from the input / output circuit, the FIF 0 control circuit must acquire the bus right from the CPU. Before that, the CPU needs to finish the intermediate processing. If this bus cycle wait time is long, the FIFO operation cannot be performed in response to the periodic request from the input / output circuit. For example, assuming a communication I / O circuit that receives data overnight at 12 Mbps, data is received overnight at 667 ns per byte, which is a data processor operating at 2 MHZ. Is equivalent to processing one byte of data every 13 cycles. When the operating clock frequency of the CPU is reduced in an operation mode such as the low power consumption mode, the number of CPU operation cycles permitted as the bus cycle waiting time is smaller than the above 13 cycles, and the CPU operation speed is reduced. If is left as it is, there is a possibility that the received data may be missed. Therefore, as a clock control circuit for controlling the operation clock signal of the central processing unit, the FIFO control circuit selects the operation clock signal of the central processing unit when controlling the FIFO operation in response to a request from the input / output circuit. A configuration that can be changed to a high-speed operation clock signal as far as possible is adopted. Thus, when the FIFO control circuit performs the FIFO operation in response to a request from the input / output circuit, the CPU operates at a high speed, so that the amount of arithmetic processing that can be performed by the CPU before acquiring the bus right increases, and the bus cycle waiting time increases. Can be shortened. As a result, it is possible to prevent a delay in following the FIFO operation, which is typified by the loss of data over the reception.
具体的な態様として、第 1周波数の第 1クロック信号と第 1周波数よ りも周波数の低い第 2周波数の第 2クロック信号とを出力可能な前記 クロック発生回路を有し、 前記クロック制御回路は、前記中央処理装置 に供給する動作ク口ック信号として第 1クロック信号又は第 2クロッ ク信号を選択可能であり、第 2クロック信号を選択している状態におい て、前記 F I F O制御回路が入出力回路からの要求に応答して F I F 0 動作を行うとき、 第 2クロック信号を第 1クロック信号に変更する。 前記 F I F O制御回路は、第 1クロック信号又はその第 1クロック信 号の第 1周波数よりも高い第 3周波数の第 3クロック信号に同期動作 されるのが最良である。  As a specific aspect, the clock control circuit includes a clock generation circuit capable of outputting a first clock signal of a first frequency and a second clock signal of a second frequency lower than the first frequency. The first clock signal or the second clock signal can be selected as an operation clock signal to be supplied to the central processing unit, and the FIFO control circuit is input when the second clock signal is selected. When performing the FIF 0 operation in response to a request from the output circuit, the second clock signal is changed to the first clock signal. The FIFO control circuit is best operated in synchronization with the first clock signal or a third clock signal having a third frequency higher than the first frequency of the first clock signal.
〔 6〕上記 C P Uのクロック制御は F I F 0制御回路をバスマスタと するときだけでなく、その他のバスマス夕手段によるバス権獲得に際し ても適用することが可能である。 即ち、 データプロセッサは、 中央処理 装置と、前記中央処理装置の動作クロック信号を制御するク口ツク制御 回路と、中央処理装置に代えてバス権を獲得するバスマス夕手段とを 1 個の半導体チップに含み、 前記クロック制御回路は、 前記バスマス夕手 段によるバス権獲得の可能性に応答して、中央処理装置の動作クロック 信号を、選択可能な範囲で高速動作クロック信号に変更する制御を行う < この構成のデータプロセッサが、前記中央処理装置によってアクセス 可能なメモリと、前記中央処理装置の複数の周辺回路とを更に備えると き、 前記バスマス夕手段として、 前記メモリと前記周辺回路に接続され、 前記メモリを前記周辺回路の F I FOバッファとして動作させる F I FO制御回路を採用可能である。前記 F I FO制御回路は、前記 F I F 0バッファとして利用する複数のメモリ領域を規定するエリァ指定手 段と、前記ェリァ指定手段で規定されるメモリ領域毎にリードアクセス 及びライ トアクセスのためのァドレス情報を保持するァドレスポイン 夕手段と、前記周辺回路からの要求に応答して、所定のメモリ領域を、 前記ァドレスボイン夕手段を用いて、 F I F〇動作させる制御手段と、 を含んでよい。 [6] The CPU clock control described above can be applied not only when the FIF 0 control circuit is used as the bus master, but also when acquiring the bus right by other bus master means. That is, the data processor includes a central processing unit, a control circuit for controlling an operation clock signal of the central processing unit, and a bus control unit for acquiring a bus right in place of the central processing unit. Wherein the clock control circuit performs control to change the operation clock signal of the central processing unit to a high-speed operation clock signal within a selectable range in response to the possibility of acquiring the bus right by the bus mass means. <When the data processor having this configuration further includes a memory accessible by the central processing unit and a plurality of peripheral circuits of the central processing unit, the data processor is connected to the memory and the peripheral circuits as the bus mass unit. , An FI FO control circuit that operates the memory as a FI FO buffer of the peripheral circuit can be employed. The FIFO control circuit includes an area specifying means for specifying a plurality of memory areas to be used as the FIF 0 buffer, and address information for read access and write access for each memory area specified by the area specifying means. And a control means for performing a FIF operation using a predetermined memory area in response to a request from the peripheral circuit, using a predetermined address area.
前記 F I FO制御回路には、前記エリア指定手段で規定された前記複 数のメモリ領域を利用する周辺回路を指定する入出力回路指定手段を 含め、前記制御手段には、前記入出力回路指定手段で指定された入出力 回跆からの要求に応答して、その入出力回路が利用するメモリ領域を、 前記ァドレスボイン夕手段を用いて、 F I F 0動作させる機能を実現し てよい。 図面の簡単な説明  The FIFO control circuit includes an input / output circuit designating unit that designates a peripheral circuit that uses the plurality of memory areas specified by the area designating unit. In response to a request from the input / output circuit specified in the above, a function of causing the memory area used by the input / output circuit to perform the FIF 0 operation using the address binding means may be realized. BRIEF DESCRIPTION OF THE FIGURES
第 1図は本発明に係るデータプロセッサを例示するプロヅク図であ る。  FIG. 1 is a block diagram illustrating a data processor according to the present invention.
第 2図は R FUの一例を示すプロック図である。  FIG. 2 is a block diagram showing an example of the RFU.
第 3図は RFUの初期設定とそれによる F I FO動作制御を例示す るフローチヤ一トである。  FIG. 3 is a flowchart illustrating the initial setting of the RFU and the FIFO operation control based on the initial setting.
第 4図は第 1図のデータプロセッサを: R F Uを主体に示したプロッ ク図である。  FIG. 4 is a block diagram mainly showing the data processor of FIG. 1: RFU.
第 5図は RFUの制御に基づき一つの F I FOチャネルを利用して S C Iから MC I F Cにデータ転送を行う時の動作例を示すプロック 図である。 第 6図は I D番号に対するボイン夕の割り当て状態を例示する説明 図である。 FIG. 5 is a block diagram showing an operation example when data is transferred from the SCI to the MC IFC using one FIFO channel under the control of the RFU. FIG. 6 is an explanatory diagram exemplifying an assignment state of a boyfriend to an ID number.
第 7図は第 5図に示される一つの F I F Oチャネルを利用した S C Iから M C I F Cへのデータ転送動作を例示するフローチャートであ る  FIG. 7 is a flowchart illustrating an example of a data transfer operation from SCI to MCIFC using one FIFO channel shown in FIG.
第 8図は第 5図の比較例に係るデータプロセッサを例示するプロッ ク図である。  FIG. 8 is a block diagram illustrating a data processor according to the comparative example of FIG.
第 9図は第 8図の構成を利用して S C Iの受信データを M C I F C から送信するときの動作例を示すフローチャートである。  FIG. 9 is a flowchart showing an operation example when transmitting the SCI reception data from the MCIFC using the configuration of FIG.
第 1 0図は第 5図及び第 7図で説明した F R Uを用いる動作を模式 的に示した説明図である。  FIG. 10 is an explanatory diagram schematically showing the operation using the FRU described in FIGS. 5 and 7.
第 1 1図は第 8図及び第 9図に基づいて説明した周辺回路固有の F I F 0バッファを用いた動作を模式的に示した説明図である。  FIG. 11 is an explanatory diagram schematically showing an operation using the FIF0 buffer unique to the peripheral circuit described with reference to FIGS. 8 and 9.
第 1 2図は上記ク口ック制御の動作タイミングを例示するタイミン グチャートである。  FIG. 12 is a timing chart illustrating the operation timing of the above-described mouth control.
第 1 3図は更に別の動作例が示される。 R F Uによる F I F Oバッフ ァ制御処理がバス権を占有することによる影響を説明するためのタイ ミングチャートである。  FIG. 13 shows still another operation example. 9 is a timing chart for explaining the effect of the exclusive use of the bus by the FIFO buffer control processing by the RFU.
第 1 4図は第 1 3図の影響を解消する動作例が例示されるタイミン グチャートである。  FIG. 14 is a timing chart illustrating an operation example for eliminating the influence of FIG.
第 1 5図はデータプロセッサを用いたオーディオシステムを例示す るブロヅク図である。 発明を実施するための最良の形態  FIG. 15 is a block diagram illustrating an audio system using a data processor. BEST MODE FOR CARRYING OUT THE INVENTION
第 1図には本発明に係るデータプロセッサ 1の一例が示される。同図 に示されるデータプロセッサ 1は、例えば C M O S集積回路製造技術に より単結晶シリコンのような 1個の半導体基板(半導体チヅプ) に形成 される。 FIG. 1 shows an example of a data processor 1 according to the present invention. The data processor 1 shown in FIG. It is formed on one semiconductor substrate (semiconductor chip) such as single crystal silicon.
デ一夕プロセッサ 1は、 中央処理装置 (CPU) 2、 DM Aコント口 —ラ (DMAC) 3、 CPU 2の処理プログラムなどを格納するプログ ラムメモリであるリードオンリメモリ (ROM) 4、 C PU 2の作業領 域並びにデ一夕の一時記憶に利用されるランダムアクセスメモリ( R A M) 5、 F I FO制御回路 (RFU) 6、 バスコントローラ 7、 クロヅ ク発生回路 (CP G) 8、 クロック制御回路 (C CNT) 9、 割込みコ ントロ一ラ 1 0、 夕イマカウン夕 (TMR) 1 1、 シリアルコミュニケ ーシヨンィン夕フエースコントロ一ラ (S C I ) 1 2、 ユニバーサルシ リアルバスコン卜ローラ (USB) 1 3、 〇1^0演算器14、 ディジ夕 ルアナログ変換器(D/A) 1 5、 アナログディジ夕ル変換器(AZD) 1 6、 メモリカードィン夕フエ一スコントロ一ラ (MC I F C) 1 7、 パルスワイズモジユレ一夕 (PWM) 1 8、 キ一ボ一ドバッファコント ローラ 1 9、 ウォッチドッグ夕イマ (WDT) 20、 フリーランニング 夕イマ (FRT) 2 1、 暗号演算器 (DE S) 22及び入出力ポート 2 3〜2 5を有する。 前記 CPU 2、 DMAC 3、 : 〇M4、 RAM5、 R FU 6及びバスコントロ一ラ 7は CPUバス 2 8に接続される。この C PUバス 2 8はパスコントローラ Ίを介して周辺バス 29にィン夕 フェ一スされ、 周辺バス 2 9には、 周辺回路として、 前記割込みコント ローラ 1 0、 TMR 1 1、 S C I 1 2、 USB 1 3、 CR C演算器 14、 D/A 1 5、 A/D 1 6、 MC I F C 1 7、 PWM 1 8、 キーボードバ ヅファコントローラ 1 9、 WD T 20、 FRT 2 1、 及び暗号演算器 2 2が接続される。前記 CPUバス 28及び周辺バス 2 9は夫々、 デ一夕 バス、 アドレスバス及び制御信号バスを含んでいる。前記周辺バス 29 は入出力ポート 23を介して外部バス (図示せず) とイン夕フェースさ れ、 C P Uバス 2 8はバスコントロ一ラ Ίを介して周辺バス 2 9更には 入出力ポート 2 3を介して外部バスとィン夕フェースされる。入出力ポ —ト 2 4, 2 5は周辺回路のための外部ィン夕フェースバッファとして 機能される。例えば、 S C I 1 2の所定の通信チャネルにおけるデ一夕 受信端子とデータ送信端子は入出力ポート 2 5の所定のポートに割り 当てられる。 The processor 1 has a central processing unit (CPU) 2, a DMA controller (DMAC) 3, a read-only memory (ROM) 4, which is a program memory for storing processing programs for the CPU 2, and a CPU 2 Random access memory (RAM) 5, FIFO control circuit (RFU) 6, bus controller 7, clock generation circuit (CPG) 8, clock control circuit (RAM) C CNT) 9, Interrupt controller 10, Evening counter (TMR) 11, Serial communication interface, Evening controller (SCI) 12, Universal serial bus controller (USB) 13, 〇1 ^ 0 arithmetic unit 14, digital analog converter (D / A) 15, analog digital converter (AZD) 16, memory card controller (MC IFC) 17, pulse Wise Modulation Night (PWM) 18 Fakonto roller 1 9, watchdog evening timer (WDT) 20, a free-running evening timer (FRT) 2 1, the cryptographic computing units (DE S) 22 and the output port 2 3-2 5. The CPU 2, DMAC 3, M4, RAM 5, RFU 6, and bus controller 7 are connected to a CPU bus 28. The CPU bus 28 is connected to a peripheral bus 29 via a path controller 夕, and the peripheral bus 29 is connected to the interrupt controller 10, TMR 11, and SCI 12 as peripheral circuits. , USB 13, CRC calculator 14, D / A 15, A / D 16, MC IFC 17, PWM 18, keyboard buffer controller 19, WDT 20, FRT 21, and encryption Arithmetic unit 22 is connected. The CPU bus 28 and the peripheral bus 29 include a data bus, an address bus, and a control signal bus, respectively. The peripheral bus 29 is connected to an external bus (not shown) via the input / output port 23. The CPU bus 28 is interfaced with a peripheral bus 29 via a bus controller and an external bus via an input / output port 23. I / O ports 24 and 25 function as external interface buffers for peripheral circuits. For example, a data reception terminal and a data transmission terminal in a predetermined communication channel of the SCI 12 are assigned to a predetermined port of the input / output port 25.
デ一夕プロセッサ 1においてバスマス夕モジュールは、前記 C P U 2、 DMA C 3 , 及び RFU 6である。 前記 C P U 2は、 例えば R 0 M 4か ら命令をフェッチし、 取り込んだ命令を解読する命令制御部と、命令制 御部による命令解読結果に従って汎用レジス夕や算術論理演算器など を用いて演算処理を行なう実行部とを有する。 DMAC 3は CPU 2に よりデータ転送条件が初期設定され、周辺回路などからのデ一夕転送要 求に応答して、 データ転送制御を行う。  In the data processor 1, the bus modules are the CPU 2, DMA C3, and RFU 6. For example, the CPU 2 fetches an instruction from R0M4 and decodes the fetched instruction.The CPU 2 performs an arithmetic operation using a general-purpose register, an arithmetic logic unit, or the like according to the instruction decoding result by the instruction control unit. An execution unit for performing processing. The DMAC 3 is initialized by the CPU 2 for data transfer conditions, and performs data transfer control in response to a data transfer request from a peripheral circuit or the like.
前記 RFU 6は、 CPU 2による初期設定に従い、前記 RAM 5を、 周辺回路、 例えば S C I 1 2、 U S B 1 3、 MC I F C 1 7、 及び D E S 2 2の F I F Oバッファとして動作させることが可能な制御回路で ある。 前記周辺回路 S C I 1 2、 U S B 1 3、 MC I F C 1 7s 及び D E S 2 2から R FU 6へ RAM 5を F I F Oバッファとして動作させ る起動信号 (リクエスト信号) 及びそれに対する承認信号 (ァクノレツ ジ信号) は信号群 3 0で総称される。 RFU 6は F I F Oバッファ動作 の要求があると、バスコントロ一ラ 7に対してバスリクエスト信号 3 1 でバス権を要求し、それに対してバスァクノレヅジ信号 32で承認を得 てから、 起動要求元の周辺回路のために、 RAM 5を F I F 0バヅファ として動作させるためのボイン夕制御とダイレク トメモリアクセス制 御を行う。要するに RFU 6は、 DM A転送制御機能と F I F 0ポイン 夕制御機能が融合された機能プロヅクとして動作する。その詳細につい ては後述する。 The RFU 6 is a control circuit capable of operating the RAM 5 as a FIFO buffer of peripheral circuits, for example, SCI 12, USB 13, MC IFC 17, and DES 22 according to the initial setting by the CPU 2. It is. From the peripheral circuits SCI 12, USB 13, MC IFC 17 s and DES 22 to R FU 6, a start signal (request signal) for operating RAM 5 as a FIFO buffer and an acknowledgment signal (acknowledge signal) for it are Collectively referred to as signal group 30. When the RFU 6 requests the FIFO buffer operation, the RFU 6 requests the bus controller 7 for the bus right with the bus request signal 31 and receives an approval for the bus right with the bus acknowledge signal 32. For the circuit, control the RAM 5 to operate as a FIF 0 buffer and perform direct memory access control. In short, the RFU 6 operates as a function program in which the DMA transfer control function and the FIF 0 point control function are combined. About the details Will be described later.
前記周辺回路である SC I 12、 USB 13、 MC I FC 17及び D E S 22の動作速度は、 何れも、 外部との情報ィン夕フェース速度が直 接的或いは間接的に影響を与える。例えば、 S C I 12、 USB 13、 MC I F C 17の場合、データ受信のボーレ一トに対してデ一夕の取り こぼしを生じないように受信デ一夕を蓄積していかなければならない。 DE S 22の場合、送信デ一夕に対し送信速度に間に合うように暗号化 演算等を行っていかなければならない。  The operating speed of the peripheral circuits SCI 12, USB 13, MCI FC 17, and DES 22 is directly or indirectly affected by the speed of the information interface with the outside. For example, in the case of SCI 12, USB 13, and MC IFC 17, the received data must be accumulated so as not to miss the data for the data reception baud rate. In the case of DE S22, it is necessary to perform an encryption operation or the like for the transmission data in time to meet the transmission speed.
バスコントローラ 7は、 バスマス夕モジュールである C P U 2、 R F U6、 DMAC 7、 及び外部バスマス夕との間のバス権要求の競合に対 する調停を行う。調停論理は例えば優先順位に基づく調停制御である。 調停の結果、 バス権が与えられたバスマス夕モジュールは、 バスコマン ドを出力し、 バスコントロ一ラ 7は、 このバスコマンドに基づいてバス の制御を行なう。バスコントローラ 7は、 バスマス夕モジュールの出力 するアドレス信号がデータプロセッサ 1 の外部アドレス空間を意味す る場合には、入出力ポート 23を介して外部にアドレス信号及びァクセ スストロ一ブ信号を出力する。  The bus controller 7 arbitrates for contention of a bus request between the bus master module CPU 2, RFU 6, DMAC 7, and the external bus master. The arbitration logic is, for example, arbitration control based on priority. As a result of the arbitration, the bus master module to which the bus right is granted outputs a bus command, and the bus controller 7 controls the bus based on the bus command. The bus controller 7 outputs an address signal and an access strobe signal to the outside via the input / output port 23 when the address signal output from the bus master module indicates the external address space of the data processor 1.
割り込みコントロ一ラ 10は、周辺バス 29に接続される S C I 12 等の回路モジュールから出力される割込み要求信号(図示せず) を入力 し、入力された割込み要求信号に対して優先制御及びマスク制御を行つ て、 割り込み要求を受け付ける。 割込みコントローラ 10は、 割込みを 受付けると、 CPU 2に割込要求信号 (図示せず) を出力する。 CPU 2に割込要求信号が与えられると、 CPU2は実行中の処理を中断して、 割込み要因に応じた所定の処理ルーチンに分岐する。分岐先の処理ルー チンの最後では、 復帰命令が実行され、 この命令を実行することによつ て前記中断した処理が再開可能にされる。 その他にデータプロセッサ 1は電源端子として、 グランドレペル(V s s )及び電源電圧レベル (Vc c) などの外部端子を有し、 その他に 専用制御端子として、 リセッ ト入力 (RE S)、 スタンバイ (入力 ST BY) 、 モ一ド制御入力 (MD 0、 MD 1) 、 クロック入力 (EXTA L、 XTAL) の各端子を有する。 The interrupt controller 10 receives an interrupt request signal (not shown) output from a circuit module such as the SCI 12 connected to the peripheral bus 29, and performs priority control and mask control on the input interrupt request signal. To accept the interrupt request. Upon receiving the interrupt, the interrupt controller 10 outputs an interrupt request signal (not shown) to the CPU 2. When an interrupt request signal is given to the CPU 2, the CPU 2 interrupts the processing being executed and branches to a predetermined processing routine according to the interrupt factor. At the end of the processing routine at the branch destination, a return instruction is executed, and by executing this instruction, the interrupted processing can be restarted. In addition, data processor 1 has external terminals such as ground level (V ss) and power supply voltage level (Vc c) as power supply terminals, and reset control (RES), standby (input) STBY), mode control input (MD0, MD1), and clock input (EXTAL, XTAL).
前記 CP G 8は、 特に制限されないが、 端子 EXTAL、 XTALに 接続される水晶発振子または EXT AL端子に入力される外部クロッ ク信号に基づいてクロック信号 ø 1 (第 1クロック信号) とその分周信 号 2 (第 2クロック信号) を生成する。 クロック制御回路 9はデータ プロセッサ 1の動作モ一ドそして内部の動作状態に応じてクロック信 号 ø 1又は 2を選択して基準クロック (システムクロック) とし、 これを例えば CPU 2の動作クロック信号として与える。特に制限され ないが、信号群 30を介して R FU 6に接続される S C I 12、 U S B 13、 MC I FC 17、 DE S 22は高速ィン夕フエ一ス動作を行うこ とが予定され、 その同期動作クロック信号として前記クロック信号 01 が供給され、これに応じて RFU 6には動作クロック信号として前記ク 口ヅク信号 1が供給される。キーボ一ドバッファコントローラ 19、 D/A 15、 A/D 16には低速のクロヅク信号 02が同期クロック信 号として供給される。  The CPG 8 is, although not particularly limited, a clock signal ø1 (first clock signal) based on a crystal oscillator connected to the terminals EXTAL and XTAL or an external clock signal input to the EXTAL terminal. Generates cycle signal 2 (second clock signal). The clock control circuit 9 selects a clock signal 11 or 2 according to the operation mode and the internal operation state of the data processor 1 and uses it as a reference clock (system clock). give. Although not particularly limited, the SCI 12, USB 13, MC I FC 17, and DE S 22 connected to the RFU 6 via the signal group 30 are expected to perform high-speed operation. The clock signal 01 is supplied as the synchronous operation clock signal, and accordingly, the clock signal 1 is supplied to the RFU 6 as the operation clock signal. A low-speed clock signal 02 is supplied to the keyboard buffer controller 19, D / A 15, and A / D 16 as a synchronous clock signal.
データプロセッサ 1にリセッ ト信号 RE Sが与えられると、 CPU 2 等のオンチヅプ回路モジュールはリセヅ ト状態とされる。このリセヅ ト 信号 RESによるリセッ ト状態が解除されると、 CPU 2は所定のス夕 —トァドレスから命令をリードし、 プログラムの実行を開始し、 それに 従って、 例えば、 RAM 5からデ一夕をフェッチし、 フエヅチしたデー 夕の演算処理を行い、 処理結果に基づいて、 USB 13や SC I 12な どを使用して、 外部と信号入出力を行って、 各種の機器制御を行う。 第 2図には前記 RFU6の一例が示される。 : RFU6は、特に制限さ れないが、 CH 0〜CH 7の 8個の F I F0チャネルを有する。各 F I F〇チャネルは、 ベースァドレスレジス夕 B AR、 リ一ドアドレスポィ ン夕: RAR、 ライ トアドレスポインタ WAR、 テンポラリポインタ TM R、 有効デ一夕バイ ト数レジス夕 DAT AN、 リード先頭アドレスレジ ス夕 NRA、 ライ ト先頭ァドレスレジス夕 NWA、 デ一夕転送コントロ 一ルレジス夕 D T CR、デ一夕転送ステータスレジス夕 D T S TR C、 デ一夕転送 I Dレジス夕 D T I DRを有する。 When the reset signal RES is supplied to the data processor 1, the on-chip circuit modules such as the CPU 2 are reset. When the reset state by the reset signal RES is released, the CPU 2 reads the instruction from the predetermined address, starts the program execution, and accordingly fetches the data from the RAM 5, for example. Then, it performs arithmetic processing on the fetched data, and based on the processing results, performs signal input / output with external devices using USB 13 or SCI 12 to control various devices. FIG. 2 shows an example of the RFU6. : The RFU 6 has eight FI F0 channels CH0 to CH7, though not particularly limited. Each FIF channel has a base address register BAR, a read address pointer: RAR, a write address pointer WAR, a temporary pointer TMR, a valid data byte register DATAN, and a read start address register. It has NRA, Head of Writer Dress Register NWA, Data Transfer Control Register DT CR, Data Transfer Status Register DTS TR C, Data Transfer ID Register DTI DR.
B ARS R AR WAR、 T M 0の 4つのレジス夕/ポインタの値が、 R FUバスサイクル時に RAMァドレスに変換される。これらのレジス 夕/ポインタは cpu命令でリード Zライ トが可能である。 また、 それ らレジス夕/ボイン夕 BAR, RAR, WARの内容に基づく演算結果 が、 DATAN、 FREEN、 NRA、 NW Aの 4つのレジス夕の値に 反映され、 それらは CPU命令でリードすることが可能である。 B AR S R AR WAR, the value of the four registers evening / pointer TM 0 is converted into RAM Adoresu when R FU bus cycle. These registers / pointers can be read-Z-written by the cpu instruction. In addition, the calculation results based on the contents of the REG, BAR, RAR, and WAR are reflected in the values of the four registers, DATAN, FREEN, NRA, and NWA, which can be read by CPU instructions. It is possible.
RFU6は、 全体を制御すための制御回路 40を有し、 全体的な制御 のための制御情報が設定されるレジス夕として、データ転送 I Dのリ一 ド /ライ ト選択レジス夕 D T I D S R、デ一夕転送ステータスレジス夕 D T S T ,デ一夕転送レジスタ選択レジス夕 D TR S R、及びその他 のレジス夕 DT I ER, DTCRDを備える。  The RFU 6 has a control circuit 40 for controlling the entire system. As a register for setting control information for overall control, a data transfer ID read / write selection register DTIDSR, a data transfer ID register, etc. It has an evening transfer status register DTST, a data transfer register selection register DTRSR, and other registers DTIER and DTCRD.
前記レジス夕 BARは F I FOバッファとして操作可能な R A M 5 のメモリ領域におけるベ一スァドレスが設定される。  The register BAR is set with a base address in a memory area of the RAM 5 which can be operated as a FIFO buffer.
前記ボイン夕 RARは RAMリードサイクルで、 リードする RAMァ ドレスを指定するためのボイン夕である。 RAM5を F I FOバッファ として操作するときの RAMァドレスは、 B AR + RARで計算される ( この値は S C I 12などの周辺回路が RAM 5を F I F0バッファと してリードするときの Fェ FOリ一ドアドレスとして用いられる。また、 その値はレジス夕 NARにも保持され、 CPU2が RAM5を F I FO ノ ッファとしてアクセスするときにリードして利用する。ボイン夕 R A Rの値は、 : RAMリードサイクル毎に制御回路 40がその値をリ一ドバ ィ ト数だけインクリメントする。 ただし、選択された F I F 0バッファ のサイズを超えてはィンクリメントされず、 F I FOバッファサイズま でインクリメントされると 0にクリァされる。 The above-mentioned register RAR is a register read cycle for specifying a RAM address to be read in a RAM read cycle. The RAM address when operating RAM5 as a FIFO buffer is calculated by BAR + RAR ( this value is the FIFO address when peripheral circuits such as SCI 12 read RAM5 as FI F0 buffer). Address. The value is also held in the register NAR, and is read and used when CPU2 accesses RAM5 as a FIFO buffer. The value of the RAR is: The control circuit 40 increments the value by the number of read bytes every RAM read cycle. However, it is not incremented beyond the size of the selected FIF 0 buffer, and is cleared to 0 when it is incremented up to the FIFO buffer size.
前記ポインタ WAI ま RFU 6の: AMライ トサイクルで、ライ 卜さ れる RAMァドレスを指定するためのボイン夕である。 RAM5を F I F 0バッファとして操作するときの RAMアドレスは、 B AR + WAR で計算される。この値は S C I 12などの周辺回路が RAM 5を F I F 0バッファとしてライ トするときの F I FOライ トアドレスとして用 いられる。 また、 その値はレジス夕 NWAにも保持され、 CPU2が R AM5を F I FOバッファとしてアクセスするときにリ-ドして利用さ れる。ポィン夕 WARの値は、 RAMライ トサイクル毎にライ トバイ ト 数だけィンクリメントされるが、選択された F I F I 0バッファサイズ を超えてはィンクリメントされず、 その時は値が 0にクリアされる。 ポインタ TMPは USB 13をソース又はディスティネーションと する時に利用可能なテンポラリァドレスボイン夕である。  The pointer WAI or RFU 6 is a pointer for specifying a RAM address to be written in an AM write cycle. The RAM address when operating RAM5 as a FIF0 buffer is calculated as BAR + WAR. This value is used as a FIFO write address when a peripheral circuit such as SCI12 writes RAM5 as a FIFO buffer. The value is also held in the register NWA, and is read and used when the CPU 2 accesses the RAM 5 as a FIFO buffer. The value of the pointer WAR is incremented by the number of write bytes in each RAM write cycle, but is not incremented beyond the selected FIFO buffer size, and the value is cleared to 0 at that time. Pointer TMP is a temporary address bus available when using USB 13 as a source or destination.
前記レジス夕 DAT ANは各 F I FOチャンネルのポインタセヅ ト において、 F I FOバッファにおけるリード可能な有効データのバイ ト 数を示す。前記レジス夕 FREE Nは各 F I FOチャンネルのボイン夕 セッ 卜において、 F I F〇バッファにライ ト可能な空きエリアのバイ ト 数を示す。前記レジス夕 NR Aは BAR + RARの値を保有する。 その 演算は制御回路 40が行う。前記レジス夕 NWAは B AR+WARの値 を保有する。 その演算は制御回路 40が行う。 これら 4個のレジス夕 D AT AN, FREEN, NR A, NWAは、 CPU2が RAM5を F I FOバッファとしてアクセスするときリードして利用する。 The register DATA indicates the number of valid data bytes that can be read in the FIFO buffer in the pointer set of each FIFO channel. The register evening FREE N indicates the number of free area bytes that can be written to the FIF buffer in the evening set of each FIFO channel. The register NRA has a value of BAR + RAR. The calculation is performed by the control circuit 40. The Registrar NWA holds the value of BAR + WAR. The calculation is performed by the control circuit 40. These four registers D AT AN, FREEN, NR A, NWA use Read and use when accessing as FO buffer.
前記レジス夕 DTCRは、 F I FOバッファとしてのメモリ領域のサ ィズ (F I FOバッファサイズ) 、 CS I 12などの周辺回路によって 起動されるバスサイクルのデータサイズ、テンポラリボイン夕使用の有 無、 F I F 0フル(ライ トバスサイクルによる WAR二 RARの状態の 発生)の検出をレジス夕 D T S TRのフルフラグに反映するか否かの選 択、 F I FOェンプティ (リ一ドバスサイクルによる RAR = WARの 状態の発生)の検出をレジスタ D T S T Cのェンプティフラグに反映す るか否かの選択等の指定に利用される。  The register DTCR includes the size of a memory area as a FIFO buffer (FIFO buffer size), the data size of a bus cycle started by a peripheral circuit such as CSI12, the use of a temporary rebuffer, the FIF 0 Select whether or not to detect the detection of full (war RAR status by write bus cycle) in the full flag of the register DTSTR. FI FOempty (RAR = WAR status by read bus cycle) Is used to specify whether or not to reflect the detection of occurrence) in the empty flag of the DTSTC register.
レジス夕 D T S TR Cは、 F I F 0フル(ライ トバスサイクルによる Register DTSTRC is FIF0 full (depending on write bus cycle)
WAR二 RARの状態の発生)の検出を示すフラグ、 F I FOェンプテ ィ (リードバスサイクルによる RAR=WARの状態の発生)の検出を 示すフラグ等が設定される。 F I F 0フル及び F I F 0ェンプティの検 出は制御回路 40が行う。 A flag that indicates the detection of WAR2 RAR status occurrence), a flag that indicates the detection of FIFO empty (the occurrence of RAR = WAR status due to a read bus cycle), and the like are set. The control circuit 40 detects the FIF0 full and the FIF0 empty.
レジスタ DT IDRは F I F 0チャンネルの起動を要求可能な周辺 機能を選択するレジス夕である。周辺機能には、予め 4ビッ トで I D番 号が割り振られておいる。例えば US B 13に関しては通信チャネル毎 に、且つ RAM 5から U S B 13への転送方向と US B 13から RAM 5への転送方向毎に、 夫々別々に固有の ID番号が割当てられる。 同様 に S C I 12にも通信チャネル毎に、且つ RAM 5から S C I 12への 転送方向と S C I 12から RAM5への転送方向毎に、夫々固有の I D 番号が割当てられる。 MC I FC 17には RAM5から MC I FC 17 への転送方向と MC I F C 17から: RAM 5への転送方向毎に、夫々固 有の I D番号が割当てられる。 D E S 22には RAM5から DE S 22 への転送方向と D E S 22から RAM5への転送方向毎に、夫々固有の I D番号が割当てられる。各 F I F 0チャネルの前記 D T I DRには 2 つの I D番号が設定される。一つのレジス夕 D T I DRに I D番号を設 定する場合は、 データの転送方向がリード (RAMから周辺回路へのデ 一夕転送方向) とライ ト (周辺回路から RAMへのデータ転送方向) に なるように組み合わせる。 このとき、 周辺回路の種類は同一でなくても よい。 例えば、 一つの F I F 0チャネルにおいて、 USB 13のライ ト 方向 I D番号と、 MC I F C 1 7のリード方向 I D番号とを設定するこ とにより、 一つの F I FOバッファを用いて、 USB 1 3の受信デ一夕 を MC I F C 1 7に転送するような処理も可能になる。 Register DT IDR is a register that selects peripheral functions that can request activation of the FIF 0 channel. Peripheral functions are assigned 4-bit ID numbers in advance. For example, a unique ID number is assigned to the USB 13 separately for each communication channel, and for each of the transfer direction from the RAM 5 to the USB 13 and the transfer direction from the USB 13 to the RAM 5. Similarly, a unique ID number is assigned to the SCI 12 for each communication channel and for each of the transfer direction from the RAM 5 to the SCI 12 and the transfer direction from the SCI 12 to the RAM 5. The MC IFC 17 is assigned a unique ID number for each of the transfer direction from the RAM 5 to the MC IFC 17 and the transfer direction from the MC IFC 17 to the RAM 5. A unique ID number is assigned to the DES 22 for each of the transfer direction from the RAM 5 to the DE S 22 and the transfer direction from the DES 22 to the RAM 5. 2 for the DTI DR for each FIF 0 channel ID numbers are set. When an ID number is set in one register DTI DR, the data transfer direction is read (the data transfer direction from RAM to peripheral circuits) and write (the data transfer direction from peripheral circuits to RAM). Combine so that At this time, the types of peripheral circuits need not be the same. For example, by setting the write direction ID number of USB 13 and the read direction ID number of MC IFC 17 in one FIF 0 channel, the reception of USB 13 using one FIFO buffer Processing that transfers the data to MC IFC 17 is also possible.
前記レジス夕 D T I D S Rは I D番号によって指示される転送方向 を設定する。但し、 I D番号は予め周辺器機能に割り振られているため、 転送方向は固定とされる。  The register DTIDSR sets the transfer direction indicated by the ID number. However, since the ID number is assigned to the peripheral function in advance, the transfer direction is fixed.
レジス夕 D T S T Rは、フルフラグゃェンプティ一フラグなどがセッ トされたとき割込み信号を出力するか否かを選択する割込みィネ一ブ ル情報がセッ トされる。  In the register DTSTR, interrupt enable information for selecting whether to output an interrupt signal when a full flag empty flag or the like is set is set.
前記レジス夕 D TR SRは CPU 2に前記レジス夕ノボイン夕 B A The register evening D TR SR is connected to CPU 2
R, RAR, WAR, TMP, DAT AN, FRE EN, NRA, NW Aの中から CPU 2によるアクセスを可能にするものを指定するレジ ス夕である。 これによつて指定されたレジス夕が、 内部モジュールデー 夕バス 4 1及び内部デ一夕バスィン夕フヱ一ス 42を介して CPU 2 により直接アクセス可能にされる。全てのレジス夕を常時 CPU 2のァ ドレス空間に配置することを要しない。 尚、 2 8 Dはバス 28を構成す るデータバスである。 This register is used to specify R, RAR, WAR, TMP, DATA, FREEN, NRA, and NWA that can be accessed by CPU 2. As a result, the designated register can be directly accessed by the CPU 2 via the internal module data bus 41 and the internal data bus bus 42. It is not necessary to always place all registry evenings in the CPU 2 address space. Incidentally, 28 D is a data bus constituting the bus 28.
制御回路 40は、各 F I FOチャンネルのポインタセヅ トに対するァ ドレスボイン夕制御、バスコントローラ Ίとの間のバスィン夕フェース 制御、 周辺回路 D E S 22 , S C I 1 2 , USB 1 33 MC I F C 1 7 からの起動要求に応答する起動制御等を行う。 R F U 6の各 F I F 0チャネルの動作を起動することができる起動 要因は、 前記 I D番号毎に予め決定されている。例えば、 I D番号 7番 が USB 13の所定の通信チャネルに対する US B 13から RAM 5 への転送方向を指示するなら、当該通信チャネルに対する受信動作の要 求に対して当該 US B 13が出力する F I FO動作の起動要求信号の 活性化が、当該 US B 13の通信チャネルに対応する F I FOチャネル の起動要因になる。制御回路 40は、各 I D番号毎の起動要因に対する 競合排除を行うために、特に制限されないが、起動要因に対する優先順 位付けを行い、競合に対しては優先順位の高い起動要因を受付ける。制 御回路 40は受付けた起動要因に対応する F I FO動作を行うために、 バスコントローラ 7に信号 31でバス権を要求し、応答信号 32により バス権が承認された後に、 RAM 5を用いた: F I F 0動作を開始するこ とができる。制御回路 40はバス承認を得た後に、 F I FO I動作可能 状態をァクノレッジ信号により F I F 0動作の要求元に返す。第 2図に は、 S C I 12からの F I F 0起動要求信号 12 r eqと SC I 12へ の F I F 0承認信号 12 a c k、 そして、 MCI FC 17からの F I F 〇起動要求信号 17 r e qと MC I FC 17への F I F 0承認信号 1 7 a c kが代表的に図示されている。 The control circuit 40, § Dress Boyne evening control for Pointasedzu bets for each FI FO channels, Basuin evening face control between the bus controller I, from the peripheral circuit DES 22, SCI 1 2, USB 1 3 3 MC IFC 1 7 It performs start control and the like in response to the start request. The activation factor that can activate the operation of each FIF 0 channel of the RFU 6 is determined in advance for each ID number. For example, if the ID number 7 indicates the transfer direction from the USB 13 to the RAM 5 for a predetermined communication channel of the USB 13, the FIB output by the USB 13 in response to the request for the reception operation for the communication channel. The activation of the activation request signal for the FO operation becomes an activation factor of the FI FO channel corresponding to the communication channel of the USB 13 concerned. The control circuit 40 assigns priorities to the activation factors, although not particularly limited, in order to eliminate the competition for the activation factors for each ID number, and accepts the activation factors with a higher priority for the competition. The control circuit 40 requests the bus controller 7 for the bus right with a signal 31 to perform the FIFO operation corresponding to the received activation factor, and uses the RAM 5 after the bus right is approved by the response signal 32. : FIF 0 operation can be started. After obtaining the bus approval, the control circuit 40 returns the FIFOI operable state to the requesting source of the FIF0 operation by an acknowledge signal. FIG. 2 shows the FIF 0 activation request signal 12 eq from the SCI 12 and the FIF 0 acknowledgment signal 12 ack to the SCI 12, and the FIF from the MCI FC 17 〇 the activation request signal 17 req and the MC I FC 17 The FIF 0 acknowledgment signal 17 ack to is representatively shown.
制御回路 40は、ァドレスボイン夕制御で順次生成する RAMァドレ スをバス 28に含まれるァドレスバス 28 Aに出力する。 また、制御回 路 40のァドレスボイン夕制御の一環として、動作中の F I FOチヤネ ルにおいて前記フル状態及びェンプティ状態の検出を行い、対応する周 辺回路にフル検出信号及びェンプティ検出信号を供給可能になってい る。第 2図では S C I 12に対するフル検出信号 12 f u 1及びェンプ ティ検出信号 12 ept、そして MC I FC 17に対するフル検出信号 17 f u 1及びェンプティ検出信号 17 e p tが代表的に例示される。 一般的に、フル状態では周辺回路による受信動作などの停止が必要に なり、 また、 ェンプティ状態では周辺回路による受信動作の再開などが 必要になり、そのような動作への遷移に CPU 2の割込みを要する場合 も有り、 レジス夕の設定値にしたがって、 フル状態検出又はェンプティ 状態検出に応じて割込み要求信号 6 i r qを割込みコントローラ 1 0 に出力する機能を備えている。 The control circuit 40 outputs the RAM addresses sequentially generated by the address bus control to the address bus 28A included in the bus 28. In addition, as part of the addressless control of the control circuit 40, the full state and the empty state can be detected in the operating FIFO channel, and the full detection signal and the empty detection signal can be supplied to the corresponding peripheral circuits. It has become. FIG. 2 exemplarily shows a full detection signal 12 fu 1 and an empty detection signal 12 ept for the SCI 12 and a full detection signal 17 fu 1 and an empty detection signal 17 ept for the MC IFC 17. Generally, in the full state, it is necessary to stop the receiving operation by the peripheral circuit, and in the empty state, it is necessary to restart the receiving operation by the peripheral circuit. In some cases, a function is provided to output the interrupt request signal 6 irq to the interrupt controller 10 according to the full state detection or the empty state detection according to the setting value of the register.
第 3図には RFU 6の初期設定とそれによる F I F O動作制御の一 例が示される。先ずレジス夕 D TR SRで設定チャネルを選択し、選択 されたチャネルのレジス夕 BARに RAjVIのベースァドレスを設定し (S l ) 、 レジス夕 D T CRにデ一夕転送サイズ、 F I FOサイズ等を 設定する (S 2) 。 レジス夕 D T I DRに起動する I D番号を設定する と共に、レジス夕 D T I D S Rには I D番号毎に転送実行時に更新され るポインタが RAR, WARの内のどれであるかを設定する (S 3) 。 そして、 レジス夕 D T I E Rに割込みィネーブルを設定し ( S 4) 、 レ ジス夕 D T CRに各チャネルに設定した I D番号のィネーブル設定を 行い ( S 5 ) 、 レジス夕 D T CRDに各チャネルに対するィネーブル設 定を行う ( S 6 ) 。 これにより、 ィネーブルにされた F I F 0チャンネ ルは転送要求 (F I FO動作の起動要求) 待ち状態にされる (S 7) 。 転送要求が有ると、バスコントロ一ラ 7に対してバス権獲得の処理を行 う (S 8 ) 。 転送要求が F I F 0リードの場合、 ェンプティ検出を行い ( S 9 ) 、 ェンプティならばェンプティ割込み (又はェンプティ検出信 号による通知) を発生し (S 1 0) 、 ェンプティでなければ、 リード転 送を実行し (S l l ) 、 リードポインタ (RAR) をインクリメントす る (S 1 2 ) 。 インクリメント後にもェンプティ検出を行い ( S 1 3 ) 、 ェンプティならばェンプティ割込み(又はェンプティ検出信号による通 知) を発生する (S 14) 。 判定ステップ S 4においてェンプティで なければ前記ステップ S 7に戻る。転送要求が F I FOライ トの場合、 フル検出を行い (S 1 5 ) 、 フルならばフル割込み (又はフル検出信号 による通知) を発生し (S 1 6 ) 、 フルでなければ、 ライ ト転送を実行 し ( S 1 7 ) 、 ライ トポインタ (WAR) をインクリメントする (S 1 8 ) 。 インクリメント後にもフル検出を行い ( S 1 9 ) 、 フルならばフ ル割込み (又はフル検出信号による通知) を発生する (S 2 0) 。 判定 ステツプ S 1 9においてェンプティでなければ前記ステップ S 7に戻 る FIG. 3 shows an example of the initial setting of the RFU 6 and the FIFO operation control based on the initial setting. First, select the channel to be set in the register DTR SR, set the base address of RAjVI in the register BAR of the selected channel (S l), and set the transfer size, FI FO size, etc. in the register DTCR. Set (S2). In addition to setting the ID number to be activated in the register DTI DR, the register DTIDSR is set for each ID number to indicate which of RAR and WAR the pointer updated at the time of transfer execution (S3). Then, the interrupt enable is set in the register DTIER (S4), the ID number set in each channel is enabled in the register DTCR (S5), and the enable setting for each channel is set in the register DT CRD. Perform (S6). As a result, the enabled FIF0 channel is placed in a transfer request (FIFO operation activation request) wait state (S7). When there is a transfer request, a bus right acquisition process is performed on the bus controller 7 (S8). If the transfer request is FIF 0 read, an empty detection is performed (S 9). If it is empty, an empty interrupt (or a notification by an empty detection signal) is generated (S 10). If not, read transfer is performed. Execute (S ll) and increment the read pointer (RAR) (S 12). Even after the increment, the empty detection is performed (S13), and if it is empty, an empty interrupt (or notification by the empty detection signal) is generated (S14). In decision step S 4 If not, the process returns to step S7. If the transfer request is a FIFO write, full detection is performed (S15). If full, a full interrupt (or notification by full detection signal) is generated (S16). If not, write transfer is performed. Is executed (S17), and the write pointer (WAR) is incremented (S18). After the increment, full detection is performed (S19), and if full, a full interrupt (or notification by a full detection signal) is generated (S20). Judgment Step S 19: If it is not empty, return to step S 7
第 4図にはデータプロセッサ 1を RFU 6を主体に示してある。同図 に基づいて RFU 6の機能を全体的に説明する。例えば S C I 1 2の所 定の通信チャンネルに入出力ポート 2 5を介して受信要求が入ると、 S C I 1 2は当該通信チャネルに割当てられた F I F 0リクエス ト信号 1 2 r e qにより RFU 6に F I F 0動作を要求する。 R F U 6はバス リクエス ト信号 3 1をアサ一トしてバスコン トローラ 7にバス権を要 求し、バスァクノレッジ信号 3 2によりバス権占有が承認されるのを待 て、 S C I 1 2に F I F Oァクノレッジ信号 1 2 a c kをアサ一卜する c これにより、 S C I 1 2は入出力ポート 2 5からデ一夕を受信し、 受信 デ一夕を受信データのボーレ一トに応じた速度で間欠的にデータバス 2 9 Dに出力する。データバス 2 9 Dに出力されたデータはバスコント ローラ 7を介してデ一夕バス 2 8 Dに伝播される。 RFU 6は受信動作 に同期して、 S C I 1 2の当該通信チャネルに割当てられた F I F Iチ ャネルを動作させ、 F I F 0プッシュ動作に対応する RAMァドレスを ァドレスボイン夕セヅ トを用いて演算し、ァドレスバス 2 8 Aに出力す る。このときに RAMアクセスストローブ信号はバスコントロ一ラ 7が 生成する。 これにより、 S C I 1 2の所定の通信チャネルで受信された デ一夕が、当該通信チャンネルに割当てられた RAMの F I F 0領域に F I F 0形式で順次蓄積される。 FIG. 4 shows the data processor 1 mainly with the RFU 6. The overall function of RFU 6 will be explained based on the figure. For example, when a reception request is input to a predetermined communication channel of SCI 12 via input / output port 25, SCI 12 sends FIF 0 to RFU 6 by FIF 0 request signal 1 2 req assigned to the communication channel. Request action. The RFU 6 asserts the bus request signal 31 to request the bus right from the bus controller 7, waits for the bus acknowledge signal 32 to acknowledge the bus right, and then sends the FIFO acknowledge signal to the SCI 12 1 thereby c a 2 ack to veers Bok, SCI 1 2 receives the input and output ports 2 5 Karade Isseki, speed intermittently data bus in response to reception de Isseki the baud rate one bets received data Output to 2 9 D. The data output to the data bus 29 D is transmitted to the data bus 28 D via the bus controller 7. The RFU 6 operates the FIFI channel assigned to the communication channel of the SCI 12 in synchronization with the reception operation, calculates the RAM address corresponding to the FIF 0 push operation using the address book set, Output to address bus 28 A. At this time, the bus controller 7 generates the RAM access strobe signal. As a result, the data received on the predetermined communication channel of the SCI 12 is stored in the FIF 0 area of the RAM allocated to the communication channel. Stored sequentially in FIF 0 format.
また、 第 4図において、 例えば MC I F C 1 7に入出力ポート 24を 介する送信要求が入ると、 MC I F C 1 7は F I F 0リクエス ト信号 1 7 r e qにより RFU 6に F I F 0動作を要求する。 R F U 6はバスリ クエス ト信号 3 1をアサ一トしてバスコントローラ 7にバス権を要求 し、バスァクノレッジ信号 3 2によりバス権占有が承認されるのを待て、 S C I 1 2に F I F Oァクノレヅジ信号 1 7 a c kをアサートする。こ れにより R FU 6は、 MC I F C 1 7の送信動作に同期して、 MC I F C 1 7に割当てられた F I F Iチャネルを動作させ、 F I F 0ポヅプ動 作のための RAMァドレスをアドレスポインタセヅ トを用いて演算し、 ァドレスバス 2 8 Aに出力する。: AMアクセスス トローブ信号はバス コントローラ 7が生成する。デ一夕バス 2 8 Dにはその RAMアドレス に応答するデ一夕が順次読み出され、バスコントローラ 7を介してデ一 夕バス 2 9 Dに伝播される。 これに並行して、 MC I F C 1 7はデータ バス 2 9 D上のデータを順次取り込み、所定のプロ トコルにしたがって 入出力ポート 24から外部に出力する。  In FIG. 4, for example, when a transmission request is input to the MC IFC 17 via the input / output port 24, the MC IFC 17 requests the RFU 6 to perform the FIF 0 operation by the FIF 0 request signal 17 req. The RFU 6 asserts the bus request signal 31 to request the bus right from the bus controller 7 and waits for the bus acknowledge signal 32 to acknowledge the occupation of the bus right. Assert ack. As a result, the RFU 6 operates the FIFI channel assigned to the MC IFC 17 in synchronization with the transmission operation of the MC IFC 17, and sets the RAM address for the FIF 0 pop operation to the address pointer set. And output to address bus 28 A. : The AM access strobe signal is generated by the bus controller 7. The data responding to the RAM address is sequentially read out to the data bus 28D, and propagated to the data bus 29D via the bus controller 7. In parallel with this, the MCIF 17 sequentially takes in the data on the data bus 29D and outputs the data from the input / output port 24 to the outside according to a predetermined protocol.
第 5図には RFU 6の一つの F I F 0チャネルを利用して S C I 1 2から MC I F C 1 7にデータ転送を行う時の動作例が示される。同図 においてバスコントローラ 7は図示を省略してある。 また、 バス 2 8と 2 9はまとめてあり、 そのデ一夕バスを総称して D A T、 ァドレスバス を総称して A D Rと図示する。  FIG. 5 shows an operation example when data is transferred from the SCI 12 to the MC IFC 17 using one FIF 0 channel of the RFU 6. In the figure, the bus controller 7 is not shown. Also, buses 28 and 29 are grouped together, and their overnight buses are collectively referred to as D AT and the address buses are collectively referred to as ADR.
このとき、 : FU 6の一つの F I F Oチャネルには、 リードとライ ト で異なる I D番号が設定される。例えば、 起動要求 I D番号として、 S C I 1 2からの F I F Oライ トを意味する I D = 8、MC I F C 1 7に 対する F I F Oリードを意味する I D = 0が設定される。 I D = 8によ つて起動される動作に対してはライ トポィン夕 WARが割り当てられ、 I D = 0によって起動される動作に対してはリ一ドボイン夕 R ARが 割り当てられる。 At this time, different ID numbers are set for read and write to one FIFO channel of: FU6. For example, as the activation request ID number, ID = 8 meaning FIFO write from SCI 12 and ID = 0 meaning FIFO read from MC IFC 17 are set. A light point WAR is assigned to the operation started by ID = 8, The action activated by ID = 0 is assigned a lead-boin RAR.
この I D番号に対するボイン夕の割り当て状態は第 6図に例示され る通りである。第 6図において 50は、 レジス夕 BARで指定されるべ —スァドレス (H, E 800 ) 即ち Fェ FO開始ァドレスを基点に: F I F 0バヅフアサイズで示される一つのメモリ領域を意味し、 F I F 0終 了アドレスは例えば H' EFFFとされる。  The assignment state of the boyne to the ID number is as illustrated in FIG. In FIG. 6, reference numeral 50 denotes a memory area indicated by the register address BAR, ie, based on the address (H, E 800), ie, the address of the start of the FO: the memory area indicated by the buffer size of FIF 0, The end address is, for example, H'EFFF.
第 7図には第 5図に示される一つの F I F 0チャネルを利用した S C I 12から MC I F C 17へのデ一夕転送動作のフローチヤ一トが 例示される。 S C I 1 12は外部からの入力データ (受信デ一夕) をデ —夕レジス夕 12 R e gに格納した後、 R F U 6に信号 12 r e qで F I FO動作の起動を要求する (S 30)。 これを受けた RFU 6は、 内 部バス権を獲得した後、デ一夕レジスタ 12 R e gのデ一夕を RAM 5 の所定ェリア (F I F 0バヅファ領域) に転送する ( S 31 ) 。 そして、 受け側の MC I F C 17は内蔵デ一夕レジス夕 17 R e gが空になる のを待って、 RFU 6に信号 17Reqで F I FO動作の開始を要求す る (S 32) 。 これにより、 R FU 6は内部バスのバス権を獲得してか ら、 RAM 5の F I F 0バヅファ領域のデータをデ一夕レジスタ 17 R e gに転送する (S 33) 。  FIG. 7 illustrates a flowchart of a data transfer operation from the SCI 12 to the MC IFC 17 using one FIF0 channel shown in FIG. The SCI 112 stores the input data (reception data) from the outside in the data register 12Reg, and then requests the RFU 6 to start the FIFO operation with the signal 12req (S30). Upon receiving this, the RFU 6 acquires the internal bus right, and then transfers the data in the data register 12Reg to a predetermined area (FIFO buffer area) of the RAM 5 (S31). Then, the MCIF 17 on the receiving side waits until the built-in register 17Reg becomes empty, and requests the RFU 6 to start the FIFO operation with the signal 17Req (S32). As a result, the RFU 6 acquires the bus right of the internal bus, and then transfers the data in the FIF0 buffer area of the RAM 5 to the data register 17Reg (S33).
第 8図には第 5図の比較例に係るデ一夕プロセッサが例示される。第 FIG. 8 illustrates a data processor according to the comparative example of FIG. No.
8図の構成は S C I , MC I F Cが夫々専用の F I F Iバッファを有し ている。第 9図には第 8図の構成を利用して S C Iの受信データを MC I F Cから送信するときの動作フローチャートが例示される。 S C Iは 受信データを F I FOバッファに蓄えていく (S 34)。 F I F0バヅ ファに数バイ トのデ一夕が格納されたとき、 S C Iは割込み要求を出す (S 35)。 その割込み要求が割込みコントロ一ラで処理され、 CPU に割込み信号が出力され、それに応答して CPUが割込み処理ルーチン にしたがって S C Iの F I F 0バッファから受信デ一夕を読み込んで RAMに転送する (S 36) 。 MC I FCは F I FOバッファに十分な 空き容量が有るとき、 割込み要求を出す (S 37)。 その割込み要求が 割込みコントローラで処理され、 CPUに割込み信号が出力され、 それ に応答して C P Uが割込み処理ルーチンにしたがって RAMのデータ を MC I FCの F I FOバッファに書込む (S 38) 。 MC I FCは F I FOバッファに格納されたデ一夕を随時送信していく (S 39) 。 第 10図には第 5図及び第 7図で説明した F R U 6を用いる動作を 模式的に示してある。第 1 1図には第 8図及び第 9図に基づいて説明し た周辺回路固有の F I F〇バッファを用いた動作が模式的に示される。 双方を比較すれば明らかなよいうに、メオンチップ RAM 5と FU 6 で実現されるバッファにより周辺回路専用の F I F 0バッファが不要 になる。専用 F I F 0バッファが不要になるから、 デ一夕プロセッサ 1 のチヅプ面積を縮小でき、データプロセッサ 1のコス ト低減が可能にな る。この RFU 6はベースァドレスレジス夕 BARと Fェ FOサイズで 規定されるメモリ領域に対して F I FO動作させるから、 S C I 12や MC I F C 17などの周辺回路と RAMのメモリ領域との間のデ一夕 転送に CPU 2のアクセス動作又は DMA C 13によるデ一夕転送制 御動作を要しない。 この点において、 CPU 2によるデータ処理が F I F 0アクセス制御のために費やされる事態を抑制でき、デ一夕プロセッ サ 1のデ一夕処理能力を高く保つことが容易になる。 In the configuration shown in Fig. 8, SCI and MC IFC each have dedicated FIFI buffers. FIG. 9 exemplifies an operation flowchart when transmitting the SCI reception data from the MC IFC using the configuration of FIG. The SCI stores the received data in the FIFO buffer (S34). When several bytes of data are stored in the FI F0 buffer, the SCI issues an interrupt request (S35). The interrupt request is processed by the interrupt controller and the CPU In response, the CPU reads the received data from the SCI FIF 0 buffer and transfers it to the RAM in accordance with the interrupt processing routine (S36). MC IFC issues an interrupt request when the FIFO buffer has enough free space (S37). The interrupt request is processed by the interrupt controller, and an interrupt signal is output to the CPU. In response to this, the CPU writes the data in the RAM to the FIFO buffer of the MCIFC according to the interrupt processing routine (S38). The MC I FC transmits the data stored in the FIFO buffer at any time (S39). FIG. 10 schematically shows the operation using the FRU 6 described in FIGS. 5 and 7. FIG. 11 schematically shows the operation using the FIF〇 buffer unique to the peripheral circuit described with reference to FIGS. 8 and 9. As is clear from a comparison between the two, the buffer realized by the meon-chip RAM 5 and the FU 6 eliminates the need for a dedicated FIF 0 buffer for peripheral circuits. Since the dedicated FIF 0 buffer becomes unnecessary, the chip area of the data processor 1 can be reduced, and the cost of the data processor 1 can be reduced. Since the RFU 6 performs a FIFO operation on the memory area defined by the base address register BAR and the FFO size, the data between the peripheral circuits such as the SCI 12 and the MC IFC 17 and the RAM memory area is used. The evening transfer does not require the CPU 2 access operation or the DMA C 13 overnight transfer control operation. In this regard, the situation in which data processing by the CPU 2 is spent for FIF 0 access control can be suppressed, and it becomes easy to keep the data processing capability of the data processor 1 high.
ベースァドレスレジス夕 BARと F I F〇サイズで規定されるメモ リ領域は、 その設定値に応じて可変可能であるから、 転送データ構造に 応じた; F I FO容量をメモリ容量の制約の範囲で所望に設定可能にな る。或いは、 CPU 2によるメモリの使用状況に応じて RFU 6による F I; F 0のために RAMメモリ領域を最適に割り当てることが容易に なる。 Base address register The memory area defined by the BAR and FIF〇 size can be changed according to the set value, so it depends on the transfer data structure; the FIFO capacity is desirably within the range of the memory capacity. It can be set. Or RFU 6 depending on the memory usage by CPU 2 FI; It is easy to optimally allocate the RAM memory area for F0.
前記 RFU 6は、前記べ一スァドレスレジス夕 BARと F I FOサイ ズで規定されるところの F I FOバッファとして利用可能な前記複数 のメモリ領域に対し、 F I FO動作の要求元になり得る周辺回路をレジ ス夕 D T I DRで可変可能に指定することができるから、 F I F 0バヅ ファとして利用可能な少数のメモリ領域を多くの入出力回路で共用す ることができる。  The RFU 6 registers a peripheral circuit which can be a request source of a FIFO operation with respect to the plurality of memory areas which can be used as an FIFO buffer as defined by the base address register BAR and the FIFO size. Since the data can be variably designated by the DTI DR, a small number of memory areas that can be used as the FIF 0 buffer can be shared by many input / output circuits.
特に、前記レジスタ D T I DRによる : I FO動作起動要求元の指定 に関しては、 F I F◦バッファとして機能されるメモリ領域に対するリ —ドアクセスとライ トアクセスの夫々に対して周辺回路を可変可能に 指定できるから、 一つのメモリ領域に対し、 一の周辺回路のデ一夕をラ イ トし、 ライ トデ一夕を CPU 2がリードして演算処理し、演算処理結 果をそのメモリ領域にライ トし、ライ トされた演算処理結果を他の周辺 回路がリードするという利用が可能になる。要するに、 一つのメモリ領 域をリードとライ トで別々の周辺回路で利用することができる。一つの メモリ領域をリード 'ライ ト別々に複数の周辺回路の F I FOバッファ として使用することが可能でるから、一つのメモリ領域の F I F 0デー 夕を複数の周辺回路で共有することが可能となる。 これにより、 CPU 2による直接的なデータ転送処理を行うことなく周辺回路間でデ一夕 を転送することが可能となり、周辺回路間でのデータの高速連続転送が 可能となる。  In particular, with the register DTI DR: Regarding the designation of the source of the FIFO operation activation request, the peripheral circuits can be variably designated for each of the read access and the write access to the memory area functioning as the FIF buffer. The CPU 2 reads the data from one peripheral circuit for one memory area, and the CPU 2 reads the data from the write circuit and performs arithmetic processing, and writes the result of the arithmetic processing to that memory area. In addition, it becomes possible to use the written operation processing result read by another peripheral circuit. In short, one memory area can be used for separate peripheral circuits for read and write. One memory area can be used as a FIFO buffer for multiple peripheral circuits separately for read / write, so FIF 0 data in one memory area can be shared by multiple peripheral circuits. . As a result, data can be transferred between peripheral circuits without performing direct data transfer processing by the CPU 2, and high-speed continuous data transfer between peripheral circuits becomes possible.
次に、前記 RFU 6による F I F 0動作の時間的な余裕を向上させる 技術を説明する。第 4図に基づいて説明したように、 前記周辺回路から の起動要求に応答して前記 RFU 6が F I F 0動作を開始するには、 R FU6は CPU2からバス権を獲得しなければならず、それまでに C P U 2は途中の演算処理を終了することが必要である。このバスサイクル 待ち時間が長いと、周辺回路からの断続的な起動要求に答えて F I F〇 動作を行うことができない。例えば、 1 2 Mb p sでデ一夕受信を行う 通信系入出力回路を想定したとき、 1バイ ト当たり 6 6 7 nsでデータ 受信を行い、 これは、 2 OMH zで動作するデータプロセッサにおいて 1 3サイクル毎に 1バイ トデ一夕を処理するのと等価である。低消費電 カモ一ドのような動作モ一ドにおいて C P U 2の動作ク口ック周波数 が低くされているときは、バスサイクル待ち時間として許容される C P U 2の動作サイクル数は上記 1 3サイクルよりも少なくなり、 CPU 2 の動作速度をそのままの状態にしていれば、受信デ一夕の取りこぼしを 生ずる虞がある。 そこで、 前記 CPU 2の動作クロック信号を制御する ク口ック制御回路 9は、前記 R FU 6が周辺回路からの起動要求に応答 して F I F 0動作を行うとき、 C PU 2の動作クロック信号を強制的に 高速動作クロック信号 ø 1に変更する制御を行う。この制御には RFU 6からバスコントローラ 7に与えられるバス権クエス ト信号 3 1を用 いる。 要するに、 バス権クエスト信号 3 1がイネ一ブルにされると、 パ ス競合が回避される後のタイミングで RFU 6は必ずバス権を獲得し て F I F O制御を行う、 ということが保証されるからである。 このとき、 RFU 6は、クロック信号 ø 1又はそのクロック信号 ø 1の周波数より も周波数の高い別のクロック信号(第 3クロック信号) に同期動作され るのがよい。 尚、 CPU 2が遅いクロック信号 02に同期動作する場合 とは、 例えば、 モ一ド信号 MD 0, MD 1により低消費電力モードなど が設定されている場合である。 Next, a technique for improving the time margin of the FIF 0 operation by the RFU 6 will be described. As described with reference to FIG. 4, in order for the RFU 6 to start the FIF 0 operation in response to the start request from the peripheral circuit, the RFU 6 must acquire the bus right from the CPU 2, By then CP It is necessary for U2 to end the arithmetic processing in the middle. If this bus cycle wait time is long, the FIF operation cannot be performed in response to an intermittent start request from peripheral circuits. For example, assuming a communication input / output circuit that receives data overnight at 12 Mb ps, data is received at 667 ns per byte. This is equivalent to processing one byte every three cycles. When the operating frequency of CPU 2 is low in an operation mode such as low power consumption mode, the number of operation cycles of CPU 2 allowed as the bus cycle wait time is the above 13 cycles. If the operation speed of the CPU 2 is kept as it is, the reception data may be missed. Therefore, the CPU control circuit 9 for controlling the operation clock signal of the CPU 2 operates when the RFU 6 performs the FIF 0 operation in response to the activation request from the peripheral circuit. Control to forcibly change to high-speed operation clock signal ø1. For this control, a bus right request signal 31 given from the RFU 6 to the bus controller 7 is used. In short, if the bus right quest signal 31 is enabled, it is guaranteed that the RFU 6 will acquire the bus right and perform FIFO control at the timing after the path contention is avoided. It is. At this time, the RFU 6 is preferably operated in synchronization with the clock signal ø1 or another clock signal (third clock signal) having a higher frequency than the frequency of the clock signal ø1. The case where the CPU 2 operates synchronously with the slow clock signal 02 is, for example, a case where a low power consumption mode or the like is set by the mode signals MD0 and MD1.
これにより、前記 RFU 6が周辺回路からの起動要求に応答して F I F O動作を行うとき、 CPU 2は高速動作するから、 バス権獲得までに CPU 2が処理できる演算処理量が増し、バスサイクル待ち時間を短縮 できる。 したがって、 受信デ一夕の取りこぼしに代表されるような、 F I FO動作の追従遅れを防止することができる。 Thus, when the RFU 6 performs the FIFO operation in response to the start request from the peripheral circuit, the CPU 2 operates at a high speed, so that the amount of arithmetic processing that the CPU 2 can process before acquiring the bus right increases, and the bus cycle wait time Save time it can. Therefore, it is possible to prevent a delay in following the FIFO operation, which is typified by the loss of the reception data.
第 1 2図に基づいて上記クロック制御の動作タイミングを説明する。 例えば、 C P U 2は低消費電力モード等に応答してクロック信号 ø 2に 同期動作されている。クロック信号 1の 2サイクルが CPUの 1ステ —トとされ、ステート S T 1~S T 3は CPUクロック が低速クロヅ ク信号 ø 2とされている。ステート S T 3に時刻 t 0でバスリクエス ト 信号 3 1がハイレベルに活性化される。即ち、 RFU 6は時刻 t 0まで に動作の起動要求を受付け、これに応答してバスリクエスト信号 3 1を ハイレベルにした。ク口ック制御回路 9はバスリクエス ト信号 3 1がハ ィレベルにされる期間、 C PUクロック信号 øとしてクロック信号 01 を選択する。 これにより、 ステート S T 4以降ではクロック信号 01の 1サイクルが 1ステートを成す。 この間、 CPU 2はクロック信号 ø 1 に同期して、バス権放棄に至るまでに必要な演算処理を高速に実行する c これにより、 CPU 2はクロック信号 ø 1の 3サイクルでバス権を放棄 し、 それに代えて RFU 6がバス権を獲得し、 ステート S T 7で必要な : RAMアクセスにより F I F 0動作を行う。 F I F 0動作の処理を終了 すると、 RFU 6はバスリクエスト信号 3 1を非活性化し、バス権を放 棄する。クロヅク制御回路 9はステート S T 8でバスリクエスト信号 3 1によるバス権放棄を検出すると、次のステ一ト S T 9で CPUクロッ ク øを元の低速クロック ø 2に切換えて、低消費電力動作を継続可能に する。  The operation timing of the clock control will be described based on FIG. For example, CPU 2 is operated in synchronization with clock signal ø2 in response to a low power consumption mode or the like. Two cycles of the clock signal 1 are regarded as one state of the CPU, and in the states ST 1 to ST 3, the CPU clock is the low-speed clock signal φ2. At time t0 in the state ST3, the bus request signal 31 is activated to a high level. That is, the RFU 6 accepts the operation start request by the time t0, and sets the bus request signal 31 to the high level in response to the request. The clock control circuit 9 selects the clock signal 01 as the CPU clock signal ø while the bus request signal 31 is at the high level. Accordingly, one cycle of the clock signal 01 forms one state after the state ST4. During this time, CPU 2 executes the necessary arithmetic processing at high speed up to the relinquishment of the bus right in synchronization with clock signal ø1.c This causes CPU 2 to relinquish the bus right in three cycles of clock signal ø1. Instead, RFU 6 acquires the bus right and is required in state ST7: Perform FIF 0 operation by RAM access. When the processing of the FIF0 operation is completed, the RFU 6 deactivates the bus request signal 31 and relinquishes the bus right. When the clock control circuit 9 detects the relinquishment of the bus right by the bus request signal 31 in the state ST8, the clock control circuit 9 switches the CPU clock ø to the original low-speed clock ø2 in the next state ST9, thereby performing the low power consumption operation. Make it continuable.
第 1 3図には更に別の動作例が示される。 R FU 6による F I F 0バ ッファ制御処理はバス権占有を必要とするから、その分だけ CPU 2な どによるバス占有率を低下させる。例えば第 1 3図の如く、 CPU 2も RFU 6もクロヅク信号 1の 2サイクルを 1ステートとして動作す るとき、 RFUサイクルが挿入されると、 その期間 CPU2によるバス 占有が不可能になり、 C PU 2にとつてデータ処理パフォーマンスが低 下することになる。 FIG. 13 shows still another operation example. Since the FIF 0 buffer control processing by the RFU 6 requires the occupation of the bus right, the bus occupancy by the CPU 2 and the like is reduced accordingly. For example, as shown in Fig. 13, both CPU 2 and RFU 6 operate with two cycles of clock signal 1 as one state. When an RFU cycle is inserted, CPU 2 cannot occupy the bus during that time, and the data processing performance of CPU 2 is reduced.
第 14図の例はこれを解消する例であり、 例えば、 CPU2も RFU 6もクロヅク信号 ø 1の 2サイクルを 1ステートとして動作している が、 実際にはクロック信号 ø 1の 1サイクルで動作を完了している。要 するに、後半のクロック信号 01の 1サイクル分は実質的に利用されて いないことになる。 この前提が成り立つ場合には、 R F U 6がバス権を 獲得した場合、 クロック信号 ø 1の後半のサイクルで  The example in Fig. 14 is an example to solve this problem.For example, both CPU2 and RFU6 operate with two cycles of clock signal ø1 as one state, but actually operate with one cycle of clock signal ø1. Have been completed. In short, one cycle of the clock signal 01 in the latter half is not substantially used. If this assumption holds, then when RFU 6 acquires the bus, the clock signal
F I F〇バヅファのための RAMアクセスを実行させる。これにより、 見掛け上、 システムのパフォーマンス低下を抑制することができる。 第 1 5図には以上説明したデータプロセッサ 1を用いたオーディオ システム 55が例示される。 このオーディオシステムは、 特に制限され ないが、 MP Sプレーヤとして位置付けられる。音声再生用のディジ夕 ル信号処理演算のための D S P 56がバスコントロ一ラ 7に接続され る。ディジ夕ル音声デ一夕は D AC 57でアナログ信号に変換され、 ァ ンプ 58で増幅され、 ヘッ ドフォン 59等から報音可能にされる。 このオーディオシステムは、 MP 3データの入力手段として、 S C I 12を介して携帯電話 60に接続可能にされ、 MC I FC 17を介して マルチメディァカードなどのメモリカード 6 1とィン夕フェース可能 にされ、 USB 13を介してパーソナルコンピュータなどのホス ト P C 62とィン夕フェース可能にされる。例えば、 U SB接続されたホスト P C 62と MC I FC 17に接続されたメモリカード 6 1との間での データ保存、 読み出しの何れに対しても、 転送制御及びポインタ制御に RFU 6を利用し、 バッファ領域として内蔵 RAM 5を利用した、 F I F 0動作による処理で実現することができる。 以上本発明者によってなされた発明を具体的に説明したが、本発明は それに限定されるものではなく、 その要旨を逸脱しない範囲において 種々変更可能であることは言うまでもない。 Execute RAM access for FIF buffer. As a result, it is possible to suppress the apparent decrease in system performance. FIG. 15 illustrates an audio system 55 using the data processor 1 described above. This audio system is not particularly limited, but is positioned as an MPS player. A DSP 56 for digital signal processing calculation for audio reproduction is connected to the bus controller 7. The digital audio signal is converted to an analog signal by DAC 57, amplified by amplifier 58, and made available for sound from headphone 59 or the like. This audio system can be connected to a mobile phone 60 via SCI 12 as an input means of MP3 data, and can interface with a memory card 61 such as a multimedia card via MC IFC 17. It can be interfaced with a host PC 62 such as a personal computer via the USB 13. For example, the RFU 6 is used for transfer control and pointer control for both data storage and reading between the USB-connected host PC 62 and the memory card 61 connected to the MC IFC 17. It can be realized by processing by the FIF 0 operation using the built-in RAM 5 as a buffer area. Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various modifications can be made without departing from the gist of the invention.
例えば、 S CI、 USB、 D E Sなどの周辺回路は入出力回路として 位置付けられる。入出力回路とは外部から情報を入力し、 これを外部に 出力する回路であり、 狭義には周辺イン夕フェース回路、 周辺インタフ エースコントローラ、周辺入出力回路などのように称される場合もあり、 そのような定義に合致する種々の回路を入出力回路に採用可能である。  For example, peripheral circuits such as SCI, USB, and DES are positioned as input / output circuits. An input / output circuit is a circuit that inputs information from the outside and outputs it to the outside.In a narrow sense, it may be called a peripheral interface circuit, a peripheral interface controller, a peripheral input / output circuit, etc. A variety of circuits meeting such a definition can be employed for the input / output circuit.
F I F 0バッファとして利用するメモリ領域を規定するエリァ指定 手段は先頭メモリァドレスとサイズによって指定する手段に限定され ず、開始メモリアドレスと終了メモリアドレスとによって与えてもよい また、 F I FOバッファとして利用するメモリ領域を CPUが容易にァ クセスするためのリード先頭アドレス、 ライ先頭アドレス、 リード可能 な有効データ数、ライ ト可能な有効データ数等を保持するレジス夕を設 けずに、必要に応じて C P Uが演算処理にて求めるよういにしてもよい ( F I F 0バッファに利用するメモリは C P Uのメインメモリのよう な RAMに限定されない。例えば、 F I FOバッファ専用 RAMであつ てもよい。 また、 CPUの動作クロックは 2種類だけに限定されること を意味しない。 また、低速動作時の CPUの動作速度を高速化する制御 は、 RFU 6が出力するバス制御信号を用いる手法に限定されない。 R F Uに対する F I F 0バッファ動作の起動要求に応答して C P Uクロ ックを高速に切換えてもよい。  The area specifying means for specifying the memory area used as the FIF 0 buffer is not limited to the means for specifying the head memory address and the size, but may be given by the start memory address and the end memory address. As necessary, the CPU does not have a register that holds the read start address, the write start address, the number of valid data that can be read, and the number of valid data that can be written, so that the CPU can easily access the memory area. (The memory used for the FIF 0 buffer is not limited to RAM such as the main memory of the CPU. For example, a RAM dedicated to the FIFO buffer may be used. It does not mean that the operating clock is limited to only two types, and that the operating speed of the CPU during low-speed operation is increased. The control is not limited to the method using the bus control signal output from the RFU 6. The CPU clock may be switched at high speed in response to a request for starting the FIF0 buffer operation for the RFU.
クロック切換え制御は R F Uがバス権を取得する場合にだけ適用可 能なだけなく、 DMAC、 DTC等の、 その他のバスマス夕モジュール がバス権を獲得する場合にも適用可能であることは言うまでもない。 以上詳述したように発明のうち代表的なものによって得られる効果 を簡単に説明すれば下記の通りである。 It is needless to say that the clock switching control is applicable not only when the RFU acquires the bus right, but also when the other bus modules such as DMAC and DTC acquire the bus right. As described in detail above, effects obtained by typical ones of the inventions Is briefly described as follows.
すなわち、 R A Mなどの内蔵メモリを F I F O形式で使用することに より、入出力ィン夕フェースモジュール等の入出力回路に専用の F I F 〇バヅファを備えることが不要になる。  That is, by using the built-in memory such as RAM in the FIFO format, it becomes unnecessary to provide a dedicated FIFO buffer in the input / output circuit such as the input / output interface module.
内蔵メモリを複数のィン夕フエースモジュールの F I F 0バッファ として使用することが可能となる為、 F I F 0データを複数のモジュ一 ルで共有することが可能になる。 これにより、 入出力回路間で C P U処 理を行うことなくデータを転送することが可能になり、入出力回路間で、 デ一夕の高速連続転送が可能になる。  Since the built-in memory can be used as a FIF0 buffer of a plurality of interface modules, FIF0 data can be shared by a plurality of modules. As a result, data can be transferred between the input / output circuits without performing CPU processing, and high-speed continuous data transfer between the input / output circuits becomes possible.
専用 F I F 0バヅファが不要となることによりチヅプ面積の縮小が 可能になり、データプロセッサの製造コス トを低減させることができる 複数の入出力回路を用いるデータ処理を高速化でき、システムの処理能 力向上を期待することができる。 産業上の利用可能性  By eliminating the need for a dedicated FIF 0 buffer, the chip area can be reduced and the manufacturing cost of the data processor can be reduced.Data processing using multiple input / output circuits can be accelerated, and the processing power of the system can be increased. We can expect improvement. Industrial applicability
本発明は、高速データ通信もしくは高速データ入出力制御用の入出力回路 若しくは周辺回路を搭載したシングルチップマイクロコンピュー夕等のデ一 夕プロセッサに広く適用することができる。  INDUSTRIAL APPLICABILITY The present invention can be widely applied to a data processor such as a single-chip microcomputer equipped with an input / output circuit for high-speed data communication or high-speed data input / output control or a peripheral circuit.

Claims

請 求 の 範 囲 The scope of the claims
1 . 中央処理装置と、前記中央処理装置によりアクセス可能なメモリと、 複数の入出力回路と、前記メモリを前記複数の入出力回路の F I F〇バ ヅファとして動作させる F I F O制御回路とを 1個の半導体チップに 含み、 1. A central processing unit, a memory accessible by the central processing unit, a plurality of input / output circuits, and a FIFO control circuit for operating the memory as a FIF buffer of the plurality of input / output circuits. Included in semiconductor chips,
前記 F I F O制御回路は、前記 F I F Oバッファとして利用する複数 のメモリ領域を規定するエリァ指定手段と、  The FIFO control circuit includes an area designating unit that defines a plurality of memory areas used as the FIFO buffer;
前記メモリ領域毎にリードアクセス及びライ トアクセスのためのァド レス情報を保持するアドレス手段と、 Address means for holding address information for read access and write access for each memory area;
前記複数の入出力回路の 1つからの要求に応答して、所定のメモリ領域 を、 前記アドレス手段を用いて、 F I F 0動作させる制御手段と、 を含んで成るものであることを特徴とするデータプロセッサ。 Control means for causing a predetermined memory area to perform FIF 0 operation using the address means in response to a request from one of the plurality of input / output circuits. Data processor.
2 .前記 F I F O制御回路は、前記エリア指定手段で規定された前記複 数のメモリ領域のそれそれに対する利用を前記複数の入出力回路に対 してそれそれ指定する入出力回路指定手段を含み、  2. The FIFO control circuit includes input / output circuit designating means for designating each of the plurality of memory areas specified by the area designating means for each of the plurality of input / output circuits,
前記制御手段は、前記複数の入出力回路の 1つからの要求に応答して、 前記複数の入出力回路の 1つが利用すべき所定のメモリ領域を、前記ァ ドレス手段を用いて、 F I F O動作させるものであることを特徴とする 請求の範囲第 2項記載のデ一夕プロセッサ。  The control means, in response to a request from one of the plurality of input / output circuits, stores a predetermined memory area to be used by one of the plurality of input / output circuits using a FIFO operation using the address means. 3. The data processor according to claim 2, wherein
3 .前記エリァ指定手段は、前記複数のメモリ領域をプログラマブルに 指定可能な記憶手段であることを特徴とする請求の範囲第 1項又は第 2項記載のデ一夕プロセッサ。  3. The data processor according to claim 1, wherein said area designating means is storage means capable of programmably designating said plurality of memory areas.
4 .前記入出力回路指定手段は、前記複数の入出力回路をプログラマブ ルに指定可能な記憶手段であることを特徴とする請求の範囲第 2項記 載のデータプロセッサ。 4. The data processor according to claim 2, wherein said input / output circuit designating means is storage means capable of programmatically designating said plurality of input / output circuits.
5 . 前記入出力回路指定手段は、 夫々のメモリ領域に対し、 リード動作 で利用する入出力回路の指定情報とライ ト動作で利用する入出力回路 の指定情報とを別々に且つプログラマブルに設定可能な記憶手段であ ることを特徴とする請求の範囲第 2項記載のデータプロセッサ。 5. The input / output circuit designating means can separately and programmably set, for each memory area, the designation information of the input / output circuit used in the read operation and the designation information of the input / output circuit used in the write operation. 3. The data processor according to claim 2, wherein said data processor is a simple storage means.
6 .前記エリア指定手段及び入出力回路指定手段は中央処理装置により アクセス可能なレジスタ手段であることを特徴とする請求の範囲第 2 項記載のデータプロセッサ。  6. The data processor according to claim 2, wherein said area designating means and input / output circuit designating means are register means accessible by a central processing unit.
7 . 前記エリア指定手段は、 ベースアドレスとサイズ情報によって前記 メモリ領域を規定するレジス夕手段であることを特徴とする請求第 3 項記載のデ一夕プロセッサ。  7. The data processor according to claim 3, wherein said area designating means is a register means for defining said memory area by a base address and size information.
8 .前記ァドレス手段は前記ベースアドレスに対するリード用オフセッ トアドレス情報を保持するリードアドレスポインタと、前記べ一スァド レスに対するライ ト用オフセッ トアドレス情報を保持するライ トアド レスボイン夕とを含むことを特徴とする請求の範囲第 7項記載のデ一 夕プロセッサ。  8. The address means includes a read address pointer for holding read offset address information for the base address, and a write address register for holding write offset address information for the base address. 8. The data processor according to claim 7, wherein:
9 . 前記 F I F O制御回路は、 前記べ一スァドレスに前記リード用オフ セッ トァドレス情報を加算したメモリアドレスをリード先頭アドレス として保持し、前記ベースアドレスにライ ト用オフセヅ トアドレス情報 を加算したメモリアドレスをライ ト先頭ァドレスとして保持するメモ リアドレスレジス夕手段を有し、前記メモリアドレスレジス夕手段は前 記中央処理装置によりアクセス可能であることを特徴とする請求の範 囲第 8項記載のデータプロセッサ。  9. The FIFO control circuit holds a memory address obtained by adding the read offset address information to the base address as a read start address, and stores the memory address obtained by adding the write offset address information to the base address. 9. The data processor according to claim 8, further comprising memory address register means for holding as a write head address, wherein said memory address register means is accessible by said central processing unit. .
1 0 . 前記 F I F O制御回路は、 リード可能な有効デ一夕数及びライ ト 可能な空きエリァの数を示すデ一夕数レジス夕手段を有し、前記データ 数レジス夕手段は前記中央処理装置によりアクセス可能であることを 特徴とする請求の範囲第 9項記載のデ一夕プロセッサ。 10. The FIFO control circuit has data register means for indicating the number of valid data that can be read and the number of free areas that can be written, and the data number register means includes a central processing unit. 10. The data processor according to claim 9, wherein the processor is accessible by:
1 1 . 前記メモリは、 前記中央処理装置のアドレス空間に配置され、 前 記中央処理装置、 F I F O制御回路及びメモリに接続される共通バスを 有して成るものであることを特徴とする請求の範囲第 1項又は第 2項 記載のデ一夕プロセッサ。 11. The memory, wherein the memory is arranged in an address space of the central processing unit, and has a common bus connected to the central processing unit, a FIFO control circuit, and a memory. 3. The data processor according to paragraph 1 or 2.
1 2 .前記制御手段は、前記複数の入出力回路からの要求が競合したと き、優先順位にしたがって優先順位の高い要求を受付けるものであるこ とを特徴とする請求の範囲第 1 1項記載のデ一夕プロセッサ。  12. The control unit according to claim 11, wherein said control means receives a request having a higher priority according to a priority when said requests from said plurality of input / output circuits compete. De overnight processor.
1 3 . バス権を調停するバス制御手段を有し、前記 F I F O制御回路は 前記複数の入出力回路の 1つからの前記 F I F 0動作の要求に対し、前 記バス制御手段に前記バス権の獲得をリクエストし、前記バス権の獲得 後に前記 F I F O動作を開始することを特徴とする請求の範囲第 1 1 項記載のデ一夕プロセッサ。  13. A bus control means for arbitrating a bus right, wherein the FIFO control circuit responds to the request for the FIF 0 operation from one of the plurality of input / output circuits to the bus control means. 12. The data processor according to claim 11, wherein an acquisition request is issued, and said FIFO operation is started after acquiring said bus right.
1 4 .前記メモリは前記中央処理装置のメインメモリであることを特徴 とする請求の範囲第 1項又は第 2項記載のデータプロセッサ。  14. The data processor according to claim 1, wherein the memory is a main memory of the central processing unit.
1 5 .前記複数の入出力回路は、 シリアルコミュニケーシヨンィンタフ エースコントローラ、 ユニバーサルシリアルバスコントローラ、 パルス ワイズモジユレーション回路、 夕イマ回路、 アナログディジ夕ルコンパ —夕、ディジタルアナログコンバ一夕の中から選ばれた複数の回路であ ることを特徴とする請求の範囲第 1項又は第 2項記載のデータプロセ ッサ。  15. The plurality of input / output circuits include a serial communication interface controller, a universal serial bus controller, a pulse width modulation circuit, a timer circuit, an analog digital converter, and a digital / analog converter. 3. The data processor according to claim 1, wherein the data processor is a plurality of circuits selected from the group consisting of:
1 6 . 中央処理装置と、前記中央処理装置の動作クロック信号を制御す るクロック制御回路と、前記中央処理装置によりアクセス可能なメモリ と、複数の入出力回路と、前記メモリを前記複数の入出力回路の F I F 〇バッファとして動作させる F I F 0制御回路とを 1個の半導体チッ プに含み、  16. A central processing unit, a clock control circuit for controlling an operation clock signal of the central processing unit, a memory accessible by the central processing unit, a plurality of input / output circuits, and the memory FIF of output circuit F FIF 0 control circuit to operate as buffer included in one semiconductor chip,
前記 F I F O制御回路は、前記 F I F 0バッファとして利用する複数 のメモリ領域を規定するエリァ指定手段と、 The FIFO control circuit includes a plurality of FIFO control circuits used as the FIF 0 buffer. Area designation means for defining a memory area of
前記ェリァ指定手段で規定されるメモリ領域毎にリードアクセス及び ライ トアクセスのためのァドレス情報を保持するアドレスポインタ手 段と、 Address pointer means for holding address information for read access and write access for each memory area defined by the error designating means;
前記複数の入出力回路の 1つからの要求に応答して、所定のメモリ領域 を、前記アドレスポインタ手段を用いて、 F I F O動作させる制御手段 と、 を含み、 Control means for causing a predetermined memory area to perform a FIFO operation using the address pointer means in response to a request from one of the plurality of input / output circuits,
前記クロック制御回路は、前記 F I F O制御回路が前記複数の入出力 回路の 1つからの要求に応答して F I F O動作を行うとき、前記中央処 理装置の動作ク口ック信号を選択可能な範囲で高速動作ク口ック信号 に変更する制御を行うものである、ことを特徴とするデータプロセッサ c When the FIFO control circuit performs a FIFO operation in response to a request from one of the plurality of input / output circuits, the clock control circuit can select an operation clock signal of the central processing unit. A data processor c , which controls to change to a high-speed operation signal at
1 7 .前記クロック発生回路は、第 1周波数の第 1クロック信号と第 1 周波数よりも周波数の低い第 2周波数の第 2クロック信号とを出力可 能とされ、 17.The clock generation circuit is capable of outputting a first clock signal of a first frequency and a second clock signal of a second frequency lower than the first frequency,
前記ク口ック制御回路は、前記中央処理装置に供給する動作クロック 信号として前記第 1クロック信号又は前記第 2クロック信号を選択可 能であり、前記第 2クロック信号を選択している状態において、前記 I F 0制御回路が前記複数の入出力回路の 1つからの要求に応答して F I F 0動作を行うとき、前記第 2クロック信号を前記第 1クロック信 号に変更することを特徴とする請求の範囲第 1 6項記載のデータプロ セヅサ。  The cook control circuit can select the first clock signal or the second clock signal as an operation clock signal to be supplied to the central processing unit, and in a state where the second clock signal is selected, When the IF0 control circuit performs an FIF0 operation in response to a request from one of the plurality of input / output circuits, the second clock signal is changed to the first clock signal. The data processor according to claim 16.
1 8 . 前記: F I F O制御回路は、前記第 1クロック信号又は前記第 1ク 口ック信号の前記第 1周波数よりも高い第 3周波数の第 3クロック信 号に同期動作されるものであることを特徴とする請求の範囲第 1 7項 言 3載のデ一夕プロセッサ。  18. The said: The FIFO control circuit is operated in synchronization with the first clock signal or a third clock signal of a third frequency higher than the first frequency of the first clock signal. A data processor according to claim 17, characterized in that:
1 9 . 前記 F I F O制御回路は、前記エリア指定手段で規定された前記 複数のメモリ領域を利用する入出力回路を指定する入出力回路指定手 段を含み、 1 9. The FIFO control circuit is configured to control the Including an input / output circuit specification means for specifying an input / output circuit that uses a plurality of memory areas,
前記制御手段は、前記入出力回路指定手段で指定された入出力回路か らの要求に応答して、 その入出力回路が利用するメモリ領域を、前記ァ ドレスポィン夕手段を用いて、 F I F O動作させるものであることを特 徴とする請求の範囲第 1 6項又は第 1 7項記載のデータプロセッサ。  In response to a request from the input / output circuit designated by the input / output circuit designation means, the control means causes the memory area used by the input / output circuit to operate as a FIFO using the address pin means. The data processor according to claim 16 or 17, wherein the data processor is a data processor.
2 0 . 中央処理装置と、前記中央処理装置の動作クロック信号を制御す るクロック制御回路と、前記中央処理装置に代えてバス権を獲得するバ スマスタ手段とを 1個の半導体チップに含み、 20. A single semiconductor chip includes a central processing unit, a clock control circuit for controlling an operation clock signal of the central processing unit, and bus master means for acquiring a bus right in place of the central processing unit.
前記クロック制御回路は、前記バスマス夕手段によるバス権獲得の可 能性に応答して、前記中央処理装置の動作クロック信号を選択可能な範 囲で高速動作クロック信号に変更する制御を行うものであることを特 徴とするデ一夕プロセヅサ。  The clock control circuit controls the operation clock signal of the central processing unit to be changed to a high-speed operation clock signal within a selectable range in response to the possibility of acquiring the bus right by the bus master means. It is a processor that is characterized by its existence.
2 1 .前記クロック発生回路は、前記第 1周波数の第 1クロック信号と 第 1周波数よりも周波数の低い第 2周波数の第 2クロック信号とを出 力可能とされ、  2 1.The clock generation circuit is capable of outputting a first clock signal of the first frequency and a second clock signal of a second frequency lower than the first frequency,
前記ク口ック制御回路は、前記中央処理装置に供給する動作クロック 信号として前記第 1ク口ック信号又は前記第 2クロック信号を選択可 能であり、前記第 2クロック信号を選択している状態において、前記バ スマス夕手段によるバス権獲得の可能性に応答して前記第 2クロック 信号を前記第 1ク口ック信号に変更することを特徴とする請求の範囲 第 2 0項記載のデータプロセッサ。  The cook control circuit can select the first cook signal or the second clock signal as an operation clock signal to be supplied to the central processing unit, and selects the second clock signal. 20. The apparatus according to claim 20, wherein the second clock signal is changed to the first clock signal in response to a possibility of acquiring the bus right by the bus masking means in a state where the bus right is received. Data processor.
2 2 .前記バスマスタ手段は、前記第 1クロック信号又は前記第 1クロ ック信号の前記第 1周波数よりも高い第 3周波数の第 3クロック信号 に同期動作されるものであることを特徴とする請求の範囲第 2 1項記 載のデータプロセッサ。 22. The bus master means is operated in synchronization with the first clock signal or a third clock signal having a third frequency higher than the first frequency of the first clock signal. A data processor according to claim 21.
2 3 .前記中央処理装置によってアクセス可能なメモリと、複数の周辺 回路とを更に備え、 23. The apparatus further comprises a memory accessible by the central processing unit, and a plurality of peripheral circuits.
前記バスマス夕手段は、前記メモリと前記周辺回路に接続され、前記 メモリを前記周辺回路の F I F 0バヅファとして動作させる F I F O 制御回路であり、  The bus mass means is a FIFO control circuit that is connected to the memory and the peripheral circuit and operates the memory as a buffer of the peripheral circuit.
前記 F I F O制御回路は、前記 F I F Oバッファとして利用する複数 のメモリ領域を規定するエリァ指定手段と、  The FIFO control circuit includes an area designating unit that defines a plurality of memory areas used as the FIFO buffer;
前記メモリ領域毎にリ一ドアクセス及びライ トアクセスのためのァド レス情報を保持するアドレスボイン夕手段と、 Address binding means for holding address information for read access and write access for each memory area;
前記周辺回路からの要求に応答して、所定のメモリ領域を、前記アドレ スポインタ手段を用いて、 F I F 0動作させる制御手段と、 Control means for operating a predetermined memory area in FIF 0 operation using the address pointer means in response to a request from the peripheral circuit;
を含んで成るものであることを特徴とする請求の範囲第 2 0項記載の データプロセッサ。 20. The data processor according to claim 20, wherein the data processor comprises:
2 4 .前記 F I F O制御回路は、前記エリア指定手段で規定された前記 複数のメモリ領域を利用する周辺回路を指定する入出力回路指定手段 を含み、  24.The FIFO control circuit includes input / output circuit designating means for designating a peripheral circuit using the plurality of memory areas defined by the area designating means,
前記制御手段は、前記入出力回路指定手段で指定された入出力回路か らの要求に応答して、 その入出力回路が利用するメモリ領域を、前記ァ ドレスボイン夕手段を用いて、 F I F O動作させるものであることを特 徴とする請求の範囲第 2 3項記載のデータプロセッサ。  The control means responds to a request from the input / output circuit designated by the input / output circuit designation means, and stores a memory area used by the input / output circuit in a FIFO operation using the address binding means. 24. The data processor according to claim 23, wherein the data processor is configured to cause the data processor to execute the processing.
PCT/JP2002/004526 2001-05-14 2002-05-09 Data processor WO2002093392A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001142498A JP2002342266A (en) 2001-05-14 2001-05-14 Data processor
JP2001-142498 2001-05-14

Publications (1)

Publication Number Publication Date
WO2002093392A1 true WO2002093392A1 (en) 2002-11-21

Family

ID=18988788

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/004526 WO2002093392A1 (en) 2001-05-14 2002-05-09 Data processor

Country Status (2)

Country Link
JP (1) JP2002342266A (en)
WO (1) WO2002093392A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4498038B2 (en) * 2004-07-06 2010-07-07 株式会社東芝 Data acquisition device
DE102005042493A1 (en) 2005-09-07 2007-03-08 Robert Bosch Gmbh Control unit with computing device and I / O module that communicate with each other via a serial multi-wire bus
US20120066444A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation
JP5593212B2 (en) 2010-12-21 2014-09-17 ルネサスエレクトロニクス株式会社 Semiconductor device
KR20140057869A (en) * 2012-11-05 2014-05-14 콘티넨탈 오토모티브 시스템 주식회사 Method for controlling data read/write of embedded system of vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302241A (en) * 1994-04-28 1995-11-14 Hitachi Ltd Data processor
US5881295A (en) * 1995-02-07 1999-03-09 Hitachi, Ltd. Data processor which controls interrupts during programming and erasing of on-chip erasable and programmable non-volatile program memory
JP2000276436A (en) * 1999-03-29 2000-10-06 Minolta Co Ltd Dma control device
JP2000322371A (en) * 1999-05-12 2000-11-24 Nec Ibaraki Ltd Data buffer management system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302241A (en) * 1994-04-28 1995-11-14 Hitachi Ltd Data processor
US5881295A (en) * 1995-02-07 1999-03-09 Hitachi, Ltd. Data processor which controls interrupts during programming and erasing of on-chip erasable and programmable non-volatile program memory
JP2000276436A (en) * 1999-03-29 2000-10-06 Minolta Co Ltd Dma control device
JP2000322371A (en) * 1999-05-12 2000-11-24 Nec Ibaraki Ltd Data buffer management system and method

Also Published As

Publication number Publication date
JP2002342266A (en) 2002-11-29

Similar Documents

Publication Publication Date Title
EP1286248B1 (en) Semiconductor device with hardware mechanism for proper clock control
US6738845B1 (en) Bus architecture and shared bus arbitration method for a communication device
EP1226493B1 (en) Bus architecture and shared bus arbitration method for a communication processor
US6415348B1 (en) Flexible microcontroller architecture
JP5578713B2 (en) Information processing device
WO2005119465A1 (en) Data processing unit and bus arbitration unit
JP4182801B2 (en) Multi-processor system
US8190924B2 (en) Computer system, processor device, and method for controlling computer system
KR20010080515A (en) A direct memory access engine for supporting multiple virtual direct memory access channels
JPH1021184A (en) Single-chip microcomputer with built-in dma
KR100708096B1 (en) Bus system and execution scheduling method for access commands thereof
JP2007219816A (en) Multiprocessor system
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
US7310717B2 (en) Data transfer control unit with selectable transfer unit size
WO2002093392A1 (en) Data processor
US11157206B2 (en) Multi-die system capable of sharing non-volatile memory
JP4151362B2 (en) Bus arbitration method, data transfer device, and bus arbitration method
EP0811921A2 (en) Method for accessing memory
JP2004503871A (en) Direct memory access controller and method
JP2003091501A (en) Information processing device
JP7468112B2 (en) INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application
JP3206656B2 (en) Prefetch device and prefetch method on bus
JPH1185673A (en) Method and device for controlling shared bus
JP2002073534A (en) Data transfer device
JP2000250852A (en) Bus arbitrating device, bus system and bus arbitrating method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase