IBM 시스템 / 360 | 1964
IBM System/360(S/360)은 1964년 4월 7일 IBM에 의해 발표된 메인프레임 컴퓨터 시스템의 패밀리이다. 1965년부터 1978년까지 제공되었다. System/360은 상업적 및 과학적 응용 프로그램을 모두 포괄하도록 설계된 최초의 컴퓨터 패밀리이며, 소형에서 대형까지의 완전한 응용 프로그램 범위를 포함한다. 이 설계는 아키텍처와 구현을 구분하여 IBM이 서로 다른 가격의 호환 가능한 설계 모음을 출시할 수 있도록 하였다. 부분적으로 호환되는 Model 44와 가장 비싼 시스템을 제외한 모든 시스템은 명령어 집합을 구현하기 위해 마이크로코드를 사용하며, 8비트 바이트 주소 지정 및 고정 소수점 이진, 고정 소수점 십진수 및 16진수 부동 소수점 계산을 특징으로 한다.
System/360 패밀리는 IBM의 고체 논리 기술(SLT)을 도입하여 회로 카드에 더 많은 트랜지스터를 집적하여 더 강력하지만 더 작은 컴퓨터를 가능하게 하였다.
1964년에 발표된 가장 느린 System/360 모델인 Model 30은 최대 34,500개의 명령어를 초당 수행할 수 있으며, 메모리는 8KB에서 64KB까지 가능하다. 고성능 모델은 나중에 등장하였다. 1967년 IBM System/360 Model 91은 최대 1,660만 개의 명령어를 초당 실행할 수 있었다. 더 큰 360 모델은 최대 8MB의 주 메모리를 가질 수 있었지만, 그렇게 많은 메모리는 드물었으며, 대규모 설치는 256KB의 주 저장소를 가질 수 있었지만 512KB, 768KB 또는 1024KB가 더 일반적이었다. 일부 모델에는 최대 8메가바이트의 느린(8마이크로초) 대용량 저장소(LCS)도 제공되었다.
IBM 360은 매우 성공적이었으며, 고객이 더 작은 시스템을 구매하고 필요가 증가할 경우 애플리케이션 소프트웨어를 재프로그래밍하거나 주변 장치를 교체하지 않고도 확장할 수 있도록 하였다. 이는 컴퓨터 설계에 수년간 영향을 미쳤으며, 많은 사람들은 이를 역사상 가장 성공적인 컴퓨터 중 하나로 간주한다.
System/360의 수석 설계자는 진 암달이며, 프로젝트는 프레드 브룩스가 관리하였고, 그는 회장인 토마스 J. 왓슨 주니어에게 책임을 지고 있었다. 상업적 출시는 왓슨의 또 다른 부하인 존 R. 오펠이 주도하였으며, 그는 1964년 IBM System 360 메인프레임 패밀리의 출시를 관리하였다.
응용 프로그램 수준의 호환성(일부 제한 사항 포함)은 현재까지 System z 메인프레임 서버와 함께 유지되고 있다.
1960년대 초반, IBM은 다섯 개의 별도 컴퓨터 라인을 지원하고 업그레이드하는 부담에 어려움을 겪고 있었다. 이들은 서로 다른 시장 세그먼트를 겨냥하고 있었으며, 서로 완전히 달랐다. 회계 처리를 위해 IBM 1401과 같은 기계를 구매한 고객이 이제 IBM 7040과 같은 공학 계산을 위한 기계를 찾고 있다면, IBM을 선택할 이유가 없었다. 7040은 1401과 호환되지 않았으며, 마치 서로 다른 회사에서 온 것처럼 보였다. 고객들은 작은 성능 개선이 필요할 때마다 종종 완전히 새로운 기계와 프로그램에 대한 대규모 투자가 필요하다는 점에 불만을 느꼈다.
1961년, IBM은 1960년대의 개발을 계획하기 위해 SPREAD라는 태스크 포스를 구성하였다. SPREAD는 시스템 프로그래밍, 연구, 엔지니어링 및 개발을 의미한다. 코네티컷주 그리니치의 뉴 잉글랜더 모터 호텔에서 열린 회의에서 SPREAD는 IBM 기계의 다음 세대를 위한 새로운 개념을 개발하였다. 당시, 개별 트랜지스터를 소규모 집적 회로로 대체하는 새로운 기술과 6비트 지향 단어에서 8비트 바이트로의 전환이 시장에 등장하고 있었다. 이는 오늘날 제3세대라고 알려진 새로운 기계 세대로 이어질 것이었다.
SPREAD가 이전 개념과 크게 달랐던 점은 어떤 기능이 지원될 것인지였다. 서로 다른 시장 틈새를 겨냥한 기계 대신, 새로운 개념은 이러한 모든 설계의 결합이었다. 단일 명령어 집합 아키텍처(ISA)는 이진, 부동 소수점 및 십진수 산술, 문자열 처리, 문자 집합 간 변환(ASCII의 광범위한 사용 이전의 주요 문제) 및 파일 처리에 대한 광범위한 지원을 포함한 명령어를 포함하고 있었다.
이는 IBM이 또 다른 기계 라인을 도입하게 될 것임을 의미했으며, 다시 한 번 이전 기계와 호환되지 않을 것이었다. 그러나 새로운 시스템은 이전에 서로 다른 기계가 필요했던 모든 프로그램을 실행할 수 있을 것이었다. 고객들이 또 다른 새로운 비호환 플랫폼을 구매해야 하는 상황에 직면했을 때, 다른 공급업체를 선택할 위험이 있다는 우려가 있었다. 그럼에도 불구하고 이 개념은 꾸준히 지지를 얻었고, 결성된 지 6개월 후, 회사는 SPREAD 개념을 구현하기로 결정하였다.
새로운 팀은 밥 에반스의 지휘 아래 조직되었으며, 그는 개인적으로 CEO인 토마스 J. 왓슨 주니어에게 새로운 시스템 개발을 설득하였다. 진 암달은 컴퓨터 자체의 수석 설계자였고, 프레드 브룩스는 소프트웨어 프로젝트의 책임자였으며, 에리히 블로흐는 IBM의 하이브리드 집적 회로 설계인 고체 논리 기술 개발을 이끌었다.
모든 기능을 지원하는 단일 기계를 생산하는 것은 거의 불가능에 가까웠다. 대신, SPREAD 개념은 정의된 기능 집합과 내부 작동을 분리하는 데 기반을 두었으며, 서로 다른 성능과 내부 설계를 가진 기계의 패밀리를 구성하였다. 구체적으로, 기계에 따라 일부 명령어는 하드웨어에서 직접 지원되지 않을 수 있으며, 대신 읽기 전용 메모리에 저장된 내부 기계 전용 코드로 작성된 작은 프로그램을 사용하여 완료될 수 있다. 이는 오늘날 마이크로코드로 알려져 있다.
예를 들어, 회계용으로 설계된 모델은 십진수 수학을 하드웨어에서 직접 구현하고, 부동 소수점 명령어는 서브 프로그램으로 처리하도록 선택할 수 있다. 이렇게 하면 해당 시스템에서 부동 소수점 연산이 (상당히) 느리게 실행되지만, 중요한 것은 실행이 가능하다는 점이다. 마찬가지로, 공학 지원을 위한 시스템을 구매하는 회사는 부동 소수점 하드웨어가 있는 모델을 선택하고, 때때로 급여 처리를 위해 사용할 수 있다. 이전 설계를 사용하면 부동 소수점을 수행하는 시스템은 일반적으로 십진수 수학에 대한 지원이 없으며, 고객이 그러한 패키지를 작성하거나 다른 기계를 구매해야 했다.
이는 단일 라인업이 이전에 완전히 별도의 컴퓨터 시스템을 요구했던 가격 및 성능 틈새에 맞게 조정된 기계를 가질 수 있음을 의미했다. 이러한 유연성은 진입 장벽을 크게 낮추었다. 대부분의 다른 공급업체와 함께 고객은 자신이 성장할 수 있는 기계와 잠재적으로 너무 강력하여 비용이 너무 많이 드는 기계 사이에서 선택해야 했다. 실제로 이는 많은 회사가 컴퓨터를 구매하지 않게 만들었다. 이제 고객은 특정 요구 사항을 해결하는 기계를 구매할 수 있었고, 필요에 따라 모델을 변경할 수 있다는 것을 알고 있었다. 이미 실행 중인 프로그램에 대한 지원을 잃지 않고 말이다.
예를 들어, 회계 시스템을 구매한 회사가 이제 공학 지원으로 컴퓨터 지원을 확장하려는 경우, 이는 그들이 이미 사용하고 있는 기계에서 공학 프로그램을 개발하고 테스트할 수 있음을 의미했다. 만약 그들이 더 많은 성능이 필요하게 된다면, 부동 소수점 하드웨어가 있는 기계를 구매할 수 있었고, 다른 것은 변하지 않고 단순히 더 빨라질 것이라는 것을 알 수 있었다. 동일한 주변 장치도 사용할 수 있어, 예를 들어 공학 시스템의 데이터를 테이프에 기록한 다음 이미 회계 시스템에 연결된 고속 라인 프린터를 사용하여 인쇄할 수 있었다. 또는 두 작업을 모두 수행할 수 있는 성능을 가진 시스템으로 회계 시스템을 완전히 교체할 수도 있었다.
단일 설계가 기계가 사용될 수 있는 다양한 방법을 모두 해결할 수 있다는 아이디어는 "360"이라는 이름을 낳았다. 이는 원의 360도에 대한 참조이며, 기계와 구성 요소의 원이 IBM의 광고에서 두드러지게 나타났다.
IBM은 처음에 여섯 대의 컴퓨터와 40개의 공통 주변 장치를 발표하였다. IBM은 결국 NASA를 위한 희귀한 일회성 모델을 포함하여 14개의 모델을 제공
하였다. 가장 저렴한 모델은 Model 20로, 4096바이트의 코어 메모리, 다른 System/360 모델의 32비트 레지스터 16개 대신 16비트 레지스터 8개를 갖추고 있으며, 나머지 모델에서 사용되는 명령어 집합의 하위 집합을 포함하고 있었다.
1964년의 초기 발표에는 모델 30, 40, 50, 60, 62, 70이 포함되었다. 처음 세 모델은 IBM 1400 시리즈 시장을 겨냥한 저가에서 중간 범위 시스템이었다. 이 세 모델은 모두 1965년 중반에 배송되었다. 마지막 세 모델은 7000 시리즈 기계를 대체할 예정이었으나 배송되지 않았고, 대신 1965년 11월과 1966년 1월에 각각 처음 배송된 65와 75로 대체되었다.
저가 모델에 대한 후속 추가는 모델 20(1966, 위에서 언급됨), 22(1971), 25(1968)를 포함하였다. Model 20은 여러 하위 모델을 가지고 있었으며, 하위 모델 5는 모델의 상위 버전이었다. Model 22는 약간의 제한이 있는 재활용된 Model 30으로, 최대 메모리 구성과 느린 I/O 채널이 더 작아져 30보다 느리고 용량이 낮은 디스크 및 테이프 장치에 제한되었다.
Model 44(1966)는 과학적 컴퓨팅 및 실시간 컴퓨팅과 프로세스 제어를 위해 설계된 전문 모델로, 일부 추가 명령어를 특징으로 하며, 모든 저장소 간 명령어와 다섯 개의 복잡한 명령어가 제거되었다.
고급 기계의 연속으로는 Model 67(1966, 아래에서 언급됨, 잠시 64 및 66으로 예상됨), 85(1969), 91(1967, 92로 예상됨), 95(1968), 195(1971)가 포함되었다. 85 설계는 System/360 라인과 후속 System/370 사이의 중간 단계였으며, 370/165의 기초가 되었다. 195의 System/370 버전이 있었지만, 동적 주소 변환(DAT)은 포함되지 않았다.
구현은 상당히 달랐으며, 서로 다른 기본 데이터 경로 폭과 마이크로코드의 존재 여부에 따라 달라졌지만, 매우 호환성이 있었다. 특별히 문서화된 경우를 제외하고, 모델들은 아키텍처적으로 호환되었다. 예를 들어, 91은 과학적 컴퓨팅을 위해 설계되었으며, 비순차 명령어 실행을 제공하였고(여러 명령어가 읽히는 동안 프로그램 트랩이 발생하면 "부정확한 인터럽트"를 발생시킬 수 있음), 상업적 응용 프로그램에서 사용되는 십진수 명령어 집합은 부족하였다. 새로운 기능은 아키텍처 정의를 위반하지 않고 추가될 수 있었다: 65는 CPU 간 신호 확장을 위한 이중 프로세서 버전(M65MP)을 가졌고, 85는 캐시 메모리를 도입하였다. Model 44, 75, 91, 95 및 195는 다른 모든 모델과 달리 하드와이어 로직으로 구현되었다.
1965년 8월에 발표된 Model 67은 시간 공유를 지원하기 위해 동적 주소 변환(가상 메모리) 하드웨어를 제공한 최초의 생산 IBM 시스템이었다. "DAT"는 현재 MMU로 더 일반적으로 알려져 있다. 실험적인 일회성 장치가 모델 40을 기반으로 제작되었다. 67 이전에 IBM은 60 및 62의 DAT 버전인 모델 64 및 66을 발표하였으나, 거의 즉시 67로 대체되었고, 60 및 62는 65로 대체되었다. DAT 하드웨어는 1972년 S/370 시리즈에서 다시 등장하였지만, 처음에는 시리즈에서 누락되었다. 65와 밀접한 관계를 가진 67도 이중 CPU를 제공하였다.
IBM은 1977년 말까지 모든 System/360 모델의 마케팅을 중단하였다.

