TIS-100

TIS-100

36 ratings
한국어 전체 번역 매뉴얼
By 전야
아무것도 모르고 배짱으로 게임 사놓고 손도 못대고 간략한 가이드로는 이해를 못해서 매뉴얼 전부 번역함. 틀린 부분 알려주시면 감사.
가능한 매뉴얼 원본과 비슷하게 작성함.
밑줄은 형광펜 쳐져 있던 부분, 기울인 글씨는 표지에 있는 쪽지나 매뉴얼 중간중간 들어간 손글씨.
   
Award
Favorite
Favorited
Unfavorite
표지
TIS-100

모자이크식 정보 시스템


참조 매뉴얼



M--

우린 랜디 삼촌의 갑작스런 죽음으로 아직도 여기에
충격받은 채로 있어. 원인에 대한 검사관의 연락을
기다리는 동안 우리는 최선을 다해 대처하고 있지.
나는 그의 물건들, 특히 그의 컴퓨터를 분류하느라
바빴어. 물론, 차고를 한번 둘러봤는데 내겐 전부
쓰레기 더미처럼 보이더라. 나중에 기회가 되면 사진
보낼게.

현재로선, 이게 그가 죽었을 때 그의 작업대에
설치되어 있던 기계야. 어쩌면 너는 그가 이것으로
뭘 하고 있었는지 알아낼 수 있을지도 모르겠다. 그는
누군가 자기 일을 끝낼 거라는 걸 알고 싶어했을 거야.

사랑을 담아,
이모(Aunt) 도리스가.
OVERVIEW


모자이크식 정보 시스템(이하 TIS)은 균일하지 않게 상호 연결된 이기종 노드로 구성된 대규모 병렬 컴퓨터 아키텍처이다. TIS는 자동화된 금융 거래, 대량 데이터 수집 및 민간 행동 분석과 같은 복잡한 데이터 스트림 처리가 필요한 애플리케이션에 이상적이다.


참고: 이 글과 같은 참고는 이 매뉴얼에서 각별한 주의가 필요한 시나리오를 나타내며 주제에 대한 자세한 정보가 포함된 다른 문서를 참조한다.
시스템 구조 및 구성
SYSTEM ARCHITECTURE AND ORGANIZATION


TIS는 로컬에 연결된 많은 수의 독립 노드로 구성된다. (특정 장치에 있는 정확한 노드 모집단 수를 찾으려면 모델별 설명서를 참조하라.) 노드 유형은 프로세싱 또는 스토리지로 광범위하게 분류될 수 있으며, 각 범주에는 여러 유형이 있다.

일반적으로, 노드는 포트를 통해 최대 4개의 인접 노드에 연결된다. 포트는 노드 간에 경량 메시지 전달 통신을 가능하게 한다. 포트를 통한 통신은 두 노드 중 하나가 포트에 읽기 또는 쓰기를 실행하고 해당 노드가 요청을 채울 때까지 차단하도록 하여 조정된다.


참고: 두 노드가 서로 간의 연결에 대해 동일한 통신 명령(읽기 또는 쓰기)을 실행하면 노드가 교착 상태가 되고 하드웨어 장애가 발생한다. 포트를 효과적이고 안전하게 사용하는 방법에 대한 자세한 내용은 별도의 문서 "TIS 노드 통신 패턴의 모범 사례"를 참조하라.

참고: 만약 노드가 통신 명령을 내리고 해당 노드에 의해 이행되지 않으면 노드가 교착 상태가 되고 하드웨어 장애가 발생한다. (이 규칙에 대한 예외는 존재한다; 자세한 내용은 특정 노드 유형 설명서를 참조하라.) 포트를 효과적이고 안전하게 사용하는 방법에 대한 자세한 내용은 별도의 문서 "TIS 노드 통신 패턴의 모범 사례"를 참조하라.

참고: 이 문서에서는 노드 통신 작업 또는 지침의 타이밍이나 처리량은 설명하지 않는데, 이러한 값은 모델 및 하드웨어 개정판에 따라 다르기 때문이다. 특정 장치의 성능 특성에 대한 자세한 설명은 모델별 설명서를 참조하라.
노드 유형 T20 - 제한됨
NODE TYPE T20 - RESERVED


참고: 이 노드 유형 식별자는 TIS의 특정 모델로 제한되며 이 문서에는 설명되지 않는다. 노드 유형 T20에 대한 설명서는 이 노드 유형을 포함하는 시스템과 함께 배포된다. 이 노드를 설명하는 문서의 사본에 대한 승인되지 않은 요청은 법률에 따라 주 보안국에 보고된다. ???
노드 유형 T21 - 기본 실행 노드


1. 구성

기본 실행 노드는 TIS의 동작을 조정하는(coordinate) 역할을 한다. 프로세싱은 기본 실행 노드 내에서 수행되거나 전문 처리 및 저장 노드에 위임될 수 있다.

기본 실행 노드는 기본 실행 노드 명령 집합에 지정된 프로그램을 실행한다. 기본 실행 노드 프로그램은 수행할 계산 및 통신 작업을 지정한다. 작업은 프로그램의 첫 번째 지침부터 순차적으로 수행된다. 프로그램의 마지막 명령을 실행한 후, 실행은 자동으로 첫 번째 명령 실행으로 이어진다. 이 동작은 연속 루프에서 작동하도록 작성된 프로그램에서의 기본 실행 노드의 일반적인 사용을 지원한다.

모든 TIS 노드에 공통인 통신 포트 외에도, 기본 실행 노드는 프로그램 실행에 사용되는 다수의 레지스터를 포함한다. 기본 실행 노드에서는 추가 메모리를 사용할 수 없다; 추가 스토리지가 필요한 경우, 그 노드는 다른 기본 실행 노드 또는 스토리지 노드와 조직화(coordinate)되어야 한다.

모든 레지스터는 -999에서 999 사이(포함)의 정수 값을 저장한다. 레지스터 값의 표현은 구현으로 정의되며 기본 실행 노드를 프로그래밍하는 데에 표현에 대한 지식이 필요하지 않다.

1-1. ACC
Type: 내부
Description: ACC는 기본 실행 노드의 기본 스토리지 레지스터이다. ACC는 산술 및 조건부 명령을 포함한 많은 명령의 암시적 소스 또는 대상 피연산자(destination operand)로 사용된다.

1-2. BAK
Type: 내부 (주소 지정 불가)
Description: BAK는 ACC의 값을 임시로 저장하는 저장소이다. SAV 및 SWP 명령어(instruction)를 통해서만 액세스할 수 있으며, 직접 읽거나 쓸 수는 없다.

1-3. NIL
Type: 내부 (특수)
Description: NIL을 읽으면 그 값은 0이 나온다. NIL에 쓰는 것은 효과가 없다. NIL은 결과를 무시하고 부작용에 대한 명령만 실행하는 대상 피연산자(destination operand)로 사용할 수 있다.

1-4. LEFT, RIGHT, UP, DOWN
Type: 포트
Description: 4개의 통신 레지스터 UP, DOWN, LEFT 및 RIGHT는 모든 기본 실행 노드가 위상적으로 인접한 노드와 통신하는 데 사용하는 4개의 포트에 해당한다. 일부 포트는 하드웨어 내의 특정 노드에서 연결이 끊어지며, READ 또는 WRITE 명령을 실행하면 무기한 차단될 것이다. 사용할 수 있는 포트를 확인하려면 노드의 상호 연결 다이어그램을 참조하라.

1-5. ANY
Type: 포트 (유사(pseudo) 포트)
Description: 명령의 소스로 ANY를 사용하는 경우, 명령은 임의 포트에서 사용할 수 있는 첫 번째 값을 읽는다. 명령의 대상으로 ANY를 사용하면 명령의 결과가 이 노드의 임의 포트로부터 읽은 첫 번째 노드로 전송된다.

1-6. LAST
Type: 포트 (유사(pseudo) 포트)
Description: LAST는 ANY 유사(pseudo) 포트를 사용하여 마지막으로 읽거나 기록한 포트를 나타낸다. 그렇지 않으면 포트를 명시적으로 지정하는 것과 동일하게 동작한다. ANY 유사(pseudo) 포트를 사용하여 성공적으로 읽기 또는 쓰기가 설정되기 전에 LAST에서 읽거나 LAST로 쓰면 구현 정의 동작(implementation-defined behavior)이 발생한다. LAST 유사 포트의 사용에 대한 샘플 코드 사례(demonstrating)를 위해 별도 문서 "TIS 모범 사례 - 노드 통신 패턴"을 참조하라.



2. 명령 집합
<SRC> 및 <DST> 명령 파라미터는 포트 또는 내부 레지스터를 지정할 수 있다. 해당 포트에 연결된 해당 노드가 값을 읽거나 쓰는 방식으로 통신을 완료할 때까지 포트를 사용하는 것은 차단된다. 또한 <SRC> 매개 변수는 -999에서 999(포함) 사이의 기본적인 정수 값일 수 있다.
BAK는 <SRC> 또는 <DST> 피연산자로 지정할 수 없다. BAK 값은 SAV 및 SWP 특별 명령어(special instructions)를 통해서만 확인할 수 있다.
<LABEL> 파라미터는 프로그램 내에서 점프 대상을 지정하는 데 사용되는 임의의 텍스트 이름(textual names)이다.

2-1. 코멘트
Syntax: # COMMENT TEXT
Description: 코멘트(#)를 포함한 모든 텍스트는 무시된다.
참고: 설명 기호 두 개(##) 뒤에 있는 텍스트는 해당 설명이 존재하는 프로그램의 제목으로 사용되며, 프로그램을 쉽게 탐색할 수 있도록 디버거(debugger)에 표시된다.

2-2. Labels
Syntax: <LABEL>:
Description: 라벨은 점프 명령어(jump instruction)의 대상을 식별하는 데 사용된다. 점프 대상으로 사용될 경우, 라벨 다음의 명령어(instruction)가 다음으로 실행된다.
Examples:
LOOP:
L: MOV 8, ACC
이 라벨은 이 라인(line) 자체에 걸려 있다.
이 라벨은 다른 명령어(instruction)와 함께 이 라인 자체에 걸려 있다.

2-3. NOP
Syntax: NOP
Equivalent syntax: ADD NIL
Description: NOP는 노드의 내부 상태 또는 통신 포트에 영향을 미치지 않는 유사 명령어(pseudo-instruction)이다. NOP는 ADD NIL 명령으로 자동 변환된다.

2-4. MOV
Syntax: MOV <SRC>, <DST>
Description: <SRC>가 읽히고 결과 값이 <DST>에 기록된다.
Examples:
MOV 8, ACC
MOV LEFT, RIGHT
MOV UP, NIL
리터럴(literal) 값 8이 ACC 레지스터에 기록된다.
LEFT 포트로부터 값을 읽어, RIGHT 포트에 기록한다.
UP 포트에서 값을 읽은 다음 삭제한다.

2-5. SWP
Syntax: SWP
Description: ACC와 BAK의 값을 교환한다.

2-6. SAV
Syntax: SAV
Description: ACC 값이 BAK에 기록된다.

2-7. ADD
Syntax: ADD <SRC>
Description: <SRC>의 값이 ACC 값에 추가되고 결과가 ACC에 저장된다.
Examples:
ADD 16
ADD LEFT
리터럴(literal) 값 16이 ACC 레지스터의 값에 추가된다.
왼쪽 포트에서 값을 읽은 다음 ACC에 추가한다.

2-8. SUB
Syntax: SUB <SRC>
Description: <SRC> 값을 ACC 값에서 빼고 그 결과를 ACC에 저장한다.
Examples:
SUB 16
SUB LEFT
리터럴(literal) 값 16을 ACC 레지스터의 값에서 뺀다.
LEFT 포트에서 값을 읽은 다음 ACC에서 뺀다.

2-9. NEG
Syntax: NEG
Description: ACC 값의 부호(+/-)를 바꾼다. 0 값은 동일하게 유지된다.

2-10. JMP
Syntax: JMP <LABEL>
Description: 무조건 전송 실행. <LABEL> 이후의 명령이 다음으로 실행된다.

2-11. JEZ
Syntax: JEZ <LABEL>
Description: 조건부로 전송 실행. ACC 값이 0인 경우 <LABEL>이후의 명령이 다음으로 실행된다.

2-12. JNZ
Syntax: JNZ <LABEL>
Description: 조건부로 전송 실행. ACC 값이 0이 아닌 경우 <LABEL> 이후의 명령이 다음으로 실행된다.

2-13. JGZ
Syntax: JGZ <LABEL>
Description: 조건부로 전송 실행. ACC 값이 양수(0보다 큼)인 경우 <LABEL> 이후의 명령이 다음으로 실행됩니다.

2-14. JLZ
Syntax: JLZ <LABEL>
Description: 조건부로 전송 실행. ACC 값이 음수(0보다 작음)인 경우 <LABEL> 이후의 명령이 다음으로 실행된다.

2-15. JRO
Syntax: JRO <SRC>
Description: 무조건 전송 실행. 현재 지침을 기준으로 <SRC>에서 지정한 오프셋의 명령이 다음으로 실행된다.
Examples:
JRO 0
JRO -1
JRO 2
JRO ACC
이 명령은 다음으로 실행될 것으로, 실행을 효과적으로 중지한다.
이전 명령이 다음으로 실행된다.
다음 명령을 건너뛰고, 그 다음 명령을 실행한다.
다음에 실행할 명령어가 ACC의 값에 따라 결정된다.



3. 예시 프로그램

다음 샘플 프로그램은 LEFT 포트에서 값의 시퀀스(sequence)를 읽어 각 값의 읽기(read)를 두 배로 늘리고 RIGHT 포트에 기록한다. 기본 실행 노드의 자동 루프 동작으로 인해 마지막 명령을 실행한 후 첫 번째 명령을 계속한다(continue).

MOV LEFT, ACC
ADD ACC
MOV ACC, RIGHT
LEFT 포트의 값을 읽고 ACC 레지스터에 기록한다.
ACC의 값을 그 자체로 더하여, 두 배로 늘린다.
ACC 레지스터의 값을 RIGHT 포트에 기록한다.

다음 샘플 프로그램은 UP 포트에서 값의 시퀀스(sequence)를 읽어 RIGHT 포트에 양의 값을, LEFT 포트에 음의 값을 쓴다. 0 값은 무시된다.

START:
MOV UP, ACC
JGZ POSITIVE
JLZ NEGATIVE
JMP START
UP 포트로부터 값을 읽고 ACC 레지스터에 기록한다.
ACC의 값이 0보다 크면 "POSITIVE"로 이동한다.
ACC의 값이 0보다 작으면 "NEGATIVE"로 이동한다.
값이 양수도 음수도 아니었으므로, "START"로 건너뛰어라.
POSITIVE:
MOV ACC, RIGHT
JMP START
ACC 레지스터의 값을 RIGHT 포트에 기록한다.
“START“로 이동하라.
NEGATIVE:
MOV ACC, LEFT
JMP START
ACC 레지스터의 값을 LEFT 포트에 기록한다.
“START“로 이동하라.
노드 유형 T30 – 스택 메모리 노드


1. 구조

스택 메모리 노드는 단순한 스택 기반 통신 프로토콜에 따라 많은 수의 값에 대한 읽기/쓰기 액세스를 가능하게 한다. (특정 장치에서 스택 메모리 노드의 용량을 찾으려면 모델별 설명서를 참조하라.)



2. 통신 프로토콜

스택 메모리 노드와의 모든 상호 작용은 포트를 통해 수행된다. 스택 메모리 노드에 쓰기는 스택의 맨 위에 값을 추가한다. 스택이 가득 찬 경우, 공간을 사용할 수 있을 때까지 쓰기가 차단된다. 스택 메모리 노드를 읽으면 스택에서 최상위 값이 제거되고 해당 값이 생성된다. 스택이 비어 있으면 값을 사용할 수 있을 때까지 읽기가 차단된다.

스택 메모리 노드는 일반적으로 다른 여러 노드에 연결되며, 연결된 모든 노드에서 사용할 수 있다. 스택 메모리 노드에 대한 동시 읽기 및 쓰기는 정의되지 않은 순서로 해결되지만, 각 개별 통신은 설명된 통신 프로토콜에 따라 동작한다. 여러 노드의 스토리지 노드를 효과적이고 예측 가능한 방식으로 사용하는 방법에 대한 자세한 내용은 별도의 문서 "TIS 모범 사례 - 노드 통신 패턴"을 참조하라.
노드 유형 T31 – 랜덤 액세스 메모리 노드


참고: 표준 TIS 장치에서는 아직 랜덤 액세스 메모리 노드를 사용할 수 없다. 관심 있는 사용자는 에뮬레이터 및 시제품 하드웨어를 사용할 수 있습니다. 설명서 및 동작은 아직 확정되지 않았으므로 이 문서에서는 생략된다.





할 일
-----------------------
- TIS-100을 판매한 딜러 파악

- 신호 승수 재구성

- 마이크로 최적화 팁 책 찾기

- 번호판 탭 갱신
내장된 대화형(interactive) 디버거


1. 단축키

대화형(interactive) 디버거에는 다음과 같은 단축키가 포함되어 있다:
Ctrl-Z: 마지막 변경 취소
Ctrl-Y: 마지막 변경 재실행
Ctrl-X: 선택한 텍스트를 클립보드로 잘라내기
Ctrl-C: 선택한 텍스트를 클립보드에 복사
Ctrl-V: 클립보드 텍스트 붙여넣기
Ctrl-Arrow: 인접 실행 노드로 이동
F1: 명령어(instruction) 세트 빠른 참조 보기
F2: 변조 방지 인증 상태 보기 ??
F5: 현재 프로그램 실행 시작
F6: 현재 프로그램을 실행(Step) 또는 일시 중지합니다.



2. 중단점(Breakpoints)

중단점을 설정하려면, 줄 시작 부분에 느낌표(!)를 넣으라. 중단점이 설정되면, 해당 줄이 실행되기 전에 프로그램이 일시 중지되므로, 한 번에 하나의 명령으로 넘어가기에는 너무 지루한 코드를 쉽게 디버깅할 수 있다.

MOV LEFT, ACC
!ADD ACC
MOV ACC, DOWN
이 프로그램은 이 명령어(instruction)가 실행되기 전에 일시 중지할 것이다.
시각화 모듈


1. 시각화 모듈 사용

TIS-100에는 프로그램에서 이미지를 프로그래밍 방식으로 생성 및 표시할 수 있는 시각화 모듈이 포함되어 있다. 모듈 내용은 시작 X 좌표, 시작 Y 좌표, 하나 이상의 색상 값 및 종료 음수 값(대개 -1)으로 구성된 명령 시퀀스(sequence)를 전송하여 수정할 수 있다. 좌표계는 디스플레이 영역의 왼쪽 상단에 있는 (0, 0)에서 시작한다.

시각화 모듈은 다음 색상을 지원한다:

0: 검은색 Black
1: 어두운 회색 Dark grey
2: 밝은 회색 Bright grey
3: 흰색 White
4: 빨간색 Red



2. 시각화 모듈 해상도(Resolution)

표준 TIS-100 시각화 모듈은 가로 30자(30 characters wide), 세로 18자(18 characters tall)이다.
"이미지 콘솔 샌드박스"에는 너비 36자(36 characters wide), 높이 22자(22 characters tall)의 더 큰 시각화 모듈이 포함되어 있다.



2. 명령 시퀀스(Sequence) 예시

0, 0, 3, -1
0, 0, 4, 4, 4, 4, 4, -1
모듈 디스플레이 왼쪽 상단 모서리에 흰색 픽셀 하나를 그린다.
모듈 디스플레이 왼쪽 상단 모서리에 빨간색 수평선을 그린다.
2 Comments
Hell_drowner 6 Mar @ 9:06am 
굳굳
전야  [author] 11 Jul, 2021 @ 8:09pm 
표 테두리 없애는 방법 알려주시면 감사. 서식 도움 보고 해봤는데 안 됨..