Подпишитесь на наши новости
Вернуться к началу с статьи up
 

СТЕК

  • рубрика
  • родственные статьи
  • image description

    В книжной версии

    Том 31. Москва, 2016, стр. 213

  • image description

    Скопировать библиографическую ссылку:




Авторы: Э. М. Пройдаков

СТЕК (англ. stack – шта­бель, стоп­ка, ки­па) в вы­чис­лит. тех­ни­ке, об­ласть опе­ра­тив­ной па­мя­ти, ис­поль­зуе­мая в ре­жи­ме оче­ре­ди (LIFO, Last In – First Out, «по­след­ним при­шёл – пер­вым ушёл») для вре­мен­но­го хра­не­ния со­стоя­ния про­цес­со­ра, ре­ги­ст­ров, ло­каль­ных пе­ре­мен­ных. В С. обыч­но за­пи­сы­ва­ет­ся ад­рес воз­вра­та (return address) при вы­зо­ве про­це­ду­ры, ме­то­да или функ­ции, а так­же пе­ре­да­вае­мые па­ра­мет­ры или ссыл­ки на них. Раз­мер вы­де­ляе­мой под С. па­мя­ти ог­ра­ни­чен и име­ет ниж­нюю и верх­нюю гра­ни­цы, на­ру­ше­ние ко­то­рых на­зы­ва­ют со­от­вет­ст­вен­но пе­ре­пол­не­ни­ем и ис­чер­па­ни­ем. Ча­ще все­го прин­цип ра­бо­ты С. срав­ни­ва­ют со стоп­кой та­ре­лок: что­бы взять вто­рую свер­ху, нуж­но снять верх­нюю. Ка­ж­дый про­цесс, по­ток или за­да­ча име­ют соб­ст­вен­ный С. Ра­бо­та со С. под­дер­жи­ва­ет­ся ап­па­рат­но с по­мо­щью ко­манд за­не­се­ния в С. и из­вле­че­ния из С., а так­же спец. ре­ги­ст­ра – ука­за­те­ля С. и схем кон­тро­ля на­ру­ше­ния гра­ниц. С. мо­жет быть ап­па­рат­ным (опе­ра­ции под­дер­жи­ва­ют­ся на­бо­ром ма­шин­ных ко­манд про­цес­со­ра) или про­грамм­ным (реа­ли­зу­ет­ся про­грамм­ны­ми сред­ст­ва­ми). Не­ко­то­рые про­цес­со­ры мо­гут иметь неск. С. и, со­от­вет­ст­вен­но, неск. ука­за­те­лей С. На ос­но­ве С. мо­жет быть раз­ра­бо­та­на спец. сте­ко­вая ар­хи­тек­ту­ра, т. е. ком­пь­ю­тер­ная ар­хи­тек­ту­ра, в ко­то­рой у ма­шин­ных ко­манд нет ад­рес­ной час­ти – опе­ран­ды бе­рут­ся из вер­ши­ны С. и по­ме­ща­ют­ся сно­ва в С. Та­кая ар­хи­тек­ту­ра хо­ро­шо под­хо­дит для вы­пол­не­ния ма­те­ма­тич. опе­ра­ций, по­это­му она час­тич­но при­сут­ст­ву­ет в бло­ке АЛУ с пла­ваю­щей за­пя­той, ре­ги­ст­ры ко­то­ро­го об­ра­зу­ют ре­ги­ст­ро­вый С. Су­ще­ст­ву­ют язы­ки про­грам­ми­ро­ва­ния, пол­но­стью ори­ен­ти­ро­ван­ные на ра­бо­ту со С., са­мый из­вест­ный из них – форт (Forth).

Вернуться к началу