Electronic Components Datasheet Search |
|
IDT7005S Datasheet(PDF) 18 Page - Integrated Device Technology |
|
|
IDT7005S Datasheet(HTML) 18 Page - Integrated Device Technology |
18 / 21 page 6.42 IDT7005S/L High-Speed 8K x 8 Dual-Port Static RAM Military, Industrial and Commercial Temperature Ranges 18 cause either signal (SEM or OE) to go inactive or the output will never change. AsequenceWRITE/READmustbeusedbythesemaphoreinorder to guarantee that no system level contention will occur. A processor requestsaccesstosharedresourcesbyattemptingtowriteazerointoa semaphorelocation.Ifthesemaphoreisalreadyinuse,thesemaphore requestlatchwillcontainazero,yetthesemaphoreflagwillappearasone, a fact which the processor will verify by the subsequent read (see Truth TableV).Asanexample,assumeaprocessorwritesazerototheleftport at a free semaphore location. On a subsequent read, the processor will verifythatithaswrittensuccessfullytothatlocationandwillassumecontrol overtheresourceinquestion.Meanwhile,ifaprocessorontherightside attempts to write a zero to the same semaphore flag it will fail, as will be verifiedbythefactthataonewillbereadfromthatsemaphoreontheright side during subsequent read. Had a sequence of READ/WRITE been usedinstead,systemcontentionproblemscouldhaveoccurredduringthe gap between the read and write 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.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 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 the token. If one side is earlier than the other in making the request, the firstsidetomaketherequestwillreceivethetoken.Ifbothrequestsarrive 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. 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. UsingSemaphores—SomeExamples Perhapsthesimplestapplicationofsemaphoresistheirapplicationas resourcemarkersfortheIDT7005’sDual-PortRAM.Saythe8Kx8RAM wastobedividedintotwo4Kx8blockswhichweretobededicatedatany onetimetoservicingeithertheleftorrightport.Semaphore0couldbeused toindicatethesidewhichwouldcontrolthelowersectionofmemory,and configurations.TheIDT7005doesnotuseitssemaphoreflagstocontrol anyresourcesthroughhardware,thusallowingthesystemdesignertotal flexibilityinsystemarchitecture. An advantage of using semaphores rather than the more common methodsofhardwarearbitrationisthatwaitstatesareneverincurredin either processor. This can prove to be a major advantage in very high-speedsystems. How the Semaphore Flags Work Thesemaphorelogicisasetofeightlatcheswhichareindependent oftheDual-PortRAM.Theselatchescanbeusedtopassaflag,ortoken, fromoneporttotheothertoindicatethatasharedresourceisinuse.The semaphores provide a hardware assist for a use assignment method called“TokenPassingAllocation.”Inthismethod,thestateofasemaphore latchisusedasatokenindicatingthatsharedresourceisinuse.Iftheleft processorwantstousethisresource,itrequeststhetokenbysettingthe latch.Thisprocessorthenverifiesitssuccessinsettingthelatchbyreading it. If it was successful, it proceeds to assume control over the shared resource.Ifitwasnotsuccessfulinsettingthelatch,itdeterminesthatthe rightsideprocessorhassetthelatchfirst, hasthetokenandisusingthe sharedresource.Theleftprocessorcantheneitherrepeatedlyrequest thatsemaphore’sstatusorremoveitsrequestforthatsemaphoretoperform anothertaskandoccasionallyattemptagaintogaincontrolofthetokenvia thesetandtestsequence.Oncetherightsidehasrelinquishedthetoken, theleftsideshouldsucceedingainingcontrol. ThesemaphoreflagsareactiveLOW.Atokenisrequestedbywriting azerointoasemaphorelatchandisreleasedwhenthesamesidewrites aonetothatlatch. The eight semaphore flags reside within the IDT7005 in a separate memoryspacefromtheDual-PortRAM.Thisaddressspaceisaccessed byplacingaLOWinputontheSEMpin(whichactsasachipselectforthe semaphore flags) and using the other control pins (Address, OE, and R/W) as they would be used in accessing a standard static RAM. Each of the flags has a unique address which can be accessed by either side throughaddresspinsA0–A2.Whenaccessingthesemaphores,noneof the other address pins has any effect. Whenwritingtoasemaphore,onlydatapinD0isused.IfaLOWlevel iswrittenintoanunusedsemaphorelocation,thatflagwillbesettoazero on that side and a one on the other side (see Truth Table V). That semaphorecannowonlybemodifiedbythesideshowingthezero.When aoneiswrittenintothesamelocationfromthesameside,theflagwillbe 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)andoutputenable(OE) signalsgoactive.Thisservestodisallowthesemaphorefromchanging stateinthemiddleofareadcycleduetoawritecyclefromtheotherside. Becauseofthislatch,arepeatedreadofasemaphoreinatestloopmust |
Similar Part No. - IDT7005S_18 |
|
Similar Description - IDT7005S_18 |
|
|
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 |