データシートサーチシステム |
|
IDT70T653M データシート(PDF) 19 Page - Integrated Device Technology |
|
IDT70T653M データシート(HTML) 19 Page - Integrated Device Technology |
19 / 24 page 19 IDT70T653M High-Speed 2.5V 512K x 36 Asynchronous Dual-Port Static RAM Industrial and Commercial Temperature Ranges verifiesitssuccessinsettingthelatchbyreadingit. Ifitwassuccessful,it proceeds to assume control over the shared resource. If it was not successfulinsettingthelatch,itdeterminesthattherightsideprocessor has set the latch first, has the token and is using the shared resource. The left processor can then either repeatedly request that semaphore’s status or remove its request for that semaphore to perform another task and occasionally attempt again to gain control of the token via the set and test sequence. Once the right side has relinquishedthetoken,theleftsideshouldsucceedingainingcontrol. The semaphore flags are active LOW. A token is requested by writing a zero into a semaphore latch and is released when the same side writes a one to that latch. The eight semaphore flags reside within the IDT70T653M in a separate memory space from the Dual-Port RAM. This address space is accessed by placing a low input on the SEM pin (which acts as a chip selectforthesemaphoreflags)andusingtheothercontrolpins(Address, CE0 , CE1,R/W and BEn) as they would be used in accessing a standardStaticRAM.Eachoftheflagshasauniqueaddresswhichcan beaccessedbyeithersidethroughaddresspinsA0–A2.Whenaccessing the semaphores, none of the other address pins has any effect. When writing to a semaphore, only data pin D0 is used. If a low level is written into an unused semaphore location, that flag will be set to a zero on that side and a one on the other side (see Truth Table IV). Thatsemaphorecannowonlybemodifiedbythesideshowingthezero. Whenaoneiswrittenintothesamelocationfromthesameside,the flag will be set to a one for both sides (unless a semaphore request from the other side is pending) and then can be written to by both sides. The fact that the side which is able to write a zero into a semaphore subsequently locks out writes from the other side is what makes semaphoreflagsusefulininterprocessorcommunications.(Athorough discussionontheuseofthisfeaturefollowsshortly.)Azerowrittenintothe samelocationfromtheothersidewillbestoredinthesemaphorerequest latch for that side until the semaphore is freed by the first side. Whenasemaphoreflagisread,itsvalueisspreadintoalldatabitsso thataflagthatisaonereadsasaoneinalldatabitsandaflagcontaining a zero reads as all zeros for a semaphore read, the SEM, BEn, and OE signals need to be active. (Please refer to Truth Table II). Furthermore, the read value is latched into one side’s output register when that side's semaphoreselect(SEM,BEn)andoutputenable(OE)signalsgoactive. Thisservestodisallowthesemaphorefromchangingstateinthemiddle of a read cycle due to a write cycle from the other side. A sequence WRITE/READ must be used by the semaphore in order to guarantee that no system level contention will occur. A processor requests access to shared resources by attempting to write a zero into a semaphore location. If the semaphore is already in use, the semaphore request latch will contain a zero, yet the semaphore flag will appear as one, a fact which the processor will verify by the subsequent read (see Table IV). As an example, assume a processor writes a zero to the left port at a free semaphore location. On a subsequent read, the processor will verify that it has written success- fullytothatlocationandwillassumecontrolovertheresourceinquestion. Meanwhile,ifaprocessorontherightsideattemptstowriteazerotothe samesemaphoreflagitwillfail,aswillbeverifiedbythe factthataonewill be read from that semaphore on the right side during subsequent read. HadasequenceofREAD/WRITEbeenusedinstead,systemcontention problemscouldhaveoccurredduringthegapbetweenthereadandwrite cycles. Itisimportanttonotethatafailedsemaphorerequestmustbefollowed by either repeated reads or by writing a one into the same location. The reasonforthisiseasilyunderstoodbylookingatthesimplelogicdiagram ofthesemaphoreflaginFigure4.Twosemaphorerequestlatchesfeed into a semaphore flag. Whichever latch is first to present a zero to the semaphoreflagwillforceitssideofthesemaphoreflagLOWandtheother side HIGH. This condition will continue until a one is written to the same semaphorerequestlatch.Iftheoppositesidesemaphorerequestlatchhas beenwrittentozerointhemeantime,thesemaphoreflagwillflipoverto the other side as soon as a one is written into the first request latch. The oppositesideflagwillnowstayLOWuntilitssemaphorerequestlatchis writtentoaone.Fromthisitiseasytounderstandthat,ifasemaphoreis requested and the processor which requested it no longer needs the resource, the entire system can hang up until a one is written into that semaphorerequestlatch. The critical case of semaphore timing is when both sides request a single token by attempting to write a zero into it at the same time. The semaphorelogicisspeciallydesignedtoresolvethisproblem.Ifsimulta- neousrequestsaremade,thelogicguaranteesthatonlyonesidereceives thetoken.Ifonesideisearlierthantheotherinmakingtherequest,thefirst side to make the request will receive the token. If both requests arrive at the same time, the assignment will be arbitrarily made to one port or the other. One caution that should be noted when using semaphores is that semaphoresalonedonotguaranteethataccesstoaresourceissecure. As with any powerful programming technique, if semaphores are misused or misinterpreted, a software error can easily happen. Initializationofthesemaphoresisnotautomaticandmustbehandled viatheinitializationprogramatpower-up.Sinceanysemaphorerequest flagwhichcontainsazeromustberesettoaone,allsemaphoresonboth sidesshouldhaveaonewrittenintothematinitializationfrombothsides to assure that they will be free when needed. Figure 4. IDT70T653M Semaphore Logic D 5679 drw 21 0 D Q WRITE D0 D Q WRITE SEMAPHORE REQUEST FLIP FLOP SEMAPHORE REQUEST FLIP FLOP LPORT RPORT SEMAPHORE READ SEMAPHORE READ How the Semaphore Flags Work The semaphore logic is a set of eight latches which are indepen- dent of the Dual-Port RAM. These latches can be used to pass a flag, or token, from one port to the other to indicate that a shared resource is in use. The semaphores provide a hardware assist for a use assignment method called “Token Passing Allocation.” In this method, the state of a semaphore latch is used as a token indicating that a shared resource is in use. If the left processor wants to use this resource, it requests the token by setting the latch. This processor then |
同様の部品番号 - IDT70T653M_15 |
|
同様の説明 - IDT70T653M_15 |
|
|
リンク URL |
プライバシーポリシー |
ALLDATASHEET.JP |
ALLDATASHEETはお客様のビジネスに役立ちますか? [ DONATE ] |
Alldatasheetは | 広告 | お問い合わせ | プライバシーポリシー | リンク交換 | メーカーリスト All Rights Reserved©Alldatasheet.com |
Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
Family Site : ic2ic.com |
icmetro.com |