z/아키텍처
z/Architecture디자이너 | IBM |
---|---|
비트 | 64비트 |
소개했다 | 전 |
버전 | ARCHLVL 2 및 ARCHLVL 3 (2008) |
설계. | CISC |
유형 | [Register] : [Register 레지스터 - 메모리 메모리 - 메모리 |
부호화 | 변수(2, 4 또는 6바이트 길이) |
분기 | 상태 코드, 인덱싱, 카운트 |
엔디안니스 | 큰. |
전임자 | ESA/390 |
레지스터 | |
범용 | 16 x 64 비트 |
부동 소수점 | 16 x 64 비트 |
벡터 | 32 x 128 비트 |
IBM 메인프레임의 역사, 1952년 ~ 현재 |
---|
시장명 |
아키텍처 |
처음에는 ESA Modal Extensions(ESA Modal Extensions, ESAME)로 불리던 z/Architecture는 IBM의 64비트 복합 명령 집합 컴퓨터(CISC) 명령 집합 아키텍처로, 메인프레임 컴퓨터에 의해 구현됩니다.IBM은 2000년 [1]말에 최초의 z/Architecture 기반 시스템인 z900을 발표했습니다.이후의 z/Architecture 시스템에는 IBM z800, z990, z890, System z9, System z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, z14 및 z15가 포함됩니다.
z/Architecture는 32비트 데이터/31비트 주소 지정 아키텍처 ESA/390 및 32비트 데이터/24비트 주소 지정 시스템/360 이전 아키텍처와의 하위 호환성을 유지합니다.IBM z13은 ESA/390 아키텍처 [2]모드에서 운영 체제를 실행할 수 있는 마지막 z 시스템 서버입니다.단, 원래 ESA/390 아키텍처에서 실행되도록 작성된 24비트 및 31비트 문제 상태 응용 프로그램은 모두 이 변경의 영향을 받지 않습니다.
64비트 주소 공간이라고 하는 각 z/OS 주소 공간의 크기는 16엑사바이트입니다.
코드(또는 혼합) 공간
z[citation needed]/OS를 포함한 z/아키텍처의 대부분의 운영 체제는 일반적으로 아키텍처 제한이 아닌 효율성과 호환성을 이유로 각 가상 주소 공간의 처음 2GB(31개의 주소 비트 또는31 2개의 주소 가능 바이트)로 코드 실행을 제한합니다.Java 프로그래밍 언어의 z/OS 구현은 예외입니다.z/OS 가상 메모리 구현은 여러 개의 2GB 주소 공간을 지원하므로 동시에 2GB 이상의 프로그램 코드를 사용할 수 있습니다.IBM Z 위의 Linux 64비트 버전에서는 코드를 64비트 주소 범위 내에서 실행할 수 있습니다.
데이터 전용 공간
대량의 데이터를 저장해야 하는 프로그래머의 경우 일반적으로 64비트 주소 공간이 [citation needed]충분합니다.
데이터스페이스 및 힙스페이스
16 엑사바이트 이상의 데이터 주소 공간이 필요한 애플리케이션에서는 추가 주소 공간 또는 데이터 전용 공간을 사용하여 확장 주소 지정 기술을 사용할 수 있습니다.사용자 프로그램에 사용할 수 있는 데이터 전용 공간은 다음과 같습니다.
이러한 공간은 모두 프로그램이 생성할 수 있는 가상 스토리지 영역이며 최대 2기가바이트까지 사용할 수 있다는 점에서 유사합니다.주소 공간과 달리 데이터 공간 또는 힙스페이스에는 사용자 데이터만 포함되며 시스템 제어 블록이나 공통 영역은 포함되지 않습니다.프로그램 코드는 데이터 공간 또는 [7]힙스페이스에서 실행할 수 없습니다.
데이터 공간은 데이터 공간은 바이트 주소 지정이 가능한 반면 힙스페이스는 페이지 주소 지정이 가능하다는 점에서 힙스페이스와 다릅니다.
IBM 메인프레임 확장 스토리지
전통적으로 IBM 메인프레임 메모리는 바이트 주소 지정이 가능했습니다.이러한 종류의 메모리를 「중앙 스토리지」라고 부릅니다.1980년대와 1990년대 대부분의 IBM 메인프레임 프로세서는 확장 스토리지라는 또 다른 종류의 메모리를 지원했습니다.
확장 스토리지는 4KB 페이지의 주소 지정이 가능합니다.응용 프로그램이 확장 스토리지의 데이터에 액세스하려면 먼저 중앙 스토리지로 이동해야 합니다.마찬가지로 중앙 스토리지에서 확장 스토리지로의 데이터 이동은 4KB 페이지의 여러 개로 이루어집니다.처음에는 비교적 비싼 명령을 사용하여 하위 시스템 코드를 페이징하여 페이지 이동을 수행했습니다.
페이지 이동(Move Page) 명령과 ADMF(Asynchronous Data Mover Facility) 기능을 도입하여 중앙 스토리지와 확장 스토리지 간에 단일 페이지 및 페이지 그룹을 이동하는 데 드는 오버헤드를 줄였습니다.
MVPG 명령과 ADMF는 일반적으로 z/OS 또는 z/VM(및 ACP)의 미들웨어에 의해 명시적으로 호출됩니다.확장 스토리지의 데이터에 액세스 할 수 있습니다.다음과 같은 용도가 있습니다.
- MVPG는 VSAM Local Shared Resources(LSR) 버퍼 풀 관리에 의해 확장 스토리지의 힙스페이스 버퍼에 액세스하기 위해 사용됩니다.
- IBM DB2는 MVPG와 ADMF를 모두 사용하여 하이퍼풀에 액세스합니다.하이퍼풀은 힙스페이스에 있는 버퍼 풀의 일부입니다.
- VM 미니디스크 캐시
1990년대 중반까지 Central 스토리지와 Expanded Storage는 프로세서의 메모리 영역이 물리적으로 달랐습니다.1990년대 중반 이후 Central 스토리지와 Expanded Storage는 기본 프로세서 메모리의 할당 선택일 뿐입니다.이러한 선택은 특정 예상 용도에 기초하여 이루어졌다.예를 들어 확장 스토리지는 하이퍼배치 기능(MVPG 명령을 사용하여 힙스페이스에 액세스함)에 필요합니다.
위에서 언급한 힙스페이스 및 페이징 케이스 외에도 다음과 같은 확장 스토리지의 다른 용도가 있습니다.
- 가상 I/O(VIO)에서 확장 스토리지로의 임시 데이터 세트를 확장 스토리지의 시뮬레이션 장치에 저장.(이 기능은 Central Storage의 VIO로 대체되었습니다.)
- VM 미니디스크 캐시
z/OS는 확장 스토리지에 대한 지원을 제거했습니다.z/OS의 모든 메모리는 이제 중앙 스토리지입니다. z/VM 6.4는 확장 스토리지의 모든 사용에 대한 지원을 중단하는 방향 설명 기능을 제공합니다.
MVPG 및 ADMF
MVP
IBM은 MVPG에 대해 "한 페이지를 이동하며 중앙 프로세서는 페이지 이동이 완료될 [8]때까지 다른 명령을 실행할 수 없습니다."라고 설명했습니다.
MVPG 메인프레임[9] 명령어(MoVe PaGe, opcode X'B254')는 MVL(MoVe Character Long) 명령어와 비교되었으며, 두 명령어 모두 하나의 명령어로 메인 메모리 내에서 256바이트 이상을 이동할 수 있습니다.이러한 명령어는 원자성의 정의에 준거하고 있지 않습니다.단, 문서화된 타이밍 및 비오버랩 [10]: Note 8, page 7–27 [11]제한 내에서 단일 명령으로 사용할 수 있습니다.
메인 메모리 내에서 256바이트 이상을 이동해야 하는 필요성은 역사적으로 소프트웨어(MVC 루프), 1970년 System/370 발표와 함께 도입된 MVCL [13]및 1989년 IBM에 의해 특허 및 발표된 MVPG를[14] 통해[12] [15]해결되었습니다.
ADMF
1992년 도입된 ADMF(Asynchronous Data Mover Facility)는 [16]1페이지로 제한되는 MVPG(Move Page) 명령의 기능을 넘어 중앙 스토리지와 확장 스토리지 간에 페이지 그룹을 이동할 수 있다.
IOSADMF라는 이름의 매크로 명령은 "ADMF의 [17]직접적이고 낮은 수준의 사용"을 회피하는 API로 설명되며 힙스페이스에서 [18]데이터를 읽거나 쓸 때 사용할[NB 1] 수 있습니다.힙스페이스는 DSPSERV CREATE를 사용하여 생성됩니다.
재진입 기능을 제공하기 위해 IOSADMF는 "List form" 및 "Execute form"[19]과 함께 사용됩니다.
z/아키텍처 운영 체제
z/VSE 버전 4, z/TPF 버전 1 및 z/VM 버전 5 운영 체제에는 z/아키텍처가 필요합니다.
z/Architecture는 서로 다른 주소 크기를 사용하는 경우에도 여러 운영 체제와 애플리케이션을 동시에 실행할 수 있도록 지원합니다.이를 통해 소프트웨어 개발자는 애플리케이션 및 데이터 구조에 가장 유리한 주소 크기를 선택할 수 있습니다.
2009년 7월 7일, IBM은 자사의 운영 체제 중 하나의 새 버전을 발표하면서 아키텍처 레벨 세트 4(ALS 4)가 존재하며 시스템 z10 및 후속 [20][21]시스템에 구현된다고 암시했습니다.또한 LOADxx에서는 ALS 4가 ARCHLVL 3으로 지정되어 있는 반면, 이전의 z900, z800, z990, z890, System z9는 ARCHLVL 2로 지정되어 있습니다.System z10의 이전 발표에서는 50개 이상의 새로운 기계 명령, 1MB 페이지 프레임 및 10진수 하드웨어(HD)[22][23]를 추가해 z/아키텍처를 구현하도록 명시되어 있었습니다.
비IBM 실장
Platform Solutions Inc.(PSI)는 이전에 z/Architecture와 호환되는 Itanium 기반 서버를 판매했습니다.IBM은 2008년 7월에 PSI를 인수하여 PSI 시스템을 더 이상 사용할 [24]수 없습니다.FLEX-ES, zPDT 및 헤라클레스 에뮬레이터도 z/아키텍처를 구현합니다.새로운 VOS3 운영체제 릴리스를 실행하는 Hitachi 메인프레임에는 ESA/390과 Hitachi 고유의 CPU 명령(64비트 명령 포함)이 실장되어 있습니다.Hitachi는 2002년에 도입된 z900-G2/z800 CPU에 대해 IBM과 공식적으로 협력했지만, Hitachi의 시스템은 z/아키텍처와 호환되지 않습니다.
메모들
- ^ AREAD - 힙스페이스에서 프로그램의 기본 주소 공간으로 데이터를 전송합니다.
레퍼런스
- ^ wayback Machine, IBM Journal of Research and Development, 2002에서 아카이브된 z/Architecture의 개발 및 특성.
- ^ "Accommodate functions for the z13 server to be discontinued on future servers". IBM. 25 June 2015. Archived from the original on 2017-09-15. Retrieved 2017-09-18.
- ^ Hoskins, Jim; Frank, Bob (2002). Exploring IBM Eserver Zseries and S/390 Servers. Maximum Press. p. 26. ISBN 1885068913. Archived from the original on 2021-04-27. Retrieved 2017-10-19.
VM Data Spaces architecture is standard on all System/390 processors.
- ^ "CA Defends VSE Policy". InformationWeek. October 21, 1991. p. 15.
Computer Associates International is now providing data space technology to VSE/ESA or System/370 users.
- ^ "Analyzing data in memory". IBM.
- ^ Hemanth Nandas (October 15, 2007). "What is hiperspace? Which was the first OS to support hiperspace?". Newsgroup: ibmmainframes.com. Archived from the original on February 2, 2017. Retrieved January 25, 2017. 고성능 공간 또는 "고성능 데이터 공간" (저자 Anuj Dhawan, 같은 날짜)
- ^ "CheatSheet #54 zTidBits z/OS Extended Addressing" (PDF). Retrieved 2022-07-17.
- ^ US 5442802 비동기 코프로세서 데이터 이동 방법 및 방법
- ^ "HLASM - MVPG = MoVe PaGe". Archived from the original on 2013-10-06. Retrieved 2017-01-24.
- ^ 길게 이동, 주 8."GA22-7000-10, IBM System/370, Principles of Operation" (PDF). Archived (PDF) from the original on 2021-04-11. Retrieved 2021-10-11.
- ^ "모든 것은 즉시 이루어지며, 명령이 반쯤 흐트러지거나 다른 명령이 뿌려질 가능성은 없습니다.특히 작업을 "Atomic from FOLDOC".중단할 수 없다는 것을 전달하기 위해 사용됩니다."
- ^ "$MVCL – Move more than 256 bytes of storage". IBM. 20 September 2014. Archived from the original on 2 February 2017. Retrieved 24 January 2017.
- ^ "Move Long". Archived from the original on 2017-04-27. Retrieved 2017-01-24.
- ^ US 5237668 비특권 명령으로 가상 주소 지정을 사용하여 여러 미디어 간 또는 여러 미디어 간 데이터 페이지 복사를 제어하는 프로세스
- ^ "MVPG faster than MVCL for aligned pages?". IBM-MAIN (Mailing list). Archived from the original on 2011-01-22. Retrieved 2017-01-24.
- ^ IBM의 특허 EP0549924A1은 MVPG를 "단일 페이지를 움직인다"고 설명합니다.
- ^ "admf". IBM-MAIN (Mailing list). Archived from the original on 2011-01-22. Retrieved 2017-01-24.
- ^ z/OS MVS 프로그래밍: 확장 주소 지정 가이드 - SA23-1394-00
- ^ "IOSADMF — Transfer hiperspace data". IBM. 7 February 2015. Archived from the original on 2 February 2017. Retrieved 24 January 2017.
- ^ 미리 보기: IBM z/VM V6.1 - 미래 가상화 성장을 위한 기반 2009년 7월 7일자로 Wayback Machine, IBM 미국 소프트웨어 공지 209-207에서 2021-10-28년 아카이브됨
- ^ ALS 1은 9672 G2, ALS 2는 9672 G5, ALS 3은 원래 z/아키텍처:"IBM CMOS Processor Table". 18 November 2008. Archived from the original on 10 December 2013. Retrieved 18 October 2012.
- ^ "IBM System z10 Business Class (z10 BC) Reference Guide" (PDF). 2008. Archived (PDF) from the original on 2011-03-04. Retrieved 2012-10-18.
- ^ "z/Architecture Principles of Operation" (PDF). Archived (PDF) from the original on 2020-11-30. Retrieved 2016-01-15.
- ^ "IBM Acquires Platform Solutions" (Press release). IBM. 2008-07-02. Archived from the original on 2008-09-05. Retrieved 2008-09-06.