Skip to main content

지점 테이블이란 무엇입니까?

branch는 프로그램 제어를 프로그램의 한 부분에서 다른 부분으로 효율적으로 전송하는 방법입니다. 또는 지침 지점을 보내거나 스위치 문을 구현하여 동적으로로드 된 두 번째 프로그램으로 전송하는 방법입니다.때때로 점프 테이블이라고도하는이 방법은 C+ 컴파일러의 스위치 문에 따라 절차를 구현하기 위해 점프를 수행하기 위해 일련의 상황이나 조건에 의존합니다.분기 테이블의 주요 장점 중 일부는 소형 코드 구조와 프로그램 흐름을 결정할 때 개별적으로 반환 코드를 테스트해야 할 필요성의 감소입니다.

1980 년대에는 지점 테이블이 어셈블리 언어 프로그래밍에 광범위하게 사용되었습니다.이들은 여전히 임베디드 시스템 및 운영 체제 개발을위한 어셈블리 프로그래밍에 사용됩니다.1990 년대 이래로 컴파일러 프로그래밍 언어는 또한 지점 테이블 기능을 사용했습니다.

지점 테이블은 입력이 다른 목적지로 분기되는 무조건 지침 목록으로 구성됩니다.대부분의 컴퓨터 하드웨어는 이러한 지침을 효율적으로 실행할 수 있습니다.때때로, 오프셋 mdash;본질적으로 목적지까지의 거리 mdash;그런 다음 프로그램 카운터 레지스터에 추가 할 수 있으며, 한 번 지침 세트를 가리키거나 지침 세트 사이에서 점프 할 수 있습니다.분기 테이블을 구현하는 데 필요한 것은 입력 코드의 유효성 검증, 데이터를 오프셋으로 변환하고 데이터를 주어진 명령 길이에 곱하는 것입니다.또는 배열 포인터.임베디드 제어 시스템은 해당 메모리 절약이 필요하며 분기 테이블에 액세스하는 동안 소량의 성능이 소요될 수 있지만 모든 가상 메소드 기능 호출은 안정적인 기능을 위해 동일한 양의 성능 비용이 소요됩니다.임베디드 시스템의 제한된 CPU 액세스 및 메모리 절약은 정적 기능 세트를위한 분기 테이블이 필요합니다. Compiler 프로그래밍 언어는 컴파일러 최적화에 검색 키를 사용하여 필요할 때 자체 분기 테이블을 생성합니다.일부 프로그래머는 컴파일러에 검색 키에 대한 2 단계 조건부 매개 변수를 제공하여 Contexted Branch 테이블 생성으로 컴파일러를 수동으로 지원하도록 선택합니다.초기의 컴파일 프로그램에서 Branch Table 구현은 Fortran 컴파일러 언어의 GOTO 명령이었습니다.분기 테이블은 여전히 컴파일러 언어의 프로그램 흐름의 변경 사항을 구현하거나 반복 명령 시퀀스의 시작점이됩니다.