hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
카운터 머신 기본 기능
주어진 카운터 머신 모델의 명령어 세트는 매우 작다. 단 한두 개에서부터 서너 개의 명령어만 사용한다. 대부분의 모델은 몇 가지 산술 연산과 적어도 하나의 조건부 연산(조건이 참이면 점프)을 포함한다. 세 가지 기본 모델은 각각 다음 컬렉션에서 세 가지 명령어를 사용한다. (약어는 임의적이다.)
또한, 기계는 일반적으로 HALT 명령어를 가지고 있으며, 이 명령어는 기계를 정지시킨다(일반적으로 결과가 계산된 후).
위에서 언급된 명령어를 사용하여 여러 저자들이 특정 카운터 머신에 대해 논의했다:
세 가지 카운터 머신 기본 모델은 한 모델의 명령어를 다른 모델의 명령어에서 파생할 수 있으므로 동일한 계산 능력을 갖는다. 이들 모두는 튜링 기계의 계산 능력과 동등하다. 단항 처리 방식 때문에 카운터 머신은 일반적으로 비교 가능한 튜링 기계보다 지수적으로 느리다.
카운터 머신 대안적인 이름, 대안적인 모델
카운터 머신 모델은 그 특이성에 따라 다양한 이름으로 불릴 수 있다. 다음에서 "JZDEC ( r )" 명령어는 레지스터 r이 비어있는지 확인하는 복합 명령어이다. 만약 비어있으면 명령어 Iz로 점프하고, 그렇지 않으면 r의 내용을 DECrement 한다.
민스키 머신, 마빈 민스키 (1961)가 모델을 형식화했기 때문이다. 주판 머신, 람벡 (1961)이 멜작 (1961) 모델을 단순화하여 붙인 이름이자 불루스-버게스-제프리 (1974)가 부르는 이름이다. 람벡 머신, 불루스-버게스-제프리 (1974)가 주판 머신에 부여한 대안 이름이다. 일반적으로 명령어 세트 (1)을 사용하지만, 명령어 실행이 기본-순차적이지 않으므로 INC 다음의 다음 명령어와 JZDEC의 대안을 지정하기 위해 추가 매개변수 'z'가 나타난다.
{ INC ( r, z ), JZDEC ( r, ztrue, zfalse) }
카운터 머신 대안적인 이름, 대안적인 모델
프로그램 머신, 프로그램 컴퓨터, 마빈 민스키 (1967)가 이 모델에 부여한 이름으로, 컴퓨터처럼 조건부 점프가 성공하지 않으면 명령어가 순차적으로 진행되기 때문이다. (일반적으로) 명령어 세트 (1)을 사용하지만, 셰퍼드슨-스터지스 모델과 유사하게 확장될 수 있다. JZDEC는 종종 분리된다.
{ INC ( r ), DEC ( r ), JZ ( r, ztrue )}
후속자 머신, '후속자 연산'을 사용하고 페아노 공리계와 매우 유사하기 때문이다. 후속자 RAM 모델의 기반으로 사용된다. 쇤하게가 그의 RAM0 및 RAM1 모델의 기반으로 사용한 명령어 세트 (2)를 사용하며, 이는 그의 포인터 머신 SMM 모델로 이어진다. 반 엠데 보아스 (1990)에서도 간략하게 논의된다.
{ CLR ( r ), INC ( r ), JE ( rj, rk, z ) }
카운터 머신 대안적인 이름, 대안적인 모델
엘고트-로빈슨 모델, 그들의 RASP 모델 (1964)을 정의하는 데 사용되었다. 이 모델은 시작 시 하나의 빈 레지스터를 필요로 한다 (예: [r0] =0). (그들은 "인덱스" 레지스터로 사용할 추가 레지스터를 사용하여 간접 주소 지정을 통해 동일한 모델을 확장했다.)
{ INC (r), CPY ( rs, rd ), JE ( rj, rk, z ) }
셰퍼드슨-스터지스 머신, 이 저자들이 그들의 모델을 쉽게 접근할 수 있는 설명으로 공식적으로 명시했기 때문이다 (1963). 추가적인 편의 명령어 (JNZ는 JZ 대신 사용되는 "0이 아니면 점프"임)로 확장된 명령어 세트 (1)을 사용한다.
{ INC ( r ), DEC ( r ), CLR ( r ), CPY ( rj, rk ), JNZ ( r, z ), J ( z ) }
다른 카운터 머신: 마빈 민스키 (1967)는 이 문서의 서론 단락에 설명된 사용 가능한 명령어의 상위 집합에서 세 가지 기본 모델 (프로그램/민스키/람벡-주판, 후속자, 엘고트-로빈슨)을 구축하는 방법을 보여준다. 멜작 (1961) 모델은 '증가' 및 '감소' 대신 '더하기' 및 '빼기'를 포함하므로 위의 모델들과 상당히 다르다. 마빈 민스키 (1961, 1967)의 단일 레지스터가 튜링 동등성에 충분하다는 증명은 계산을 나타내는 레지스터에서 괴델 수를 인코딩하고 디코딩하기 위해 { k를 MULtiply, k를 DIVide } 두 가지 명령어를 필요로 한다. 마빈 민스키는 두 개 이상의 레지스터를 사용할 수 있다면 더 간단한 INC, DEC 등이 충분하다는 것을 보여준다 (그러나 튜링 동등성을 증명하기 위해서는 여전히 괴델 수가 필요하다; 엘고트-로빈슨 1964에서도 증명됨).
카운터 머신 공식 정의
카운터 머신은 다음으로 구성된다:
레이블이 지정된 무한 정수 값 레지스터: 유한한 (또는 일부 모델에서는 무한한) 레지스터 r0 ... rn 세트. 각 레지스터는 하나의 비음 정수(0, 1, 2, ... 즉, 무한)를 담을 수 있다. 레지스터는 자체적으로 산술 연산을 수행한다. "누산기"와 같은 하나 이상의 특수 레지스터가 있을 수도 있고 없을 수도 있다 (이에 대한 자세한 내용은 랜덤 접근 기계 참조).
레이블이 지정된 순차적 명령어 목록: 명령어 I0 ... Im의 유한 목록. 프로그램 저장소(유한 상태 기계의 명령어)는 레지스터와 동일한 물리적 "공간"에 있지 않다. 일반적으로, 하지만 항상 그런 것은 아니며, 컴퓨터 프로그램처럼 명령어는 순차적으로 나열된다. 점프가 성공하지 않는 한, 기본 순서는 숫자 순서로 계속된다. 목록의 각 명령어는 (매우) 작은 세트에서 가져오지만, 이 세트에는 간접 주소 지정이 포함되지 않는다. 역사적으로 대부분의 모델은 다음 세트에서 명령어를 가져왔다:
카운터 머신 공식 정의
{ 증가(r), 감소(r), 지우기(r); 복사(rj,rk), r=0이면 조건부 점프, rj=rk이면 조건부 점프, 무조건 점프, HALT }
일부 모델은 위에서 언급된 일부 명령어를 매개변수 없는 명령어로 더 세분화하거나, "조건부 점프-0이면 JZ ( r, z )"와 같이 "감소"와 결합하여 단일 명령어로 만들기도 한다. 명령어를 세분화하거나 편의 명령어를 포함하더라도 개념적 능력에는 변화가 없으며, 한 변형의 어떤 프로그램이든 다른 변형으로 간단하게 번역될 수 있다.
대체 명령어 세트는 보충 자료인 레지스터 머신 모델에서 논의된다.
카운터 머신 예시: 레지스터 #2에서 #3으로 카운트 COPY
이 예시는 세 가지 더 유용한 명령어인 클리어, 무조건 점프, 복사를 만드는 방법을 보여준다.
이후 rs는 원래 카운트를 유지한다 (소스 레지스터를 비우는, 즉 0으로 지우는 MOVE와는 다르다).
여기서 정의된 기본 세트 (1)이 사용된다:
초기에 레지스터 #2는 "2"를 포함한다. 레지스터 #0, #1, #3은 비어 있다("0"을 포함). 레지스터 #0은 무조건 점프에 사용되기 때문에 계산 내내 변경되지 않는다. 레지스터 #1은 임시 저장 공간이다. 프로그램은 명령어 1부터 시작한다.
프로그램은 레지스터 #2의 내용이 원래 카운트와 같고 레지스터 #3의 내용이 레지스터 #2의 원래 내용과 같아지면 HALT한다. 즉,
[2] = [3].
프로그램 COPY ( #2, #3)는 두 부분으로 구성된다. 첫 번째 부분에서 프로그램은 소스 레지스터 #2의 내용을 임시 저장 공간 #1과 대상 레지스터 #3으로 모두 이동시킨다. 따라서 #1과 #3은 서로의 사본이자 #2의 원래 카운트의 사본이 되지만, #2는 0으로 감소하는 과정에서 지워진다. 무조건 점프 J (z)는 항상 0을 포함하는 레지스터 #0을 테스트하여 수행된다.
카운터 머신 예시: 레지스터 #2에서 #3으로 카운트 COPY
[#2] →#3; [#2] →#1; 0 →#2
두 번째 부분에서 프로그램은 임시 저장 공간 #1의 내용을 #2로 다시 이동(복원)시키며, 이 과정에서 임시 저장 공간 #1을 지운다.
[#1] →#2; 0 →#1
노란색으로 강조된 프로그램은 오른쪽 상단에 왼쪽에서 오른쪽으로 작성되어 있다.
프로그램의 "실행"은 아래에 나와 있다. 시간은 페이지 아래로 흐른다. 명령어는 노란색으로, 레지스터는 파란색으로 표시되어 있다. 프로그램은 90도 회전되어 있으며, 명령어 번호(주소)가 상단에, 명령어 니모닉이 주소 아래에, 그리고 명령어 매개변수가 니모닉 아래에 (셀당 하나씩) 있다.
카운터 머신 부분 재귀 함수: 재귀를 이용한 "편의 명령어" 구축
위의 예시는 기본적인 명령어 세트 { INC, DEC, JZ }가 어떻게 세 가지 더 유용한 명령어—무조건 점프 J, CLR, CPY—를 만들 수 있는지 보여준다. 어떤 의미에서 CPY는 CLR과 J, 그리고 기본 세트를 모두 사용했다. 만약 레지스터 #3에 초기에 내용이 있었다면, #2와 #3의 내용의 합이 #3에 저장되었을 것이다. 따라서 CPY 프로그램은 이동 전에 CLR(1)과 CLR(3)을 선행했어야 완전히 정확하다.
하지만 ADD는 쉽게 가능했음을 알 수 있다. 사실 다음은 ADD, MULtiply, EXPonent와 같은 원시 재귀 함수가 어떻게 생겨날 수 있는지에 대한 요약이다.
{ J, DEC, INC, JZ, H }
{ CLR, J, DEC, INC, JZ, H }
{ CPY, CLR, J, DEC, INC, JZ, H }
위는 셰퍼드슨–스터지스 (1963)의 명령어 세트이다.
{ ADD, CPY, CLR, J, DEC, INC, JZ, H }
{ MUL, ADD, CPY, CLR, J, DEC, INC, JZ, H }
{ EXP, MUL, ADD, CPY, CLR, J, DEC, INC, JZ, H }
카운터 머신 부분 재귀 함수: 재귀를 이용한 "편의 명령어" 구축
일반적으로, 우리는 같은 방법을 사용하여 원하는 모든 부분 또는 전체 원시 재귀 함수를 구축할 수 있다. 실제로, 마빈 민스키 (1967), 셰퍼드슨-스터지스 (1963), 불루스-버게스-제프리 (1974)는 기본 세트 (1)로부터 다섯 가지 원시 재귀 함수 "연산자" (아래 1-5)를 형성하는 방법을 시연한다.
그러나 완전한 튜링 동등성은 어떨까? 우리는 전체 및 부분 재귀 함수를 생성할 수 있는 완전한 동등성을 얻기 위해 여섯 번째 연산자인 μ 연산자를 추가해야 한다.
저자들은 이것이 사용 가능한 기본 집합 (1, 2 또는 3) 중 어느 하나에서든 쉽게 수행됨을 보여준다 (예시는 μ 연산자에서 찾을 수 있다). 이는 카운터 머신 설계의 유한한 명령어 집합 및 프로그램 크기에도 불구하고 모든 뮤 재귀 함수가 카운터 머신으로 구현될 수 있음을 의미한다. 그러나 필요한 구성은 랜덤 접근 기계와 같은 더 복잡한 레지스터 머신에서 정의하기 비교적 쉬운 함수에 대해서도 직관적이지 않을 수 있다. 이는 μ 연산자가 무한정 반복될 수 있지만, 주어진 카운터 머신은 명령어 목록의 유한한 크기로 인해 무한정 많은 개별 레지스터를 주소 지정할 수 없기 때문이다.
카운터 머신 부분 재귀 함수: 재귀를 이용한 "편의 명령어" 구축
예를 들어, 위에서 언급된 원시 재귀 연산자 계층은 지수 연산을 넘어 커누스 윗화살표 표기법의 더 고차원적인 화살표 연산으로 확장될 수 있다. 어떤 고정된 에 대해 함수 는 원시 재귀적이며, 간단한 방법으로 카운터 머신으로 구현될 수 있다. 그러나 함수 는 원시 재귀적이지 않다. 의 더 작은 값에 대해 재귀적으로 함수를 적용할 수 있도록 콜 스택을 구현하여 위의 후속자, 덧셈, 곱셈 및 지수 연산 명령어와 유사한 구성을 사용하여 위쪽 화살표 연산자 를 구현하려는 유혹을 느낄 수 있다. 이 아이디어는 많은 프로그래밍 언어에서 실제로 함수를 구현하는 방법과 유사하다. 그러나 카운터 머신은 계산에 무한정 많은 레지스터를 사용할 수 없으며, 이는 임의로 커질 수 있는 콜 스택을 구현하는 데 필요할 것이다. 위쪽 화살표 연산은 뮤 재귀적이므로 여전히 카운터 머신으로 구현될 수 있지만, 이 함수는 괴델 수를 사용하는 것과 같이 유한한 수의 레지스터 안에 무한한 양의 정보를 인코딩하여 구현될 것이다.
카운터 머신 카운터 머신 모델의 문제점
문제점은 랜덤 접근 기계 문서에서 자세히 논의된다. 문제는 두 가지 주요 범주와 세 번째 "불편함" 범주로 나뉜다:
(1) 레지스터의 무한한 용량 대 상태 기계 명령어의 유한한 용량: 기계는 유한 상태 기계의 용량보다 큰 상수를 어떻게 생성할까?
(2) 레지스터의 무한한 개수 대 상태 기계 명령어의 유한한 개수: 기계는 유한 상태 기계의 도달/능력을 넘어선 주소 번호를 가진 레지스터에 어떻게 접근할까?
(3) 완전히 축소된 모델은 번거롭다:
셰퍼드슨과 스터지스 (1963)는 그들의 6개 명령어 세트에 대해 사과하지 않는다. 그들은 "경제성보다는 프로그래밍의 용이성"에 기반하여 선택을 했다 (p. 219 각주 1).
셰퍼드슨과 스터지스의 명령어들 ( [r]은 "레지스터 r의 내용"을 나타낸다):
마빈 민스키 (1967)는 그의 2개 명령어 세트 { INC (z), JZDEC (r, Iz) }를 { CLR (r), INC (r), JZDEC (r, Iz), J (Iz) }로 확장한 후, "범용 프로그램 머신"이 단 두 개의 레지스터로 구축될 수 있음을 증명했다 (p. 255ff).
카운터 머신 두 카운터 머신은 튜링 동등하다 (주의사항 포함)
모든 튜링 기계에 대해, 2CM의 입력과 출력이 적절하게 인코딩된다면, 그 튜링 기계를 시뮬레이션하는 2CM이 존재한다. 이는 마빈 민스키의 책 (Computation, 1967, p. 255-258)에 증명되어 있으며, 다른 증명은 아래 세 단계로 개략적으로 설명되어 있다. 첫째, 튜링 기계는 두 개의 스택이 장착된 유한 상태 기계(FSM)에 의해 시뮬레이션될 수 있다. 둘째, 두 개의 스택은 네 개의 카운터에 의해 시뮬레이션될 수 있다. 마지막으로, 네 개의 카운터는 두 개의 카운터에 의해 시뮬레이션될 수 있다.
두 카운터 머신은 명령어 집합 { INC ( r, z ), JZDEC ( r, ztrue, zfalse) }를 사용한다.
카운터 머신 두 카운터 머신은 튜링 동등하다 (주의사항 포함)
튜링 기계는 FSM과 무한 테이프로 구성되며, 이 테이프는 초기에는 0으로 채워져 있고 기계는 그 위에 1과 0을 쓸 수 있다. 언제든지 기계의 읽기/쓰기 헤드는 테이프의 한 셀을 가리킨다. 이 테이프는 그 지점에서 개념적으로 절반으로 나눌 수 있다. 테이프의 각 절반은 스택으로 처리될 수 있으며, 상단은 읽기/쓰기 헤드에 가장 가까운 셀이고, 하단은 헤드에서 어느 정도 떨어져 있으며, 하단 너머의 테이프에는 모두 0이 있다. 따라서 튜링 기계는 FSM과 두 개의 스택으로 시뮬레이션될 수 있다. 헤드를 왼쪽이나 오른쪽으로 이동하는 것은 한 스택에서 비트를 팝하고 다른 스택으로 푸시하는 것과 동등하다. 쓰기는 푸시하기 전에 비트를 변경하는 것과 동등하다.
카운터 머신 두 카운터 머신은 튜링 동등하다 (주의사항 포함)
0과 1을 포함하는 스택은 스택의 비트가 이진법을 나타내는 것으로 생각될 때 (스택의 가장 위쪽 비트가 최하위 비트임) 두 개의 카운터로 시뮬레이션될 수 있다. 스택에 0을 푸시하는 것은 숫자를 두 배로 늘리는 것과 동등하다. 1을 푸시하는 것은 두 배로 늘리고 1을 더하는 것과 동등하다. 팝하는 것은 2로 나누는 것과 동등하며, 이 경우 나머지가 팝된 비트이다. 두 개의 카운터는 이 스택을 시뮬레이션할 수 있으며, 이 스택에서 한 카운터는 스택의 비트를 나타내는 이진 표현을 가진 숫자를 보유하고 다른 카운터는 임시 저장 공간으로 사용된다. 첫 번째 카운터의 숫자를 두 배로 늘리려면 FSM은 두 번째 카운터를 0으로 초기화한 다음, 첫 번째 카운터를 한 번 감소시키고 두 번째 카운터를 두 번 증가시키는 작업을 반복할 수 있다. 이 작업은 첫 번째 카운터가 0에 도달할 때까지 계속된다. 그 시점에서 두 번째 카운터는 두 배로 늘어난 숫자를 보유하게 된다. 절반으로 줄이는 작업은 한 카운터를 두 번 감소시키고 다른 카운터를 한 번 증가시킨 다음, 첫 번째 카운터가 0에 도달할 때까지 반복하여 수행된다. 나머지는 짝수 또는 홀수 단계 후에 0에 도달했는지 여부에 따라 결정될 수 있으며, 단계 수의 패리티는 FSM의 상태에 인코딩된다.
카운터 머신 두 카운터 머신은 튜링 동등하다 (주의사항 포함)
이전과 마찬가지로, 카운터 중 하나는 임시 저장 공간으로 사용된다. 다른 하나는 소수 인수분해가 2a3b5c7d인 정수를 포함한다. 지수 a, b, c, d는 단일 실제 카운터에 ( 괴델 수 매기기를 통해) 압축되는 네 개의 가상 카운터로 생각될 수 있다. 실제 카운터가 0으로 설정된 다음 한 번 증가하면 모든 가상 카운터를 0으로 설정하는 것과 동등하다. 실제 카운터가 두 배가 되면 a를 증가시키는 것과 동등하며, 절반이 되면 a를 감소시키는 것과 동등하다. 유사한 절차를 통해 3으로 곱하거나 나눌 수 있으며, 이는 b를 증가시키거나 감소시키는 것과 동등하다. 마찬가지로, c와 d도 증가시키거나 감소시킬 수 있다. c와 같은 가상 카운터가 0과 같은지 확인하려면 실제 카운터를 5로 나누고, 나머지가 무엇인지 확인한 다음, 5를 곱하고 나머지를 다시 더하면 된다. 이렇게 하면 실제 카운터는 변경되지 않는다. 나머지는 c가 0일 때만 0이 아니었을 것이다.
카운터 머신 두 카운터 머신은 튜링 동등하다 (주의사항 포함)
결과적으로, 두 개의 카운터를 가진 FSM은 네 개의 카운터를 시뮬레이션할 수 있으며, 이들은 다시 두 개의 스택을 시뮬레이션하고, 이들은 다시 튜링 기계를 시뮬레이션한다. 따라서 FSM에 두 개의 카운터가 있으면 튜링 기계만큼 강력하다. 튜링 기계는 두 개의 카운터를 가진 FSM을 쉽게 시뮬레이션할 수 있으므로 두 기계는 동등한 능력을 갖는다.
이 결과는 슈뢰펠(1972)의 논문에 N2, sqrt(N), log2(N) 등과 같이 두 카운터 머신이 계산할 수 없는 다른 N 함수 목록과 함께 나타난다 — 한 카운터에 N이, 다른 카운터에 0이 초기화된 경우이다. 이 결과는 놀랍지 않은데, 두 카운터 머신 모델은 입력 N이 튜링 기계를 시뮬레이션하기 위해 적절하게 인코딩(괴델화)된 경우에만 보편적이라는 것이 (민스키에 의해) 증명되었기 때문이다. 여기서 튜링 기계의 초기 테이프는 단항으로 인코딩된 N을 포함하며, 두 카운터 머신의 출력도 유사하게 인코딩된다. 이러한 현상은 보편성이 시뮬레이션을 통해서만 증명되는 매우 작은 계산 기반(예: 많은 튜링 곤궁, 알려진 가장 작은 범용 튜링 기계 등)에서 흔히 나타난다.
이 증명에 앞서 몇 가지 흥미로운 정리가 제시된다.
"정리: 모든 카운터 머신은 2CM에 의해 시뮬레이션될 수 있다. 단, 입력과 출력에 모호한 코딩이 허용된다는 조건 하에." (p. 3)
"귀결: 2CM의 정지 문제는 해결 불가능하다.
"귀결: 2CM은 한 인자의 모든 부분 재귀 함수를 계산할 수 있다. 단, 입력이 2N으로 코딩되고 출력(기계가 정지하면)이 2answer로 코딩된다는 조건 하에." (p. 3)
"3CM은 어떤 부분 재귀 함수도 계산할 수 있다"는 두 번째 정리와 관련하여, 저자는 독자에게 "어려운 문제: 세 개의 카운터만을 사용하여 두 숫자를 곱하라" (p. 2)고 도전한다. 주요 증명은 두 카운터 머신이 비선형 성장률을 가진 산술 수열을 계산할 수 없다는 개념을 포함한다 (p. 15), 즉 "함수 2X는 어떤 산술 진행보다 더 빠르게 성장한다." (p. 11).
카운터 머신 계산의 실제 예시: 계산에 의한 계산
프리든 EC-130 계산기는 본질적으로 덧셈 로직이 없었다. 그 로직은 고도로 직렬적이었고, 계산을 통해 산술을 수행했다. 내부적으로 십진수 자릿수는 10진수였다. 예를 들어, 6은 해당 자릿수에 할당된 시간 슬롯 내에서 6개의 연속 펄스로 표현되었다. 각 시간 슬롯은 하나의 자릿수를 운반했고, 최하위 자릿수부터 먼저 처리되었다. 올림수는 플립플롭을 설정하여 다음 시간 슬롯의 자릿수에 하나의 카운트를 추가하게 했다.
덧셈은 상승 카운터로, 뺄셈은 하강 카운터로 수행되었으며, 빌림수를 처리하는 비슷한 방식이 있었다.
시간 슬롯 방식은 각각 부호 비트를 가진 13개의 십진수 자릿수 레지스터 6개를 정의했다.
곱셈과 나눗셈은 기본적으로 반복적인 덧셈과 뺄셈으로 수행되었다. 제곱근 버전인 EC-132는 연속된 홀수를 효과적으로 뺐고, 각 감소는 두 번의 연속적인 뺄셈을 필요로 했다. 첫 번째 뺄셈 후, 두 번째 뺄셈 전에 피감수는 1만큼 증가되었다.
포인터 머신
이론 컴퓨터 과학에서 포인터 머신(pointer machine)은 저장 구조가 그래프인 추상 계산 기계이다. 포인터 알고리즘은 포인터 머신 모델에 제한된 알고리즘일 수도 있다.
포인터 머신의 특정 유형은 연결 오토마톤, KU-머신, SMM, 원자론적 LISP 머신, 트리-포인터 머신 등으로 불린다.
포인터 머신에는 산술 명령어가 없다. 계산은 입력 심볼을 읽고, 저장 구조(노드와 포인터의 패턴)를 수정하고 다양한 테스트를 수행하며, 테스트를 기반으로 심볼을 출력함으로써 진행된다. 이러한 점에서 이 모델은 튜링 기계와 유사하다.
포인터 머신 "포인터 머신"의 유형
구레비치와 벤-암람 모두 여러 가지 매우 유사한 "추상 기계"의 "원자론적" 모델을 나열한다. 벤-암람은 "원자론적 모델"이 "고수준" 모델과 구별되어야 한다고 믿는다. 다음 원자론적 모델이 아래에 제시될 것이다.
벤-암람은 또한 이 문서에서 더 이상 논의되지 않는 다음 변형들을 제시한다.
포인터 머신 쇤하게의 저장 수정 기계(SMM) 모델
다음 설명은 반 엠데 보아스에 따른다.
이 기계는 고정된 입력 심볼 알파벳, 고정된 프로그램, 그리고 알파벳 심볼로 레이블이 지정된 화살표가 있는 가변적인 유향 그래프로 구성된다. 이 그래프가 기계의 저장소이다. 그래프의 각 노드는 각 심볼로 레이블이 지정된 정확히 하나의 바깥쪽 화살표를 가지지만, 이들 중 일부는 원래 노드로 되돌아갈 수 있다. 그래프의 한 고정된 노드는 시작 또는 "활성" 노드로 식별된다.
알파벳의 각 심볼 단어는 기계를 통한 경로로 변환될 수 있다. 예를 들어, 10011은 시작 노드에서 1번 에지를 취하고, 결과 노드에서 0번 에지를 취하고, 그 다음 0번 에지, 그 다음 1번 에지, 그 다음 1번 에지를 취하는 것으로 변환된다. 따라서 단어는 경로의 최종 노드인 노드를 식별하지만, 이 식별은 계산 중에 그래프가 변경됨에 따라 달라진다.
기계는 그래프의 레이아웃을 변경하는 명령을 받을 수 있다. 기본 명령은 다음과 같다.
포인터 머신 쇤하게의 저장 수정 기계(SMM) 모델
(1) 새 w 명령어: 경로 w의 끝에 새 노드를 생성하며, 모든 에지는 w에서 끝에서 두 번째 노드를 가리킨다.
(2) w를 v로 설정 명령어: 에지를 다른 노드로 (재)지정한다. 여기서 w와 v는 단어를 나타낸다. 이 명령어는 경로 w의 마지막 에지의 대상을 변경한다.
(3) 만약 v = w 이면 명령어 z: 단어 w와 v로 표현된 두 경로가 같은 노드에서 끝나는지 비교하는 조건부 명령어이다. 같으면 명령어 z로 점프하고, 그렇지 않으면 계속 진행한다. 이 명령어는 모든 명령형 프로그래밍 언어의 if 명령과 동일한 목적을 수행한다.
(4) 입력/출력을 위한 읽기 및 쓰기 명령어: 읽기 전용 입력 테이프와 쓰기 전용 출력 테이프에 접근하며, 둘 다 알파벳의 심볼을 포함한다.
커누스는 SMM 모델이 컴퓨터 프로그래밍의 예술 1권에서 간략하게 설명된 "연결 오토마톤"의 한 유형과 일치한다고 언급했다.
포인터 머신 콜모고로프-우스펜스키 기계 (KU-머신) 모델
KUM은 SMM과 달리 역방향 포인터만 허용한다. 즉, 노드 x에서 노드 y로 가는 모든 포인터에 대해 y에서 x로 가는 역방향 포인터가 동일한 심볼로 레이블링되어 있어야 한다. 즉, 저장 그래프는 무방향이다. 나가는 포인터는 알파벳의 서로 다른 심볼로 레이블링되어야 하므로, KUM과 SMM 그래프는 모두 O(1)의 외부 차수를 갖는다. 그러나 KUM 포인터의 가역성은 내부 차수 또한 O(1)로 제한한다. 이는 물리적 현실성(순전히 정보적인 것과 반대되는)에 대한 일부 우려를 해소한다.
모델 간에는 프로그램의 형태(명령어 목록 대신 상태 테이블)와 같은 다른 사소한 차이점도 있다.
포인터 머신 포인터 머신 모델에 대한 고려 사항
복잡성 이론에서의 모델 사용:
반 엠데 보아스 (1990)는 이러한 형태의 추상 모델에 대해 다음과 같은 우려를 표명한다.
"흥미로운 이론적 모델이지만, ... 복잡성 이론의 근본 모델로서의 매력은 의문이다. 그 시간 측정은 이 측정이 실제 시간 복잡성을 과소평가하는 것으로 알려진 맥락에서 균일한 시간에 기반을 둔다. 동일한 관찰이 기계의 공간 측정에도 적용된다" (반 엠데 보아스 (1990) p. 35)
구레비치도 우려를 표명한다.
"실용적으로 말해서, 쇤하게 모델은 현재 기술 수준에서 시간 복잡성을 잘 측정한다 (저는 앵글루인과 발리언트의 랜덤 접근 컴퓨터와 비슷한 것을 선호하겠지만)."
쇤하게는 SMM과 랜덤 접근 기계의 두 가지 유형의 실시간 등가성을 입증한다.
SMM 모델의 알고리즘: 쇤하게는 SMM이 선형 시간에 정수 곱셈을 수행할 수 있음을 입증한다.
모델의 잠재적 용도: 구레비치는 병렬 KU 머신이 "인간 뇌와 다소 유사한지" 여부에 대해 궁금해한다.
병렬 컴퓨팅: 위에 언급된 모든 모델은 순차적이다. 병렬 (원자론적) 포인터 머신 모델은 쿡과 다이몬드가 제안했다. 고수준 (비원자론적) 병렬 포인터 머신 모델도 사용되었다.
포인터 머신 더 읽어보기
대부분의 참조 및 참고 문헌은 레지스터 머신 문서에서 찾을 수 있다. 다음은 이 문서에 특히 해당한다.
아미르 벤-암람 (1995), What is a "Pointer machine"?, SIGACT News (ACM Special Interest Group on Automata and Computability Theory)", volume 26, 1995. 벤-암람은 유형과 하위 유형을 설명한다: (유형 1a) 추상 기계: 콜모고로프-우스펜스키 기계(KUM), 쇤하게의 저장 수정 기계(SMM), 커누스의 "연결 오토마톤", APLM 및 AFLM (원자론적 순수-LISP 기계) 및 (원자론적 전체-LISP 기계), 일반 원자론적 포인터 기계, 존의 I 언어를 포함한 원자론적 모델; (유형 1b) 추상 기계: 고수준 모델, (유형 2) 포인터 알고리즘.
포인터 머신 더 읽어보기
유리 구레비치 (2000), Sequential Abstract State Machines Capture Sequential Algorithms, ACM Transactions on Computational Logic, vol. 1, no. 1, (July 2000), pages 77–111. 구레비치는 쇤하게 [1980] "저장 수정 기계"를 커누스의 "포인터 기계"와 한 문장으로 비교한다. "랜덤 접근 기계"와 같은 더 유사한 모델에 대해서는 구레비치가 다음을 참조한다.
존 E. 새비지 (1998), Models of Computation: Exploring the Power of Computing. Addison Wesley Longman.
포인터 머신 더 읽어보기
아놀드 쇤하게 (1980), Storage Modification Machines, Society for Industrial and Applied Mathematics, SIAM J. Comput. Vol. 9, No. 3, August 1980. 쇤하게는 자신의 SMM이 "후계자 RAM"(랜덤 접근 기계) 등과 등가임을 보여준다. 그는 SMM을 소개한 이전 논문을 참조한다.
아놀드 쇤하게 (1970), Universelle Turing Speicherung, Automatentheorie und Formale Sprachen, Dörr, Hotz, eds. Bibliogr. Institut, Mannheim, 1970, pp. 69–383.
얀 반 레우웬, ed. Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity, The MIT PRESS/Elsevier, 1990. ISBN 0-444-88071-2 (volume A).
반 엠데 보아스의 SMM 다루기는 32-35쪽에 나타난다. 이 다루기는 쇤하게 1980을 명확히 한다. — 쇤하게의 다루기를 밀접하게 따르지만 약간 확장한다. 효과적인 이해를 위해서는 두 참조가 모두 필요할 수 있다.
안젤라 (밴드)
안젤라(angela)는 여러 일본의 애니메이션 TV 프로그램의 주제가로 음악이 사용된 것으로 유명한 일본 밴드이다. 주요 멤버는 아츠코와 카츠이다. 그들의 독특한 경쾌한 멜로디와 풍부한 편곡은 록, 일렉트로니카, 재즈, 스카 요소를 결합한다. 2008년에는 Domestic Love Band (ドメスティック・ラヴバンド)라는 또 다른 밴드를 결성했다. 그들은 창궁의 파프너 애니메이션 시리즈의 모든 오프닝 및 엔딩 테마를 제공한 것으로 가장 잘 알려져 있다.
안젤라 (밴드) 역사
아츠코와 카츠 모두 오카야마현에서 태어났지만, 그들은 도쿄의 음악 학교에서 처음 만났다. 1993년 angela가 결성되었고 그들은 길거리 공연자로 활동하기 시작했다. 1999년 싱글 "memories"로 데뷔했지만, 이 발매는 크게 주목받지 못했다. 그러나 2002년 angela는 스타차일드와 계약했다. 그들의 돌파구는 애니메이션 우주의 스텔비아의 오프닝 곡 "Asu e no brilliant road" (明日へのbrilliant road)와 세 가지 다른 엔딩 테마를 작곡하면서 찾아왔다. 그들의 첫 앨범인 "Sora no Koe" (ソラノコエ)는 2003년 스타차일드에 의해 발매되었다. 그 이후로 그들은 창궁의 파프너 쇼를 위한 곡들을 제공했으며, 2004년에 "I/O", 2006년에 "PRHYTHM", 2009년에 "Land Ho!", 2011년에 "mirror☆ge", 2013년에 "ZERO", 2015년에 "ONE WAY", 2016년에 "LOVE & CARNIVAL", 2017년에 "Beyond" 등 8개의 스튜디오 앨범을 더 발매했다. 또한 2007년에는 "Takarabako -Treasure Box-" (宝箱 - Treasure Box), 2014년에는 "Takarabako 2 -Treasure Box II-" (宝箱2 -Treasure Box II-) 등 두 개의 베스트 컴필레이션 앨범을 발매했다.
안젤라 (밴드) 역사
2004년, angela는 메릴랜드주 볼티모어의 오타콘 컨벤션에서 공연했다. 다음 해인 2005년에는 워싱턴주 시애틀의 사쿠라콘과 캐나다 온타리오주 토론토의 팬 엑스포 캐나다 (당시 CN 애니메이션으로 알려짐)에서 라이브 공연을 가졌다.
"Sora no Koe"는 2005년 1월 미국에서 제네온 레이블을 통해 "Voice of the Sky"로 발매되었다. 그들의 두 번째 앨범 "I/O"는 2005년 8월 미국에서 제네온 레이블로 발매되었다. 그들의 다음 앨범인 "PRHYTHM"은 2006년 11월 미국에서 제네온에 의해 발매되었다.
안젤라 (밴드) 역사
2010년, angela는 싱가포르에서 매년 개최되는 동남아시아 최대 애니메이션 컨벤션인 애니메 페스티벌 아시아(AFA)에서 처음으로 공연했다. 이는 그들이 그 나라에서 처음으로 공연하는 것이기도 했다.
2011년에는 싱가포르 리퍼블릭 폴리테크닉에서 jplex가 주최한 또 다른 공연을 이어갔다. 같은 해에 그들은 애니메 페스티벌 아시아 2011에서 다시 싱가포르에 나타났다. 2012년에는 인도네시아 애니메 페스티벌 아시아 2012에서 세 번째로 공연에 초대되었다. 다음 해인 2013년에는 애니메 페스티벌 아시아 2013에서 싱가포르로 돌아와 공연했다. 2018년에는 애니메 페스티벌 아시아 2018에서 싱가포르에 다섯 번째로 초대되어 공연했다.
안젤라 (밴드) 역사
2013년 7월, angela는 프랑스 파리에서 열린 일본 문화 컨벤션인 재팬 엑스포에서 처음으로 공연했다. 2013년 10월 31일, angela는 공식 유튜브 채널을 개설했다. 그들은 2014년 7월 로스앤젤레스의 아니메 엑스포 애니메이션 컨벤션에 출연했다. 2015년 9월 19일, angela는 카셀에서 열린 애니메이션 컨벤션 코니치에서 독일 첫 콘서트를 개최했다. 2017년, 그들의 노래 "Zenryoku☆Summer!" (全力☆Summer!, "Full Power☆Summer!")는 바보걸 애니메이션 시리즈의 오프닝 테마로 사용되었다.
2023년 6월 4일, angela는 기네스 세계 기록으로부터 창궁의 파프너 시리즈에서 "같은 아티스트가 애니메이션 프랜차이즈를 위해 부른 노래 수 최다"로 공식 인증받았다. 이 상은 같은 날 창궁의 파프너 BEHIND THE LINE 특별 상영회에서 수여되었다. 또한 창궁의 파프너 시리즈의 모든 곡을 담은 완전판 앨범이 제작 중이라고 발표되었다.
안젤라 (밴드) 음반 목록
The end of the world
발매일: 2003년 8월 21일
The end of the world
明日へのbrilliant road ～second genesis～ (Asu e no brilliant road ~second genesis~)
The end of the world (오프 보컬 버전)
明日へのbrilliant road ～second genesis～ (오프 보컬 버전)
THE LIGHTS OF HEROES
발매일: 2012년 1월 25일
THE LIGHTS OF HEROES
Shangri-La (mf)
So sweet memories
THE LIGHTS OF HEROES (오프 보컬 버전)
Shangri-La (mf) (오프 보컬 버전)
So sweet memories (오프 보컬 버전)
안젤라 (밴드) 음반 목록
乙女のルートはひとつじゃない! (Otome no Route wa Hitotsu Janai!)
발매일: 2020년 4월 22일
아티스트 에디션
乙女のルートはひとつじゃない! (Otome no Route wa Hitotsu Janai!)
Baby!! I'm lost!!
乙女のルートはひとつじゃない! (오프 보컬 버전)
Baby!! I'm lost!! (오프 보컬 버전)
애니메이션 에디션
乙女のルートはひとつじゃない! (Otome no Route wa Hitotsu Janai!)
Baby!! I'm lost!!
乙女のルートはひとつじゃない! (TV 사이즈)
乙女のルートはひとつじゃない! (오프 보컬 버전)
Baby!! I'm lost!! (오프 보컬 버전)
안젤라 (밴드) 음반 목록
ソラノコエ (Sora no Koe)
발매일: 2003년 12월 3일
트랙 목록:
over the limits
明日へのbrilliant road (Asu e no brilliant road)
奇跡のring (Kiseki no ring)
Pain
dear my best friend
綺麗な夜空 (Kirei na Yozora)
幸せの温度 (Shiawase no Ondo)
カレイドスコープ (Kaleidoscope)
How many?
The end of the world
アイ・オー (I/O)
발매일: 2004년 11월 17일
트랙 목록:
CORE
謝罪状況 (Shazai Joukyou)
merry-go-round
笑い者のFairy tale (Waraimono no Fairy tale)
solitude
maybe..maybe..
feel, like a breeze
cheers!
小さな歴史の詩 (Chiisa na Rekishi no Uta)
on my way ~reborn~
Shangri-La
Separation (피아노 버전)
안젤라 (밴드) 음반 목록
PRHYTHM
발매일: 2006년 3월 15일
트랙 목록:
Yell for you
未来とゆう名の答え (Mirai to Yuu Na no Kotae)
翼 (Tsubasa)
ラヴ・ランデヴー (Love Rendezvous)
DEAD SET
Decide
Forget everything
EMOTION
年下未知数脳内HD (Toshishita Michisuu Nounai HD)
果て無きモノローグ (Hatenaki Monologue)
Peace of mind
fly me to the sky
Land Ho!
발매일: 2009년 9월 9일
트랙 목록:
Galactic material
Spiral
Beautiful fighter
光、探せなくとも (Hikari, Sagase Nakutomo)
満月オールナイト (Mangetsu All Night)
SONGS
Fine!
此処に居るよ (Koko ni iru yo)
innocence
Beginning
My story
パノラマ (Panorama)
안젤라 (밴드) 음반 목록
mirror☆ge
발매일: 2011년 6월 22일
트랙 목록:
蒼穹 (Soukyuu)
mirrorballs
オルタナティヴ (Alternative)
『リアル』は… ("Real" wa…)
理解と破壊へのプレリュード (Rikai to Hakai no Prelude)
ぐるぐる☆ぼし (Guruguru☆Boshi)
Catch and Go!
どんなに、、、どれくらい、、、 (Donnani, Dorekurai, )
Wonderful World
FORTUNES
蒼い春 (Aoi Haru)
キラフワ (Kirafuwa)
ZERO
발매일: 2013년 4월 24일
오리콘 주간 차트 최고 순위: 10위
트랙 목록:
KINGS
僕じゃない (Boku janai)
So sweet memories
Remember me
生命 -イノチ- (Seimei -Life-)
境界線Set me free (Kyoukai-sen Set me free)
THE LIGHTS OF HEROES
This is my wish
Always 好きだよ (Always Sukidayo)
いつかのゼロから (Itsuka no Zero Kara)
-レクイエム・オブ・レッド- (-Requiem of Red-)
To be with U
안젤라 (밴드) 음반 목록
ONE WAY
발매일: 2015년 5월 20일
트랙 목록:
イグジスト (Exist)
Different colors
シドニア (Sidonia)
Sail away
キラキラ-go-round (Kira Kira-go-round)
春夏秋冬 (Shunkashuto)
This is Love
ANGEL
バイバイオーライ (Bye Bye All Right)
その時、蒼穹へ (Sono Toki, Soukyuu e)
二十四節気恋唄 (Nijushisekki Koi Uta)
騎士行進曲 (Kishi Koushinkyouku) [angela × HEAVENS WiRE Remix]
LOVE & CARNIVAL
발매일: 2016년 8월 31일
트랙 목록:
DEAD OR ALIVE
Come on
是、夏祭り (Ze, Natsu Matsuri)
騎士行進曲 (Kishi Koushinkyouku)
愛、ひと欠片 (Ai, Hito Kakera)
KIZUNA
愛すること (Aisuru Koto)
Jump up!
EIEIO
That's Halloween
ストーリーが始まる (Story ga Hajimaru)
ホライズン (Horizon)
안젤라 (밴드) 음반 목록
宝箱 -TREASURE BOX- (Takarabako -TREASURE BOX-)
발매일: 2007년 12월 12일
트랙 목록:
DISC 1:
明日へのbrilliant road (Asu e no brilliant road)
綺麗な夜空 (Kirei na Yozora)
The end of the world
merry-go-round
Stay With Me
fly me to the sky
Proof
in your arms
Shangri-La
cheers!
DEAD SET
Yell for you
果て無きモノローグ (Hatenaki Monologue)
鳥 (Tori)
gravitation
DISC 2:
overture
恋のfirst run (Koi no first run)
涙が止まるまで (Namida ga Tomaru Made)
Tears on my pillow
LOVE LOVE Sweetie
君の傍で (Kimi no Soba de)
안젤라 (밴드) 음반 목록
宝箱2 -TREASURE BOX II- (Takarabako 2 -TREASURE BOX II-)
발매일: 2014년 5월 21일
트랙 목록:
DISC 1:
Beautiful fighter
約束 (Yakusoku)
Spiral
Galactic Material
オルタナティヴ (Alternative)
蒼い春 (Aoi Haru)
FORTUNES
蒼穹 (Soukyuu)
かべ2 (Kabe 2)
キラフワ (Kirafuwa)
THE LIGHTS OF HEROES
KINGS
僕じゃない (Boku Janai)
over the limits
笑顔でバイバイ (Egao de Bye Bye)
DISC 2 -BALLADE COLLECTION-:
The end of the world
幸せの温度 (Shiawase no Ondo)
Proof
笑い者のFairy tale (Waraisha no Fairy tale)
Separation[pf]
果て無きモノローグ (Hatenaki Monologue)
Peace of mind
Darling
Link
へんじ (Henji)
Shangri-La[mf]
안젤라 (밴드) 음반 목록
宝箱と宝箱2が入ったブルーレイで聞くやつ (Takarabako to Takarabako 2 ga Haitta Blu-ray de Kikuyatsu)
발매일: 2014년 5월 21일
트랙 목록:
明日へのbrilliant road (Asu e no brilliant road)
綺麗な夜空 (Kirei na Yozora)
The end of the world
merry-go-round
Stay With Me
fly me to the sky
Proof
in your arms
Shangri-La
cheers!
DEAD SET
Yell for you
果て無きモノローグ (Hatenaki Monologue)
鳥 (Tori)
gravitation
overture
恋のfirst run (Koi no first run)
涙が止まるまで (Namida ga Tomaru Made)
Tears on my pillow
LOVE LOVE Sweetie
君の傍で (Kimi no Soba de)
Beautiful fighter
約束 (Yakusoku)
Spiral
Galactic Material
オルタナティヴ (Alternative)
蒼い春 (Aoi Haru)
FORTUNES
안젤라 (밴드) 음반 목록
蒼穹 (Soukyuu)
かべ2 (Kabe 2)
キラフワ (Kirafuwa)
THE LIGHTS OF HEROES
KINGS
僕じゃない (Boku Janai)
over the limits
笑顔でバイバイ (Egao de Bye Bye)
The end of the world
幸せの温度 (Shiawase no Ondo)
Proof
笑い者のFairy tale (Waraisha no Fairy tale)
Separation[pf]
果て無きモノローグ (Hatenaki Monologue)
Peace of mind
Darling
Link
へんじ (Henji)
Shangri-La[mf]
+above all tracks' off vocal versions
안젤라 (밴드) 음반 목록
蒼穹のファフナー HEAVEN AND EARTH　イメージミニアルバム (Soukyuu no Fafner HEAVEN AND EARTH Image Mini Album)
발매일: 2010년 8월 25일
트랙 목록:
FORTUNES
理解と破壊のプレリュード (Rikai to hakai no Prelude)
fly me to the sky
Shangri-La
Separation
果て無きモノローグ (Hatenaki Monologue)
Peace of mind
Wonderful World サントラアルバム (Wonderful World 사운드트랙 앨범)
발매일: 2010년 7월 14일
트랙 목록:
THE LAST GAME
Time attack
The truth is...
Half and Half
Requiem
Psychic Show
Clear Up
Question to me
DEATH GAME
Each Other
Suspense
Mathematics
HEM
Transformation
Patient
Execution Circuit
Conviction
Un-Wonderful World
Wonderful World
夜が運ばれてくるまでに 〜A Song in A Bed〜 (Yoru ga Hakobarete Kuru Made ni 〜A Song in a Bed〜)
발매일: 2011년 1월 19일
트랙 목록:
「いんとろ」 (Intro)
「それがどこにあるか」 (Sore ga Doko ni Aru ka)
「うんめい」 (Unmei)
「あるはれたひに」 (Aru Hareta Hi ni)
「さくひん」 (Sakuhin)
「だいびんぐ」 (Diving)
「へんじ」 (Henji)
「かべ2」 (Kabe 2)
夜が運ばれてくるまでに（読書用BGM） (Yoru ga Hakobarete Kuru Made ni (Dokusho-yō BGM))
宝島 -TREASURE ISLAND- (Takarajima -TREASURE ISLAND-)
발매일: 2007년 12월 26일
明日へのbrilliant road (Asu e no Brilliant Road)
over the limits
merry-go-round
fly me to the sky
Shangri-La
DEAD SET
Peace of mind
gravitation
宝島 -TREASURE ISLAND- II (Takarajima -TREASURE ISLAND- II)
발매일: 2012년 8월 1일
Beautiful fighter
Spiral
オルタナティヴ (Alternative)
蒼い春 (Aoi Haru)
『リアル』は・・ ("Real" wa..)
蒼穹 (Soukyuu)
THE LIGHTS OF HEROES
angela TREASURE Blu-ray BOX
발매일: 2014년 1월 29일
明日へのbrilliant road (Asu e no Brilliant Road)
over the limits
merry-go-round
fly me to the sky
Shangri-La
DEAD SET
Peace of mind
gravitation
Beautiful fighter
Spiral
オルタナティヴ (Alternative)
蒼い春 (Aoi Haru)
『リアル』は・・ ("Real" wa..)
蒼穹 (Soukyuu)
THE LIGHTS OF HEROES
KINGS
僕じゃない (Boku Janai)
ANGEL
Untitled
Z/아키텍처
z/아키텍처(z/Architecture)는 초기에는 짧게 ESA 모달 확장 (ESAME)이라 불렸으며, IBM의 64비트 복잡 명령어 집합 컴퓨터 (CISC) 명령어 집합으로, 메인프레임에서 구현된다. IBM은 2000년 후반에 최초의 z/아키텍처 기반 시스템인 z900을 출시했다. 이후의 z/아키텍처 시스템으로는 IBM z800, z990, z890, 시스템 z9, 시스템 z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, z14, z15, z16, z17 등이 있다.
z/아키텍처는 이전 32비트 데이터/31비트 주소 지정 아키텍처인 ESA/390 및 32비트 데이터/24비트 주소 지정 IBM 시스템/360까지의 선행 아키텍처와 하위 호환성을 유지한다. IBM z13은 ESA/390 아키텍처 모드에서 운영 체제를 실행하는 것을 지원하는 마지막 z 시스템 서버이다. 그러나 원래 ESA/390 아키텍처에서 실행되도록 작성된 모든 24비트 및 31비트 문제 상태 애플리케이션 프로그램은 이 변경의 영향을 받지 않는다.
Z/아키텍처 특징
z/아키텍처는 ESA/390의 거의 모든 기능을 포함하며, 몇 가지 새로운 기능을 추가한다. z/아키텍처의 기능 중에는 다음이 있다.
S/370-XA에서 도입된 아키텍처를 가진 채널 서브시스템
ESA/390에서 도입된 브랜치 상대 명령어
트라이모달 (24/31/64비트) 주소
ESA/370에서 도입된 16개의 32비트 접근 레지스터 (AR)
16개의 64비트 범용 레지스터 (GR), 이전 아키텍처에서는 32비트
System/370에서 32비트로 도입된 16개의 64비트 제어 레지스터 (CR)
16개의 64비트 부동소수점 레지스터 (FPR)
32개의 128비트 벡터 레지스터 (VR); VR0–VR15의 비트 0–63에는 FPR0–FPR15가 포함된다
1개의 32비트 부동소수점 제어 (FPC) 레지스터
1개의 128비트 프로그램 상태 워드 (PSW), 64비트 명령어 주소 포함
8KiB 접두사 스토리지 영역 (PSA)
암호화 기능
ESA/390에서 추가된 IEEE 이진 부동소수점 명령어
Z/아키텍처 특징
IEEE 10진 부동소수점 명령어
각 기능이 언제 도입되었는지에 대한 정보는 작동 원칙을 참조한다.
z13은 z/아키텍처용 벡터 기능을 도입했다. 이는 각각 128비트 너비의 32개 벡터 레지스터를 추가한다. 기존의 16개 부동소수점 레지스터는 새로운 벡터 레지스터 위에 오버레이된다. 새로운 아키텍처는 정수, 부동소수점, 문자열 데이터 유형을 포함하여 벡터 레지스터의 데이터를 처리하기 위한 150개 이상의 새로운 명령어를 추가한다. z13 구현에는 벡터 데이터를 처리하기 위한 두 개의 독립적인 SIMD 장치가 포함된다.
z16은 신경망 처리 보조 기능을 도입하여 모델 종속 데이터 유형에 대한 작업을 수행하는 여러 명령어를 도입한다. z16의 경우 이는 16비트 NNP-데이터 유형-1 형식이다.
새로운 명령어는 AI 및 신경망 애플리케이션에 유용한 텐서 연산을 포함한다.