存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx

上传人:b****8 文档编号:27828694 上传时间:2023-07-05 格式:DOCX 页数:22 大小:514.42KB
下载 相关 举报
存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx_第1页
第1页 / 共22页
存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx_第2页
第2页 / 共22页
存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx_第3页
第3页 / 共22页
存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx_第4页
第4页 / 共22页
存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx

《存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx》由会员分享,可在线阅读,更多相关《存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx(22页珍藏版)》请在冰豆网上搜索。

存储器输入输出访问论文中英文资料对照外文翻译文献综述.docx

存储器输入输出访问论文中英文资料对照外文翻译文献综述

存储器输入输出访问

中英文资料对照外文翻译文献综述

附录A:

英文资料

Input/OutputAccessing

Inthisarticle,wewilllookatthethreebasicmethodsofI/Oaccessing-programmedI/O,interrupt-drivenI/O,anddirectmemoryaccess(DMA).ThekeyissuethatdistinguishesthesethreemethodsishowdeeplytheprocessorisinvolvedinI/Ooperations.Thediscussionemphasizesinterrupt-drivenI/O,becauseitisbasedontheconceptofinterrupthandling,whichisageneralproblemthatgoesbeyondInput/Outputoperations.Thestudyofinterrupthandlingalsoaidsinunderstandingthegeneralconceptofexceptionprocessing,whichisanimportantissuenotonlyforI/O,butalsoforinterfacingacomputerwithothersystemcontrolfunctions.

AddressingI/ORegisters

Input/OutputdevicescommunicatewithaprocessorthroughInput/Outputports.Throughtheinputports,sprocessorreceivesdatafromtheI/Odevices.Throughtheoutputports,aprocessorsendsdatatotheI/Odevices.EachI/Oportconsistsofasmallsetofregisters,suchasdatabufferregisters(theinputbufferand/ortheoutputbuffer),thestatusregister,andthecontrolregister.Theprocessormusthavesomemeanstoaddresstheseregisterswhilecommunicatingwiththem.TherearetwocommonmethodsofaddressingI/Oregister-memory-mappedI/OanddirectI/O.

1.Memory-MappedI/O

Memory-mappedI/OmapstheI/Oregistersandmainmemoryintoaunifiedaddressspaceinthecomputersystem.I/Oregisterssharethesameaddressspacewithmainmemory,butaremappedtoaspecificsectionthatisreservedjustforI/O.Thus,theI/Oregistercanbeaddressedinordinarymemoryreferenceinstructionsasiftheyarepartofthemainmemorylocations.TherearenospeciallydesignedI/Oinstructionsintheinstructionsetofthesystem.AnyinstructionthatreferencesalocationinthisareaisanI/Oinstruction.AnyinstructionthatcanspecifyamemoryaddressiscapableofperformingI/Ooperations.TheMotorolaMC68000isanexampleofacomputersystemthatusesthisaddressingmethod.

2.DirectI/O

ThemethodofaddressingI/OregistersdirectlywithoutsharingtheaddressspacewiththemainmemoryiscalleddirectI/OorI/O-mappedI/O.Inotherwords,I/Oregistersarenotmappedtothesameaddressspacewiththemainmemory.EachI/Oregisterhasanindependentaddressspace.Asaresult,instructionsthatreferencethemainmemoryspacecannotbeusedforInput/Output.Intheinstructionsetofthecomputersystem,specialI/OinstructionsmustbedesignedforI/Ooperations.IntheseI/Oinstructions,distinctI.D.numbersmustbeusedtoaddressdifferentI/Ocommunicationchannels(i.e.,I/Oports).Theyarecalledportnumbers.TheI/OregistersofanI/OportareconnectedtothesystemI/Obus,throughwhichtheprocessorcanreferencetheI/Oregistersdirectlytosend/receivedatato/fromanI/Odevice.AnI/Oportnumberisnotfromthesameaddressspaceasmainmemory.ThePentiumisanexampleofacomputersystemthatusesthedirectI/Oaddressingmethod.Ithasa64GBmemoryaddressspace(32addressbits)and,atthesametime,a64KBI/Oaddressspace(16bitsI/Oaddress/portnumber).

Wecancomparememory-mappedI/OandthedirectI/OandthedirectI/Oasfollows:

●Memory-mappedI/OusesordinarymemoryreferenceinstructionstoaccessI/O,soitprovidesflexibilityforI/OprogrammingandsimplifiesI/Osoftware.DirectI/OdoesnotprovideanyflexibilityinI/Oprogramming,sinceonlyasmallsetofspecialI/OinstructionsareallowedtoreferenceI/Oregisters.

●formemory-mappedI/O,theprocessorusesthesameaddresslinestoaccessalltheaddressableI/Oregistersandthesamedatalinestosend/receivedatato/formtheseregisters.ThissimplifiestheconnectionbetweenI/Oportandtheprocessor,andthusleadstoalow-costhardwaredesignandimplementation.FordirectI/O,theconnectionbetweenI/Oportsandtheprocessormaybemoreexpensive.Thisisbecauseeither

(1)specialhardwareisneededtoimplementseparateI/Oaddresslinesor

(2)whenmemoryaddresslinesareusedforI/O;aspecialflagisneeded,indicatingthattherequestedaddressisforanI/Ooperation.

●InspiteoftheadvantageofusingordinarymemoryreferenceinstructionstoaccessI/Oregisters,memory-mappedI/OmaycomplicatethecontrolunitdesigninregardstotheimplementationofI/O-relatedinstructions.ThisisbecauseusuallytheI/Obuscyclesneedtobelongerthantheequivalentmemorybuscycles,andthismeansthatthedesignofdifferenttimingcontrollogicisrequired.Thiscanbeusedtoexplainwhymemory-mappedI/Obenefitsprogrammers,butnotelectronicsengineers.

●DirectI/Oaddressinghasanotheradvantageovermemory-mappedI/Ointhatlow-leveldebuggingonadifferentiatedaddressingsystemmaybeeasier,becausebreak-pointsorerrortrapscanbeimposedmoregenerally.

●withmemory-mappedI/O,I/Oregisterssharethesameaddressspacewithmainmemory;hence,thememoryspaceavailableforprogramsanddataisreduced.FordirectI/Oaddressing,I/Odoesnotsharememoryspacewithmainmemory,andasinglecontiguousmemoryspacecanbemaintainedandusedbyprogrammers.

ProgrammedI/O

ProgrammedI/Orequiresthatalldatatransferoperationsbeputunderthecompletecontroloftheprocessorwhenexecutingprograms.Itissometimescalledpolling,becausetheprogramrepeatedlypolls(checks)thestatusflagofanI/Odevice,sothatitsinput/outputoperationcanbesynchronizedwiththeprocessor.AgeneralflowchartofsuchaprogramisshowninFigure1.TheprogramcontinuouslypollsthestatusofanI/Odevicetofindoutwhether

(1)dataisavailableintheinputbufferor

(2)theoutputdeviceisreadyforreceivingdatafromtheprocessor.Ifthestatusshows“available”theprogramwillexecuteadatatransferinstructiontocompletetheI/Ooperation;otherwise,thebusystatusoftheI/Odevicewillforcetheprogramtocirculateinabusy-waitingloopuntilthestatusbecomesavailable.Suchabusy-waitingloop,whichcontinuouslychecksthestatusofdataavailability(forinput)ordeviceavailability(forout-put),formsthetypicalprogramstructureofprogrammedI/O.Itisthistime-consumingbusy-waitingloopthatwastesprocessortimeandmakesprogrammedI/Overyinefficient.TheprocessormustbeinvolvedcontinuouslyintheentireI/Oprocess.Duringthistimeinterval,theprocessorcannotperformanyusefulcomputation,butonlyserveasingleI/Odevice.ForcertainslowI/Odevices,thisbusy-waitingloopintervalmaybelongenoughthattheprocessorcouldexecutemillionsofinstructionsbeforetheI/Oeventoccurs,e.g.,akeystrokeonakeyboard.

TheoperationalmodelfprogrammedI/Ostatedaboveischaracterizedbythebusywaitingloopoftheprogram,duringwhichtheprocessorspendstimepollinganI/Odevice.Becauseofthededicationoftheprocessortoasingletask,thismodeofprogrammedI/Oiscalleddedicatedpollingorspinpolling.Althoughdedicatedpollingishighlyinefficient,sometimesitisnecessaryandevenunavoidable.Inaparticularcase,ifanurgenteventneedsanimmediateresponsewithoutdelay,thendedicatedpollingbyadedicatedprocessormaybethebestwaytohandleit.Oncetheexpectedeventhappens,theprocessorcantracttoitimmediately.Forexample,certainrealtimesystems(e.g.,radarechoprocessingsystems)requireareactiontoincomingdatathatissoquickthatevenaninterruptresponseistooslow.Undersuchacircumstance,onlyafastdedicatedpollingloopmaysuffice.

AnothermodeofoperationofprogrammedI/Oiscalledintermittentpollingortimedpolling.Inthismode,theprocessormaypollthedeviceataregulartimedinterval,whichcanbeexpectedorprescheduled.Suchadevicecanbefoundinmanyembeddedsystemswhereaspecial-purposecomputerisusedforprocesscontrol,dataacquisition,environmentalmonitoring,trafficcounting,etc.thesedevices,whichmeasure,collect,orrecorddata,areusuallypolledperiodicallyinaregularscheduledeterminedbytheneedsoftheapplication.Suchamethodofintermittentpollingcanhelpsavetimelostinspinpollingandavoidthecomplexityofinterruptprocessing.However,itshouldbenotedthatintermittentpollingmaynotbeapplicableinsomespecialcases,inwhichthereisonlyonedevicetobepolledandthecorrectpollingratemustbeachievedwiththeassistanceofaninterrupt-drivenclock.Usingtimedpollinginthiscasewouldresultinsimplyswappingoneinterrupt-drivenclock.Usingtimepollinginthiscasewouldresultinsimplyswappingoneinterruptrequirementforanother.

Interrupt-DrivenI/O

Interrupt-drivenI/Oisameanstoavoidtheinefficientbusy-waitingloops,whichcharacterizeprogrammedI/O.InsteadofwaitingwhiletheI/Odeviceisbusydoingitsjobofinput/output,theprocessorcanrunotherprograms.WhentheI/Odevicecompletesitsjobanditsstatusbecomes“available”,itwillissueaninterruptrequesttotheprocessor,askingforCPUservice.Inresponse,theprocessorsuspendswhateveritiscurrentlydoing,inordertoattendtotheneedsofthatI/Odevice.

Inrespondtoaninterruptrequest,theprocessorwillfirstsavethecontentsofboththeprogramcounterandthestatusregisterfortherunningprogram,andthentransferthecontroltothecorrespondinginterruptserviceroutinetoperformtherequireddatainput/outputoperation.Whentheinterruptserviceroutinehascompleteditsexecutionandifnomoreinterruptrequestsarepending,theprocessorwillresumetheexecutionofthepreviouslyinterruptedprogramandrestorethecontentsofthestatusesandprogramcounter.Theprocessorhardwareshouldchecktheinterruptrequestsignaluponcom

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1