<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" article-type="research-article" dtd-version="1.2" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="issn">1561-5405</journal-id>
	    <journal-id journal-id-type="doi">10.24151/1561-5405</journal-id>	  
      <journal-id journal-id-type="publisher-id">Proceedings of Universities. Electronics</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">Scientifical and technical journal "Proceedings of Universities. Electronics"</journal-title>
        <trans-title-group xml:lang="ru">
          <trans-title>Научно-технический журнал «Известия высших учебных заведений. Электроника»</trans-title>
        </trans-title-group>        
      </journal-title-group>      
      <issn publication-format="print">1561-5405</issn>
      <issn publication-format="online">2587-9960</issn>
      <publisher>
        <publisher-name xml:lang="en">National Research University of Electronic Technology</publisher-name>
        <publisher-name xml:lang="ru">Национальный исследовательский университет "Московский институт электронной техники"</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>                                    
      
    <article-id pub-id-type="doi">10.24151/1561-5405-2019-24-3-219-229</article-id><article-id pub-id-type="udk">004.314.6</article-id><article-categories><subj-group><subject>Элементы интегральной электроники</subject></subj-group></article-categories><title-group><article-title xml:lang="en">Active Processor Software Stack</article-title><trans-title-group xml:lang="ru"><trans-title>Активный аппаратный стек процессора</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author"><string-name xml:lang="ru">Семёнов Андрей Андреевич </string-name><name-alternatives><name xml:lang="ru"><surname>Семёнов</surname><given-names>Андрей Андреевич </given-names></name><name xml:lang="en"><surname>Andreevich</surname><given-names>Semyenov Andrey</given-names></name></name-alternatives><string-name xml:lang="en">Semyenov Andrey Andreevich</string-name><xref ref-type="aff" rid="AFF-1"/></contrib><contrib contrib-type="author"><string-name xml:lang="ru">Усанов Дмитрий Александрович </string-name><name-alternatives><name xml:lang="ru"><surname>Усанов</surname><given-names>Дмитрий Александрович </given-names></name><name xml:lang="en"><surname>Aleksandrovich</surname><given-names>Usanov Dmitriy</given-names></name></name-alternatives><string-name xml:lang="en">Usanov Dmitriy Aleksandrovich</string-name><xref ref-type="aff" rid="AFF-2"/></contrib><contrib contrib-type="author"><string-name xml:lang="ru">Дронкин Алексей Станиславович </string-name><name-alternatives><name xml:lang="ru"><surname>Дронкин</surname><given-names>Алексей Станиславович </given-names></name><name xml:lang="en"><surname>Stanislavovich</surname><given-names>Dronkin Aleksey</given-names></name></name-alternatives><string-name xml:lang="en">Dronkin Aleksey Stanislavovich</string-name><xref ref-type="aff" rid="AFF-1"/></contrib><aff id="AFF-1" xml:lang="ru">Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского, г. Саратов, Россия</aff><aff id="AFF-2" xml:lang="ru">Саратовский национальный исследовательский государственный уни-верситет им. Н.Г. Чернышевского, г. Саратов, Россия</aff></contrib-group><fpage>219</fpage><lpage>229</lpage><self-uri>http://ivuz-e.ru/issues/3-_2019/aktivnyy_apparatnyy_stek_protsessora/</self-uri><abstract xml:lang="en"><p>The problem of improving the performance of microprocessors and microcontrollers is solved by the production technology improvement as well as further development of their architecture. In development of the up-to-date high performance microprocessors and microcontrollers the specific feutures of the RISC-architecture are borrowed complicated operations, which include the calls of the subprograms and maintenance of breaks, are difficult to be realized from the point of view of the software during an equal to all the rest time interval commands. While executing, such operations assume writing down the addresses of transfer to the register of the program counter of the processor with simultaneous storage of the return register from the processor program counter. In the work a specific construction of the processor software stack, allowing executing complicated machine operations during one step has been proposed. It has been determined that the required technical result can be achieved by introducing into the processor construction the N identical software counters, in fact being the analogs of the stack registers. It has been shown that the stack indicator with the logic of the register choice, which is connected with the block of the program counters activates while calling a subprogram or maintaining the break the next counter at the time when the previous counter stores the return address from the subprogram. As the result the procedures of storing the address and the recovery of its state from the stack are excluded. This enables the subprogram call or the transfer by the break vector and execution of the return to the call point during one step of the setting generator. Due to this it becomes possible to increase the processor speed while executing 30-50% of similar operations and to improve its performance as a whole without increasing the clock frequency.</p></abstract><trans-abstract xml:lang="ru"><p>При разработке высокопроизводительных микропроцессоров и микроконтроллеров заимствуются характерные черты RISC-архитектуры. Сложные операции, к которым относятся вызовы подпрограмм и обслуживание прерываний, затруднительно реализовать аппаратно за одинаковый со всеми остальными командами интервал времени. Такие операции при выполнении предполагают запись значения адреса перехода в регистр программного счетчика процессора с одновременным сохранением адреса возврата из подпрограммы. В работе предложена специфическая конструкция аппаратного стека процессора, позволяющая выполнять сложные машинные операции за один такт. Установлено, что требуемый технический результат может быть достигнут введением в конструкцию процессора N идентичных программных счетчиков, фактически являющихся аналогами регистров стека. Показано, что указатель стека с логикой выбора регистра, подключенной к блоку программных счетчиков, активирует следующий программный счетчик при вызове подпрограммы или обслуживании прерывания, в то время как предыдущий счетчик сохраняет адрес возврата из подпрограммы. В результате процедуры сохранения адреса возврата из программного счетчика в регистры стека или ячейки оперативной памяти и восстановления его состояния из стека исключены. Это позволяет выполнить вызов подпрограммы или переход по вектору прерывания и осуществить возврат в точку вызова за один такт задающего генератора. Вследствие этого становится возможным увеличить быстродействие процессора при выполнении подобных операций на 30-50 &amp;#37;, а также повысить производительность в целом без увеличения тактовой частоты.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>микропроцессоры</kwd><kwd>микроконтроллеры</kwd><kwd>аппаратный стек</kwd><kwd>RISC-архитектура</kwd><kwd>повышение производительности</kwd><kwd>быстродействие</kwd></kwd-group><funding-group/></article-meta>
  </front>
  <body/>
  <back>
    <ref-list><ref id="B1"><label>1.</label><mixed-citation xml:lang="ru">Айзек Р. Будущее технологии КМОП // Открытые системы. СУБД. – 2000. – №10. – С. 8–18.</mixed-citation></ref><ref id="B2"><label>2.</label><mixed-citation xml:lang="ru">Цветов В. Развитие классической микроэлектроники. Ожидаемые физико-технические пределы // Электроника: наука, технология, бизнес. – 2010. – №3. – С. 2–6.</mixed-citation></ref><ref id="B3"><label>3.</label><mixed-citation xml:lang="ru">Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: учебник для вузов. – 2-е изд. – СПб.: Питер, 2011. – 688 с.</mixed-citation></ref><ref id="B4"><label>4.</label><mixed-citation xml:lang="ru">Stallings W. Computer organization and architecture: designing for performance. – 10th Ed. – Pearson Education, Inc., 2016. – 864 p.</mixed-citation></ref><ref id="B5"><label>5.</label><mixed-citation xml:lang="ru">Microchip PIC18(L)F1XK22 Data Sheet, 20-Pin Flash Microcontrollers with nanoWatt XLP Technology. © 2009–2011 Microchip Technology Incorporated. DS41365E. – URL: http://ww1.microchip.com/downloads/en/DeviceDoc/40001365F.pdf (дата обращения: 03.01.2019).</mixed-citation></ref><ref id="B6"><label>6.</label><mixed-citation xml:lang="ru">Семенов А.А., Усанов Д.А. Активный аппаратный стек процессора // Патент России № 2530285. 2014. Бюл. № 28.</mixed-citation></ref><ref id="B7"><label>7.</label><mixed-citation xml:lang="ru">ALTERA. MAX 3000A Programmable Logic Device Family Data Sheet. – URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ds/m3000a.pdf (дата обращения: 10.11.2018).</mixed-citation></ref><ref id="B8"><label>8.</label><mixed-citation xml:lang="ru">MAX+PLUS II Software. – URL: https://www.intel.com/content/www/us/en/programmable/ support/support-resources/download/legacy/maxplus2/mp2-index.html (дата обращения: 10.11.2018).</mixed-citation></ref><ref id="B9"><label>9.</label><mixed-citation xml:lang="ru">Analysis of x86 Instruction Set Usage for DOS/Windows Applications and Its Implication on Superscalar Design. – URL:  https://www33.online-convert.com/dl/web1/download-file/64c3379f-38e2-41f7-a54b-c057a3f8ec0d/ab7db4fd488e47630671efa39f818d106a06.pdf (дата обращения: 03.01.2019).</mixed-citation></ref><ref id="B10"><label>10.</label><mixed-citation xml:lang="ru">x86 Machine Code Statistics. – URL: https://www.strchr.com/x86_machine_code_statistics (дата обращения: 03.01.2019).</mixed-citation></ref></ref-list>    
  </back>
</article>
