About: Basic block

An Entity of Type: Thing, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In compiler construction, a basic block is a straight-line code sequence with no branches in except to the entry and no branches out except at the exit. This restricted form makes a basic block highly amenable to analysis. Compilers usually decompose programs into their basic blocks as a first step in the analysis process. Basic blocks form the vertices or nodes in a control-flow graph.

Property Value
dbo:abstract
  • في الحوسبة، الكتلة البسيطة هي سلسلة متعاقبة من التعليمات البرمجية يمكن الوصول لها عبر التعليمة الأولى فقط ولا يمكن الخروج منها إلا بتنفيذ التعليمة الأخيرة. تُقسِّم المترجمات البرامج عادة إلى كتل بسيطة كخطوة أولى في مرحلة التحليل حيث تشكل الكتل البسيطة العقد أو الرؤوس في . (ar)
  • In compiler construction, a basic block is a straight-line code sequence with no branches in except to the entry and no branches out except at the exit. This restricted form makes a basic block highly amenable to analysis. Compilers usually decompose programs into their basic blocks as a first step in the analysis process. Basic blocks form the vertices or nodes in a control-flow graph. (en)
  • En informatique, un bloc de base est une portion du code source d'un programme caractérisé par certaines propriétés utiles qui le rendent facile à analyser. Les compilateurs décomposent la plupart du temps les programmes en leurs blocs de base dans une première étape du processus d'analyse. Les blocs de base forment les nœuds d'un graphe de flot de contrôle. (fr)
  • 基本ブロック(きほんブロック、英: Basic block)は、コンピュータにおいて、一つの入り口(すなわち、内部のコードが他のコードの分岐先になっていない)と一つの出口を持ち、内部に分岐を含まないコードを指す。基本ブロックの開始点には、他のコードからジャンプすることができる。基本ブロックの終了点は、他のコードへのジャンプ命令(あるいは、ジャンプの一つ前の命令)である。 基本ブロックは通例コンパイラ最適化を行う最小単位であり、制御フローグラフにおけるノードや頂点である。 基本ブロックにおけるコードとは、ソースコードでもアセンブリ言語でも、またその他の命令列であっても良い。 (ja)
  • 컴퓨팅에서, 기본 블록 (basic block)은 엔트리 외에는 들어오는 분기가 없고, 출구 외에는 나가는 분기가 없는 직선 코드열이다. 이 제한된 형태는 기본 블록을 분석하는 용도로 매우 유용하게 만든다. 컴파일러들은 보통 분석 과정의 첫 번째로 프로그램들을 그들의 기본 블록들로 분해한다. 기본 블록들은 제어 흐름 그래프에서 정점 또는 노드의 형태를 갖는다. (ko)
  • 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. (pl)
  • Базовый блок (basic block, BB) — в программировании и теории компиляторов — понятие, обозначающее последовательность инструкций или кода, имеющую одну точку входа (только первая инструкция в последовательности может быть назначением инструкции передачи управления), одну точку выхода и не содержащую инструкций передачи управления ранее точки выхода. Таким образом, базовый блок — это последовательность инструкций, каждая из которых исполняется тогда и только тогда, когда исполняется первая инструкция из последовательности. На начало базового блока может указывать одновременно несколько инструкций перехода, конец же блока — либо инструкция передачи управления (jump), либо инструкция, предшествующая переходу. Базовые блоки являются основной единицей кода, над которой проводятся оптимизации компилятором. Также они являются вершинами (или узлами) в графе потока управления. (ru)
  • 在電腦編譯器架構中,基本塊(basic block)是一段線性的程式碼,只能從這段程式碼開始處進入這段程式,沒有其他程式碼會跳躍進入這段程式,只能從這段程式碼最後一行離開這段程式,中間沒有其他程式碼會跳躍離開這段程式。這種程式的限制使得基本塊非常好分析。編譯器處理程式時,會在分析程序中,將程式分解為所有基本塊的組合。在控制流圖中,基本塊是控制流圖中的節點。 以下是一段QuickBASIC程式,程式中的前二行(DO之前的程式碼)即為基本塊。 INPUT "What is your name: ", UserName$PRINT "Hello "; UserName$DO INPUT "How many stars do you want: ", NumStars Stars$ = STRING$(NumStars, "*") PRINT Stars$ DO INPUT "Do you want more stars? ", Answer$ LOOP UNTIL Answer$ <> "" Answer$ = LEFT$(Answer$, 1)LOOP WHILE UCASE$(Answer$) = "Y"PRINT "Goodbye "; UserName$ (zh)
  • Базовий блок — це прямолінійна послідовність коду, без галужень, з лише однією точкою входу і однією точкою виходу. Ця обмежена форма робить базовий блок дуже піддатливим для аналізу. Зазвичай, компілятори на першому етапі процесу аналізу розкладають програму на її базові блоки. Базові блоки утворюють вершини або вузли в графі потоку керування. (uk)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 218706 (xsd:integer)
dbo:wikiPageLength
  • 6039 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1119164223 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdfs:comment
  • في الحوسبة، الكتلة البسيطة هي سلسلة متعاقبة من التعليمات البرمجية يمكن الوصول لها عبر التعليمة الأولى فقط ولا يمكن الخروج منها إلا بتنفيذ التعليمة الأخيرة. تُقسِّم المترجمات البرامج عادة إلى كتل بسيطة كخطوة أولى في مرحلة التحليل حيث تشكل الكتل البسيطة العقد أو الرؤوس في . (ar)
  • In compiler construction, a basic block is a straight-line code sequence with no branches in except to the entry and no branches out except at the exit. This restricted form makes a basic block highly amenable to analysis. Compilers usually decompose programs into their basic blocks as a first step in the analysis process. Basic blocks form the vertices or nodes in a control-flow graph. (en)
  • En informatique, un bloc de base est une portion du code source d'un programme caractérisé par certaines propriétés utiles qui le rendent facile à analyser. Les compilateurs décomposent la plupart du temps les programmes en leurs blocs de base dans une première étape du processus d'analyse. Les blocs de base forment les nœuds d'un graphe de flot de contrôle. (fr)
  • 基本ブロック(きほんブロック、英: Basic block)は、コンピュータにおいて、一つの入り口(すなわち、内部のコードが他のコードの分岐先になっていない)と一つの出口を持ち、内部に分岐を含まないコードを指す。基本ブロックの開始点には、他のコードからジャンプすることができる。基本ブロックの終了点は、他のコードへのジャンプ命令(あるいは、ジャンプの一つ前の命令)である。 基本ブロックは通例コンパイラ最適化を行う最小単位であり、制御フローグラフにおけるノードや頂点である。 基本ブロックにおけるコードとは、ソースコードでもアセンブリ言語でも、またその他の命令列であっても良い。 (ja)
  • 컴퓨팅에서, 기본 블록 (basic block)은 엔트리 외에는 들어오는 분기가 없고, 출구 외에는 나가는 분기가 없는 직선 코드열이다. 이 제한된 형태는 기본 블록을 분석하는 용도로 매우 유용하게 만든다. 컴파일러들은 보통 분석 과정의 첫 번째로 프로그램들을 그들의 기본 블록들로 분해한다. 기본 블록들은 제어 흐름 그래프에서 정점 또는 노드의 형태를 갖는다. (ko)
  • 在電腦編譯器架構中,基本塊(basic block)是一段線性的程式碼,只能從這段程式碼開始處進入這段程式,沒有其他程式碼會跳躍進入這段程式,只能從這段程式碼最後一行離開這段程式,中間沒有其他程式碼會跳躍離開這段程式。這種程式的限制使得基本塊非常好分析。編譯器處理程式時,會在分析程序中,將程式分解為所有基本塊的組合。在控制流圖中,基本塊是控制流圖中的節點。 以下是一段QuickBASIC程式,程式中的前二行(DO之前的程式碼)即為基本塊。 INPUT "What is your name: ", UserName$PRINT "Hello "; UserName$DO INPUT "How many stars do you want: ", NumStars Stars$ = STRING$(NumStars, "*") PRINT Stars$ DO INPUT "Do you want more stars? ", Answer$ LOOP UNTIL Answer$ <> "" Answer$ = LEFT$(Answer$, 1)LOOP WHILE UCASE$(Answer$) = "Y"PRINT "Goodbye "; UserName$ (zh)
  • Базовий блок — це прямолінійна послідовність коду, без галужень, з лише однією точкою входу і однією точкою виходу. Ця обмежена форма робить базовий блок дуже піддатливим для аналізу. Зазвичай, компілятори на першому етапі процесу аналізу розкладають програму на її базові блоки. Базові блоки утворюють вершини або вузли в графі потоку керування. (uk)
  • 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). Poniżej przedstawiono rozbicie kodu źródłowego w języku C na bloki podstawowe. Po podzieleniu na bloki: (pl)
  • Базовый блок (basic block, BB) — в программировании и теории компиляторов — понятие, обозначающее последовательность инструкций или кода, имеющую одну точку входа (только первая инструкция в последовательности может быть назначением инструкции передачи управления), одну точку выхода и не содержащую инструкций передачи управления ранее точки выхода. Таким образом, базовый блок — это последовательность инструкций, каждая из которых исполняется тогда и только тогда, когда исполняется первая инструкция из последовательности. (ru)
rdfs:label
  • كتلة بسيطة (ar)
  • Basic block (en)
  • Bloc de base (fr)
  • 기본 블록 (ko)
  • 基本ブロック (ja)
  • Blok podstawowy (pl)
  • Базовый блок (ru)
  • 基本塊 (zh)
  • Базовий блок (uk)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License