IBM 시스템/3

IBM System/3
IBM 시스템/3
IBM System/3 모델 10 in Museo Nazionale della Scienza e della Tecnologia, 밀라노
유형미드레인지 컴퓨터
출고일자1969; 54년전 (1969)
소개가격$1,000/월 리스 가능
단종1985년; 38년전 (1985년)
기억4,096바이트
선대IBM 1400 시리즈;
IBM 시스템/360 보급형 모델(20, 25, 30)
후계자IBM 시스템/32,
IBM 시스템/34
언어IBM RPG II

IBM 시스템/3(IBM System/3)은 [1]1969년에 출시된 IBM 미드레인지 컴퓨터로 1985년까지 출시되었습니다.미네소타의 IBM Rochester에서 IBM 1400 시리즈 컴퓨터 또는 장치 기록 장비를 여전히 사용하는 소규모 조직을 대상으로 하는 보급형 비즈니스[2] 컴퓨터로 제작되었습니다.IBM이 "미드레인지" 라인의 첫 번째 멤버로 언급한 RPG II 프로그래밍 언어도 소개했습니다.현재 버전이 IBM i 시리즈제품군의 첫 번째 모델이며 매우 성공적인 AS/400을 포함하고 있습니다.

역사

시스템/3 프로세싱 유닛 및 5496 키펀치

1969년 출시 당시 IBM 시스템/360 모델 [3]20의 절반도 안 되는 가격으로 월 1000달러에 구입할 수 있었습니다. IBM System/360 제품군 중 가장 작은 제품입니다.

기존의 시스템/3 모델 10대 중 상당수는 디스크가 없는 상태로 출고되었으며, 새로 출시된 IBM 5424 다기능 카드 유닛(MFCU)만 이와 동시에 새로 출시된 96열 천공 카드를 읽고 천공하고 인쇄하여 정렬했습니다.

IBM은 다음과 같은 모델을 제공했습니다.

  • 1969 — IBM 5410 또는 System/3 Model 10 도입(1970년 출고)
  • 1970 — IBM 5406 또는 System/3 Model 6 도입(디스크 중심 시스템)[4][5]
  • 1973 — IBM 5415 또는 시스템/3 모델 15 도입
  • 1974 — IBM 5408 또는 시스템/3 모델 8 도입
  • 1975 — IBM 5412 또는 시스템/3 모델 12 도입[2]
  • 1976 — IBM 5404 또는 시스템/3 모델 4 도입

시스템/3 및 후속 모델인 시스템/32, 시스템/34, 시스템/36시스템/38일반적으로 IBM 용어에서 IBM의 메인프레임과는 대조적으로 "미드레인지 시스템"[6]이라고 불립니다.

철물

96칸 천공 카드
IBM 5496 Data Recorder, 96자 카드를 위한 키 펀치
시스템/3 천공 카드와 함께 사용되는 IBM 5486 카드 분류기

IBM System/3은 처음에 다음과 같이 구성된 컴퓨터 시스템으로 발표되었습니다.

  • IBM 5410 모델 10 중앙 처리 장치
  • IBM 5424 MFCU(Multi Functional Card Unit)
  • IBM 5203 라인 프린터
  • IBM 5444 Disk 스토리지(옵션)
  • IBM 5471 프린터 키보드
  • IBM 5475 데이터 엔트리 키보드
  • IBM 5496 Data Recorder, 인쇄 및 검증 기능을 갖춘 키 펀치 기계
  • IBM 5486 카드 분류기

기억

엔트리 모델의 마그네틱 코어 메모리는 4K(4096)바이트에 불과했습니다.

직접 액세스 스토리지

대용량 저장을 위해 System/3은 대략 큰 피자 크기의 IBM 5444 싱글 플래터 [8]디스크를 사용했습니다. 처음에는 각 플래터에 2.5 MB의 데이터가 저장되었습니다.스토리지를 위한 표준 구성은 하나 또는 두 개의 고정 디스크였으며, 각각은 별도의 풀-아웃 서랍에 들어 있었으며, 일반적으로 운영 체제와 사용자가 개발한 프로그램을 보관할 수 있었습니다.또한 각 고정 디스크에는 이동식 카트리지 디스크가 연결되어 있을 수 있는데, 이러한 디스크에는 일반적으로 Payroll과 같은 다양한 응용 프로그램과 관련된 데이터 파일이 포함되어 있으며, 사용자는 종종 여러 개의 카트리지 디스크를 가지고 있었습니다.따라서 로우엔드 시스템은 최대 10MB의 온라인 스토리지(고정형 2개, 제거형 2개)를 지원할 수 있었지만 실제로는 이 비용이 매우 비싸고 일반적이지 않았습니다.

System/3은 IBM 5445 디스크 드라이브(20mb)와 함께 사용할 수 있었으며, 이후 모델 15에서는 "윈체스터" 스타일의 3340 드라이브를 사용할 수 있었습니다.소형 모델의 경우 5445개의 드라이브를 부착할 수 있었지만 운영 체제 및 기타 프로그래밍 라이브러리용으로 5444를 보관해야 했지만, 이 제한은 5445개의 드라이브가 5444의 드라이브를 완전히 대체할 수 있도록 한 elimn8이라는 소프트웨어로 변경되었습니다.Memorex와 같은 다른 회사들은 System/3에 호환되는 5445 드라이브를 제조했습니다.

다기능 카드 유닛

가장 일반적인 천공 카드 장치는 IBM 5424 다기능 카드 유닛(MFCU)으로, 96열의 천공 카드를 읽고 천공하고 인쇄하여 정렬했습니다.고전적인 80칸짜리 IBM 카드의 직사각형 펀치 대신, 이 새로운 카드들은 종이 테이프와 매우 비슷한 원형의 구멍인 작은 (1mm) 구멍을 가지고 있었습니다.데이터는 각각 32자로 구성된 3개의 행이 있는 6비트 이진 코드 10진수 코드로 저장되거나 8비트 EBCDIC로 저장되며 두 개의 추가 구멍이 맨 위 행에 위치합니다.이 새로운 카드는 각각 32자씩 네 줄로 128개의 인쇄된 글자를 넣을 공간이 있었습니다.기존 80개 칼럼 카드의 약 1/3 크기였지만 20% 더 많은 텍스트 데이터를 보유하고 있었습니다.더 작고, 따라서 더 가벼운 카드는 더 빠른 장비와 적은 걸림으로 처리할 수 있습니다.

80열 카드를 처리하는 RPQ(특수 주문 장비)로 사용할 수 있었습니다. 읽기, 펀치, 해석 및 정렬이 가능한 IBM 2560 다기능 카드 머신(MFCM)과 읽기 및 펀치만 가능한 IBM 1442가 있었습니다.

마그네틱 테이프

오프라인 스토리지는 표준 IBM 9트랙 테이프를 읽고 쓰는 외장 테이프 드라이브를 구입할 때 사용할 수 있었습니다.

System/3 Mod 10에는 IBM 3410 마그네틱 테이프 서브시스템(옵션)이 포함되어 있었습니다.

오퍼레이터 콘솔 설비

시스템/3 운영자 콘솔 설비(OCF)는 컴퓨터에 연결된 수정된 IBM Selectric 타자기 또는 특수 용도의 IBM 3270 디스플레이로 구성되었습니다.OCF 내에서는 파티션(P1 또는 P2)을 포함하여 실행 중인 프로세스 및/또는 작업을 '취소'할 수 있는 기능이 있었습니다.시스템은 모델 15 또는 통신 제어 프로그램인 CCP를 실행하는 시스템을 제외하고 두 개의 프로그램만 동시에 실행할 수 있었습니다.CCP는 단말기의 온라인 네트워크를 지원하는 시스템 제어 프로그래밍 기능이었습니다.

프린터

시스템/3용 IBM 5203 프린터

더 작은 (IBM 5203) 프린터가 메인 시스템에 부착되었습니다.5203은 카트리지 교환이 가능한 체인 프린터였습니다.모델에 [9]따라 분당 100회선 또는 200회선으로 운행할 수 있습니다.이후 IBM은 IBM 1401 컴퓨터를 위해 제작된 기존 IBM 1403 프린터 라인의 여러 모델을 제공했습니다.

플로피 디스크

IBM 3740 데이터 입력 시스템의 등장과 함께 System/3 Model 10은 LCA(local communication adaptor)라는 기능을 갖게 되었고, 이를 통해 IBM 3741 스테이션이 시스템에 연결되어 데이터를 송수신할 수 있게 되었습니다.모델 8과 같은 시스템/3의 이후 모델들은 카드가 없었고 8" 3740 스타일의 플로피 디스크를 사용했습니다.

명령어세트

명령어 세트는 제품의 두 가지 주요 측면인 메인 메모리의 제한된 가용성과 RPG II 프로그래밍 언어에 최적화되었습니다.원래 S/3(모델 10과 6, 8, 12)의 명령어는 29개였으며 모두 3~6바이트(24~48비트)를 차지했습니다.

처음 4비트는 많은 정보를 전달했습니다. "1111"은 이것이 명령이라고 알려진 피연산자가 없는 명령이라는 것을 의미했습니다. 예를 들어 Start I/O(이전에 로드된 I/O 레지스터에 의해 정의된 I/O op)."11xx"와 "xx11"은 Branch와 같은 1-operand 명령을 의미했습니다.xx가 00인 경우 피연산자는 전체 16비트 주소로 주소를 지정했습니다.xx=01 또는 10은 각각 인덱스 레지스터 1 또는 2를 사용하여 기본 평가 주소를 사용했음을 의미합니다.이전에는 기본 주소가 두 인덱스 레지스터 중 하나에 로드되었으며 명령어에는 최대 256바이트(주소 지정 8비트)의 변위만 포함되어 있었습니다.

이 첫 번째 절반 바이트의 다른 패턴은 2-operand 명령을 나타냈습니다."0000"은 두 피연산자 모두 16비트 직접 주소로 주소가 지정되었음을 의미했습니다."0100": 피연산자 1은 reg 1을 기본으로 사용하고, 피연산자 2는 직접 어드레싱을 사용합니다."0110": 피연산자 1은 reg 1을 기본으로 사용하고, 피연산자 2는 reg 2를 사용합니다.뭐 이런 거.

첫 번째 바이트의 나머지 4비트는 명령어를 더 정의했습니다.이 구조는 16개의 명령어(전체 제품군에서 5개 이상의 명령어는 없었음에도 불구하고), 11xxx로 시작하는 16개의 1-오퍼 및 명령어, xx11로 시작하는 16개의 1-오퍼 및 명령어, 16개의 2-오퍼 및 명령어를 모두 64개의 작업을 수행할 수 있음을 의미했습니다.

이미 언급된 두 개의 인덱스 레지스터(1과 2 또는 이진 01과 10으로 표시됨)뿐만 아니라 다른 레지스터도 있었습니다."Reg 4"(0100)는 현재 명령어를 가리키는 명령어 주소 레지스터(IAR)였습니다."Reg 8"(1000)은 특정 명령에 의해 설정된 주소 리콜 레지스터(ARR)였습니다.이 중 조건부 분기(nemonic BC)는 분기 연산 직후 바이트를 가리키기 위해 이를 사용했습니다.IBM 메인프레임 동작에 익숙한 프로그래머의 경우, 이는 S/3 분기 동작이 조건부 BALR(브랜치 및 링크 레지스터)에 비유될 수 있음을 의미했습니다. 이는 서브루틴으로 분기할 때 매우 유용하고 처리가 완료된 후 복귀할 때 매우 유용합니다.마지막으로 "Reg 16"(00010000)은 프로그램 상태 레지스터(PSR)로서 비교 명령의 결과와 같은 것을 보유하고 있었습니다.레지스터는 주소 지정 및 프로그램 상태에만 사용되었으며 산술에는 사용되지 않았습니다.

29개의 명령어 중에서 제공된 산술 명령어는 이진 덧셈/감산(주소 조작에 도움이 되도록 제공됨)과 십진 덧셈/감산이었습니다.곱셈과 나눗셈은 표준 하드웨어에서 제공되지 않았으며 소프트웨어 루틴에서 처리해야 했습니다.부동 소수점 제공은 전혀 없었습니다.이 모든 것은 나중에 일반적으로 더 정교한 Systems/34 및 36에서도 계속 사실로 유지되었습니다.

시스템/3 모델 15와 시스템/34 및/36으로 인해 위의 모든 것이 더욱 복잡해졌습니다.여전히 16비트 주소 지정을 사용하고 있지만 이 모든 시스템은 64K 이상의 메인 스토리지(최대 512K, 이론적으로는 그 이상)를 지원할 수 있으므로 주소 변환을 사용하여 한 64K 주소 공간에서 다른 주소 공간으로 전환했습니다.주소 변환 레지스터는 한 번에 사용 중인 실제 주소 공간을 정의하도록 설정되었으며, 해당 내용은 실제 주소를 생성하기 위해 프로그램에서 사용하는 16비트 주소와 연결됩니다.이러한 "ATR"은 운영 체제에서만 사용할 수 있는 특권이었습니다.

원래의 S/3 모델 10(그리고 그 이후의 모델 12)은 듀얼 프로그램 피처(Dual Program Feature)라고 불리는 선택적인 조잡한 형태의 멀티 프로그래밍을 가지고 있었습니다.이것은 더 이상 주 메모리 주소 지정을 제공하지 않고, 한 "프로그램 수준"에서 다른 "프로그램 수준"으로 전환되는 두 세트의 레지스터와 명령을 제공했습니다.I/O를 시작할 때 뒤집히도록 표준 I/O 명령도 수정되었습니다.

지금까지 여기서는 명령어의 첫 번째 바이트만 설명했습니다.다음("Q") 바이트는 일반적으로 이동 문자 op에서 이동할 바이트 수나 분기에서 테스트할 조건을 지정하는 등 한정자였습니다.몇 가지 명령어는 1바이트 "즉시" 피연산자에 이 바이트를 사용했습니다.나머지 바이트는 피연산자에 대한 변위 또는 주소 또는 일부 명령에 대한 세부 정보에 대한 것이었습니다.

예: 간단한 명령, 조건부 점프, 조건부 분기(forward only, 최대 256 바이트)는 주로 짧은 코드 블록을 점프하는 데 적합합니다.Op code byte= F2 (이것은 16진수, 16진수 F는 이진수 1111, 16진수 2(0010)는 op를 정의함); Q byte= 00000001은 조건 레지스터에 "선택" 비트가 있으면 "선택"하도록 지정합니다. Operand= 00011000: 조건이 충족되면 앞으로 24바이트를 점프합니다.

표시기는 프로그램 흐름을 제어하기 위해 사용되는 이진 스위치였습니다.프로그래머는 이 중 100개 이상을 이용할 수 있었습니다.위에서 설명한 명령어 형식을 사용하면 많은 지시자 중심 연산을 단 3바이트로 맞출 수 있습니다.예를 들어, RPG 라인은 "On"에 대한 지시자를 테스트할 수 있습니다: "Test Bits On" op의 경우 3바이트, 점프의 경우 3바이트, 앞서 설명한 바와 같이 RPG 컴파일러에 유용합니다.64K만 가지고 놀 수 있을 때 홀수 바이트를 여기저기에 저장하는 것이 좋습니다. S/3 자체에는 운영 체제("통신 제어 프로그램", CCP가 도입되면서 모델 10에서 약 20K로 증가)가 포함되어야 했습니다.

조작 제어 언어

조작 제어 언어(OCL)라고 불리는 간단한 작업 제어 언어는 표면적으로 작업 제어 언어(JCL)와 유사했습니다.

작업자 제어 명령

OCC(operator control commands)는 시스템과 통신하기 위해 사용되었습니다.

언어들

시스템/3은 RPG II, 포트란 IV, 코볼,[10] 어셈블러지원했습니다.

RPG II 컴파일러

시스템/3은 RPG II 컴파일러와 함께 표준으로 제공되었습니다.RPG II 컴파일러는 카드 전용 시스템에서 2단계로 제공되었습니다.첫 번째 단계는 MFCU의 한 입력 호퍼에서 부팅되고 소스는 컴파일러를 따라 읽힙니다.중간 양식이 카드에 펀치되었고, 그 다음 컴파일러의 두 번째 단계에서 읽혔습니다.그런 다음 실행 가능한 프로그램 데크가 천공되었습니다.그런 다음, 이 실행 파일을 부팅("IPL'ed", "초기 프로그램 로드"의 경우)하여 원하는 처리를 수행할 수 있습니다.이 과정은 상당한 규모의 프로그램에 한 시간 이상 소요될 수 있습니다.

시스템/3의 문제점

System/3은 일단 실행을 시작하면 프로세스를 중단할 수 있는 규정이 없었습니다.예를 들어, 맨 처음 페이지의 오류로 인해 컴파일이 실패한 경우, 사용자는 전체를 인쇄하기 위해 때때로 볼륨이 큰 컴파일 목록을 기다려야 했습니다.사용자는 프린터 아래로 손을 뻗어 용지 배출 슈트를 밀치는 법을 배웠으며, 이로 인해 "P3"(프린터 오류)가 표시되어 기계가 정지하게 됩니다.그런 다음 사용자는 응답 코드 FF를 눌러 실행을 중단할 수 있습니다.이를 막는 또 다른 방법은 단순히 콘솔의 녹색 "시작" 버튼을 눌러 시스템을 재부팅시키는 것이었습니다.

오류 코드는 두 자리 숫자의 7 세그먼트 디스플레이에 표시되었습니다(처음 보는 것 중 하나이며 LED가 아닌 램프로 제작되었습니다).오류 코드의 범위에는 십진법과 십육진법 숫자(7개의 세그먼트 디스플레이가 일반적으로 사용됨)뿐만 아니라 다른 문자의 제한된 집합도 포함되어 있었습니다. 예를 들어 "P3"는 여러 프린터 오류 코드 중 하나였습니다.시스템/3과 함께 제공된 두꺼운 설명서는 작업자가 오류 코드를 해석하고 복구 절차를 제안하는 데 도움이 되었습니다.시스템/3에는 경고음 장치가 없었기 때문에, 인쇄하지 않거나 카드를 읽거나 다른 명백한 활동을 유발하는 프로그램은 중단될 수 있으며, 작업자는 상태 디스플레이를 우연히 보지 않는 한 이를 알 수 없습니다.듀얼 프로그램 기능이 적용된 모델에는 두 개의 별도 상태 표시가 있었습니다.

대부분/많은 사용자가 콘솔을 구입하지 않았습니다.대신 OCL 코드는 전체적으로 억제되거나 5203 프린터에 인쇄되었습니다.IBM이 제공하는 콘솔은 기본적으로 선택 타자기였기 때문에 OCL 명령어를 인쇄할 때 프로그램 실행 속도가 크게 떨어졌습니다.

주먹으로 때린 카드를 콘솔에 넣어두는 개념은 마케팅 전략이었습니다.실제로 시스템/3은 컴퓨터와 키펀치가 동시에 될 수 없었기 때문에 키펀치일 때는 컴퓨팅이 불가능했습니다.1969년 7월에 출시된 IBM System/3은 키펀치 콘솔을 갖추고 있어 월 2,000달러 이하의 가격으로 컴퓨터를 제공할 수 있었습니다.실제로는 작동할 수 없었고 사용자는 거의 예외 없이 독립 실행형 키펀치/검증기를 구입했습니다.

나중에 여러 OEM 회사에서 96개의 열 키 펀치, 정렬기 및 콜레이터를 제작했습니다.이것은 MFCU에서 '무거운 리프팅'을 제거하고 실제 컴퓨팅 기능을 위한 시스템/3을 해방시켰습니다.

대부분의 경험이 많은 System/3 사용자들은 MFCU가 시스템 병목 현상을 일으켰기 때문에 MFCU의 사용을 가능한 한 최소화하였습니다.

에뮬레이션

이후의 시스템/32, IBM 시스템/34, IBM 시스템/36은 모두 에뮬레이션을 통해 시스템/3 응용 프로그램을 실행할 수 있었습니다.

시스템/32는 16비트 마이크로코드 워드를 가진 수직 마이크로코드 프로세서를 사용하였으며, 이는 시스템/3 명령어 세트를 마이크로코드로 천천히 에뮬레이트하였습니다.System/34와 System/36은 모두 두 개의 프로세서를 가지고 있었는데, 대부분의 슈퍼바이저 및 입출력 작업을 처리하는 System/32와 같은 CSP(Control Storage Processor)와 MSP(Main Storage Processor)가 있었습니다.이 후자는 System/3 모델 15 프로세서를 재구현한 것으로, System/3의 "하드웨어 에뮬레이션"을 효과적으로 제공합니다.

참고 항목

참고문헌

  1. ^ 오리지널 시스템/3 제품 공지
  2. ^ a b "New Computer, Model 12, is Announced by I.B.M." The New York Times. July 8, 1975.
  3. ^ "IBM system/3". IBM Archives. IBM. 23 January 2003. Retrieved March 26, 2019.
  4. ^ G520-2370-0 IBM System/3 Model 6. October 1970.
  5. ^ William D. Smith (October 29, 1970). "I.B.M. Unveils 2 New Computers". The New York Times.
  6. ^ (나머지 업계에서는 미니 컴퓨터라고 말할 것입니다.
  7. ^ IBM 현장 엔지니어링 발표: IBM System/3
  8. ^ 시스템/3, IBM 엔지니어링 발표
  9. ^ Pugh, Emerson (1991). IBM's 360 and Early 370 Systems. MIT Press. p. 449.
  10. ^ G360-0002-0 IBM System/3 Model 8. IBM. September 1974.

추가열람

  • 찰리 마소글리아(Charlie Massoglia)의 "당신이 항상 알고 싶어했던 시스템/3 But Nobody Tell You"
  • Charlie Massoglia의 "프로그래밍 언어로서의 시스템/3 디스크 정렬"
  • Solomon Martin Bernard 1972, ISBN 0-13-881698-0, "System/3 Programming RPG II"
  • Jerome T의 "컴퓨팅 입문: IBM System/3"머레이, 1971, ISBN 0-04-510037-3
  • F. R. Crawford, 1973, ISBN 0-13-107698-1, "Punched card data processing and system/3 Model 10"

외부 링크