컴퓨터 아키텍처
Computer architecture컴퓨터 공학에서 컴퓨터 아키텍처는 컴퓨터 시스템의 기능, 구성 및 구현을 설명하는 규칙과 방법의 집합입니다.시스템의 아키텍처는 그 시스템의 개별적으로 특정된 구성요소 및 이들의 상호관계 [1]측면에서 그 구조를 참조한다.
아키텍처의 일부 정의는 특정 구현이 [2]아닌 컴퓨터의 기능과 프로그래밍 모델을 설명하는 것으로 정의합니다.다른 정의에서는 컴퓨터 아키텍처는 명령 집합 아키텍처 설계, 마이크로 아키텍처 설계, 논리 설계 및 [3]구현을 포함합니다.
역사
최초의 문서화된 컴퓨터 아키텍처는 Charles Babbage와 Ada Lovelace 사이의 통신에서 분석 엔진을 기술했습니다.1936년 컴퓨터 Z1을 만들 때, Konrad Zuse는 향후 프로젝트를 위한 두 가지 특허 출원에서 기계 명령이 데이터에 사용되는 동일한 스토리지, 즉 저장 프로그램 [4][5]개념에 저장될 수 있다고 설명했습니다.다른 두 가지 초기 및 중요한 예는 다음과 같습니다.
- John von Neumann의 1945년 논문 EDVAC에 관한 보고서의 초안.논리적인 [6]요소의 구성을 기술했다.
- Alan Turing의 보다 상세한 자동 계산 엔진용 전자 계산기, 1945년, 또한 John von Neumann의 [7]논문을 인용했습니다.
컴퓨터 문헌에서 "건축"이라는 용어는 라일 R.의 작품에서 유래할 수 있다.Johnson과 Frederick P. Brooks, Jr.는 1959년 IBM의 주요 연구 센터 기계 조직 부서의 멤버입니다.Johnson은 Los Alamos National Laboratory(당시 Los Alamos Scientific Laboratory)를 위해 IBM이 개발한 슈퍼컴퓨터 Stretch에 대한 독점 연구 자료를 작성할 기회가 있었습니다.화려하게 장식된 컴퓨터를 논하기 위한 세부 수준을 설명하기 위해, 그는 형식, 명령 유형, 하드웨어 파라미터 및 속도 향상에 대한 설명이 "기계 조직"[8]보다 더 유용해 보이는 용어인 "시스템 아키텍처" 수준이었다고 언급했다.
그 후 Stretch 디자이너인 Brooks는 Planning a Computer System이라는 책의 2장을 열었습니다. Project Stretch는 "컴퓨터 아키텍처는 다른 아키텍처와 마찬가지로 구조 사용자의 요구를 판단하고 경제적, 기술적 [9]제약 속에서 최대한 효과적으로 이러한 요구를 충족하도록 설계하는 기술입니다."라고 말합니다.
Brooks는 "아키텍처"가 "사용자가 알아야 할 것"[10]을 정의하는 명사가 된 IBM System/360(현 IBM zSeries) 컴퓨터 제품군의 개발을 지원했습니다.나중에 컴퓨터 사용자들은 이 용어를 덜 노골적인 방법으로 [11]사용하게 되었다.
최초의 컴퓨터 아키텍처는 종이로 설계되어 최종 하드웨어 [12]형태로 직접 구축되었습니다.나중에 컴퓨터 아키텍처 프로토타입은 6800 및 PA-RISC의 프로토타입과 같은 트랜지스터-트랜지스터 로직(TTL) 컴퓨터의 형태로 물리적으로 구축되어 테스트를 거쳐 최종 하드웨어 형태로 수정되었습니다.1990년대에 새로운 컴퓨터 아키텍처는 일반적으로 최종 하드웨어 형태로 [13]커밋되기 전에 컴퓨터 아키텍처 시뮬레이터 내의 다른 컴퓨터 아키텍처 내부 또는 소프트 마이크로프로세서로서의 FPGA 내부 또는 그 양쪽에서 "구축"되고 테스트되고 조정됩니다.
서브 카테고리
컴퓨터 아키텍처 분야에는 3개의 [14]주요 서브 카테고리가 있습니다.
- 명령 집합 아키텍처(ISA): 프로세서가 읽고 동작하는 기계 코드와 워드 크기, 메모리 주소 모드, 프로세서 레지스터 및 데이터 유형을 정의합니다.
- 마이크로아키텍처: 「컴퓨터 조직」이라고도 불리는 것으로, 특정의 프로세서가 [15]ISA 를 실장하는 방법을 나타냅니다.예를 들어 컴퓨터의 CPU 캐시 크기는 일반적으로 ISA와 관련이 없는 문제입니다.
- 시스템 설계: CPU 이외의 데이터 처리(예: 다이렉트 메모리 액세스), 가상화, 멀티 프로세싱 등 컴퓨팅 시스템 내의 기타 모든 하드웨어 컴포넌트가 포함됩니다.
컴퓨터 아키텍처에는 다른 기술들이 있다.이하의 테크놀로지는 인텔과 같은 대기업에서 사용되고 있으며, 2002년에는[14] 모든 컴퓨터 아키텍처의 1%를 차지할 것으로 예측되고 있습니다.
- 매크로 아키텍처: 마이크로아키텍처보다 추상적인 아키텍처 레이어
- 어셈블리 명령 집합 아키텍처:스마트 어셈블러는 기계 그룹에 공통되는 추상 어셈블리 언어를 다른 구현을 위해 약간 다른 기계 언어로 변환할 수 있습니다.
- 프로그래머가 인식할 수 있는 매크로 아키텍처: 컴파일러와 같은 고급 언어 도구는 이를 사용하는 프로그래머에 대해 일관된 인터페이스를 정의하거나 계약을 체결하여 기반이 되는 ISA, UISA 및 마이크로 아키텍처 간의 차이를 추상화할 수 있습니다.예를 들어 C, C++ 또는 Java 표준은 프로그래머가 볼 수 있는 다양한 매크로 아키텍처를 정의합니다.
- 마이크로코드: 마이크로코드는 칩 상에서 실행되는 명령을 번역하는 소프트웨어입니다.이것은 하드웨어의 명령 집합 인터페이스의 기본 버전을 나타내며 하드웨어의 래퍼와 같은 역할을 합니다.이 명령어 번역 기능은 칩 설계자에게 유연한 옵션을 제공합니다.예를 들어 1. 칩의 개량된 새로운 버전은 마이크로코드를 사용하여 이전 칩 버전과 동일한 명령어 세트를 제공할 수 있으므로 해당 명령어 세트를 대상으로 하는 모든 소프트웨어는 새로운 칩에서 변경할 필요 없이 실행됩니다.예 2. 마이크로코드는 동일한 기본 칩에 대해 다양한 명령 세트를 제공할 수 있으므로 다양한 소프트웨어를 실행할 수 있습니다.
- UISA: User Instruction Set Architecture(사용자 명령 세트 아키텍처)는 PowerPC RISC 프로세서가 제공하는 RISC CPU 명령의 3개의 서브셋 중 하나입니다.UISA 서브셋은 애플리케이션 개발자가 관심을 갖는 RISC 명령입니다.다른 2개의 서브셋은 가상화 시스템 개발자가 사용하는 VEA(Virtual Environment Architecture) 명령과 운영 체제 [16]개발자가 사용하는 OEA(Operating Environment Architecture)입니다.
- 핀 아키텍처:하드웨어는 x86 핀 A20M, FER/IGNE, FLUSH 등 마이크로프로세서가 하드웨어 플랫폼에 제공해야 하는 기능을 합니다.또, 외부 캐시를 무효로 하기 위해서 프로세서가 송신하는 메세지도 있습니다.외부 하드웨어가 새로운 인코딩에 적응하거나 핀에서 메시지로 변경될 수 있기 때문에 핀 아키텍처 기능은 ISA 기능보다 유연합니다.자세한 방법이 변경되더라도 호환성이 있는 시스템에 대해 기능을 제공해야 하기 때문에 "아키텍처"라는 용어가 적합합니다.
역할
정의.
컴퓨터 아키텍처는 컴퓨터 시스템의 성능, 효율성, 비용 및 신뢰성의 균형을 유지하는 것과 관련이 있습니다.명령어 집합 아키텍처의 경우 이러한 경쟁 요소의 균형을 설명하기 위해 사용할 수 있습니다.하나의 명령어(x86 Loop [17]명령어 등)가 상위 수준의 추상화를 인코딩할 수 있기 때문에, 보다 복잡한 명령어 세트를 사용하면 프로그래머는 보다 공간 효율적인 프로그램을 작성할 수 있습니다.그러나 명령어가 길고 복잡할수록 프로세서가 디코딩하는 데 시간이 더 오래 걸리고 효율적으로 구현하려면 비용이 더 많이 들 수 있습니다.또한 명령 집합이 클수록 복잡해지기 때문에 명령이 예기치 않은 방식으로 상호 작용할 경우 신뢰성이 떨어질 여지가 커집니다.
구현에는 집적회로 설계, 패키징, 전원 및 냉각이 포함됩니다.설계를 최적화하려면 컴파일러, 운영체제, 논리설계 및 [18]패키징에 대한 지식이 필요합니다.
명령 집합 아키텍처
명령 집합 아키텍처(ISA)는 컴퓨터의 소프트웨어와 하드웨어 사이의 인터페이스이며, 프로그래머의 기계 뷰로도 볼 수 있습니다.컴퓨터는 Java, C++ 또는 사용되는 대부분의 프로그래밍 언어와 같은 고급 프로그래밍 언어를 이해하지 못합니다.프로세서는, 몇개의 숫자(통상은 바이너리 숫자)로 부호화된 명령어만을 인식합니다.컴파일러등의 소프트웨어 툴은, 이러한 고도의 언어를 프로세서가 이해할 수 있는 명령어로 변환합니다.
명령 외에도 ISA는 프로그램에서 사용할 수 있는 컴퓨터 항목(예: 데이터 유형, 레지스터, 주소 지정 모드 및 메모리)을 정의합니다.순서에서는, 레지스터 인덱스(또는 이름) 및 메모리 주소 지정 모드를 사용해 사용 가능한 항목을 찾습니다.
컴퓨터의 ISA는 보통 명령어 인코딩 방법을 설명하는 작은 설명서에 설명되어 있습니다.또, 명령의 짧은(반복적으로) 니모닉 이름을 정의할 수도 있습니다.그 이름들은 어셈블러라고 불리는 소프트웨어 개발 도구에 의해 인식될 수 있다.어셈블러는 사람이 읽을 수 있는 ISA 형식을 컴퓨터가 읽을 수 있는 형식으로 변환하는 컴퓨터 프로그램입니다.또한 디어셈블러는 일반적으로 디버거와 소프트웨어 프로그램에서 바이너리 컴퓨터 프로그램의 오작동을 식별하고 수정하는 용도로 널리 사용됩니다.
ISA는 품질과 완전성이 다릅니다.좋은 ISA는 프로그래머의 편리성(코드를 이해하기 쉬운 정도), 코드의 크기(특정 작업을 수행하기 위해 필요한 코드의 양), 명령어 해석에 드는 컴퓨터 비용(복잡성이 높을수록 명령어 디코딩과 실행에 더 많은 하드웨어가 필요함) 및 컴퓨터 속도(복잡한 디코딩을 포함) 사이에서 타협합니다.디코딩 시간이 길어집니다).메모리 구성은 명령이 메모리와 어떻게 상호 작용하는지 및 메모리가 어떻게 상호 작용하는지 정의합니다.
설계 에뮬레이션 중에 에뮬레이터는 제안된 명령 집합으로 작성된 프로그램을 실행할 수 있습니다.최신 에뮬레이터는 크기, 비용 및 속도를 측정하여 특정 ISA가 목표를 달성하고 있는지 여부를 판단할 수 있습니다.
컴퓨터 구성
컴퓨터 구성을 통해 성능 기반 제품을 최적화할 수 있습니다.예를 들어 소프트웨어 엔지니어는 프로세서의 처리 능력을 알아야 합니다.최저가격으로 최고의 성능을 얻기 위해서는 소프트웨어를 최적화할 필요가 있을 수 있습니다.이를 위해서는 컴퓨터 조직에 대한 상세한 분석이 필요할 수 있습니다.예를 들어 SD 카드의 경우 설계자는 대부분의 데이터를 가능한 한 빨리 처리할 수 있도록 카드를 배열해야 할 수 있습니다.
컴퓨터 구성은 특정 프로젝트에 대한 프로세서 선택을 계획하는 데도 도움이 됩니다.멀티미디어 프로젝트에서는 매우 빠른 데이터 액세스가 필요한 반면 가상 머신은 빠른 인터럽트가 필요할 수 있습니다.경우에 따라서는 추가 컴포넌트가 필요한 작업도 있습니다.예를 들어 가상 시스템을 실행할 수 있는 컴퓨터에는 서로 다른 가상 컴퓨터의 메모리를 분리하여 유지할 수 있도록 가상 메모리 하드웨어가 필요합니다.컴퓨터의 구성이나 기능도 소비 전력이나 프로세서 코스트에 영향을 줍니다.
실행
명령어 세트와 마이크로 아키텍처가 설계되면 실용적인 기계를 개발해야 합니다.이 설계 프로세스를 구현이라고 합니다.구현은 일반적으로 아키텍처 설계가 아니라 하드웨어 설계 엔지니어링으로 간주됩니다.실장은 몇 가지 단계로 나눌 수 있습니다.
- 로직 실장은 로직 게이트레벨에서 필요한 회로를 설계합니다.
- 회로 실장은 기본 소자(게이트, 멀티플렉서, 래치 등) 및 로직 게이트레벨 또는 설계가 필요로 하는 경우 물리 레벨에서 실장할 수 있는 일부 대형 블록(ALU, 캐시 등)의 트랜지스터 레벨 설계를 실시합니다.
- 물리적인 실장에서는 물리적인 회선이 도입됩니다.칩 플로어 도면 또는 기판에 다른 회로 부품을 배치하고 이를 연결하는 와이어를 만듭니다.
- 설계 검증은 컴퓨터 전체를 테스트하여 모든 상황에서 모든 타이밍에서 작동하는지 확인합니다.설계 검증 프로세스가 시작되면 논리 에뮬레이터를 사용하여 논리 수준에서 설계를 테스트합니다.그러나 이것은 보통 너무 느려서 현실적인 테스트를 실행할 수 없습니다.따라서 첫 번째 테스트를 기반으로 수정한 후 Field-Programmable Gate-Array(FPGA; 현장 프로그래머블 게이트 어레이)를 사용하여 프로토타입은 Field-Programmable Gate-Arrays(Field-Programmable Gate-Arrays)를 사용하여 제작됩니다.대부분의 취미 프로젝트는 이 단계에서 멈춥니다.마지막 단계는 프로토타입 집적회로를 테스트하는 것으로, 몇 가지 재설계가 필요할 수 있습니다.
CPU의 경우 구현 프로세스 전체가 다르게 구성되며 CPU 설계라고 하는 경우가 많습니다.
설계 목표
컴퓨터 시스템의 정확한 형태는 제약과 목표에 따라 달라집니다.컴퓨터 아키텍처는 보통 표준, 전력 대 성능, 비용, 메모리 용량, 레이텐시(레이텐시는 한 노드에서 소스로 정보가 전송되는 데 걸리는 시간) 및 스루풋을 트레이드오프합니다.기능, 크기, 중량, 신뢰성, 확장성 등의 다른 고려 사항도 고려될 수 있습니다.
가장 일반적인 방법은 전력 분석을 상세하게 수행하여 적절한 성능을 유지하면서 전력 소비를 낮게 유지하는 방법을 알아냅니다.
성능
현대의 컴퓨터 퍼포먼스는 사이클당 명령(IPC)에 기재되어 있는 경우가 많습니다.IPC 레이트가 빠를수록 컴퓨터의 속도가 빨라집니다.구식 컴퓨터의 IPC 카운트는 0.1이었지만, 최신 프로세서는 1에 가깝습니다.슈퍼스칼라 프로세서는 [citation needed]클럭사이클마다 여러 명령을 실행하여 3~5개의 IPC에 도달할 수 있습니다.
기계어 명령어는 서로 다른 ISA에서 다양한 양의 작업을 수행할 수 있기 때문에 기계어 명령어를 세는 것은 오해를 불러일으킬 수 있습니다.표준 측정에서 "명령"은 ISA의 기계 언어 명령의 카운트가 아니라 일반적으로 VAX 컴퓨터 아키텍처의 속도를 기반으로 하는 측정 단위입니다.
많은 사람들이 컴퓨터 속도를 클럭 속도(보통 MHz 또는 GHz)로 측정하곤 했습니다.이것은 CPU의 메인 클럭의 초당 사이클을 나타냅니다.다만, 클럭 레이트가 높은 머신의 퍼포먼스가 반드시 뛰어난 것은 아니기 때문에, 이 메트릭은 다소 오해의 소지가 있습니다.그 결과 제조업체들은 성능의 척도로 클럭 속도에서 벗어났습니다.
기능 유닛의 혼재, 버스 속도, 사용 가능한 메모리, 프로그램의 명령의 종류와 순서 등, 속도에 영향을 주는 요인도 있습니다.
속도에는 레이텐시와 throughput의 두 가지 주요 유형이 있습니다.지연 시간은 프로세스의 시작과 완료 사이의 시간입니다.throughput은 단위 시간당 수행된 작업의 양입니다.인터럽트 지연 시간은 디스크 드라이브가 일부 데이터 이동을 완료한 경우 등 전자 이벤트에 대한 시스템의 보장된 최대 응답 시간입니다.
퍼포먼스는 매우 폭넓은 설계 선택에 의해 영향을 받습니다.예를 들어 프로세서를 파이프라인화하면 레이텐시는 악화되지만 throughput은 향상됩니다.기계를 제어하는 컴퓨터는 일반적으로 낮은 인터럽트 지연 시간을 필요로 합니다.이러한 시스템은 실시간 환경에서 작동하며 지정된 시간 내에 작업이 완료되지 않으면 실패합니다.예를 들어, 컴퓨터에서 제어하는 ABS는 브레이크 페달이 감지된 후 예측 가능하고 제한된 시간 내에 브레이크를 시작해야 합니다. 그렇지 않으면 브레이크 고장이 발생합니다.
벤치마킹에서는 컴퓨터가 일련의 테스트 프로그램을 실행하는 데 걸리는 시간을 측정함으로써 이러한 모든 요소를 고려합니다.벤치마킹이 강점을 보여주기는 하지만, 컴퓨터를 선택하는 방법이 되어서는 안 됩니다.종종 측정된 기계는 다른 측정으로 분할됩니다.예를 들어, 한 시스템은 과학적 응용 프로그램을 빠르게 처리하는 반면 다른 시스템은 비디오 게임을 더 부드럽게 렌더링할 수 있습니다.또한 설계자는 하드웨어 또는 소프트웨어를 통해 특정 벤치마크를 신속하게 실행할 수 있지만 일반 태스크와 동일한 이점을 제공하지 않는 특별한 기능을 제품에 추가하거나 할 수 있습니다.
전력 효율
전력 효율은 현대 컴퓨터의 또 다른 중요한 측정치입니다.높은 전력 효율은 저속 또는 고비용과 교환되는 경우가 많습니다.컴퓨터 아키텍처에서 소비전력을 나타내는 일반적인 측정치는 MIPS/W(와트당 밀리언 명령 수)입니다.
최신 회로는 칩당 트랜지스터 수가 [19]증가함에 따라 트랜지스터당 필요한 전력이 줄어듭니다.새로운 칩에 들어가는 각 트랜지스터에는 자체 전원 공급이 필요하고 이를 위해 새로운 경로를 구축해야 하기 때문이다.그러나 칩당 트랜지스터 수는 더 느린 속도로 증가하기 시작했다.따라서 전력 효율은 하나의 칩에 점점 더 많은 트랜지스터를 장착하는 것보다 더 중요하지는 않지만 그만큼 중요해지고 있습니다.최근의 프로세서 설계에서는 하나의 칩에 가능한 [20]한 많은 트랜지스터를 집어넣는 것보다 전력 효율에 중점을 두고 있기 때문에 이러한 점을 강조하고 있습니다.임베디드 컴퓨터의 세계에서 전력 효율은 스루풋과 레이텐시 다음으로 중요한 목표가 되어 왔습니다.
시장 수요의 변화
클럭 주파수의 증가는 전력 절감 개선과 비교하여 지난 몇 년간 더디게 증가해 왔습니다.이는 무어의 법칙의 종말과 모바일 테크놀로지의 배터리 지속 시간 연장 및 크기 감소에 대한 요구에 의해 추진되었습니다.높은 클럭 레이트에서 소비전력 및 소형화에 대한 이러한 초점의 변화는 Haswell 마이크로아키텍처 출시에서 인텔이 보고한 소비전력 대폭 절감으로 나타납니다.이것에 의해 소비전력 벤치마크는 30~40W에서 10~[21]20W로 낮아졌습니다.이를 3GHz~4GHz(2002~[22]2006년)의 처리속도 향상과 비교하면 연구개발의 초점이 클럭 주파수에서 벗어나 소비전력을 줄이고 공간을 차지하는 방향으로 이동하고 있음을 알 수 있다.
「 」를 참조해 주세요.
레퍼런스
- ^ Dragoni, Nicole (n.d.). "Introduction to peer to peer computing" (PDF). DTU Compute – Department of Applied Mathematics and Computer Science. Lyngby, Denmark.
- ^ Clements, Alan. Principles of Computer Hardware (Fourth ed.). p. 1.
Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.
- ^ Hennessy, John; Patterson, David. Computer Architecture: A Quantitative Approach (Fifth ed.). p. 11.
This task has many aspects, including instruction set design, functional organization, logic design, and implementation.
- ^ Williams, F. C.; Kilburn, T. (25 September 1948), "Electronic Digital Computers", Nature, 162 (4117): 487, Bibcode:1948Natur.162..487W, doi:10.1038/162487a0, S2CID 4110351, archived from the original on 6 April 2009, retrieved 2009-04-10
- ^ Susanne Faber, "Konrad Zuses Bemuehungen um die Partentanmeldung der Z3", 2000
- ^ Neumann, John (1945). First Draft of a Report on the EDVAC. p. 9.
- ^ B. J. Copeland (Ed.)에 실린 "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, 페이지 369-454.
- ^ Johnson, Lyle (1960). "A Description of Stretch" (PDF). p. 1. Retrieved 7 October 2017.
- ^ Buchholz, Werner (1962). Planning a Computer System. p. 5.
- ^ "System 360, From Computers to Computer Systems". IBM100. 7 March 2012. Retrieved 11 May 2017.
- ^ Hellige, Hans Dieter (2004). "Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "system of organs" zum Schichtmodell des Designraums". Geschichten der Informatik: Visionen, Paradigmen, Leitmotive. pp. 411–472.
- ^ ACE는 1948년 프로토타입이 시작되기 전에 1년 동안 7개의 종이 디자인을 수행했습니다. [B. J. Copeland (Ed.) , "Alan Turing's Automatic Computing Engine", OUP, 2005, 페이지 57]
- ^ Schmalz, M.S. "Organization of Computer Systems". UF CISE. Retrieved 11 May 2017.
- ^ a b John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach (Third ed.). Morgan Kaufmann Publishers.
- ^ Laplante, Phillip A. (2001). Dictionary of Computer Science, Engineering, and Technology. CRC Press. pp. 94–95. ISBN 0-8493-2691-5.
- ^ Frey, Brad (2005-02-24). "PowerPC Architecture Book, Version 2.02". IBM Corporation.
- ^ Null, Linda (2019). The Essentials of Computer Organization and Architecture (5th ed.). Burlington, MA: Jones & Bartlett Learning. p. 280. ISBN 9781284123036.
- ^ Martin, Milo. "What is computer architecture?" (PDF). UPENN. Retrieved 11 May 2017.
- ^ "Integrated circuits and fabrication" (PDF). Retrieved 8 May 2017.
- ^ "Exynos 9 Series (8895)". Samsung. Retrieved 8 May 2017.
- ^ "Measuring Processor Power TDP vs ACP" (PDF). Intel. April 2011. Retrieved 5 May 2017.
- ^ "History of Processor Performance" (PDF). cs.columbia.edu. 24 April 2012. Retrieved 5 May 2017.
원천
- John L. Hennessy and David Patterson (2006). Computer Architecture: A Quantitative Approach (Fourth ed.). Morgan Kaufmann. ISBN 978-0-12-370490-0.
- Barton, Robert S., "컴퓨터 기능 설계", ACM 4(9) 통신: 405(1961).
- Barton, Robert S., "디지털 컴퓨터의 기능 설계에 대한 새로운 접근법", Western Joint Computer Conference, 1961년 5월, 페이지 393–396.Burroughs B5000 컴퓨터 디자인에 대해서요.
- 벨, C. 고든, 뉴웰, 앨런(1971년)."컴퓨터 구조: 읽기와 예시", McGraw-Hill.
- Blaauw, G.A. 및 Brooks, F.P., Jr., "시스템 구조/360, 논리적 구조의 파트 I-Outline", IBM Systems Journal, vol. 3, no. 2, 페이지 119–135, 1964.
- Tanenbaum, Andrew S. (1979). Structured Computer Organization. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 0-13-148521-0.