<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80-06%D0%A6%2FInstruction_Timings</id>
	<title>Вектор-06Ц/Instruction Timings - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80-06%D0%A6%2FInstruction_Timings"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80-06%D0%A6/Instruction_Timings&amp;action=history"/>
	<updated>2026-05-03T00:39:02Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80-06%D0%A6/Instruction_Timings&amp;diff=3158&amp;oldid=prev</id>
		<title>Nzeemin: Новая страница: «{{ДИ|Источник=Вектор User №15 http://www.sensi.org/scalar/ware/572/ https://github.com/svofski/vector06cc/wiki/Instruction_Timings}} &lt;pre&gt; Си…»</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80-06%D0%A6/Instruction_Timings&amp;diff=3158&amp;oldid=prev"/>
		<updated>2021-06-05T00:55:01Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «{{ДИ|Источник=Вектор User №15 http://www.sensi.org/scalar/ware/572/ https://github.com/svofski/vector06cc/wiki/Instruction_Timings}} &amp;lt;pre&amp;gt; Си…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Источник=Вектор User №15 http://www.sensi.org/scalar/ware/572/ https://github.com/svofski/vector06cc/wiki/Instruction_Timings}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Системная шина, или 3МГц: миф или реальность?&lt;br /&gt;
Справочное пособие для системных программистов на &amp;quot;Вектор&amp;quot;-&lt;br /&gt;
подобных машинах&lt;br /&gt;
(C) Copyright 1994 by Spase corp. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Омск, (3812) 655730 Шашков Вячеслав Александрович.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                         I. Работа системной шины.&lt;br /&gt;
&lt;br /&gt;
        Толчком к написанию этой  статьи  послужили  работы  Омского  центра&lt;br /&gt;
программирования  по  установке  в &amp;quot;Вектор&amp;quot;-подобные машины процессора Zilog&lt;br /&gt;
Z-80.  Естественно,  при этом хотелось повысить быстродействие компьютера за&lt;br /&gt;
счет того,  что Z80 может работать на тактовой частоте вплоть до 12 МГц. Для&lt;br /&gt;
этого необходимо было понять, как в &amp;quot;Векторе&amp;quot; решена проблема взаимодействия&lt;br /&gt;
процессора и видеоадаптера при обращении к ОЗУ.&lt;br /&gt;
        Для обеспечения взаимодействия ОЗУ,  ПЗУ,  микропроцессора и видеоа-&lt;br /&gt;
даптера служит системная шина. В первом приближении это - комплекс проводов,&lt;br /&gt;
передающих различные сигналы, и устройство управления. Именно оно определяет&lt;br /&gt;
эффективность использования ресурсов машины.&lt;br /&gt;
        Работа системной шины в &amp;quot;Векторе&amp;quot; организована по циклам.  Различают&lt;br /&gt;
два вида цикла шины:  цикл с обращением процессора и цикл без обращения про-&lt;br /&gt;
цессора.  Каждый цикл разбивается на 4 такта,  а такт,  в свою очередь, на 4&lt;br /&gt;
четверти.  Длительность  одного  такта  составляет 1 период тактовой частоты&lt;br /&gt;
процессора (3 МГц на &amp;quot;Векторе&amp;quot;). Рассмотрим работу системной шины по тактам.&lt;br /&gt;
        Первый такт  любого цикла шины - такт обращения видеоадаптера.  Уст-&lt;br /&gt;
ройство управления вырабатывает сигнал переключения шины  так,  что  на  ад-&lt;br /&gt;
ресные входы ОЗУ приходит адрес, сформированный видеоадаптером. В конце так-&lt;br /&gt;
та информация,  считанная из ОЗУ,  заносится в регистры сдвига и затем точка&lt;br /&gt;
за точкой выводится на экран в течение всего цикла шины.&lt;br /&gt;
        Второй такт цикла шины служит для приведения ее в исходное состояние&lt;br /&gt;
для обращения процессора. В конце такта процессор, в случае обращения к ОЗУ,&lt;br /&gt;
выдает сигнал MREQ.  В ответ на это устройство управления  формирует  сигнал&lt;br /&gt;
ПЕР,  который  выбирает  тип  остальных тактов цикла как тактов с обращением&lt;br /&gt;
процессора.  Если же сигнал MREQ не был выставлен, то шина отрабатывает цикл&lt;br /&gt;
без обращения процессора.&lt;br /&gt;
        Во время 3-го и 4-го такта цикла без обращения процессора шина отра-&lt;br /&gt;
батывает холостые такты, никакие операции не производятся.&lt;br /&gt;
        Во время 3-го такта цикла с обращением процессора (это соответствует&lt;br /&gt;
второму  такту микропроцессора) на микросхемы ОЗУ выдается адрес,  сформиро-&lt;br /&gt;
ванный процессором. На первой четверти 4-го такта происходит передача данных&lt;br /&gt;
между процессором и ОЗУ.  Затем шина подготавливается к выдаче байта видеоа-&lt;br /&gt;
даптеру.&lt;br /&gt;
        Все происходит нормально,  если начало цикла памяти процессором сов-&lt;br /&gt;
падет по времени с тактом 2 цикла шины. В прочих случаях устройство управле-&lt;br /&gt;
ния выставляет процессору сигнал READY=0,  в ответ на что процессор, начиная&lt;br /&gt;
со следующего такта своего цикла,  перейдет в состояние ожидания,  в котором&lt;br /&gt;
будет находиться до тех пор, пока шина не начнет выполнять третий такт. Сле-&lt;br /&gt;
довательно,  если процессор выставил запрос на обращение к ОЗУ,  например, в&lt;br /&gt;
3-м такте цикла шины,  то он будет находиться в состоянии ожидания в течение&lt;br /&gt;
4-го, 1-го и 2-го тактов цикла шины.&lt;br /&gt;
        При выполнении процессором последовательности 4-тактных команд, т.е.&lt;br /&gt;
команд, цикл которых состоит из 4-х тактов, например, NOP, ADD R, CMA, XCHG,&lt;br /&gt;
все  циклы процессора оказываются согласованными с циклами шины,  и дополни-&lt;br /&gt;
тельные такты ожидания не появляются. В остальных случаях работа шины приво-&lt;br /&gt;
дит  к тому,  что на выполнение любого машинного цикла требуется кратное 4-м&lt;br /&gt;
число тактов.  Например,  команда MOV R1,R,  чей цикл занимает 5  тактов,  в&lt;br /&gt;
действительности требует 8 тактов.&lt;br /&gt;
       &lt;br /&gt;
        Установка процессора Z80,  все циклы которого не длиннее 4-х тактов,&lt;br /&gt;
приведет к тому,  что одна из наиболее употребляемых команд - MOV, будет ра-&lt;br /&gt;
ботать  вдвое  быстрее,  что  повысит  общее  быстродействие  ПК примерно на&lt;br /&gt;
15-20%.&lt;br /&gt;
&lt;br /&gt;
                II. Таблица команд МП Intel 8080 (КР580ВМ80)&lt;br /&gt;
       &lt;br /&gt;
       1-я колонка - время выполнения в тактах i8080;&lt;br /&gt;
       2-я колонка - время выполнения на &amp;quot;Вектор&amp;quot;-подобных ПК.&lt;br /&gt;
       &lt;br /&gt;
MOV R1,R     5   8        MOV R,M     7   8        MVI R,D8   7   8&lt;br /&gt;
MVI M,D8    10  12        STAX RP     7   8        LDAX RP    7   8&lt;br /&gt;
STA ADR     13  16        LDA ADR    13  16&lt;br /&gt;
&lt;br /&gt;
LXI RP,D16  10  12        SHLD ADR   16  20        LHLD ADR  16  20&lt;br /&gt;
PUSH RP     11  16        POP RP     10  12        SPHL       5   8&lt;br /&gt;
XCHG         4   4        XTHL       18  24&lt;br /&gt;
&lt;br /&gt;
CMC          4   4        STC         4   4        CMA        4   4&lt;br /&gt;
DAA          4   4        INR R       5   8        INR M     10  12&lt;br /&gt;
DCR R        5   8        DCR M      10  12        INX RP     5   8&lt;br /&gt;
DCX RP       5   8&lt;br /&gt;
&lt;br /&gt;
ADD R        4   4        ADD M       7   8        SUB R      4   4&lt;br /&gt;
SUB M        7   8        ADC R       4   4        ADC M      7   8&lt;br /&gt;
SBB R        4   4        SBB M       7   8        ANA R      4   4&lt;br /&gt;
ANA M        7   8        ORA R       4   4        ORA M      7   8&lt;br /&gt;
XRA R        4   4        XRA M       7   8        ADI D8     7   8&lt;br /&gt;
ACI D8       7   8        SUI D8      7   8        SBI D8     7   8&lt;br /&gt;
ANI D8       7   8        ORI D8      7   8        XRI D8     7   8&lt;br /&gt;
CMP R        4   4        CMP M       7   8        CPI D8     7   8&lt;br /&gt;
&lt;br /&gt;
DAD RP      10  12&lt;br /&gt;
&lt;br /&gt;
RRC          4   4        RLC         4   4        RAL        4   4&lt;br /&gt;
RAR          4   4&lt;br /&gt;
&lt;br /&gt;
EI           4   4        DI          4   4        NOP        4   4&lt;br /&gt;
HLT          7   8&lt;br /&gt;
&lt;br /&gt;
IN #        10  12        OUT #      10  12&lt;br /&gt;
&lt;br /&gt;
PCHL         5   8        JMP ADR    10  12        J* ADR    10  12&lt;br /&gt;
&lt;br /&gt;
CALL ADR    17  24        C* ADR /Y  17  24        C* ADR /N 11  16&lt;br /&gt;
RST N       11  16        RET        10  12        R*     /Y 11  16&lt;br /&gt;
R*      /N   5   8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
             III. Команды Z80, имеющие другое время выполнения.&lt;br /&gt;
                   (по материалам НТЦ &amp;quot;ЭЛИС&amp;quot;, г. Москва)&lt;br /&gt;
&lt;br /&gt;
ADD HL,RP   DAD RP   11  12        CALL *,ADR   C* ADR   /N  10  12&lt;br /&gt;
DEC RP      DCX RP    6   8        DEC REG      DCR R         4   4&lt;br /&gt;
EX (SP),HL  XTHL     19  24        INC (HL)     INR M        11  16&lt;br /&gt;
DEC (HL)    DCR M    11  16        INC RP       INX RP        6   8&lt;br /&gt;
DEC R       DCR R     4   4        JP (HL)      PCHL          4   4&lt;br /&gt;
LD R1,R     MOV R1,R  4   4        LD SP,HL     SPHL          6   8&lt;br /&gt;
OUT #,A     OUT #    11  12        IN A,#       IN #         11  12&lt;br /&gt;
&lt;br /&gt;
Примечание. Знаки /Y,  /N - обозначают выполнение  команды  в  случае  соот-&lt;br /&gt;
            ветственно истинности или ложности условия.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Вектор-06Ц]]&lt;/div&gt;</summary>
		<author><name>Nzeemin</name></author>
	</entry>
</feed>