Суперскалярлық процессорлардың тиімділігін арттыратын, дерек тәуелділігіне қарамастан бірнеше нұсқауды орындауға мүмкіндік беретін буферлеу туралы ақпарат. Процессорлар.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Плиталық буфер – суперскалярлық процессорлардың тиімділігін арттыру үшін компьютер процессорларында қолданылатын техника. Ол бірнеше нұсқауларды олардың арасындағы дерек тәуелділіктеріне қарамастан бірден орындауға мүмкіндік береді. Бұл микропроцессордың өнімділігін арттыратын реттіліксіз орындалуға жағдай жасайды.
A shelving buffer is a technique used in computer processors to increase the efficiency of superscalar processors. It allows for multiple instructions to be dispatched at once regardless of the data dependencies between those instructions. This allows for out of order execution to occur which increases the throughput of the microprocessor.
Өмірбаян
Суперскалярлы процессор процессордың өзінде бірнеше нұсқауларды бір уақытта орындауға мүмкіндік береді, бірақ бұл мүмкіндікті көппроцессорлы жүйемен шатастыруға болмайды. Көптеген қазіргі заманғы процессорлар суперскалярлы болып табылады. Суперскалярлы процессорда бірнеше нұсқау бір тізбектен (потоктан) жіберіледі. Көп өзекті процессорлар жеке тізбектерді орындайтын бірнеше процессорды қамтиды.
A superscalar processor allows the execution of a number of instructions simultaneously in the core of the processor itself, although this behavior is not to be confused with a multi processor system. Most modern processors are superscalar. In a superscalar processor multiple instructions are dispatched from the same thread. Multi core processors contain multiple processors all executing separate threads.
Қалай жұмыс істейді
Суперскалярлы процессорда процессордың нұсқаулар терезесі бірнеше нұсқаулармен (шығарылымдық жылдамдық деп аталады) толтырылады. Суперскалярлы процессордың осы нұсқауларды терезеден CPU-ның орындау ядросына жіберу үшін қолданатын схемасына байланысты, жоғарыда көрсетілгенге ұқсас тәуелділік болса, проблемалар туындауы мүмкін. i1, i2, i3 (1-нұсқау, 2-нұсқау және 3-нұсқау) бар, ені 3 нұсқаулық терезесін қарастырайық. Егер i2 әлі орындалмаған нұсқауға тәуелді болса және оны орындау мүмкін болмаса, делік. Алдын ала сақтау буферін пайдаланбағанда, суперскалярлы процессор i1-ді орындайды, i2 орындалғанша күтеді, содан кейін i2 және i3-ті бір мезгілде орындайды. Бірақ, алдын ала сақтау буферін пайдаланғанда, нұсқаулар терезесінің мазмұнына қарамастан, нұсқаулар алдын ала сақтау буферлеріне түседі. Процессор содан кейін қатар орындалатын (яғни тәуелділіктері жоқ) нұсқаулардың тиісті санын алдын ала сақтау буферлерінде іздейді. Осылайша процессор бір мезгілде нұсқаулардың максималды санын орындау және өнімділікті арттыру мүмкіндігіне ие болады.
With a superscalar processor, the instruction window of the processor fills up with a number of instructions (known as the issue rate). Depending on the scheme that the superscalar processor uses to dispatch these instruction from the window to the execution core of the CPU, there may be problems if there is a dependency not unlike the one shown above. Consider an instruction window 3 instructions wide, containing i1, i2, i3 (instructions 1,2 & 3). Suppose that i2 is dependent on an instruction that has not yet finished executing, and it cannot be executed yet. Without the use of a shelving buffer, the superscalar processor will execute i1, wait until i2 can be executed and then execute i2 and i3 simultaneously. However, with the use of a shelving buffer, the instruction window will be emptied into shelving buffers regardless of contents. The processor will then search for an appropriate number of instructions in the shelving buffers that can be executed in parallel (i. e. with no dependencies). Hence the processor has a greater chance of running the maximum number of instructions simultaneously, and maximising throughput.