Electronic Components Datasheet Search |
|
70V657S12DRGI8 Datasheet(PDF) 21 Page - Integrated Device Technology |
|
70V657S12DRGI8 Datasheet(HTML) 21 Page - Integrated Device Technology |
21 / 24 page 21 IDT70V659/58/57S High-Speed 3.3V 128/64/32K x 36 Asynchronous Dual-Port Static RAM Industrial and Commercial Temperature Ranges ThesemaphoreflagsareactiveLOW.Atokenisrequestedbywriting azerointoasemaphorelatchandisreleasedwhenthesamesidewrites aonetothatlatch. The eight semaphore flags reside within the IDT70V659/58/57 in a separatememoryspacefromtheDual-PortRAM.Thisaddressspaceis accessedbyplacingalowinputontheSEMpin(whichactsasachipselect forthesemaphoreflags)andusingtheothercontrolpins(Address, CE, R/WandBEo)astheywouldbeusedinaccessingastandardStaticRAM. Eachoftheflagshasauniqueaddresswhichcanbeaccessedbyeither sidethroughaddresspinsA0–A2.Whenaccessingthesemaphores,none of the other address pins has any effect. When writing to a semaphore, only data pin D0is used. If a low level iswrittenintoanunusedsemaphorelocation,thatflagwillbesettoazero on that side and a one on the other side (see Truth Table V). That semaphorecannowonlybemodifiedbythesideshowingthezero.When aoneiswrittenintothesamelocationfromthesameside,the flagwillbe settoaoneforbothsides(unlessasemaphorerequestfromtheotherside ispending)andthencanbewrittentobybothsides.Thefactthattheside whichisabletowriteazerointoasemaphoresubsequentlylocksoutwrites fromtheothersideiswhatmakessemaphoreflagsusefulininterprocessor communications.(Athoroughdiscussionontheuseofthisfeaturefollows shortly.) A zero written into the same location from the other side will be storedinthesemaphorerequestlatchforthatsideuntilthesemaphoreis freed by the first side. Whenasemaphoreflagisread,itsvalueisspreadintoalldatabitsso thataflagthatisaonereadsasaoneinalldatabitsandaflagcontaining azeroreadsasallzeros.Thereadvalueislatchedintooneside’soutput registerwhenthatside'ssemaphoreselect(SEM,BEn)andoutputenable (OE) signals go active. This serves to disallow the semaphore from changing state in the middle of a read cycle due to a write cycle from the otherside.Becauseofthislatch,arepeatedreadofasemaphoreinatest loopmustcauseeithersignal(SEMorOE)togoinactiveortheoutputwill never change. However, during reads BEn functions only as an output forsemaphore.Itdoesnothaveanyinfluenceonthesemaphore control logic. AsequenceWRITE/READmustbeusedbythesemaphoreinorder to guarantee that no system level contention will occur. A processor requestsaccesstosharedresourcesbyattemptingtowriteazerointoa semaphorelocation.Ifthesemaphoreisalreadyinuse,thesemaphore 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.Shouldtheotherside’ssemaphorerequestlatch havebeenwrittentoazerointhemeantime,thesemaphoreflagwillflip overtotheothersideassoonasaoneiswrittenintothefirstside’srequest latch.Thesecondside’sflagwillnowstayLOWuntilitssemaphorerequest latchiswrittentoaone.Fromthisitiseasytounderstandthat,ifasemaphore is 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 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 sidetomaketherequestwillreceivethetoken.Ifbothrequestsarriveat 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. Aswithanypowerfulprogrammingtechnique,ifsemaphoresaremisused or misinterpreted, a software error can easily happen. Initializationofthesemaphoresisnotautomaticandmustbehandled viatheinitializationprogramatpower-up.Sinceanysemaphorerequest flagwhichcontainsazeromustberesettoaone,allsemaphoresonboth sidesshouldhaveaonewrittenintothematinitializationfrombothsides to assure that they will be free when needed. How the Semaphore Flags Work Thesemaphorelogicisasetofeightlatcheswhichareindependent oftheDual-PortRAM.Theselatchescanbeusedtopassaflag,ortoken, from one port to the other to indicate that a shared resource isinuse.Thesemaphoresprovideahardwareassistforauseassignment methodcalled“TokenPassingAllocation.”Inthismethod,thestateofa semaphore latch is used as a token indicating that a shared resource is inuse.Iftheleftprocessorwantstousethisresource,itrequeststhetoken bysettingthelatch.Thisprocessorthenverifiesitssuccessinsettingthe latchbyreadingit. Ifitwassuccessful,itproceedstoassumecontrolover thesharedresource.Ifitwasnotsuccessfulinsettingthelatch,itdetermines thattherightsideprocessorhassetthelatchfirst, hasthetokenandisusing thesharedresource.Theleftprocessorcantheneitherrepeatedlyrequest that semaphore’s status or remove its request for that semaphore to performanothertaskandoccasionallyattemptagaintogaincontrolofthe tokenviathesetandtestsequence.Oncetherightsidehasrelinquished thetoken,theleftsideshouldsucceedingainingcontrol. Figure 4. IDT70V659/58/57 Semaphore Logic D 4869 drw 19 0 D Q WRITE D0 D Q WRITE SEMAPHORE REQUEST FLIP FLOP SEMAPHORE REQUEST FLIP FLOP LPORT RPORT SEMAPHORE READ SEMAPHORE READ requestlatchwillcontainazero,yetthesemaphoreflagwillappearasone, afactwhichtheprocessorwillverifybythesubsequentread(seeTable V). As an example, assume a processor writes a zero to the left port at a freesemaphorelocation.On usedinstead,systemcontentionproblems could have occurred during the gap between the read and write cycles. Itisimportanttonotethatafailedsemaphorerequestmustbefollowed by either repeated reads or by writing a one into the same location. The semaphorerequestlatch. |
Similar Part No. - 70V657S12DRGI8 |
|
Similar Description - 70V657S12DRGI8 |
|
|
Link URL |
Privacy Policy |
ALLDATASHEET.COM |
Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Datasheet Upload | Contact us | Privacy Policy | Link Exchange | Manufacturer List 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 |