FI101180B - Addressing method in a signal processor and peripheral circuit which can be used in the addressing process - Google Patents

Addressing method in a signal processor and peripheral circuit which can be used in the addressing process Download PDF

Info

Publication number
FI101180B
FI101180B FI934976A FI934976A FI101180B FI 101180 B FI101180 B FI 101180B FI 934976 A FI934976 A FI 934976A FI 934976 A FI934976 A FI 934976A FI 101180 B FI101180 B FI 101180B
Authority
FI
Finland
Prior art keywords
address
signal processor
peripheral device
memory
conversion table
Prior art date
Application number
FI934976A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI934976A (en
FI101180B1 (en
FI934976A0 (en
Inventor
Risto Kari
Heikki Laamanen
Matti Reini
Petteri Suomalainen
Original Assignee
Tellabs Oy
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 Tellabs Oy filed Critical Tellabs Oy
Priority to FI934976A priority Critical patent/FI101180B1/en
Publication of FI934976A0 publication Critical patent/FI934976A0/en
Publication of FI934976A publication Critical patent/FI934976A/en
Application granted granted Critical
Publication of FI101180B publication Critical patent/FI101180B/en
Publication of FI101180B1 publication Critical patent/FI101180B1/en

Links

Landscapes

  • Bus Control (AREA)
  • Image Processing (AREA)

Description

101180101180

Osoitusmenetelmä signaaliprosessorissa sekä osoitus-menetelmään soveltuva signaaliprosessorin oheispiiri 5 Keksinnön kohteena on patenttivaatimuksen 1 johdannon mukainen osoitusmenetelmä signaaliprosessorissa.The invention relates to an addressing method in a signal processor according to the preamble of claim 1.

Keksinnön kohteena on myös osoitusmenetelmään soveltuva signaaliprosessorin oheispiiri.The invention also relates to a signal processor peripheral circuit suitable for the assignment method.

1010

Nopeissa signaaliprosessoreissa, joiden toimintajakson pituus on tyypillisesti luokkaa 25 - 50 ns, ulkoisen data-muistin tai ulkoisten rekistereiden käyttö vaatii usein odotusjaksoja, koska prosessorin hakuaikavaatimukset ul-15 koiseen muistiin osoitettaessa ovat liian kovat. Reaaliaikaista signaalinkäsittelyä tekevässä signaaliprosessorioh-jelmassa jokainen odotusjakso on kuitenkin liikaa ja niistä tulisi päästä eroon.In high-speed signal processors, which typically have an operating cycle length of the order of 25 to 50 ns, the use of external data memory or external registers often requires waiting periods because the processor's paging time requirements for allocating external memory are too stringent. However, in a signal processor program that performs real-time signal processing, each waiting period is too long and should be eliminated.

20 Monissa signaaliprosessoreissa tehokkain laskenta vaatii muistinosoituksessa käytettäväksi epäsuoraa osoitusta. Muistiin viitataan siis epäsuorasti ns. indeksirekisterin kautta. Samalla kun muistista luetaan tai muistiin kirjoitetaan, voidaan indeksirekisteriä päivittää, jolloin se 25 saadaan osoittamaan seuraavassa käskyssä tarvittavaa muistipaikkaa. Päivitys ei yleensä voi kuitenkaan olla mielivaltainen vaan käytössä on vain rajallinen määrä vaihtoehtoja. Tyypillisesti indeksirekisterin arvoa voidaan joko kasvattaa tai pienentää yhdellä, pitää arvo vakiona tai 30 lisätä indeksirekisteriin jonkin toisen rekisterin arvo. Esim. AT&T DSP1610-prosessorin tapauksessa:20 In many signal processors, the most efficient computation requires indirect assignment for use in memory addressing. Memory is thus implicitly referred to as the so-called through the index register. As the memory reads or writes to the memory, the index register may be updated to indicate the memory location required in the next instruction. However, the upgrade usually cannot be arbitrary and there are only a limited number of options available. Typically, the value of an index register can be either increased or decreased by one, the value kept constant, or the value of another register added to the index register. For example, in the case of an AT&T DSP1610 processor:

aO=*rO /* rekisteriin aO luetaan rekisterin rOaO = * rO / * register aO reads register rO

sisällön määräämästä osoitteesta,rO ei 35 muutu */from the address specified by the content, rO 35 does not change * /

aO=*rO++ /* rekisteriin ao luetaan rekisterin rOaO = * rO ++ / * register ao reads register rO

sisällön määräämästä osoitteesta,rO muuttuu arvoon rO=rO+l seuraavaa epäsuoraa 2 101180 toimintajaksoa varten */ aO=*rO— /* rekisteriin aO luetaan rekisterin ro sisällön määräämästä osoitteesta, rO muuttuu arvoon rO=rO-l seuraavaa epäsuoraa 5 toimintajaksoa varten */from the address specified by the contents, rO changes to rO = rO + l for the next indirect 2 101180 operating cycles * / aO = * rO— / * register aO is read from the address determined by the contents of register ro, rO changes to rO = rO-1 for the next indirect 5 operating cycles * /

aO=*rO++j /* rekisteriin aO luetaan rekisterin rOaO = * rO ++ j / * register aO reads register rO

sisällön määräämästä osoitteestako muuttuu arvoon rO=rO+<j> seuraavaa epäsuoraa toimintajaksoa varten */ 10 Näiden rajoitusten vuoksi signaaliprosessorin ohjelmaan joudutaan usein lisäämään tavallaan turhia käskyjä, joilla asetetaan indeksirekisteri osoittamaan seuraavaksi tarvittavaa muistipaikkaa.from the address determined by the content whether it changes to rO = rO + <j> for the next indirect operation period * / 10 Due to these limitations, unnecessary instructions are often added to the signal processor program to set the index register to indicate the next required memory location.

1515

Signaaliprosessoria käytetään usein yhdessä erilaisten oheispiirien, esim. ASIC-piirin kanssa, joka toimii signaaliprosessorin apuna toteuttaen niitä toimintoja, jotka soveltuvat huonosti signaaliprosessorin laskettaviksi.The signal processor is often used in conjunction with various peripheral circuits, e.g., an ASIC circuit, which acts as an aid to the signal processor, performing those functions that are ill-suited to be calculated by the signal processor.

20 Signaaliprosessori ja oheispiiri kommunikoivat tyypillisesti oheispiirillä olevien rekistereiden avulla, jotka näkyvät prosessorin ulkoisessa datamuistiavaruudessa. Tällöin signaaliprosessorin ja oheispiirin yhteistyön tehostamiseksi tarvitaan menetelmä, jolla vältetään odotusjak-25 sot signaaliprosessorissa ja minimoidaan turhat indeksire-kistereiden päivitykset. Nykyisellä tekniikalla vaativimpia reaaliaikaisia signaalinkäsittelytehtäviä ei ole voitu toteuttaa.20 The signal processor and the peripheral typically communicate via registers on the peripheral that appear in the processor's external data storage space. In this case, in order to enhance the cooperation between the signal processor and the peripheral circuit, a method is needed which avoids waiting periods in the signal processor and minimizes unnecessary updates of the index registers. With current technology, the most demanding real-time signal processing tasks have not been possible.

30 Tämän keksinnön tarkoituksena on poistaa edellä kuvatun tekniikan puutteellisuudet ja aikaansaada aivan uudentyyppinen osoitusmenetelmä signaaliprosessorissa sekä osoi-tusmenetelmään soveltuva signaaliprosessorin oheispiiri. Keksintöä käyttävässä signaaliprosessoriohjelmassa voidaan 35 käyttää sekä suoraa että epäsuoraa osoitusta.The object of the present invention is to eliminate the shortcomings of the above-described technique and to provide a completely new type of assignment method in a signal processor and a signal processor peripheral circuit suitable for the assignment method. Both direct and indirect addressing can be used in a signal processor program using the invention.

Keksintö perustuu siihen, että oheispiirin muistiosoitteita osoitetaan ennakoivasti siten, että toimintajaksolla NThe invention is based on the fact that the memory addresses of the peripheral circuit are proactively assigned so that in the operating period N

3 101180 tarvittava oheispiirin osoite annetaan jonkin tätä edeltävän toimintajakson aikana.3 The peripheral address required for 101180 is given during one of the preceding operating periods.

Täsmällisemmin sanottuna keksinnön mukaiselle menetelmälle 5 on tunnusomaista se, mikä on esitetty patenttivaatimuksen 1 tunnusmerkkiosassa.More specifically, the method 5 according to the invention is characterized by what is set forth in the characterizing part of claim 1.

Keksinnön mukaiselle oheispiirille puolestaan on tunnusomaista se, mikä on esitetty patenttivaatimuksen 6 tun-10 nusmerkkiosassa.The peripheral circuit according to the invention, in turn, is characterized by what is set forth in the characterizing part of claim 6.

Keksinnön avulla saavutetaan huomattavia etuja.The invention provides considerable advantages.

Signaaliprosessori voi osoittaa hitaitakin ASIC- tai muis-15 tipiirejä ilman ajoitusongelmia tai odotusjaksoja tilanteissa, joissa perinteisillä ratkaisuilla joudutaan välttämättä käyttämään odotusjaksoja. Turhat indeksirekisterin päivitykset jäävät pois kun käytettään muunnostaulukkoa. Keksinnön avulla voidaan käyttää signaaliprosessorille 20 täyttä kellotaajuutta ja kuitenkin toteuttaa oheispiireil le soveltuvat tehtävät ilman muistinosoitusongelmia, jolloin signaalinkäsittelylle saadaan toteutetuksi nopeusop-timi. Näin voidaan nopeissa signaalinkäsittelysovelluksis-sa toteuttaa esimerkiksi digitaalisia suodattimia sellai-25 sella nopeudella, joka ei aikaisemmin ole ollut mahdollis ta.The signal processor can assign even slow ASIC or muis-15 circuits without timing problems or wait periods in situations where traditional solutions necessarily require wait periods. Unnecessary index register updates are omitted when using the conversion table. By means of the invention, it is possible to use a full clock frequency for the signal processor 20 and yet to perform tasks suitable for peripheral circuits without memory assignment problems, whereby a speed optimizer can be implemented for signal processing. In this way, in fast signal processing applications, for example, digital filters can be implemented at a speed that has not previously been possible.

Keksintöä ryhdytään seuraavassa lähemmin tarkastelemaan oheisten kuvioiden mukaisten suoritusesimerkkien avulla.The invention will now be examined in more detail with the aid of exemplary embodiments according to the accompanying figures.

3030

Kuvio la esittää lohkokaaviona sellaista signaaliprosessoria sekä sen oheispiiriä, joita voidaan käyttää keksinnön - yhteydessä.Fig. 1a shows a block diagram of a signal processor and its peripheral circuit which can be used in connection with the invention.

35 Kuvio ib esittää yksityiskohtaisempana lohkokaaviona kuviossa la kuvattua keksinnön mukaista oheispiiriä.Fig. Ib shows in a more detailed block diagram the peripheral circuit according to the invention illustrated in Fig. 1a.

Kuvio 2 esittää tunnetun tekniikan mukaista ajoituskaa- 4 101180 viota.Figure 2 shows a timing diagram according to the prior art.

Kuvio 3 esittää keksinnön mukaista ajoituskaaviota.Figure 3 shows a timing diagram according to the invention.

5 Kuviossa la on kuvattu laiteympäristö, jossa keksintöä voidaan käyttää. Laitteisto koostuu signaaliprosessorista 20 sekä tähän osoiteväylän 1 sekä dataväylän 11 kautta kytketystä oheispiiristä 21.Figure 1a illustrates a device environment in which the invention can be used. The apparatus consists of a signal processor 20 and a peripheral circuit 21 connected thereto via the address bus 1 and the data bus 11.

10 Kuvion Ib mukaisesti osoiteväylän 1 kautta osoitetaan oheispiirin 21 muistirekistereitä 9 ja 10. Signaaliprosessorin kannalta rekisterit 9 ovat lukurekistereitä ja rekisterit 10 kirjoitusrekistereitä. Osoitepuskurin 2 kautta rivimuotoiset osoitteet ohjataan muunnostaulukolle 15 3, jota voidaan tarvittaessa ohjata ja päivittää ulkoisel la sisäänmenolla 15. Muunnostaulukon 3 ohjaus voi tapahtua vaihtoehtoisesti dataväylän 11 kautta, jolloin jotkin rekistereistä 10 sisältävät muunnostaulukon. Syötetty osoite siirtyy muunnostaulukon 3 jälkeen osoiterekisteriin 4, 20 jota seuraa osoitteen dekoodauslohko 5. Tässä sovelluksessa muunnostaulukon 3 perusteella osoiteväylän 1 osoitteesta saadaan ohjauslogiikalle 6 tieto siitä, onko kyseessä luku- vai kirjoitusoperaatio. Jos muunnostaulukko jätetään pois, operaation tyyppi nähdään jo osoiteväylän l osoit-25 teessä. Tieto siitä, onko kyseessä luku- vai kirjoitusope raatio voidaan antaa myös erillisellä signaaliprosessorin signaalilla (R/W). Tämä signaali voidaan käsittää yhdeksi osoiteväylän 1 signaaliksi. Näin dekoodauslohko 5 ohjaa oheispiirin ulostulon ohjainta 7 sekä sisäänmenon ohjainta 30 8. Ulostulo-ohjaimeen 7 on kytketty lukurekisterit 9 ja vastaavasti sisäänmeno-ohjaimeen 8 kirjoitusrekisterit 10. Sekä ulostulo-ohjain 7 että sisäänmeno-ohjain 8 kommunikoivat dataväylän 11 kolmitilabuffereiden 14 kanssa. Kolmitilabuffereita puolestaan ohjaa kirjoitus/lukutilaan 35 (r/w) ohjauslogiikka 6, joka saa operaation suuntatiedon osoitteen dekoodauslohkolta 5 ja lohkon valintalinjan 12 ja kellolinjan 13 signaaliprosessorilta.According to Fig. 1b, the memory registers 9 and 10 of the peripheral circuit 21 are assigned via the address bus 1. From the point of view of the signal processor, the registers 9 are read registers and the registers 10 are write registers. Through the address buffer 2, the row-shaped addresses are directed to a conversion table 15 3, which can be controlled and updated if necessary by an external input 15. Alternatively, the conversion table 3 can be controlled via the data bus 11, whereby some of the registers 10 contain a conversion table. After the conversion table 3, the entered address is transferred to the address register 4, 20 followed by the address decoding block 5. In this application, based on the conversion table 3, the address of the address bus 1 informs the control logic 6 whether it is a read or write operation. If the conversion table is omitted, the type of operation is already seen in the address-25 path of the address bus l. Information on whether this is a read or write operation can also be provided by a separate signal processor signal (R / W). This signal can be comprised as a single address bus 1 signal. Thus, the decoding block 5 controls the output controller 7 of the peripheral circuit and the input controller 30 8. Read registers 9 are connected to the output controller 7 and write registers 10 are connected to the input controller 8, respectively. The three-mode buffers, in turn, are controlled by the write / read mode 35 (r / w) control logic 6, which receives the direction information of the operation from the decoding block 5 and the signal processor of the block selection line 12 and the clock line 13.

5 1011805 101180

Kuvion 2 mukaisesti tunnetun tekniikan mukaisessa osoituksessa lohkon valintalinjan 12 ohjaama prosessorin lukuope-raatio saa osoitetussa osoitteessa olevan datan siirtymään dataväylälle 11 vasta toimintajakson lopussa. Osoite-5 väylälle 1 puolestaan muistiosoitetieto siirtyy hyvin pienellä viiveellä. Oheispiirin toimintaa synkronoi kellolin-ja 13. Kuvion ratkaisussa käytetään yhtä odotusjaksoa (W=l). Odotusjakson ansiosta dataväylälle 11 lukujakson lopussa siirtyvä data voidaan lukea. Odotusjakson käyttö 10 hidastaa laitteen toimintaa.According to Fig. 2, in the prior art assignment, the read operation of the processor controlled by the block selection line 12 causes the data at the assigned address to be transferred to the data bus 11 only at the end of the operation period. Address-5 to bus 1, in turn, transfers memory address information with a very small delay. The operation of the peripheral circuit is synchronized by the clock and 13. The solution of the figure uses one waiting period (W = 1). Thanks to the waiting period, the data transmitted to the data bus 11 at the end of the reading period can be read. Using the wait period 10 slows down the device.

Kuvion 3 mukaisessa esimerkissä on kuvattu neljä täyttä toimintajaksoa 31 - 34, sekä yksi vajaa toimintajakso 35. Keksinnön mukaisesti toimintajaksossa 31 osoiteväylälle 1 15 siirretään toimintajaksossa 32 tarvittavan rekisterin osoite, jolloin tämän osoitteen sisältämä data näkyy data-väylällä 11 valmiina jo toimintajakson 32 alussa. Toimintajaksossa 33 signaaliprosessori 20 kirjoittaa dataväylälle 11 tietoa, jonka oheislaite 21 lukee toimintajakson 33 20 lukuosan lopussa. Ajoituksesta voidaan nähdä, että kirjoitusoperaatio ei ole erityisen kriittinen ajoituksen osalta, koska kirjoitus tapahtuu toimintajakson 33 kirjoitusoperaation lopussa. Kirjoitustoimintajaksolla 33 puolestaan osoitetaan lukutoimintajaksolla 34 luettavaa osoi-25 tetta, jonka sisältö on käytettävissä dataväylällä toimintajakson 34 alussa. Samoin toimintajaksolla 34 osoitetaan toimintajaksolla 35 luettavaa osoitetta.In the example according to Figure 3, four full operating cycles 31 to 34 and one incomplete operating cycle 35 are described. According to the invention, in the operating cycle 31 the address of the register required in the operating cycle 32 is transferred to the address bus 1 15. In the operating cycle 33, the signal processor 20 writes information to the data bus 11, which the peripheral device 21 reads at the end of the reading section of the operating cycle 33 20. It can be seen from the timing that the write operation is not particularly critical in terms of timing because the write takes place at the end of the write operation of the operating cycle 33. The write operation period 33, in turn, indicates an address to be read by the read operation period 34, the contents of which are available on the data bus at the beginning of the operation period 34. Likewise, operation period 34 indicates an address to be read in operation period 35.

Kuvion 3 ajoitusrivillä "latch addr in" on kuvattu ajan-30 hetkiä, joilla osoitetieto siirtyy kuvion Ib lohkoon 2. Ajoitusrivillä "latch data out" on puolestaan kuvattu ajanhetkiä, joilla osoitetietoa vastaava data siirtyy oheispiiristä dataväylälle 11. Ajoitusrivi "latch data in" kuvaa ajanhetkeä, jolla dataväylällä 11 oleva tieto siir-35 tyy oheispiiriin 21 ja alimmalla rivillä on kuvattu ajan-hetket, joilla osoitetieto siirtyy muunnostaulukosta 3 osoiterekisteriin 4.The timing line "latch addr in" in Figure 3 depicts the time-30 moments at which the address information is transferred to block 2 of Figure Ib. The timing line "latch data out" in turn depicts the times at which the data corresponding to the address information is transferred from the peripheral circuit to the data bus 11. The timing line "latch data in" describes the time at which the information on the data bus 11 is transferred to the peripheral circuit 21 and the bottom line describes the times at which the address information is transferred from the conversion table 3 to the address register 4.

6 1011806 101180

Menetelmällisesti edellä esitetty keksinnön mukainen ratkaisu toteutetaan käyttämällä oheispiirin 21 lukurekiste-reiden 9 ja kirjoitusrekistereiden 10 osoituksessa ns. ennakoivaa osoitusta j a osoitteiden muunnostaulukkoa 3. En-5 nakoiva osoitus tarkoittaa sitä, että kussakin käskyssä 31 - 35, joka viittaa oheispiirin 21 rekistereihin 9 ja 10, annetaankin osoite seuraavassa käskyssä käytettävään rekisteriin eikä siihen mihin nyt halutaan viitata. Tällöin prosessorissa 20 ei tarvitse käyttää odotusjaksoja.Methodically, the solution according to the invention presented above is implemented by using the so-called in the assignment of the read registers 9 and the write registers 10 of the peripheral circuit 21. a predictive address; and an address conversion table 3. A forward-facing address means that in each instruction 31-35, which refers to registers 9 and 10 of the peripheral circuit 21, an address is given to the register used in the next instruction and not to which reference is now intended. In this case, there is no need to use waiting periods in the processor 20.

1010

Muunnostaulukon 3 avulla oheispiirin rekisterit 9 ja 10 (M ja N kpl) voidaan järjestellä prosessorin muistiavaruudessa mielivaltaiseen järjestykseen ja jopa niin että sama rekisteri näkyy useammassa eri osoitteessa. Näin voidaan 15 kussakin sovellusohjelmassa eri oheispiirin rekisterit saada optimaalisiin paikkoihin, jolloin turhien indeksire-kisterien päivityksien määrä saadaan minimoitua ohjelmassa.By means of the conversion table 3, the peripheral circuit registers 9 and 10 (M and N pieces) can be arranged in the memory space of the processor in an arbitrary order and even so that the same register is displayed at several different addresses. In this way, the registers of the different peripheral circuits in each application program can be obtained in optimal locations, whereby the number of unnecessary updates of the index registers can be minimized in the program.

20 Ennakoivaa osoitusta voi käyttää vain alimmalla ohjelma-tasolla. Jos ylemmän tason ohjelmassa käytettäisiin myös ennakoivaa osoitusta, keskeytysohjelma sotkisi ylemmän tason osoitteet. Näin ollen, jos ylemmällä tasolla halutaan käyttää samoja oheispiirin rekisterejä kuin keskey-25 tysohjelmassa, on ylemmän tason osoituksessa käytettävä tavallista ennakoimatonta osoitusta ja odotusjaksoja. Tarvitaan siis mekanismi osoitusmuodosta toiseen siirtymiselle.20 Proactive assignment can only be used at the lowest program level. If a higher-level program also used proactive assignment, the interrupt program would mess up higher-level addresses. Therefore, if the upper level registers are to use the same peripheral registers as in the interrupt-25 program, the upper level assignment must use the usual unforeseen assignment and wait periods. Thus, a mechanism for moving from one form of address to another is needed.

30 Eri osoitusmuodoille voidaan varata osoiteavaruudesta omat alueet. Tällöin ennakoiva osoitus voidaan toteuttaa niin, että se alkaa heti kun osoitetaan sille varattuun muisti-lohkoon. Ennakoivan osoituksen lopetus taas tehdään osoittamalla erityiseen lopetusosoitteeseen tai osoitealuee-35 seen. Normaali osoitus ei tarvitse mitään aloitus- tai lopetusoperaatiota, mutta se ei toimi, ellei ennakoivaa osoitusta kytketä pois päältä. Osoitusmuodon vaihto voidaan tehdä myös erillisellä signaalilinjalla.30 Separate areas of the address space can be reserved for different address formats. In this case, the predictive assignment can be implemented so that it starts as soon as it is assigned to the memory block allocated to it. The termination of the predictive assignment, on the other hand, is done by pointing to a specific termination address or address range. Normal assignment does not require any start or stop operation, but it will not work unless the predictive assignment is turned off. The change of the assignment form can also be done on a separate signal line.

7 1011807 101180

Seuraavassa on kuvattu esimerkki ennakoivaa osoitusta ja muunnostaulukkoa käyttävästä ohjelmasta edellä mainitun AT&T DSP1610-prosessorin tapauksessa. Oletetaan että oheispiirillä on esim. 8 rekisteriä RegO,Reg2,...,Reg7.The following is an example of a program using predictive assignment and conversion table in the case of the above-mentioned AT&T DSP1610 processor. Assume that the peripheral circuit has e.g. 8 registers RegO, Reg2, ..., Reg7.

5 Nämä rekisterit näkyvät prosessorin muistiavaruudessa esim. osoitteissa 0x2000-0x200f. Rekisterien järjestyksen määrittelee muunnostaulukko. Muunnostaulukon ensimmäinen muistipaikka C(0) kertoo mikä rekisteri näkyy osoitteessa 0x2000, toinen muistipaikka C(l) kertoo mikä rekisteri 10 näkyy osoitteessa 0x2001 jne. Luku 0 muunnostaulukossa tarkoittaa rekisteriä RegO, luku 1 rekisteriä Regl jne. Luku 15 muunnostaulukossa tarkoittaa lopetusosoitetta, johon kirjoittaminen lopettaa ennakoivan osoitusmuodon käytön. Ennakoiva osoitusmuoto käynnistyy, kun osoitetaan 15 mihin tahansa osoitteista 0x2000...0x200f.5 These registers appear in the memory space of the processor, eg at addresses 0x2000-0x200f. The order of the registers is determined by the conversion table. The first memory location C (0) in the conversion table indicates which register appears at address 0x2000, the second memory location C (l) indicates which register 10 appears at address 0x2001, etc. Number 0 in the conversion table means register RegO, number 1 in register Regl, etc. Chapter 15 in the conversion table means end address to which writing stop using the proactive display format. The predictive addressing format starts when 15 is addressed to any of the addresses 0x2000 ... 0x200f.

Prosessorin näkemä muistiavaruusMemory space seen by the processor

Muunnostaulukko i i |Conversion table i i |

Osoite Rekisteri C(0)=15 0X2000Address Register C (0) = 15 0X2000

20 C(1)=0 0x2001 RegO20 C (1) = 0 0x2001 RegO

C(2)=3 0x2002 Reg3 C(3)=7 0x2003 Reg7 C(4)=15 0X2004 • · · 25 C(15)=15 0x200fC (2) = 3 0x2002 Reg3 C (3) = 7 0x2003 Reg7 C (4) = 15 0X2004 • · · 25 C (15) = 15 0x200f

Seuraava ohjelmasekvenssi laskee rekisterien RegO, Reg3 ja Reg7 summan kahteen kertaan. Kukin vasemman puoleisen sarakkeen rivi edustaa yhtä toimintajaksoa. Ennakoivan osoi-30 tuksen käynnistys ja lopetus on esitetty. Konversiotaulun alustusta ei ole esitetty. Rekisterit j, rO, aO ja ai ovat prosessorin sisäisiä rekistereitä.The following program sequence calculates the sum of registers RegO, Reg3, and Reg7 twice. Each row in the left column represents one run. The start and end of the predictive indication is shown. The initialization of the conversion table is not shown. Registers j, rO, aO, and ai are internal registers of the processor.

35 8 101180 1 j=-2 /* Alustetaan offset-rekisteri j */ 2 r0=0x2001 /* Rekisterin RegO osoite rekisteriin rO */ 3 aO=*rO++ /* Luetaan roskaa, annetaan RegO:n osoite */ /* Käynnistetään ennakoiva osoitus, ellei */ /* se ole jo käynnissä */ 5 4 aO=*rO++ /* Luetaan edeltävällä toimintajaksolla dataväylälle saatu RegO:n sisältö rekisteriin aO, annetaan Reg3:n osoite seuraavaa (rivi 5) ennakoivaa toimintajaksoa varten */ 5 a1=*r0++j /* Luetaan Reg3, annetaan Reg7:n osoite seuraavaa (rivi 7) lukujaksoa var ten*/ 6 aO=aO+a1 /* Lasketaan Reg0+Reg3 */ 7 a1=*r0++ /* Luetaan Reg7, annetaan Reg0:n osoite seuraavaa (rivi 9) lukujaksoa var ten */ 8 a0«a0+a1 /* Lasketaan Reg0+Reg3+Reg7 */ 10 9 a0=*r0++ /* Luetaan RegO, annetaan Reg3:n osoite seuraavaa (rivi 10) lukujaksoa var ten */ 10 a1=*r0++ /* Luetaan Reg3, annetaan Reg7:n osoite seuraavaa (rivi 12) lukujaksoa var ten */ 11 a0=a0+a1 /* Lasketaan Reg(HReg3 */ 12 a1=*r0 /* Luetaan Reg7, annetaan lopetusosoite */ 15 13 a0=a0+a1 /* Lasketaan Reg0+Reg3+Reg7 */35 8 101180 1 j = -2 / * Initialize offset register j * / 2 r0 = 0x2001 / * RegO address of register to register rO * / 3 aO = * rO ++ / * Read garbage, enter RegO address * / / * Start predictive indication, unless * / / * it is already running * / 5 4 aO = * rO ++ / * Read the contents of RegO received on the data bus in the previous operating period in register aO, give the address of Reg3 for the next (line 5) preliminary operating period * / 5 a1 = * r0 ++ j / * Read Reg3, enter the address of Reg7 for the next (line 7) reading period * / 6 aO = aO + a1 / * Calculate Reg0 + Reg3 * / 7 a1 = * r0 ++ / * Read Reg7 , enter the address of Reg0 for the next reading period (line 9) * / 8 a0 «a0 + a1 / * Calculate Reg0 + Reg3 + Reg7 * / 10 9 a0 = * r0 ++ / * Read RegO, enter the address of Reg3 as follows ( line 10) for the reading period * / 10 a1 = * r0 ++ / * Read Reg3, give the address of Reg7 for the next (line 12) reading period * / 11 a0 = a0 + a1 / * Calculate Reg (HReg3 * / 12 a1 = * r0 / * Read Reg7, give end address * / 15 13 a0 = a0 + a1 / * Read aan Reg0 + Reg3 + Reg7 * /

Seuraavassa taulukossa on esimerkinomaisesti kuvattu oheispiirin data- ja osoiteväylien sisältöä edellä esitetyn ohjelman käskyriveillä 3, 4, 5 ja 7.The following table illustrates, by way of example, the contents of the peripheral data and address buses on command lines 3, 4, 5, and 7 of the above program.

20 Käsky a0=*r0++ a0=*r0++ a0=*r0++j a1=*r0*+20 Command a0 = * r0 ++ a0 = * r0 ++ a0 = * r0 ++ j a1 = * r0 * +

Tavoite aloittaa en- luku + seuraa- kuten edellä kuten edellä nakoiva osoi- vassa toiminta-tus jaksossa tarvit tavan osoitteen siirto osoite-väylälle seuraa-van toimintajakson alkuunThe goal is to start the read + next- as above as in the above-indicated indicative operation section, transferring the required address to the address bus at the beginning of the next operation period

Osoiteväylä 0*2001 0*2002 0*2003 0*2001 (=reg0 osoi- (=reg2 osoite) (=reg7 osoite) (=reg0 osoite) te)Address bus 0 * 2001 0 * 2002 0 * 2003 0 * 2001 (= reg0 address (= reg2 address) (= reg7 address) (= reg0 address) te)

Dataväylä XX regO sisältö reg3 sisältö reg7 sisältö 25 Termillä "muisti" tarkoitetaan tässä yhteydessä rekistereitä, akkuja tai muita muistielimiä tiedon tallentamis-seksi.Data bus XX RegO contents reg3 contents reg7 contents 25 The term "memory" in this context means registers, batteries or other memory means for storing data.

Claims (5)

9 1011809 101180 1. Osoitusmenetelmä signaaliprosessorilaitteistossa, joka 5 käsittää signaaliprosessorin (20) sekä tähän data- (11) ja osoiteväylän (1) kautta kytketyn oheislaitteen (21), jossa menetelmässä signaaliprosessorilla (20) osoitetaan toisiaan seuraavissa toimintajaksoissa N (31-35) oheislaitteen muistiosoitteita näiden sisällön siirtämiseksi dataväyläl-10 le (11) signaaliprosessorin (20) käyttöä varten, ja toimintajaksolla N prosessorin (20)käyttöön tarkoitetun oheislaitteen (21) muistia osoitetaan ennakoivasti jollakin toimintajaksoa N edeltävällä toimintajaksolla muistin sisällön saamiseksi dataväylälle (11) toimintajakson N 15 alkuun, tunnettu siitä, että oheislaitteen (21) muistia osoitetaan erillisen muunnostaulukon (3) kautta ja oheislaite (21) ohjataan ennakoivaan toimintamuotoon osoittamalla ensimmäistä ennalta määrättyä muistiosoi-tealuetta tai osoitetta ja ennakoivasta toimintamuodosta 20 pois osoittamalla toista ennalta määrättyä muistiosoi-tealuetta tai osoitetta.An addressing method in a signal processor apparatus comprising a signal processor (20) and a peripheral device (21) connected thereto via a data (11) and an address bus (1), the method by the signal processor (20) assigning memory addresses of the peripheral devices N (31-35) for transferring content to the data bus 10a (11) for use by the signal processor (20), and in operation N the memory of the peripheral device (21) for use by the processor (20) is proactively allocated in one operation period N to obtain the contents of the memory on the data bus (11) at the beginning of operation period N15, known that the memory of the peripheral device (21) is assigned via a separate conversion table (3) and the peripheral device (21) is directed to the predictive mode by assigning a first predetermined memory address area or address and out of the predictive mode 20 by assigning a second predetermined memory address range or address. 2. Patenttivaatimuksen 1 mukainen menetelmä, tunnet-t u siitä, että oheislaite (21) ohjataan ennakoivaan toi- 25 mintamuotoon erillisellä signaalilinjalla (15).Method according to Claim 1, characterized in that the peripheral device (21) is controlled to a predictive mode by a separate signal line (15). 3. Oheislaite (21) signaaliprosessorilaitteistossa, joka käsittää signaaliprosessorin (20) sekä tähän data- (11) ja osoiteväylän (1) kautta kytketyn oheislaitteen (21), 30 tunnettu siitä, että oheislaite (21) käsittää en nakoivat osoituselimet (2, 3, 4, 5, 6) muistin (9, 10) osoittamiseksi ennakoivasti.A peripheral device (21) in a signal processor apparatus comprising a signal processor (20) and a peripheral device (21) connected thereto via a data (11) and address bus (1), characterized in that the peripheral device (21) comprises predictive addressing means (2, 3) , 4, 5, 6) to proactively assign a memory (9, 10). 4. Patenttivaatimuksen 3 mukainen oheislaite tunnet- 35. u siitä, että se käsittää elimet (2, 3, 4, 5, 6) oheis laitteen (21) siirtämiseksi ennakoituun toimintamuotoon ja siitä pois. 10 101180A peripheral device according to claim 3, characterized in that it comprises means (2, 3, 4, 5, 6) for moving the peripheral device (21) into and out of the intended mode of operation. 10 101180 5. Patenttivaatimuksen 3 tai 4 mukainen oheislaite tunnettu siitä, että muunnostaulukko (3) käsittää oman ohjauslinjansa (15) muunnostaulukon (3) sisällön päivittämiseksi . 11 101180Peripheral device according to Claim 3 or 4, characterized in that the conversion table (3) comprises its own control line (15) for updating the content of the conversion table (3). 11 101180
FI934976A 1993-11-11 1993-11-11 Addressing method in a signal processor and peripheral circuit which can be used in the addressing method FI101180B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FI934976A FI101180B1 (en) 1993-11-11 1993-11-11 Addressing method in a signal processor and peripheral circuit which can be used in the addressing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI934976A FI101180B1 (en) 1993-11-11 1993-11-11 Addressing method in a signal processor and peripheral circuit which can be used in the addressing method
FI934976 1993-11-11

Publications (4)

Publication Number Publication Date
FI934976A0 FI934976A0 (en) 1993-11-11
FI934976A FI934976A (en) 1995-05-12
FI101180B true FI101180B (en) 1998-04-30
FI101180B1 FI101180B1 (en) 1998-04-30

Family

ID=8538932

Family Applications (1)

Application Number Title Priority Date Filing Date
FI934976A FI101180B1 (en) 1993-11-11 1993-11-11 Addressing method in a signal processor and peripheral circuit which can be used in the addressing method

Country Status (1)

Country Link
FI (1) FI101180B1 (en)

Also Published As

Publication number Publication date
FI934976A (en) 1995-05-12
FI101180B1 (en) 1998-04-30
FI934976A0 (en) 1993-11-11

Similar Documents

Publication Publication Date Title
KR100276475B1 (en) Microcomputer system
US5553246A (en) Shared bus mediation system for multiprocessor system
US5125084A (en) Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller
KR100381823B1 (en) Data processing system with adjustable depth / width FIFO buffers for variable width data transfers
US6480929B1 (en) Pseudo-concurrency between a volatile memory and a non-volatile memory on a same data bus
US4181934A (en) Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4378589A (en) Undirectional looped bus microcomputer architecture
KR0133236B1 (en) Shared memory system and arbitration method and system
KR950033856A (en) Data transmission control method and peripheral circuits, data processor and data processing system used in the same
KR20020029760A (en) Integrated circuit with flash bridge and autoload
JP2006228194A (en) Composite memory chip capable of direct data transfer between internal memory devices and data transfer method
US6195720B1 (en) Device and method for communication between asynchronous computer buses using an adapter
KR100395383B1 (en) Data transfer apparatus
KR930001584B1 (en) Microcomputer system
US20060004949A1 (en) Apparatus and method for fetching data from memory
JPS63175287A (en) Storage device
US5594880A (en) System for executing a plurality of tasks within an instruction in different orders depending upon a conditional value
US6058439A (en) Asynchronous first-in-first-out buffer circuit burst mode control
US6157971A (en) Source-destination re-timed cooperative communication bus
US5634139A (en) Microprocessor using feedback memory address to internally generate bust mode transfer period signal for controlling burst mode data transfer to external memory
JP4642531B2 (en) Arbitration of data requests
US6003120A (en) Method and apparatus for performing variable length processor write cycles
JPH01120660A (en) Microcomputer device
FI101180B (en) Addressing method in a signal processor and peripheral circuit which can be used in the addressing process
US4974157A (en) Data processing system

Legal Events

Date Code Title Description
GB Transfer or assigment of application

Owner name: TELLABS OY

MA Patent expired