IBM System/360 아키텍처
IBM System/360 architecture디자이너 | IBM |
---|---|
비트 | 32비트 |
소개했다 | 1964년 4월 7일; | 전 (
설계. | CISC |
유형 | 등록-등록 레지스터 메모리 메모리 메모리 |
부호화 | 변수(2, 4 또는 6바이트 길이) |
분기 | 상태 코드, 인덱싱, 카운트 |
엔디안니스 | 큰. |
페이지 크기 | 없음(360/67 제외) |
열다. | 네. |
레지스터 | |
범용 | 16 x 32 비트 |
부동 소수점 | 4 x 64 비트 |
IBM 메인프레임의 역사, 1952년 ~ 현재 |
---|
시장명 |
아키텍처 |
IBM System/360 아키텍처는 명령 집합 아키텍처를 포함하지만 이에 국한되지 않는 전체 메인프레임 컴퓨터 제품군을 위한 모델 독립 아키텍처입니다.아키텍처의 요소는 IBM System/360 운영 원칙[1][2] 및 IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information 매뉴얼에 설명되어 있습니다.[3]
특징들
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
System/360 아키텍처는 다음과 같은 기능을 제공합니다.
- 32비트 범용 레지스터x 16
- 64비트 부동소수점 레지스터x 4
- 64비트 프로세서 상태 레지스터(PSW), 24비트 명령 주소를 포함합니다.
- 24비트(16MB) 바이트 주소 지정 가능 메모리 공간
- 빅 엔디언 바이트/워드 순서
- 고정 소수점 이진 연산 및 논리 명령을 포함한 표준 명령 집합이 모든 System/360 모델에 있습니다(모델 20 제외, 아래 참조).
- 10진수 연산 명령을 추가하는 상용 명령 집합은 일부 모델에서는 부동소수점 명령을 추가하는 과학적 명령 집합과 마찬가지로 선택 사항입니다.범용 명령어 세트에는 위의 모든 명령어와 스토리지 보호 지침이 포함되어 있으며 일부 모델에서는 표준입니다.
- Model 44는 데이터 수집 및 실시간 처리를 위한 몇 가지 고유한 지침을 제공하지만 스토리지 대 스토리지 지침이 누락되어 있습니다.그러나 IBM은 범프 스토리지에서 실행되며 누락된 명령을 시뮬레이션하는 '상용 명령 집합' 기능을 제공했습니다.
- Model 20은 표준 명령어 세트의 제거 버전을 제공하며, 하프워드(16비트) 명령어만 포함된 8개의 일반 레지스터와 상용 명령어 세트 및 입력/출력 전용 명령을 제공합니다.
- 모델 67에는 32비트 주소 처리 및 "동적 주소 변환" 명령과 [7]가상 메모리를 제공하는 추가 특권 명령이 포함되어 있습니다.
기억
System/360의 메모리(스토리지)는 8비트바이트 단위로 처리됩니다.하프워드(2바이트), 풀워드(4바이트), 더블워드(8바이트), 쿼드워드(16바이트) 및 2048바이트 스토리지 블록이라고 하는 큰 유닛에서는, 유닛의 왼쪽 끝(최저 주소)을 지정하는 다양한 명령이 동작합니다.하프워드, 풀워드, 더블워드 또는 쿼드워드에서는 번호가 작은 바이트가 번호가 높은 바이트보다 중요합니다.이것은 빅엔디안이라고 불리기도 합니다.이러한 단위를 사용하기 위해서는 해당 경계에 정렬해야 하는 경우가 많습니다.이 글에서 부적격 용어는 전체 단어를 가리킨다.
System/360의 원래 아키텍처는 최대 224 = 16,440,216 바이트의 메모리를 제공합니다.이후 모델 67은 아키텍처를 확장하여 최대 232 = 4,294,967,296바이트의[NB 1] 가상 메모리를 허용합니다.
주소 지정
System/360은 UNIVAC III와 유사한 [8]잘린 주소 지정을 사용합니다.즉, 명령에는 완전한 주소가 포함되지 않고 기본 레지스터와 기본 레지스터의 주소에서 양의 오프셋을 지정합니다.System/360의 경우 기본 주소는 15개의 일반 레지스터 중 하나에[NB 2] 포함됩니다.예를 들어 시프트와 같은 일부 명령에서는 주소가 아닌 32비트 양에 대해 동일한 계산이 수행됩니다.
data 형식
S/360 아키텍처는 문자, 정수, 10진수 정수 및 16진수 부동소수점 숫자의 형식을 정의합니다.문자와 정수 명령은 필수 사항이지만 10진수 및 부동 소수점 명령은 10진수 산술 및 부동 소수점 산술 기능의 일부입니다.
- 문자는 8비트바이트로 저장됩니다.
- 정수는 2의 보완 바이너리 하프워드 또는 풀워드 값으로 저장됩니다.
- 패킹된 10진수는 홀수 10진수를 포함한 1~16의 8비트바이트로 저장되며 그 뒤에 4비트 기호가 계속됩니다.16진수 A, C, E 및 F의 부호 값은 양수이고 16진수 B 및 D의 부호 값은 음수입니다.16진수 A~F의 디짓값과 0~9의 부호값은 유효하지 않지만 PACK 및 UNPK 명령에서는 유효성이 테스트되지 않습니다.
- 구역화 10진수는 1~16의 8비트바이트로 저장됩니다.각 바이트에는 비트0 ~ 3의 존과 비트4 ~ 7의 디짓이 포함됩니다.맨 오른쪽 바이트의 구역은 기호로 해석됩니다.
- 부동 소수점 번호는 이전 모델에서 전체 단어 또는 이중 단어 값으로만 저장됩니다.360/85[9] 및 360/195에는[10] 확장 정밀 부동소수점 숫자도 4단어로 저장됩니다.3가지 형식 모두 비트0은 부호이고 비트0 ~ 7은 특성(비용, 64로 바이어스됨)입니다.비트 8-31(8-63)은 16진수 분수입니다.정밀도를 높이기 위해 하위 이중어에는 자체 기호와 특성이 있으며 입력 시 무시되고 출력 시 생성됩니다.
명령 형식
S/360 명령어는 길이가 2, 4, 또는 6바이트이며 opcode는 0바이트입니다.순서의 형식은 다음과 같습니다.
- RR(2바이트).일반적으로 바이트 1은 2개의 4비트 레지스터 번호를 지정하지만 경우에 따라서는 SVC, 바이트 1이 단일 8비트 즉시 필드입니다.
- RS(4바이트).바이트 1은 2개의 레지스터 번호를 지정합니다.바이트 2-3은 베이스와 변위를 지정합니다.
- RX(4바이트).바이트 1의 비트 0-3은 레지스터 번호 또는 수정자 중 하나를 지정하고, 바이트 1의 비트 4-7은 인덱스로 사용할 일반 레지스터의 번호를 지정하고, 바이트 2-3은 베이스 및 변위를 지정합니다.
- SI(4바이트)바이트 1은 즉시 필드를 지정합니다.바이트 2-3은 베이스 및 변위를 지정합니다.
- SS(6바이트).바이트 1은 2개의 4비트 길이 필드 또는1개의 8비트 길이 필드를 지정합니다.바이트 2-3과 4-5는 각각 베이스와 변위를 지정합니다.length 필드의 부호화는 length-1 입니다.
명령은 메모리의 2바이트 경계에 있어야 하므로 명령 주소의 하위 비트는 항상 0입니다.
프로그램 상태 워드(PSW)
프로그램 상태 워드(PSW)[2]: 71–72 에는 현재 작동 중인 프로그램에 대한 다양한 컨트롤이 포함되어 있습니다.64비트 PSW는 실행 중인 현재 명령의 주소, 조건 코드 및 인터럽트 마스크를 설명합니다.
비트 | 내용물 | 설명. |
---|---|---|
0-7 | 시스템 마스크 | 비트 0-5: 채널 0-5 활성화, 비트 6: 나머지 모든 [NB 3]채널 활성화, 비트 7: 외부 인터럽트 활성화(타이머, 인터럽트 키 및 외부 신호)PoOps: 71 |
8-11 | 보호 키 | 스토리지 보호 키와 비교할 CPU 보호 키 |
12개 | ASCII 모드 | 패킹된 10진수 명령에 대해 ASCII 모드 사용, IBM[NB 4] 소프트웨어에서 사용되지 않음 |
13 | 기계 검사 | 시스템 검사 중단 사용 |
14 | 대기 상태 | 프로세서가 정지되어 있는 경우, 인터럽트가 유효하게 되어 있는 경우, 프로세서는 명령 실행을 재개합니다. |
15 | 문제 상태 | enable: 슈퍼바이저 스테이트용으로 예약된 명령의 사용을 금지합니다. |
16-31 | 인터럽트 코드 | PSW가 저장될 때 삽입되는 인터럽트 유형을 나타내는 코드, IPLoad 중에 삽입된 코드는 프로그램이 로드된PoOps: 77 디바이스의 주소입니다. |
32-33 | 명령 길이 코드 | 반단어 길이 또는 사용할 수 없는 경우 0 |
34-35 | 상태 코드 | 인코딩에 대한 개별 지침 참조 |
36-39 | 프로그램 마스크 | 비트 36: 고정점 오버플로 활성화, 비트 37: 10진수 오버플로, 비트 38: 지수 언더플로, 비트 39: 유의PoOps: 71 |
40-63 | 지시 주소 | 다음 명령의 주소(ILC 0에서의 프로그램 중단 제외 |
Load Program Status Word(LPSW; 프로그램 상태 워드)는 프로그램 모드, 보호 키, 실행할 다음 명령의 주소를 포함하여 프로그램 상태 워드(PSW)를 로드하는 특권 명령입니다.LPSW는 인터럽트 클래스와 관련된 "오래된" PSW를 로드하여 인터럽트에서 "복귀"하기 위해 가장 많이 사용됩니다.다른 특권 명령(SSM, STNSM, STOSM, SPKA 등)은 중단이나 PSW 로드 없이 PSW의 서브셋을 조작하기 위해 사용할 수 있습니다.또한 프로그램마스크 조작에는 1개의 비특권 명령(SPM)을 사용할 수 있습니다.
인터럽트 시스템
이 아키텍처에서는[2]: 77–83 5가지 인터럽트 클래스가 정의되어 있습니다.인터럽트는 프로그램 상태를 자동으로 변경하는 메커니즘으로 동기 이벤트와 비동기 이벤트 모두에 사용됩니다[NB 5].
인터럽트 클래스 | 구 PSW 16진수 | 새로운 PSW 16진수 | 우선 순위. |
---|---|---|---|
입력/출력PoOps: 78–79 | 38 56 | 78 120 | 4 |
프로그램.PoOps: 79–80.1 | 28 40 | 68 104 | 2 |
슈퍼바이저 콜PoOps: 80.1–81 | 20 32 | 60 96 | 2 |
외부의PoOps: 81–82 | 18 24 | 58 88 | 3 |
기계 검사PoOps: 82–83 | 30 48 | 70 112 | 1 |
S/360의 인터럽트 클래스에는 오래된 PSW 더블 워드와 새로운 PSW 더블 워드의 2개의 스토리지 필드가 할당되어 있습니다.프로세서는 인터럽트 코드가 삽입된 PSW를 오래된 PSW 위치에 저장한 후 새로운 PSW 위치에서 PSW를 로드합니다.이것은 일반적으로 명령 주소를 대체하여 브랜치에 영향을 줍니다.또한 (옵션으로) PSW 내의 다른 필드를 설정 또는 리셋하여 모드 변경을 실시합니다.
S/360 아키텍처에서는 각 인터럽트 클래스에 priority가 정의되어 있습니다만, 이것은 2개의 인터럽트가 동시에 발생했을 경우에만 관련성이 있습니다.인터럽트 루틴은 초기 인터럽트의 다른 발생을 포함한 다른 유효한 인터럽트에 의해 인터럽트될 수 있습니다.따라서 머신 체크 마스크비트를 제외한 모든 마스크비트를 "첫 번째 수준" 인터럽트 핸들러에 대해 0으로 지정하는 것이 일반적입니다."세컨드 레벨" 인터럽트 핸들러는 일반적으로 스택 인터럽트(같은 인터럽트 클래스의 인터럽트가 여러 번 발생하는 경우)용으로 설계되었습니다.
입력/출력 중단
I/O 중단은PoOps: 78–79 PCI 비트가 설정된 CCW를 취득한 후 채널 프로그램 완료 시 및 디바이스, 제어 유닛 또는 채널에 의해 검출된 비동기 이벤트(예를 들어 기계적 이동 완료)에 대해서도 발생합니다.시스템은 장치 주소를 인터럽트 코드에 저장하고 채널 상태를 위치 64('40'X)의 CSW에 저장합니다.
프로그램 중단
명령이[2]: 16, 79–80.1 15개의 예외 중 하나를[NB 7] 발견하면[NB 6] 프로그램 중단이 발생합니다. 그러나 예외에 해당하는 프로그램 마스크 비트가 0인 경우 해당 예외에 대한 중단은 없습니다.360/65,[13]: 12 360/67[11]: 46 및 360/85에서는[9]: 12 보호 예외 및 주소 지정 예외 중단이 부정확할 수 있으며, 이 경우 명령 길이 코드 0이 저장됩니다.인터럽트 코드는 다음 중 하나입니다.
16진수 비트 26~31 | 12월 | 예외. | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 360/91,[12]: 15 360/95 또는 360/195에서[10]: 14 부정확한 중단[NB 6]
| ||||||||||||||||||||||||||
1 | 1 | 작동PoOps: 79 | ||||||||||||||||||||||||||
2 | 2 | 특권 조작PoOps: 79 | ||||||||||||||||||||||||||
3 | 3 | 실행PoOps: 79 | ||||||||||||||||||||||||||
4 | 4 | 보호.PoOps: 79 | ||||||||||||||||||||||||||
5 | 5 | 주소 지정PoOps: 79–80 | ||||||||||||||||||||||||||
6 | 6 | 사양PoOps: 80 | ||||||||||||||||||||||||||
7 | 7 | 데이터.PoOps: 80 | ||||||||||||||||||||||||||
8 | 8 | 고정점 오버플로PoOps: 80 | ||||||||||||||||||||||||||
9 | 9 | 고정 소수점 분할PoOps: 80 | ||||||||||||||||||||||||||
A | 10 | 십진수 오버플로PoOps: 80 | ||||||||||||||||||||||||||
B | 11 | 소수점 나누기PoOps: 80 | ||||||||||||||||||||||||||
C | 12 | 지수 오버플로PoOps: 80 | ||||||||||||||||||||||||||
D | 13 | 지수 언더플로PoOps: 80 | ||||||||||||||||||||||||||
E | 14 | 중요성PoOps: 80 | ||||||||||||||||||||||||||
F | 15 | 부동 소수점 분할PoOps: 80.1 | ||||||||||||||||||||||||||
10 | 16 | |||||||||||||||||||||||||||
11 | 17 | |||||||||||||||||||||||||||
12 | 18 |
- 조작PoOps: 79 예외는 프로그램이 컴퓨터가 구현하지 않은 opcode를 사용하여 명령을 실행하려고 할 때 인식된다.특히, 예를 들면 부동소수점 등, 인스톨 되어 있지 않은 임의의 기능에 대해서 프로그램이 기입되었을 때에, 조작 예외가 인식된다.
- PSW의 문제 상태 비트가 1일 때 프로그램이 특권 명령을 실행하려고 하면 특권 동작 예외가PoOps: 79 인식된다.
- EXECUTE 명령(EX)의 오퍼랜드가 다른 EXECUTE 명령일 경우 실행 예외가PoOps: 79 인식된다.
- 보호PoOps: 79 예외는 프로그램이 스토리지 보호 키가 PSW 키와 일치하지[NB 10] 않는 위치에 저장하려고 하거나 스토리지 보호 키가 PSW 키와 일치하지 않는 가져오기 보호 위치에서 가져오려고 시도할 때 인식됩니다.
- 프로그램이 현재 사용할 수 없는 저장 위치에 액세스를 시도할 때 주소 지정PoOps: 79–80 예외가 인식됩니다.일반적으로 이 문제는 머신의 용량을 초과하는 주소에서 발생하지만 스토리지 블록을 오프라인으로 전환할 수 있는 머신에서도 발생할 수 있습니다.
- 지정PoOps: 80 예외는 명령이 동작에 의해 허가되지 않은 값의 길이 또는 레지스터 필드를 가지거나 opcode의 정렬 요건을 충족하지 않는 피연산자 주소, 예를 들어 바이트 얼라인먼트 기능이 없는 기계상의 홀수 피연산자 주소를 가진 LH 명령일 때 인식된다.
- 데이터PoOps: 80 예외는 10진수 명령이 비활성 피연산자(예: 비활성 데이터, 비활성 겹침)를 지정할 때 인식됩니다.
- 고정점 오버플로PoOps: 80 예외는 나눗셈 이외의 고정점 산술 또는 시프트 명령에서 유의한 비트가 손실될 때 인식됩니다.
- 고정 소수점 나누기 또는 2진수로 변환 명령에서 유의한 비트가 손실될 때 고정 소수점 나누기PoOps: 80 예외가 인식됩니다.
- 10진수 오버플로PoOps: 80 예외는 나눗셈 이외의 10진수 산술 명령에서 유의한 자릿수가 손실되었을 때 인식된다.
- 10진수 나눗셈 명령에서 유의한 비트가 손실되었을 때 10진수 나눗셈PoOps: 80 예외가 인식된다.수신처는 변경되지 않습니다.
- 지수 오버플로PoOps: 80 예외는 부동소수점 연산에서의 특성이 127을 넘어 0이 아닐 때 인식된다.
- 지수 언더플로PoOps: 80 예외는 부동소수점 연산에서의 특성이 음수이고 분율이 0이 아닐 때 인식된다.
- 유의PoOps: 80 예외는 부동 소수점 더하기 또는 빼기 연산의 분수가 0일 때 인식됩니다.
- 부동소수점 나누기 연산의 제수가 0일 때 부동소수점 나누기PoOps: 80.1 예외를 인식한다.
슈퍼바이저 콜 중단
슈퍼바이저 콜의 중단은PoOps: 80.1–81 슈퍼바이저 콜명령의 결과로 발생합니다.SVC 명령의 비트8 ~ 15는 인터럽트코드로 저장됩니다.
외부 중단
외부PoOps: 81 [NB 11] 인터럽트는 특정 비동기 이벤트의 결과로 발생합니다.외부 오래된 PSW의 비트 16-24가 0으로 설정되고 비트 24-31 중 하나 이상이 1로 설정됩니다.
PSW 비트 | 외부 인터럽트의 종류 |
---|---|
24 | 타이머 |
25 | 인터럽트 키 |
26 | 외부 신호 2 360/65[13] 멀티시스템 모드에서 오작동 경고 발생 |
27 | 외부 신호 3 멀티시스템 모드의 360/65[13] 시스템콜 |
28 | 외부 신호 4 |
29 | 외부 신호 5 |
30 | 외부 신호 6 |
31 | 외부 신호 7 |
기계 점검 중단
Machine Check 인터럽트는PoOps: 82–83 채널 또는 CPU와 관련된 다른 인터럽트 클래스에서 보고할 수 없는 비정상적인 상태를 보고하기 위해 발생합니다.머신 체크를 일으키는 가장 중요한 조건의 클래스는 레지스터나 스토리지에서 발견된 패리티 오류와 같은 하드웨어 오류이지만 일부 모델에서는 이 오류를 사용하여 덜 심각한 상태를 보고할 수 있습니다.인터럽트 코드와 스캔 아웃 영역에 격납된 데이터는 모두 모델에 의존합니다.
입력/출력
이 문서에서는 CPU의 관점에서 I/O에 대해 설명합니다.채널 케이블 또는 커넥터에 대해서는 설명하지 않지만, 다른 곳에 요약이 있으며 자세한 내용은 IBM 문서를 [3]참조하십시오.
I/O는 채널이라고 하는 개념적으로 독립된 프로세서에 의해 실행됩니다.채널에는 자체 명령 세트가 있으며 CPU에서 실행되는 프로그램과는 독립적으로 메모리에 액세스합니다.소형 모델(360/50까지)에서는 단일 마이크로코드 엔진이 CPU 프로그램과 채널 프로그램을 모두 실행합니다.대형 모델에서는 채널이 별도의 캐비닛에 있으며 메모리에 대한 자체 인터페이스가 있습니다.채널은 각각 개별 채널 프로그램의 상태를 포함하는 여러 서브채널을 포함할 수 있습니다.채널 프로그램을 동시에 가질 수 없는 여러 디바이스와 관련된 서브채널을 공유라고 부릅니다.단일 디바이스를 나타내는 서브채널은 비공유라고 부릅니다.
S/360에는 다음 세 가지 유형의 채널이 있습니다.
- 바이트 멀티플렉서 채널은 여러 CCW를 동시에 실행할 수 있습니다.일반적으로 카드 리더나 통신회선 등의 저속 디바이스를 접속하기 위해 사용됩니다.바이트 멀티플렉서 채널에는 저속 셀렉터 채널처럼 동작하는 다수의 셀렉터 서브채널이 각각1개의 서브채널만 있을 수 있습니다.
- 셀렉터 채널에는 서브채널이 1개밖에 없기 때문에 한 번에 1개의 채널명령어만 실행할 수 있습니다.일반적으로 자기 테이프 드라이브 등 블록 멀티플렉서 채널을 이용하여 연결을 일시 중단할 수 없는 고속 장치를 연결할 때 사용됩니다.
- 블록 멀티플렉서 채널은 여러 채널 프로그램을 동시에 실행할 수 있지만 한 번에 1개만 활성화할 수 있습니다.컨트롤 유닛은 채널명령어 끝에 서스펜션을 요청하고 나중에 재개를 요청할 수 있습니다.이는 데이터 전송 완료 후 기계적 지연이 발생하는 장치(예: 이동 헤드 DASD 검색)를 대상으로 합니다.블록 멀티플렉서 채널은 System/360 아키텍처에 늦게 추가된 것으로, 초기 머신에는 바이트 멀티플렉서 채널과 셀렉터 채널만 있었습니다.블록 멀티플렉서 채널은 모델 85 및 195에서만 선택 가능한 기능입니다.블록 멀티플렉서 채널은 최신 시스템/370 컴퓨터에서도 사용할 수 있었습니다.
개념적으로 주변기기는 제어유닛을 통해 S/360에 접속되며, 제어유닛은 채널을 통해 접속된다.단, 이 아키텍처에서는 제어 유닛이 물리적으로 구별될 필요가 없으며 실제로는 제어 유닛이 제어하는 디바이스와 통합되어 있는 경우가 있습니다.마찬가지로, 이 아키텍처에서는 채널이 프로세서와 물리적으로 구별될 필요가 없으며, 소규모 S/360 모델(360/50까지)에는 프로세서의 사이클을 훔치는 통합 채널이 있습니다.
주변기기는 cua 또는 cuu로 불리는 16비트주소로[NB 12] [2]: 89 대응됩니다.이 문서에서는 cuu라는 용어를 사용합니다.상위 8비트는 0 [NB 3]~6의 번호의 채널을 나타내고 하위 8비트는 해당 채널 상의 디바이스를 나타냅니다.디바이스는 복수의 cuu 주소를 가질 수 있습니다.
제어 장치에는 주소 "capture" 범위가 할당됩니다.예를 들어 CU에 20-2F 또는 40-7F 범위를 할당할 수 있습니다.이 작업의 목적은 여러 제어 유닛을 채널에 연결하고 우선순위를 지정하는 것입니다.예를 들어 채널에는 20-2F, 50-5F 및 80-8F에 3개의 디스크 제어 장치가 있을 수 있습니다.캡처된 주소 모두에 물리 디바이스가 할당되어 있을 필요는 없습니다.각 컨트롤 유닛은 채널에서도 High 또는 Low priority로 표시됩니다.
디바이스 선택은 채널에서 각 컨트롤 유닛에 물리적으로 연결된 순서로 진행됩니다.체인의 끝에서 선택 프로세스는 채널을 향해 역방향으로 계속됩니다.선택 항목이 채널로 돌아가면 명령을 수락한 제어 장치가 없고 SIO가 조건 코드 3을 반환합니다.High Priority로 마크된 제어장치는 발신 CUU가 해당 범위 내에 있는지 확인합니다.그렇다면 I/O가 처리되었습니다.그렇지 않은 경우 선택은 다음 발신 CU로 넘어갔습니다.저우선도로 마크된 제어 유닛은 인바운드(반환) CUU가 범위 내에 있는지 확인합니다.이 경우 I/O가 처리됩니다.그렇지 않으면 선택 항목이 다음 인바운드 CU(또는 채널)로 전달됩니다.채널로의 3개의 컨트롤 유닛의 접속은 물리적으로 -A-B-C일 수 있으며, 모든 것이 High로 표시되어 있는 경우 우선순위는 ABC가 됩니다.모든 것이 low로 마크되어 있는 경우 priority는 CBA가 됩니다.B가 High, AC Low로 표시되어 있으면, 순서는 BCA가 됩니다.이 논리를 확장하면 첫 번째 N 컨트롤러는 priority 1(High) 또는 2N-1(Low), 두 번째 priority 2 또는 2N-2, 세 번째 priority 3 또는 2N-3 등이 됩니다.마지막으로 물리적으로 연결된 것은 항상 priority N입니다.
I/O용으로 예약된 스토리지 필드에는 이중 워드 I/O 이전 PSW, 이중 워드 I/O 새 PSW 및 전체 워드 채널 주소 워드(CAW)의 세 가지가 있습니다.I/O를 수행하려면 일반적으로 다음이 필요합니다.
- 스토리지 키 및 첫 번째 CCW 주소로 CAW 초기화
- 작업의 cuu를 지정하는 SIO(Start I/O) 명령 발행
- I[NB 13]/O 중단 대기
- 채널 상태 워드(CSW)에 표시된 비정상적인 상태 처리
채널 프로그램은 일련의 채널 제어 워드(CCW)가 체인으로 연결되어 있습니다(아래 참조).보통 채널은 연속된 이중 워드에서 CCW를 가져오지만 제어 유닛은 채널에 CCW를 건너뛰도록 지시할 수 있으며 Transfer In Channel(TIC; 전송 인 채널) CCW는 채널에 새로운 위치에서 CCW의 가져오기를 시작하도록 지시할 수 있습니다.
채널 명령어를 완료하려면 몇 가지 정의된 방법이 있습니다.이 중 일부는 채널이 CCW를 계속 가져올 수 있도록 하는 반면, 다른 일부는 채널 프로그램을 종료합니다.일반적으로 CCW에 체인 명령 비트가 설정되어 있지 않고 TIC가 아닌 경우 채널은 I/O 동작을 종료하고 명령 완료 시 I/O 중단을 일으킵니다.컨트롤 유닛의 특정 상태 비트는 체인을 억제합니다.
명령을 완료하는 가장 일반적인 방법은 체인 데이터가 설정되지 않은 경우 카운트가 소진되고 제어 유닛이 더 이상 데이터 전송을 하지 않도록 신호를 보내는 것입니다.Suppress-Length-Indication(SLI; 억제 길이 표시)이 설정되어 있지 않고, 어느쪽이든 다른 한쪽이 없는 경우는, 체인은 허가되지 않습니다.체인을 억제하는 가장 일반적인 상황은 유닛 예외와 유닛 체크입니다.단, unit-check와 status-modifier의 조합은 체인을 억제하지 않습니다.채널이 명령어 재시도를 실행하여 동일한 CCW를 재처리합니다.
I/O 동작 완료 시 CPU에 송신되는 인터럽트 신호 외에 채널은 채널 프로그램 실행 중에 동작을 종료하지 않고 CPU에 Program-Controlled Interrupt(PCI; 프로그램 제어 인터럽트)를 송신할 수 있으며 I/O 완료 후 지연된 디바이스 엔드 인터럽트도 송신할 수 있습니다.
채널 상태
이러한 상태는 채널에 의해 검출되어 CSW에 PoOps: 116–118 표시됩니다.
- 프로그램 제어 인터럽트는PoOps: 116–117 채널이 PCI 비트가 설정된 CCW를 취득했음을 나타냅니다.채널은 처리를 계속합니다.이러한 중단은 단순히 CPU에 채널의 진행 상황을 알립니다.프로그램 제어 인터럽트의 사용 예는 Contents Supervision의 "Program Fetch" 기능에 있으며, 제어 프로그램은 제어/재배치 레코드를 읽었다는 것을 알립니다.이 레코드를 메인 스토리지로 완전히 읽기 위해 제어 프로그램에 남아 있는 몇 안 되는 "비활성 비트 스핀"이 시작됩니다.스핀이 만족스러우면 제어/이동 레코드가 완전히 메인 저장소에 있으며 직전 텍스트 레코드가 재배치될 수 있습니다.재배치 후 NOP CCW가 TIC로 변경되고 채널 프로그램이 계속됩니다.이렇게 하면 디스크 드라이브의 EXCP를 1회만 사용하면서 로드 모듈 전체를 읽고 재배치할 수 있습니다.PCI에는 텔레프로세싱 액세스 방식의 버퍼 관리에도 응용 프로그램이 있습니다.
- 길이가PoOps: 117 올바르지 않으면 카운트가 소진되기 전에 명령에 대한 데이터 전송이 완료되었음을 나타냅니다.이 표시는 CCW의 Suppress-Length-Indication 비트가 설정되어 있는 경우 억제됩니다.
- 프로그램 체크는PoOps: 117 다음 오류 중 하나를 나타냅니다.
- 0이 필요한 0이 아닌 비트
- 유효하지 않은 데이터 또는 CCW 주소
- CAW 또는 TIC는 TIC를 의미합니다.
- 보호PoOps: 117–118 검사는 CAW의 보호 키가 0이 아니며 스토리지 보호 키와 일치하지 않음을 나타냅니다.
- 채널 데이터PoOps: 118 검사는 데이터 전송 중 패리티 오류를 나타냅니다.
- Channel ControlPoOps: 118 Check는 Channel Data Check 또는 Interface Control Check 이외의 채널 오작동을 나타냅니다.
- 인터페이스 컨트롤PoOps: 118 체크는 컨트롤 유닛인터페이스에 대한 채널의 신호가 무효임을 나타냅니다.
- 체인PoOps: 118 검사는 데이터 체인 중에 데이터가 손실되었음을 나타냅니다.
유닛 상태
이러한 조건은 제어장치 또는 PoOps: 113–116 장치에 의해 채널에 제시됩니다.채널에 의해 처리되는 경우도 있고 CSW에 표시되는 경우도 있습니다.컨트롤 유닛에 의해 검출된 상태와 디바이스에 의해 검출된 상태는 구별되지 않습니다.
- 주의는PoOps: 113 진행 중인 채널 프로그램과 관련되지 않은 비정상적인 상태를 나타냅니다.입력 요구와 같은 오퍼레이터 액션을 나타내는 경우가 많습니다.이 경우 CPU는 read-type 명령어(04h)를 발행하여 응답합니다.대부분은 추가 정보를 추론할 수 있는 sense 명령어(04h)를 발행합니다.주의는 특별한 조건이며 특정 운영체제 지원이 필요합니다.또한 해당 운영체제에는 엔트리 수가 한정되어 있는 특별한[NB 14] 주의 테이블이 있습니다.
- 상태 수식자(SM)는 세 가지 비정상적인PoOps: 113–114 상태 중 하나를 나타냅니다.
- 테스트 I/O 명령이 해당 명령을 지원하지 않는 디바이스에 대해 발행되었습니다.
- [비지 중(Busy)]상태는 디바이스가 아닌 컨트롤 유닛을 나타냅니다.
- 디바이스가 CCW를 건너뛰어야 하는 조건을 검출했습니다.Status Modifier가 가능한 명령어가 있는 CCW는 보통 명령어체인을 지정합니다.이 경우 SM은 채널에 의해 처리되어 중단이 발생하지 않습니다.
- SM이 발생하는 일반적인 채널 프로그램은 다음과 같습니다.
... 검색 ID 동일 TIC *-8 데이터 읽기
- 여기서 TIC는 디바이스가 SM을 올림으로써 검색이 성공했음을 나타낼 때까지 채널에서 검색을 재패치합니다.
- 컨트롤 유닛의PoOps: 114 끝은 이전 컨트롤 유닛의 비지 상태가 클리어되었음을 나타냅니다.
- 비지는 장치(SM=0) 또는 제어 장치(SM=1)가 비지 상태임을 나타냅니다PoOps: 114–115 .
- Channel end는 디바이스가PoOps: 115 channel 명령의 데이터 전송을 완료했음을 나타냅니다.또한 Suppress-Length-Indication 비트의 값에 따라 CCW의 Count 필드가 모두 사용될 경우 Incorrect length 표시가 나타날 수 있습니다.
- 장치PoOps: 115 끝은 장치가 작업을 완료하고 다른 작업을 수락할 준비가 되었음을 나타냅니다.DE는 CE와 동시에 시그널링되거나 지연될 수 있습니다.
- 장치PoOps: 115–116 점검은 장치 또는 제어 장치가 비정상적인 상태를 감지했으며 Sense 명령을 실행하여 세부 정보를 얻을 수 있음을 나타냅니다.
- 장치PoOps: 116 예외는 장치가 파일 끝과 같은 비정상적인 상태를 감지했음을 나타냅니다.
채널 주소 단어
풀워드 Channel Address[2]: 99 Word(CAW; 채널주소 워드)에는 기동하는 채널프로그램의 4비트 스토리지 보호 키와 24비트 주소가 포함되어 있습니다.
채널 명령어
채널 명령어는 다음을 포함하는 이중어입니다.
- 8비트 채널명령어PoOps: 100 코드
- 24비트PoOps: 100–101 주소
- 5비트 플래그PoOps: 99–100, 101–105 필드
- 부호 없는 반어 카운트PoOps: 100–101 필드
CCW 명령어코드
하위 2 또는 4비트는 채널이 수행하는 6가지 유형의 작업을 결정합니다.[2]: 100, 105 부호화는
비트 | 명령어 |
---|---|
**** 0000 | 프로세서의 테스트 I/O(TIO) 명령에 따라 시뮬레이션된 CCW에서는 유효하지 않습니다. |
MMM 0100 | 센스PoOps: 106–107 |
**** 1000 | 채널 전송(TIC)PoOps: 107–108 |
MMM 1100 | 역방향PoOps: 105–106 읽기 |
MMMM01 | 기입하다PoOps: 105 |
MMMM10 | 읽다PoOps: 105 |
MMMM11 | 제어PoOps: 106–107 |
상위 6비트 또는 4비트의 의미(위 표의 수식 비트 M)는 연결된 I/O 디바이스의 유형에 따라 달라집니다(DASD CKD CCW 등).8비트는 모두 관련 제어장치(또는 그 기능상 동등한 것)로 전송 및 해석됩니다.
제어는 장치 또는 제어 장치의 상태 변화를 일으키기 위해 사용되며, 종종 되감기, 탐색과 같은 기계적 움직임과 관련이 있습니다.
감지는 디바이스의 상태를 나타내는 데이터를 읽기 위해 사용됩니다.가장 중요한 경우는 명령이 장치 검사와 함께 종료될 때 특정 원인을 판별하려면 Sense를 실행하고 반환된 데이터를 조사해야 합니다.수식자 비트가 모두 0인 Sense 명령은 항상 유효합니다.
아키텍처에서 주목할 만한 차이는 DASD가 Control을 사용하는 대신 Reserve 및 Release에 Sense 명령 코드를 사용한다는 것입니다.
CCW 플래그
CCW의 플래그는 실행 방법과 종료 방법에 영향을 줍니다.
조금 | 깃발 | 영향 | |
---|---|---|---|
32 | CD | 체인 데이터 | 다음 CCW에서 PoOps: 101–103 정의한 스토리지 영역을 사용하여 작업을 계속합니다. |
33 | 참조 | 체인 커맨드 | 다음 CCW에서 PoOps: 101, 103 명령어를 계속 진행합니다. |
34 | SLI[NB 15] | Suppress-Length-indication | 카운트가 PoOps: 99–100 일치하지 않으면 채널 프로그램을 계속 진행합니다. |
35 | 건너뛰다 | 건너뛰다. | 스토리지에서 PoOps: 103–104 읽거나 스토리지에 쓰지 마십시오. |
36 | PCI | 프로그램 제어 중단 | CCW를 PoOps: 104–105 가져올 때 중단을 요청합니다. |
채널 상태 단어
채널 상태 워드(CSW)[2]: 113–121 는 I/O 중단과 관련된 데이터를 제공합니다.
비트 | 들판 |
---|---|
0-3 | 키PoOps: 119 |
4-7 | 0000 |
8-31 | 명령어PoOps: 119 어드레스 |
32-47 | 상태PoOps: 113–118 |
32-39 |
|
32개 | |
33 | |
34 | |
서른다섯 살 | |
36개 | |
37 | |
38 | |
39 | |
40-47 |
|
사십 |
|
41 |
|
42 | |
43 | |
44개 | |
45개 | |
46 |
|
47 | |
48-63 | 카운트PoOps: 120 |
- [ Protection Key ]필드에는 I/O 완료 또는 PCI PoOps: 119 중단에 대한 I/O 조작 시작 시 CAW로부터의 보호 키가 포함됩니다.
- [ Command Address ]필드에는 I/O 완료 또는 PCI 중단을 위해 마지막으로 가져온 CCW 주소 +8 이 표시됩니다.단,: 119 9개의 예외가PoOps 있습니다.
- Status 필드에는 : 116–118 채널에서PoOps 감지된 상태를 나타내는 채널 상태 비트 1바이트와 I/OPoOps 장치에서 : 113–116 감지된 상태를 나타내는 장치 상태 비트 1바이트가 포함됩니다.컨트롤 유닛에 의해 검출된 상태와 디바이스에 의해 검출된 상태는 구별되지 않습니다.
- 잔류 카운트는 CCW에 의해 기술된 영역의 바이트 : 120 수가PoOps 채널로 전송되거나 채널에서 전송되지 않은 것을 나타내는 반단어입니다.CCW 의 카운트와 잔존 카운트의 차이는, 전송 된 바이트수를 나타냅니다.
오퍼레이터 컨트롤
System/360의 아키텍처는 몇 가지 공통 함수의 존재를 지정했지만, 구현 수단을 명시하지는 않았습니다.이를 통해 IBM은 CRT의 다이얼, 키보드, 푸시 버튼, 롤러, 이미지 또는 텍스트와 같은 다양한 물리적 수단을 사용하여 다양한 프로세서의 기능과 값을 선택할 수 있었습니다.키 또는 스위치에 대한 참조는 예를 들어 라이트 펜 선택과 동등한 키보드 시퀀스에 적용하는 것으로 이해해야 한다.
- System Reset은 모든 I/O 채널에 재설정 신호를 전송하고 프로세서 상태를 지웁니다. 보류 중인 모든 중단이 취소됩니다.시스템 재설정은 일반 레지스터, 부동 소수점 레지스터 또는 저장소의 패리티 오류를 수정하는 것을 보장하지 않습니다.시스템 리셋은 공유 I/O 디바이스의 상태를 리셋하지 않습니다.
- IPL(PoOps: 123 Initial Program Load)은 보통 머신의 전원이 켜져 있거나 대체 운영 [2]: 123 체제를 로드하기 위해 스토리지에 사용 가능한 로더가 없을 때 프로그램을 로드하는 프로세스입니다.이 프로세스를 부트라고 부르기도 합니다.
- IPL 기능의 일부로서 오퍼레이터는 12비트[NB 3] 디바이스 주소를 지정할 수 있습니다.일반적으로 오퍼레이터 제어 도면에 나타나듯이 3개의 다이얼을 사용합니다.는 언제 operator[NB16]로드 기능 선택하는 시스템, 위해 위치 0-23에 24일 읽을 바이트가 선택한 장치로 읽IPL[NB 17]채널 명령을 보내고 위치 8시에 CCWs되어 시작할 채널을 유발하기;채널 24의 길이와 CCW페친 효과 있고, 0은 주소와 시스템 재설정을 수행합니다. 깃발을 containing 명령 체인 + Suppress Length Indication.조작이 완료되면 시스템은 위치 2의 하프워드에 I/O 주소를 저장하고 위치 0에서 PSW를 로드합니다.
- 프로그램의 초기 로드는, 통상, 테이프, 카드 리더, 또는 디스크 드라이브로부터 행해집니다.일반적으로 운영체제는 디스크 드라이브에서 로드됩니다.테이프 또는 카드의 IPL은 진단 또는 새 컴퓨터에 운영체제 설치에만 사용되었습니다.
- 비상 풀 스위치PoOps: 124 (비상 전원 끄기, EPO)는 모든 I/O 채널에 EPO 신호를 보낸 후 프로세서 복합체에 전원을 끕니다.EPO는 정상적인 전원 차단 시퀀스를 바이패스하기 때문에 손상이 발생할 수 있으며 EPO 제어에는 기계식 래치가 있어 고객 엔지니어가 기기의 전원을 다시 켜기 전에 기기를 점검할 수 있습니다.
- 전원을PoOps: 124 켜면 CPU 콤플렉스의 모든 컴포넌트가 켜지고 시스템이 리셋됩니다.
- 전원을PoOps: 124 끄면 전원 끄기 시퀀스가 순서대로 시작됩니다.스토리지 내용은 유지되지만 연관된 스토리지 키가 손실될 수 있습니다.
- InterruptPoOps: 124 키는 외부 오래된 PSW에 비트 25가 설정된 상태에서 외부 중단을 일으킵니다.
- WaitPoOps: 124 LED는 PSW가 비트14(대기)를 설정했음을 나타냅니다.프로세서는 일시적으로 정지되지만 중단 상태가 발생하면 동작을 재개합니다.
- 수동PoOps: 124 LED는 CPU가 정지 상태임을 나타냅니다.
- 시스템PoOps: 124 LED는 CPU의 동작 또는 I/O채널의 동작으로 인해 미터가 동작하고 있음을 나타냅니다.
- 테스트PoOps: 124 표시등은 진단 지침에 의해 특정 설비(예: INSTIONST STEP)가 사용된 경우 또는 비정상적인 열 조건이 존재할 때 특정 조작자 제어가 작동 중임을 나타냅니다.자세한 내용은 모델에 따라 다릅니다.
- IPLPoOps: 124 및 외부 시작 시 Load 라이트가 켜집니다.로드 프로세스가 완료되면 위치 0에서 PSW를 로드하면 꺼집니다.
- 로드PoOps: 124–125 유닛 컨트롤은 IPL을 실행하는 디바이스의 가장 오른쪽[NB 18] 11비트를 제공합니다.
- LoadPoOps: 125 Key를 누르면 IPL 시퀀스가 시작됩니다.
- Prefix Select KeyPoOps: 125 Switch는 IPL이 프라이머리 프레픽스를 사용할지 대체 프레픽스를 사용할지를 선택합니다.
- System-Reset 키를PoOps: 125 누르면 System Reset이 시작됩니다.
- StopPoOps: 125 키를 누르면 CPU가 정지 상태가 됩니다.채널 프로그램은 계속 실행되고 인터럽트 상태는 보류 상태로 유지됩니다.
- 레이트PoOps: 125 스위치는 프로세서가 명령을 가져오는 모드를 결정합니다.아키텍처에는 다음 2가지 모드가 정의되어 있습니다.
- 과정
- 지시 단계
- 시작PoOps: 125 키는 속도 스위치의 설정에 따라 명령 페치를 시작합니다.
- Storage-SelectPoOps: 126 Switch는 Store 키 및 Display 키로 액세스하는 리소스 유형을 결정합니다.아키텍처에는 다음 3가지 선택사항이 정의되어 있습니다.
- 메인 스토리지
- 일반 레지스터
- 부동 소수점 레지스터
- 주소PoOps: 126 스위치는 저장소 키, 디스플레이 키 및 일부 모델에서는 IC 키 설정의 주소 또는 레지스터 번호를 지정합니다.
- 데이터PoOps: 126 스위치는 저장소 키 및 일부 모델에서는 IC 키 설정을 위한 데이터를 지정합니다.
- 저장소PoOps: 126 키는 스토리지 선택 스위치 및 주소 스위치에서 지정한 대로 데이터 스위치에 값을 저장합니다.
- DisplayPoOps: 126 Key는 Storage-Select Switch 및 Address Switch에서 지정된 값을 표시합니다.
- Set IC=PoOps: 126 는 모델에 따라 데이터 스위치 또는 주소 스위치에서 PSW의 명령 주소 부분을 설정합니다.
- 주소 비교 스위치는 비교 모드와 비교PoOps: 126 대상을 선택합니다.모든 모델에 Stop on 명령 주소 비교가 있지만 Stop on Data 주소 비교는 일부 모델에만 있습니다.
- Prefix 트리거가 Alternate 상태일 때 Alternate-Prefix LED가PoOps: 126 켜집니다.
옵션 기능
바이트 정렬 오퍼랜드
일부 모델에서는 일부 문제 상태 지침에 대한 정렬 요건이 완화되었습니다.이 기능을 끄는 메커니즘은 없으며, 해당 지침에서 프로그램 검사 유형 6(얼라인먼트)을 수신하는 것에 따라 프로그램을 수정해야 합니다.
십진법 산술
10진수 산술 기능은 패킹된 10진수 데이터에 대해 연산하는 지침을 제공합니다.패킹된 10진수에는 1~31의 10진수 뒤에 4비트 기호가 붙습니다.PACK 및 UNPACK를 제외한 모든 10진수 연산 명령은 숫자가 0-9 범위에 있지 않거나 기호가 A-9 범위에 있지 않은 경우 데이터 예외를 생성합니다.
다이렉트 컨트롤
다이렉트PoOps: 17.1 컨트롤 기능은 6개의 외부 신호선과 스토리지와의 [14]8비트 데이터 경로를 제공합니다.
부동 소수점 산술
부동소수점 연산기능은 4개의 64비트 부동소수점 레지스터와 32비트 및 64비트 부동소수점 번호로 동작하는 명령을 제공합니다.360/85 및 360/195는 128비트 확장 정밀 부동 소수점 숫자도 지원합니다.
인터벌 타이머
인터벌 타이머[2]: 17.1 기능이 인스톨 되어 있는 경우, 프로세서는 정기적으로 로케이션 80('50'X)의 워드를 줄입니다.아키텍처는 인터벌을 지정하지 않지만, 이 값을 빼는 것은 1이 비트 23에서 300회 감산된 것처럼 보이게 합니다.소형 모델에서는 AC 전원과 같은 주파수(50Hz 또는 60Hz)로 감소했지만 대형 모델에서는 고해상도 타이머 기능이 있었습니다.타이머가 제로가 되면 프로세서가 외부 인터럽트를 일으킨다.
멀티시스템 운용
멀티 시스템PoOps: 17.1–18 동작은 다이렉트 컨트롤, 다이렉트 주소 재배치(프리픽스) 등 멀티 프로세서 시스템을 지원하는 기능 세트입니다.
스토리지 보호
스토리지 보호[2]: 17-17.1 기능이 인스톨 되어 있는 경우는, 각 2,048 바이트의 스토리지 블록에 4 비트 스토리지 키가 관련지어져 있습니다.이 키는 CPU 또는 I/O채널에 의해 해당 블록의 임의의 주소에 저장될 때 체크됩니다.CPU 또는 채널키가 0이면 체크가 디세블이 됩니다.또한 0이 아닌 CPU 또는 채널키는 일치하는 키를 가진 블록에만 데이터를 저장할 수 있습니다.
Storage Protection은 장애가 있는 응용 프로그램이 운영 체제 또는 다른 응용 프로그램에 속한 스토리지에 쓰는 것을 방지하기 위해 사용되었습니다.이를 통해 생산과 함께 테스트를 수행할 수 있었습니다.키의 길이가 4비트밖에 되지 않았기 때문에 동시에 실행할 수 있는 다른 응용 프로그램의 최대 수는 15였습니다.
일부 모델에서 사용할 수 있는 추가 옵션은 가져오기 보호였습니다.이를 통해 운영 체제는 블록이 저장뿐만 아니라 가져오기로부터 보호되도록 지정할 수 있습니다.
편차와 확장
System/360 Model 20은 근본적으로 다르므로 S/360으로 간주해서는 안 됩니다.
System/360 Model 44에는 특정 명령이 누락되어 있지만 기능을 통해 숨겨진 메모리에서 누락된 명령을 시뮬레이션할 수 있으므로 표준 S/360 운영 체제 및 애플리케이션을 사용할 수 있습니다.
에뮬레이션 명령, 페이징 등 아키텍처를 확장하는 기능이 있는 모델도 있고 아키텍처에서 약간 벗어난 모델도 있습니다.예를 들어 다음과 같습니다.
- 직접 제어 기능 및 Set System Mask(SSM) 명령의 동작을 변경하는 S/[13]360-65의 멀티 시스템 기능.
- System/360 Model 67-2에서는 유사하지만 호환되지 않는 [11]변경이 있었습니다.
일부 일탈은 S/370 아키텍처 기능의 프로토타입으로 작용했습니다.
「 」를 참조해 주세요.
메모들
- ^ 최신 시스템/370의 2배 크기
- ^ 범용 레지스터 0의 사양은 레지스터 내용이 아닌 베이스 주소를 0으로 한다.
- ^ a b c S/360 아키텍처에 준거한 프로세서에서 최대 채널 번호는 6입니다.11비트는 cuu를 식별하기에 충분하고 7비트는 I/O 중단을 마스킹하기에 충분합니다.단, 2개의 2846 채널컨트롤러가 있는 360/67-2에서는 채널 번호는 0-6과 8-14로 [11]: 15 매겨집니다.마찬가지로 360/195에는 확장 채널[10]: 21 기능이 있지만 채널 번호는 0 [10]: 25 ~13입니다360/67-2의 채널 컨트롤러 1에 대한 I/O 중단은 제어 레지스터를 사용하여 마스킹되었으며, 360/195는 시스템 마스크의 비트 7(채널 6)을 채널 6 이상의 요약 마스크 비트로 사용했습니다."7개PoOps: 121.4 이상의 채널에서 중단"은 추가 채널에 대한 요약 마스킹을 설명하지만, 작동 원리의 다른 텍스트에서는 여전히 7개 채널의 제한을 나타냅니다.표준 소프트웨어 지원 채널0 ~ F
- ^ S/360의 설계는 ASCII의 개발과 동시에 이루어졌기 때문에 IBM의 ASCII 지원은 최종적으로 채택된 표준과 일치하지 않았습니다.
- ^ S/360 설명서에는 고장 또는 트랩이라는 용어가 없습니다.
- ^ a b 360/91,[12]: 15 360/95 및 360/195에서는[10]: 14 여러 가지 부정확한 예외로 인해 프로그램이 중단될 수 있습니다.오래된 프로그램 PSW의 ILC는 0, 비트 26~31은 0, 비트 16-27은 발생한 예외를 나타내는 마스크입니다.같은 예외가 여러 번 발생하는 것을 보고하는 것은 없습니다.복수의 부정확한 예외 보고는 S/360 아키텍처의 일부가 아닙니다.
- ^ a b c d 360/[11]: 17 67에는 17개의 예외가 있지만 페이지 예외와 세그먼트 예외는 S/360 아키텍처에 포함되지 않습니다.또, 360/65 멀티 프로세서의 인터럽트 코드 18(0012'X)은 S/360 아키텍처에 포함되지 않습니다.
- ^ 사양 비트는 360/195에서 부정확한 인터럽트에는 사용되지 않습니다.
- ^ a b 360/91에서는 미사용
- ^ PSW 키 0은 모든 스토리지 키와 일치합니다.
- ^ 타이머의 기한이 내부 이벤트인 경우에도 외부 인터럽트가 발생합니다.이 때문에, 통상, 이 인터럽트는 타이머/외부 인터럽트라고 불립니다.
- ^ 채널 번호의 제한 때문에 S/360 및 초기 S/370 소프트웨어는 디바이스 주소를 저장하기 위해 12비트만 사용했습니다.
- ^ 하지만 관련 없는 일을 계속하고 있다.
- ^ OS는 Unit Control Block(UCB; 유닛 제어 블록) 내의 주의 인덱스를 주의 테이블의 인덱스로 사용합니다.
- ^ 잘못된 길이 표시 억제(SILI)라고도 합니다.
- ^ 또는 동등한 자동화 설비.
- ^ 모든 수식자 비트 0으로 읽기
- ^ 7개PoOps: 121.4 이상의 채널에서 인터럽트가 발생하면 더 많은 채널을 사용할 수 있다는 점에서 불일치가 있습니다.
레퍼런스
- S360
- IBM System/360 Principles of Operation. Systems Reference Library (Eighth ed.). IBM. September 1968. A22-6821-7.
- ^ IBM (1964), IBM System/360 Principles of Operation (PDF), First Edition, A22-6821-0
- ^ a b c d e f g h i j k IBM (September 1968), IBM System/360 Principles of Operation (PDF), Eighth Edition, A22-6821-7 수정자 및 수정자
- ^ a b IBM, IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information (PDF), Fifth Edition, A22-6843-3
- ^ S360, 페이지 15, 프로그램 상태 워드.
- ^ S360, 페이지 15 – , 16, 중단.
- ^ S360, 페이지 77, 중단.
- ^ IBM Corporation (1974). IBM System/360 System Summary (PDF). p. 3-3. Retrieved July 16, 2017.
- ^ Reference Manual UNIVAC III Data Processing System (PDF), Sperry Rand Corporation, 1962, UT-2488
- ^ a b IBM (June 1968), IBM System/360 Model 85 Functional Characteristics (PDF), SECOND EDITION, A22-6916-1
- ^ a b c d e IBM (August 1970), IBM System/360 Model 195 Functional Characteristics (PDF), Second Edition, GA22-6943-1
- ^ a b c d e f IBM (February 1972), IBM System/360 Model 67 Functional Characteristics (PDF), Third Edition, GA27-2719-2
- ^ a b IBM (1968-03-18), IBM System/360 Model 91 Functional Characteristics (PDF), Third Edition, A22-6907-2
- ^ a b c d e IBM (September 1968), "Appendix A. Multiprocessing System", IBM System/360 Model 65 Functional Characteristics (PDF), Fourth Edition, pp. 30–34, A22-6884-3
- ^ IBM, IBM System/360 Direct Control and External Interrupt Features Original Equipment Manufacturers' Information (PDF), Third Edition, A22-6845-2
추가 정보
- Prasad, N.S. (1989). IBM Mainframes. McGraw-Hill. ISBN 0070506868. - 3장 (41–110페이지)에서는 System/360 아키텍처에 대해 설명합니다.
외부 링크
- IBM System/360 아키텍처 소개(학생 텍스트)