Skip to content
EntityQ2564041· pop 11· linked from 45 articles

Blok podstawowy

Sign in to save

Also known as Temel blok

code sequence with no branches except at entry and exit

Article · Polski

Blok podstawowy – taki ciąg instrukcji, który ma tylko jedno wejście i tylko jedno wyjście, przy czym wejście do bloku znajduje się na jego początku, a wyjście na końcu. Instrukcje bloku podstawowego wykonują się wszystkie i w kolejności, w jakiej są zapisane (bezpośrednio po wykonaniu pierwszej musi zostać wykonana druga, trzecia, itd. aż do końca, zaś bezpośrednio przed wykonaniem ostatniej musiała być wykonana przedostatnia, przed-przedostatnia, itd. aż do pierwszej instrukcji bloku). Bloki są powiązane instrukcjami goto i każdy blok kończy instrukcją która przenosi sterowanie do jakiegoś innego bloku. Pojęcie stosowane w programach kompilujacych i dokonujących optymalizacji kodu wynikowego. W obrębie bloku opymalizator może lepiej rozplanować użycie rejestrów, zmienić kolejność instrukcji itp. tak by wygenerowany kod był mniejszy i wykonywał się szybciej. Poniżej przedstawiono rozbicie kodu źródłowego w języku C na bloki podstawowe. a += 1;while (x>0){ if(x>y) a += 2; else a -= 2; x --; a ++; b ++;}printf ("%d ", a); Po podzieleniu na bloki: Blok 1: a += 1; goto 2;Blok 2: if(x>0) goto 3; else goto 7;Blok 3: if(x>y) goto 4; else goto 5;Blok 4: a += 2; goto 6;Blok 5: a -= 2; goto 6;Blok 6: x --; a ++; b ++; goto 2;Blok 7: printf ("%d ", a); Postać grafu bloków podstawowych jest wygodna dla wielu optymalizacji.

Abstract from DBpedia / Wikipedia · CC BY-SA

Connections

Categories