Устройствапамяти.общаяклассификация.
Внутренняяпамятьлюбойпроцессорнойсистемыделитсяна3триосновныхтипа:
· Адресная
· Споследовательнымдоступом
· Ассоциативная
Адресная–доступклюбойизячеекпространствавозможенповыставленномунашинеадресу,внезависимостиотадресапредыдущегообращения.
Ктакомутипуотноситсявсяпамятьпостояннаяиоперативная(ROM,RAM).
Последовательногодоступа–строгаяпоследовательностьобращенияккаждойследующейячейке.Последовательностьопределяетсясчетчиком.Этапамятьстроитсянарегистровыхфайлах.
Кэтомутипуотносятся
· FIFO(firstinputfirstoutput)
· LIFO(lastinputfirstoutput-stack)
Обращениеячейкамstackрегистрируетсяспомощьюреверсивногосчетчика.
Ассоциативнаяпамять–копированиенекоторогоучасткаосновнойпамятинадополнительнуюобласть,приэтомвдополнительнойобластипроизводитсясамопроизвольноераспределениеадресов,ноприкопированиизаполняютсяадресаосновныхячеек.Такимобразом,каждаяячейкаимееткакбыдваадреса:
· Адресвосновнойпамяти
· Адресвнутриобразованногопространства(CASH–кэш)
Памятьспоследовательнымдоступом.Принциппостроениястека.
БуферFIFO
БуферFIFO,примерструктурыкоторогоприведеннарис.1,представляетсобоюЗУдляхраненияочередейданных(списков)спорядкомвыборкислов,такимже,чтоипорядокихпоступления.Интервалымеждусловамимогутбытьсовершенноразличными,т.к.моментызаписисловавбуферисчитыванияизнегозадаютсявнешнимисигналамиуправлениянезависимодруготдруга.
Рис.1.СтруктурабуфераFIFO
Возможностьиметьразныйтемпприемаивыдачисловнеобходима,например,еслиприемникспособенприниматьданные,поступающиерегулярноснекоторойчастотой,аисточникинформациивыдаетсловавболеебыстромтемпеи,можетбыть,ктомуженерегулярно.ТакиеданныепоступаютвихтемпевбуферFIFO,аизнегосчитываютсярегулярноснеобходимойдляприемникаданныхчастотой.Новоесловоставитсявконецочереди,считываниеосуществляетсясначалаочереди.
Всхеме(рис.1)передначаломработыобасчетчикаадресовCTR1иCTR2сбрасываются.Призаписиадресаувеличиваютсянаединицуприкаждомобращении,т.е.возрастают,начинаяснулевого.Тожепроисходитпричтениислов,такчтоадресчтениявсегда"гонится"заадресомзаписи.Еслиадресасравняютсяпричтении,тобуферпуст.Еслиадресасравняютсяпризаписи,тобуферполон(адресамизанятавсяемкостьсчетчика).Этиситуацииотмечаютсясоответствующимисигналами.Еслибуферполон,тонужнопрекратитьприемданных,аеслипуст,тонужнопрекратитьчтение.Очередьудлиняетсяилиукорачиваетсявзависимостиотразностичиселзаписанныхисчитанныхслов.Переходчерезнульосложненийневызывает.
Стек
Стек(магазиннаяпамять)удобендлязапоминаниямассиваслов,т.к.приэтомнетребуетсяадресоватькаждоесловоотдельно.Словазагружаютсявстеквопределенномпорядке,присчитываниитакжезаранееизвестенпорядокихследования.Вчастности,стекудобенпризапоминаниисостоянийрегистроввмоментпрерыванияпрограммы.Порядоквводасловвстекиихсчитыванияпредопределеныегоустройством.ПриорганизациитипаLIFO(LastIn—FirstOut)последнеезаписанноевстексловоприсчитываниипоявляетсяпервым.СтекLIFOпопорядкузаписи-считыванияподобенстопкетарелок—дляиспользованияснимаетсяверхняя,т.е.последняяположенная,затемвтораяит.д.Интересноотметить,чтосамтермин"стек"произошелименноотобозначениятакойстопки.
Стекимеетдноиверхушку,направлениевозрастанияномеровячееквнемможетбытьразличным(обычныйиперевернутыйстеки).Операциисостеком—Push(записьслова)иPop(считываниеслова).
АппаратностекреализуетсявОЗУ,гдедлянеговыделяетсяопределеннаяобласть.УказательстекаSPсодержитадреспоследнейзанятойячейки(рис.2).ПривыполненииоперацийPushиPopзначениеSPуменьшаетсяилиувеличивается.ЗадаваявSPначальноезначение,можноразмещатьстеквтойилиинойобластиОЗУ,следяприэтомзатем,чтобыэтаобластьнеиспользоваласьдлядругихцелей.ПрибайтовойорганизациипамятиизанесениивстексодержимогорегистровойпарыстаршийбайтзапоминаетсяпоадресуSP-1,амладший—поадресуSP-2,содержимоеSPуменьшаетсяна2.Привыборкесодержимоедвухверхнихячеекстекапомещаетсявсоответствующиерегистры,асодержимоеSPувеличиваетсяна2.
Рис.2.Реализациястекавмикропроцессорнойсистеме
Основноеназначениестека—обслуживаниепрерыванийпрограммыивыполненияподпрограмм.