폰 노이만 건축
Von Neumann architecture폰 노이만 아키텍처(von Neumann model 또는 Princeton architecture라고도 함)는 존 폰 노이만이 1945년에 [1]EDVAC에 대한 보고서 초안 초안에 기술한 컴퓨터 아키텍처입니다.이 문서에서는 다음 컴포넌트를 갖춘 전자 디지털컴퓨터의 설계 아키텍처에 대해 설명합니다.
- 연산 로직 유닛과 프로세서 레지스터를 모두 갖춘 처리 유닛
- 명령 레지스터 및 프로그램 카운터를 포함하는 제어 장치
- 데이터 및 명령을 저장하는 메모리
- 외부 대용량 스토리지
- 입력 및 출력 메커니즘[1][2]
von Neumann architecture(von Neumann 아키텍처)라는 용어는 명령어 가져오기 및 데이터 조작이 동시에 발생할 수 없는 모든 저장 프로그램 컴퓨터를 가리키도록 진화했습니다.이를 폰 노이만 병목 현상이라고 하며, 이는 종종 해당 [3]시스템의 성능을 제한합니다.
von Neumann 아키텍처 머신의 설계는 하버드 아키텍처 머신보다 간단합니다.이 시스템도 스토어드 프로그램 시스템이지만 메모리에 읽고 쓰기 위한 전용 주소 및 데이터 버스 세트, 명령을 가져오기 위한 주소 및 데이터 버스 세트도 있습니다.
저장된 프로그램 디지털 컴퓨터는 프로그램 명령과 데이터를 모두 읽기-쓰기, 랜덤 액세스 메모리(RAM)에 보관합니다.저장된 프로그램 컴퓨터는 Coloshus나 ENIAC와 같은 1940년대 프로그램 제어 컴퓨터보다 발전된 것입니다.이러한 프로그램은 스위치를 설정하고 패치 케이블을 삽입하여 다양한 기능 유닛 간에 데이터 및 제어 신호를 라우팅함으로써 프로그래밍되었습니다.최신 컴퓨터의 대부분은 데이터 명령과 프로그램 명령 모두에 동일한 메모리를 사용하지만 CPU와 메모리 사이에 캐시가 있으며 CPU에 가장 가까운 캐시에 대해서는 명령과 데이터 캐시가 별도로 있기 때문에 대부분의 명령과 데이터 페치는 별도의 버스(분할 캐시 아키텍처)를 사용합니다.
역사
최초의 컴퓨터들은 고정된 프로그램을 가지고 있었다.일부 매우 단순한 컴퓨터에서는 여전히 단순성 또는 훈련 목적으로 이 설계를 사용합니다.예를 들어 데스크톱 계산기(원칙)는 고정 프로그램 컴퓨터입니다.기본적인 수학은 할 수 있지만 워드프로세서나 게임은 할 수 없다.고정 프로그램 기계의 프로그램을 변경하려면 기계의 배선, 재구성 또는 재설계가 필요합니다.초기 컴퓨터는 특정 작업에 대해 "프로그래밍"된 것이 아니라 "설계"된 것입니다."재프로그래밍"은 가능한 경우 흐름도 및 종이 노트부터 시작하여 상세한 엔지니어링 설계를 거쳐 기계 물리적으로 배선 및 재구축하는 번거로운 프로세스였습니다.ENIAC에서 [4]프로그램을 설정하고 디버깅하는 데 3주가 걸릴 수 있습니다.
저장된 프로그램 컴퓨터의 제안으로 이것이 변경되었습니다.기억된 프로그램 컴퓨터는 설계상 명령 세트를 포함하고 연산을 상술하는 명령 세트(프로그램)를 메모리에 기억시킬 수 있다.
스토어드 프로그램 설계에서는 코드를 스스로 수정할 수도 있습니다.그러한 설비에 대한 초기 동기 중 하나는 운영자가 초기 설계에서 수동으로 수행해야 했던 지침의 주소 부분을 증가시키거나 수정하는 프로그램의 필요성에 있었다.인덱스 레지스터와 간접 어드레싱이 기계 아키텍처의 일반적인 특징이 되었을 때 이것은 덜 중요해졌다.또 다른 용도는 자주 사용되는 데이터를 즉시 주소 지정을 사용하여 명령 스트림에 포함시키는 것이었습니다.자체 수정 코드는 일반적으로 이해 및 디버깅이 어려울 뿐만 아니라 최신 프로세서 파이프라인 및 캐싱 방식에서는 비효율적이기 때문에 대부분 인기가 없습니다.
기능
대규모로 명령을 데이터로 처리할 수 있는 능력은 어셈블러, 컴파일러, 링커, 로더 및 기타 자동화된 프로그래밍 도구를 가능하게 합니다.그것은 "프로그램을 작성하는 프로그램"을 [5]가능하게 한다.이것에 의해, von Neumann 아키텍처 머신에 관한 고도의 자기 호스팅 컴퓨팅 생태계가 번성하고 있습니다.
일부 고급 언어는 실행 시 실행 가능한 코드를 조작하는 추상적이고 머신에 의존하지 않는 방법(LISP 등)을 제공하거나 실행 시 정보를 사용하여 Just In Time 컴파일(Java 가상 머신에 호스트된 언어 또는 웹 브라우저에 포함된 언어)을 조정함으로써 von Neumann 아키텍처를 활용합니다.
소규모에서는 저스트 인 타임 컴파일 기술을 사용하여 범용 프로세서에서 BITBLT 또는 픽셀 및 정점 셰이더와 같은 일부 반복 작업을 가속화할 수 있습니다.이것은, 지금까지도 인기가 있는 자기 수정 코드의 사용법 중 하나입니다.
프로그램 저장 개념 개발
케임브리지 대학의 맥스 뉴먼의 강의로 수학 논리학의 문제를 알게 된 수학자 앨런 튜링은 1936년에 "계산 가능한 숫자에 대하여"라는 제목의 논문을 썼는데, 그것은 런던 수학 [6]협회 회보에 발표되었습니다.이 책에서 그는 현재 "유니버설 튜링 머신"으로 알려진 그가 유니버설 컴퓨팅 머신이라고 부르는 가상의 기계를 묘사했다.이 가상 머신에는 명령과 데이터를 모두 포함하는 무한 저장소(오늘날의 용어로는 메모리)가 있었습니다.존 폰 노이만은 1935년 케임브리지에서 초빙 교수로 있을 때 튜링과 알게 되었고, 1936년부터 1937년까지 뉴저지 프린스턴에 있는 고등 연구소에서 튜링의 박사학위 과정을 밟을 때 알게 되었다.그가 1936년 튜링의 논문을 그 당시에 알았는지는 명확하지 않다.
1936년 Konrad Zuse는 또한 두 가지 특허 출원에서 기계 명령이 [7]데이터에 사용되는 동일한 스토리지에 저장될 수 있을 것으로 예상했습니다.
독립적으로, 펜실베니아 대학의 무어 전기 공학 대학에서 ENIAC를 개발하던 J. Presper Eckert와 John Mauchly는 1943년 12월에 저장된 프로그램의 개념에 대해 썼다.[8][9] 1944년 1월 EDVAC라는 새로운 기계를 계획하면서 Eckert는 데이터와 프로그램을 새로운 주소 지정 가능한 메모리 장치인 수은 금속 지연선 메모리에 저장할 것이라고 썼다.실용적인 프로그램 저장 기계의 구축이 제안된 것은 이번이 처음이었다.그 당시 그와 모클리는 튜링의 작품을 알지 못했다.
Von Neumann은 Los Alamos National Laboratory에서 맨해튼 프로젝트에 참여했습니다.그것은 엄청난 계산이 필요했고, 1944년 여름 동안 그를 ENIAC 프로젝트에 끌어들였다.그곳에서 그는 이 저장된 프로그램 컴퓨터인 EDVAC의 설계에 대한 진행 중인 논의에 참여했습니다.그 그룹의 일부로서, 그는 Eckert와 Mauchly의 연구를 바탕으로 EDVAC에[1] 관한 보고서의 초안이라는 제목의 설명을 작성했다.그의 동료 헤르만 골드스틴이 그것을 돌렸을 때, 그것은 완성되지 않았고, 폰 노이만의 이름만을 가지고 있었다(에커트와 모흘리는 [10]경악했다).이 논문은 미국과 유럽에 있는 수십 명의 폰 노이만의 동료들에 의해 읽혀졌고, 다음 컴퓨터 디자인에[vague] 영향을 미쳤다.
잭 코프랜드는 "전자 저장 프로그램 디지털 컴퓨터를 '본 노이만 기계'[11]라고 부르는 것은 역사적으로 부적절하다"고 생각한다.그의 로스앨러모스 동료 스탠 프랑켈은 튜링의 생각에[12] 대한 폰 노이만의 존경을 말했다.
1943년 혹은 약 44년 폰 노이만이 1936년 튜링의 논문의 근본적인 중요성을 잘 알고 있었다는 것을 알고 있습니다.Von Neumann은 나에게 그 논문을 소개해주었고 그의 권유로 나는 그것을 주의 깊게 공부했다.많은 사람들이 폰 노이만을 컴퓨터의 아버지라고 칭송했지만, 나는 그가 결코 그 실수를 저지르지 않았을 것이라고 확신한다.그는 산파라고 불릴 만도 하지만, 그는 나와 다른 사람들에게 근본적인 개념은 튜링 때문이라는 것을 분명히 강조했습니다. 배비지는 예상하지 못했기 때문입니다.물론 튜링과 폰 노이만 둘 다 이러한 개념의 "실천 감소"에 상당한 기여를 했지만, 나는 활동 프로그램을 메모리에 저장할 수 있는 컴퓨터의 개념의 도입과 설명과 그 과정에서 그 프로그램을 수정하는 것의 중요성에 있어 이것들을 비교하지 않을 것이다.이 액티비티들
"첫 번째 초안" 보고서가 배포되었을 때, 튜링은 제안된 전자 계산기라는 제목의 보고서를 만들고 있었다.엔지니어링 및 프로그래밍 세부사항으로 그가 자동 컴퓨팅 엔진(ACE)[13]이라고 부르는 기계에 대한 아이디어를 기술했습니다.그는 이것을 1946년 2월 19일 영국 국립물리연구소 집행위원회에 제출했다.튜링은 블레츨리 공원에서의 전시 경험을 통해 그가 제안한 것이 실현 가능하다는 것을 알았지만, 이후 수십 년 동안 유지된 콜로소스를 둘러싼 비밀 때문에 그렇게 말하지 못했다.ACE 설계의 다양한 구현이 성공적으로 이루어졌습니다.
폰 노이만의 논문과 튜링의 논문은 모두 저장 프로그램 컴퓨터에 대해 기술했지만, 폰 노이만의 초기 논문은 더 많은 발행부수를 달성했고 그것이 개략적으로 설명한 컴퓨터 아키텍처는 "폰 노이만 아키텍처"로 알려지게 되었다.1953년 출판물 '생각보다 빠른'에서: 미국의 컴퓨터에 관한 장에 기재되어 있는 디지털 컴퓨팅 머신에 관한 심포지엄(B. V. Bowden 편집자)의 섹션은 다음과 같습니다.[14]
프린스턴 고등연구소의 기계
1945년 당시 E.N.I.A.C.가 세워진 필라델피아 무어공대(Moore School of Engineering)에서 일하던 J. von Neumann 교수는 동료들을 대표해 디지털 컴퓨터의 논리적 설계에 관한 보고서를 발표했다.보고서에는 이후 E.D.V.A.C(전자 이산 가변 자동 컴퓨터)로 알려지게 된 기계의 설계에 대한 자세한 제안이 포함되어 있습니다.이 기계는 최근에야 미국에서 완성되었지만, von Neumann 보고서는 캠브리지에서 E.D.S.A.C.(전자 지연 저장 자동 계산기)의 건설에 영감을 주었습니다(130페이지 참조).
1947년, Burks, Goldstine, 그리고 von Neumann은 아마도 초당 20,000번의 연산을 할 수 있는 엄청나게 빠른 다른 종류의 기계(이번에는 병렬 기계)의 설계를 개략적으로 설명한 또 다른 보고서를 발표했다.그들은 그러한 기계를 만드는 데 있어 가장 큰 문제는 순간적으로 접근할 수 있는 콘텐츠를 가진 적절한 메모리를 개발하는 것이라고 지적했다.처음에 그들은 RCA의 프린스턴 연구소가 발명한 "셀렉트론"이라고 불리는 특별한 진공관을 사용할 것을 제안했다.이 튜브들은 비싸고 만들기 어려웠기 때문에 폰 노이만은 윌리엄스 메모리에 기반한 기계를 만들기로 결정했다.1952년 6월 프린스턴에서 완성된 이 기계는 '매니악'으로 널리 알려지게 되었습니다.이 기계의 디자인은 현재 미국에서 만들어지고 있는 적어도 6대의 기계에 영감을 주었습니다.이들 모두는 애정 어린 "조니악"으로 알려져 있습니다.
같은 책에서 ACE에 관한 장의 첫 번째 두 단락은 다음과 같습니다.[15]
국립물리연구소의 자동계산
자동 전자 컴퓨팅 기술의 발전과 향상을 구현하는 가장 현대적인 디지털 컴퓨터 중 하나가 최근 테딩턴 국립 물리 연구소에서 시연되었습니다. 이 연구소는 수학자와 전자 연구 엔지니어로 구성된 소규모 팀에 의해 설계되고 제작되었습니다.영국전기회사(English Electric Company, Limited)의 다수의 생산 엔지니어의 도움을 받았습니다.지금까지 연구소에 세워진 장비는 자동 계산 엔진으로 알려진 훨씬 더 큰 설비의 파일럿 모델일 뿐이지만, 비교적 부피가 작고 약 800개의 열전자 밸브만을 포함하고 있지만, 이는 플레이트 XII, XIV에서 판단할 수 있듯이 매우 빠르고 다용도적인 계산 기계이다.하지 않다.
기계에 의한 기본적인 개념과 추상적인 계산 원리는 A. M. 튜링 박사에 의해 논문에서1 공식화 되었다.1936년 런던 수학 협회 앞에서 읽었지만, 영국에서 그러한 기계들에 대한 작업은 전쟁으로 인해 지연되었다.그러나 1945년 당시 연구소 수학과장이었던 J. R. 워머슬리 씨가 국립물리연구소에서 이 문제를 조사했다.그는 닥터와 합류했다.튜링과 소수의 전문가들, 그리고 1947년까지, 예비 계획은 이미 언급된 특별한 그룹의 설립을 보증할 만큼 충분히 진전되었다.1948년 4월, 후자는 F. M. 콜브룩 씨의 지휘 아래 연구소의 전자 부서가 되었다.
초기 폰 노이만 아키텍처 컴퓨터
초안에는 많은 대학과 기업들이 컴퓨터를 [16]만들기 위해 사용한 디자인이 기술되어 있다.이 다양한 컴퓨터들 중에서 ILIAC와 ORDVAC만이 호환되는 명령어 세트를 가지고 있었다.
- ARC2(Birkbeck, London University of London)는 1948년 [17]5월 12일에 정식으로 온라인에 공개되었습니다.
- 맨체스터 베이비(영국 맨체스터의 빅토리아 대학)는 1948년 6월 21일 처음으로 저장된 프로그램을 성공적으로 실행했다.
- EDSAC(잉글랜드 캠브리지 대학)는 최초의 실용적인 저장 프로그램 전자 컴퓨터(1949년 5월)였다.
- 맨체스터 마크 1(잉글랜드 맨체스터 대학) 아기에게서 개발(1949년 6월)
- CSIRAC(과학산업연구협의회) 호주(1949년 11월)
- 우크라이나 키예프의 MESM(1950년 11월) 키이우
- EDVAC(탄도연구연구소, 1951년 애버딘 시험장 컴퓨터연구소)
- 메릴랜드 애버딘 시험장의 ORDVAC(U-일리노이)(1951년 11월 완공)[18]
- 프린스턴 대학의 IAS 머신(1952년 1월)
- Los Alamos Scientific Laboratory의 MANIAC I(1952년 3월)
- 일리노이 대학교 일리악(1952년 9월)
- 모스크바의 BESM-1(1952)
- Argonne 국립연구소 AVIDAC(1953)
- Oak Ridge 국립연구소 ORACLE (1953년 6월)
- 스톡홀름의 BESK(1953)
- RAND Corporation의 JOHNNIAC(1954년 1월)
- 덴마크 DASK(1955년)
- 이스라엘 레호보트 바이즈만 과학연구소 WEIZAC(1955년)
- 뮌헨에서의 PERM(1956)
- 시드니의 SILIAC (1956)
초기 저장 프로그램 컴퓨터
다음 연대표의 날짜 정보는 올바른 순서로 정리하기가 어렵습니다.테스트 프로그램을 처음 실행하는 날짜도 있고, 컴퓨터가 시연 또는 완료된 날짜도 있고, 처음 배포 또는 설치하는 날짜도 있습니다.
- IBM SSEC는 명령을 데이터로 처리할 수 있는 기능을 가지고 있으며 1948년 1월 27일 공개적으로 시연되었습니다.이 능력은 미국 [19][20]특허에서 주장되었습니다.그러나 그것은 부분적으로 전기 기계적인 것이었고 완전히 전자적인 것은 아니었다.실제로는 메모리가 [21]한정되어 있기 때문에, 종이 테이프로부터 지시를 읽어낼 수 있었습니다.
- 런던 대학 버크벡의 Andrew Booth와 Kathleen Booth가 개발한 [17]ARC2는 1948년 5월 12일 공식적으로 온라인에 공개되었습니다.그것은 최초의 회전 드럼 저장 [22][23]장치를 특징으로 했다.
- 맨체스터 베이비는 저장된 프로그램을 실행한 최초의 완전한 전자 컴퓨터였다.1948년 6월 21일 간단한 나눗셈 프로그램과 두 숫자가 비교적 소수임을 보여주는 프로그램을 실행한 후 52분간 인수분해 프로그램을 실행했다.
- ENIAC는 프로그램 ROM을 위한 함수 테이블을 사용하여 원시적인 읽기 전용 저장 프로그램 컴퓨터로 실행되도록 수정되었고 1948년 9월 16일 폰 노이만용 아델 골드스틴에 의해 프로그램이 실행되면서 그렇게 시연되었다.
- BINAC는 1949년 2월, 3월, 4월에 일부 테스트 프로그램을 실행했지만 1949년 9월에야 완료되었다.
- 맨체스터 마크 1은 베이비 프로젝트에서 발전했다.Mark 1의 중간 버전은 1949년 4월에 프로그램을 실행할 수 있었지만 1949년 10월에야 완성되었다.
- EDSAC는 1949년 5월 6일 첫 프로그램을 실행했다.
- EDVAC는 1949년 8월에 인도되었지만 1951년까지 정상 가동되지 못하는 문제가 있었다.
- CSIR Mk I은 1949년 11월에 첫 프로그램을 실행했다.
- SEAC는 1950년 4월에 시연되었다.
- 파일럿 ACE는 1950년 5월 10일에 첫 프로그램을 실행하였고 1950년 12월에 시연되었다.
- SWAC는 1950년 7월에 완성되었다.
- 선풍은 1950년 12월에 완성되었고 1951년 4월에 실제로 사용되었다.
- 최초의 ERA Atlas(이후 상용 ERA 1101/UNIVAC 1101)는 1950년 12월에 설치되었습니다.
진화
1960년대와 1970년대 수십 년 동안 컴퓨터는 일반적으로 더 작고 더 빨라졌으며, 이는 아키텍처의 진화를 이끌었다.예를 들어 메모리 매핑 I/O를 사용하면 입출력 장치를 [24]메모리와 동일하게 취급할 수 있습니다.단일 시스템 버스를 사용하여 모듈식 시스템을 저렴한[clarification needed] 비용으로 제공할 수 있습니다.이를 아키텍처의 "[25]효율화"라고 부르기도 합니다.이후 수십 년 동안 단순 마이크로컨트롤러는 비용과 크기를 줄이기 위해 모델의 기능을 생략할 수 있습니다.더 큰 컴퓨터에는 더 높은 성능을 위한 기능이 추가되었습니다.
설계상의 제한
폰 노이만 병목 현상
프로그램 메모리와 데이터 메모리 간의 공유 버스는 메모리 양에 비해 중앙 처리 장치(CPU)와 메모리 사이의 제한된 throughput(데이터 전송 속도)인 von Neumann 병목 현상을 초래합니다.1대의 버스가 동시에 액세스할 수 있는 것은 2개의 메모리 클래스 중1개뿐이기 때문에 throughput은 CPU가 동작할 수 있는 속도보다 낮습니다.이로 인해 CPU가 대량의 데이터에 대해 최소한의 처리를 수행해야 하는 경우 효과적인 처리 속도가 크게 제한됩니다.CPU는 필요한 데이터가 메모리에서 또는 메모리에서 이동할 때까지 계속 대기해야 합니다.CPU의 속도와 메모리 사이즈가 그 사이의 throughput보다 훨씬 빠르게 증가했기 때문에 병목현상은 더 큰 문제가 되어 새로운 세대의 CPU가 등장할 때마다 심각도가 높아집니다.
폰 노이만의 병목 현상은 존 배커스가 1977년 ACM 튜링상 강연에서 설명했습니다.Backus에 따르면:
확실히 가게에서 큰 변화를 일으키는 원초적인 방법은 von Neumann의 병목현상을 통해 많은 단어들을 앞뒤로 밀어내는 것보다 덜 원시적인 방법이 있을 것이다.이 튜브는 문제의 데이터 트래픽에 대한 말 그대로 병목 현상일 뿐만 아니라, 보다 중요한 것은 우리가 당면한 태스크의 큰 개념 단위로 생각하도록 장려하는 것이 아니라 동시에 단어에 의한 사고에 얽매이게 하는 지적 병목 현상입니다.따라서 프로그래밍은 기본적으로 von Neumann 병목현상을 통해 방대한 단어 트래픽을 계획하고 상세하게 설명하는 것입니다. 이러한 트래픽의 대부분은 중요한 데이터 자체가 아니라 어디서 [26][27][28]찾을 수 있는지에 관한 것입니다.
경감
Von Neumann 성능 병목 현상을 완화하기 위해 알려진 몇 가지 방법이 있습니다.예를 들어, 다음과 같은 방법으로 성능을 향상시킬[why?] 수 있습니다.
- CPU와 메인 메모리 사이에 캐시 제공
- 데이터 및 명령을 위한 개별 캐시 또는 개별 액세스 경로 제공(이른바 Modified Harvard 아키텍처)
- 분기 예측 알고리즘 및 논리 사용
- 메모리 접근을 줄이기 위해 CPU 스택 또는 기타 온칩 스크래치패드 메모리 제공
- CPU와 메모리 계층을 시스템 온 칩으로 구현하여 참조 위치를 넓힘으로써 레이텐시를 줄이고 프로세서 레지스터와 메인 메모리 간의 스루풋을 향상시킵니다.
또한 병렬 컴퓨팅을 사용하여 예를 들어 NUMA(Non-Uniform Memory Access) 아키텍처를 사용함으로써 이 문제를 회피할 수 있습니다.이 접근방식은 슈퍼컴퓨터에서 일반적으로 채택되고 있습니다.배커스가 비판한 지적 병목 현상이 1977년 이후 많이 변했는지는 명확하지 않다.백커스가 제안한 해결책은 큰 [citation needed]영향을 미치지 않았다.현대의 기능성 프로그래밍과 객체 지향 프로그래밍은 FORTRAN과 같은 이전 언어에 비해 "대부분의 단어를 앞뒤로 밀어넣기"에 훨씬 덜 적합하지만, 내부적으로는 여전히 컴퓨터가 많은 시간을 할애하고 있으며, 심지어 고도로 병렬된 슈퍼컴퓨터도 마찬가지입니다.
1996년 현재 데이터베이스 벤치마크 조사에 따르면 CPU 사이클 4개 중 3개는 메모리를 기다리는 데 소비됩니다.연구자들은 멀티스레딩 또는 싱글칩 멀티프로세싱으로 동시 명령 스트림 수를 늘리면 이러한 병목 현상이 [29]더욱 심각해질 것으로 예상하고 있습니다.멀티코어 프로세서의 경우 프로세서와 스레드 간의 캐시 일관성을 유지하기 위해 추가 오버헤드가 필요합니다.
자체 수정 코드
von Neumann 병목 현상 외에도 프로그램 수정은 우발적 또는 설계에 의해 상당히 해로울 수 있습니다.일부 간단한 저장 프로그램 컴퓨터 설계에서는 프로그램이 오작동하면 자체, 다른 프로그램 또는 운영 체제가 손상되어 컴퓨터 크래시를 일으킬 수 있습니다.메모리 보호 및 기타 접근 제어는 보통 우발적인 프로그램 변경과 악의적인 프로그램 변경 모두에 대해 보호할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c 를 클릭합니다von Neumann, John (1945), First Draft of a Report on the EDVAC (PDF), archived from the original (PDF) on March 14, 2013, retrieved August 24, 2011.
- ^ 2009년 가네산.
- ^ 를 클릭합니다Markgraf, Joey D. (2007), The Von Neumann Bottleneck, archived from the original on December 12, 2013.
- ^ 코프랜드 2006, 페이지 104
- ^ 를 클릭합니다MFTL (My Favorite Toy Language) entry Jargon File 4.4.7, retrieved July 11, 2008.
- ^ 튜링, AlanM.(1936년),"연산 번호는 Entscheidungsproblem에 대한 적용으로", 런던 수학 학회 회보, 2(1937년 출판되), 42vol.,를 대신하여 서명함. 230–265, doi:10.1112/plms/s2-42.1.230, S2CID 73712과 튜링, AlanM.,"계산 가능한 숫자에,(1938년)은 Entscheidungsproblem에 대한 적용과 함께.런던 수학회의 correction", 회보, 2(1937년 출판되), 머드 6,를 대신하여 서명함. 544–546, doi:10.1112/plms/s2-43.6.544 43vol..
- ^ 를 클릭합니다Williams, F. C.; Kilburn, T. (September 25, 1948), "Electronic Digital Computers", Nature, 162 (4117): 487, Bibcode:1948Natur.162..487W, doi:10.1038/162487a0, S2CID 4110351, archived from the original on April 6, 2009, retrieved April 10, 2009.
- ^ Lukoff, Herman (1979). From Dits to Bits: A personal history of the electronic computer. Portland, Oregon, USA: Robotics Press. ISBN 0-89661-002-0. LCCN 79-90567.
- ^ ENIAC의 개발을 위한 최초 기간 동안 ENIAC프로젝트 관리자 그리스트 브레이의 12월 1943년 진도 보고서를 암시적으로, ENIAC을 건설할 것이다 그"고 복잡한 문제지 않도록 가장 단순한 프로젝트를 갖게 되고"발표하고 저장된 계획 개념(동시에 에니악에 그것의 실행을 거부하는)에 제안했다.에드 어떤"자동 조절"없이.
- ^ 코플랜드 2006년 페이지의 주 113.
- ^ 코플랜드, 잭(2000년), 컴퓨팅 ABriefHistoryofTime:ENIAC과 에드박 2010년 1월 27일 돌려받지 못 했다.
- ^ 코플랜드, 잭(2000년), 컴퓨팅 ABriefHistoryofTime:ENIAC과 에드박, 1월 27일;Michie, D(eds.),"앨런 튜링과 디지털 컴퓨터의 기원에", 머신 정보, Edinburgh:에딘버러 대학 출판부, 공연, 아이 에스비엔 0-902383-26-4 2010년(1972년 랜들, 브라이언(인용한 작품), Meltzer, B야. 돌려받지 못 했다.
- ^ 코플랜드 2006년,를 대신하여 서명함. 108–111.
- ^ 보든. 1953년,를 대신하여 서명함. 176,177.
- ^ 보든. 1953년 페이지의 주 135.
- ^ "Electronic Computer Project". Institute for Advanced Study. September 11, 2009. Retrieved May 26, 2011.
- ^ a b Campbell-Kelly, Martin (April 1982). "The Development of Computer Programming in Britain (1945 to 1955)". IEEE Annals of the History of Computing. 4 (2): 121–139. doi:10.1109/MAHC.1982.10016. S2CID 14861159.
- ^ 로버트슨, 제임스 E.(1955년), Illiac 설계 기법, 보고서 번호 UIUCDCS-R-1955-146, 디지털 컴퓨터 연구소, 일리노이 대학교 어버너-섐페인 캠퍼스.
- ^ 선택 순서 전자 계산기(미국 특허청 웹 사이트).
- ^ 선택 순서 전자 계산기(구글 특허).
- ^ 그로시, 허버트 R.J.(1991년), 컴퓨터:.비튼 수명, 제3밀레니엄 북스 아이 에스비엔 0-88733-085-1부터 Slices.
- ^ Lavington, Simon, ed. (2012). Alan Turing and his Contemporaries: Building the World's First Computers. London: British Computer Society. p. 61. ISBN 9781906124908.
- ^ Johnson, Roger (April 2008). "School of Computer Science & Information Systems: A Short History" (PDF). Birkbeck College. University of London. Retrieved July 23, 2017.
- ^ 벨, C고든, 캐디, R, 맥팔 랜드, H.;O'Laughlin, J.;누넌, R.;Wulf, W.(1970년)," 새로운 건축 Mini-Computers.—The DECPDP-11"(PDF), 봄은 합동 컴퓨터 회의를 대신하여 서명함. 657–675.
- ^ 없으면 Null이고, 린다, Lobur, 줄리아(2010년), 컴퓨터 조직과 건축(3판), 존스 및의 핵심;Bartlett는 배움를 대신하여 서명함. 36, 199–203, 아이 에스비엔 978-1-4496-0006-8.
- ^ Backus, John W. "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs". doi:10.1145/359576.359579.
{{cite journal}}
:Cite저널을 요구한다journal=
(도움말) - ^ Dijkstra, Edsger W. "E. W. Dijkstra Archive: A review of the 1977 Turing Award Lecture". Retrieved July 11, 2008.
- ^ Backus, John (August 1978). "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs" (PDF). Communications of the ACM. 21 (8): 613–641. doi:10.1145/359576.359579. S2CID 16367522. Retrieved September 19, 2020 – via Karl Crary, School of Computer Science, Carnegie Mellon University.
- ^ 사이트, 리처드 L., 팻, 예일.「아키텍트는 장래의 프로세서를 기대하고 있다」.마이크로프로세서 보고서. 1996년.
추가 정보
- Bowden, B. V., ed. (1953), Faster Than Thought: A Symposium on Digital Computing Machines, London: Sir Isaac Pitman and Sons Ltd.
- Rojas, Raúl; Hashagen, Ulf, eds. (2000), The First Computers: History and Architectures, MIT Press, ISBN 0-262-18197-5
- Davis, Martin (2000), The universal computer: the road from Leibniz to Turing, New York: W. W. Norton & Company Inc., ISBN 0-393-04785-7 다음 이름으로 재게시:
- 프로그래밍은 폰 노이만 스타일에서 해방될 수 있을까?배커스, 존 1977년 ACM 튜링상 강연ACM, 1978년 8월, Volume 21, No.8 온라인 PDF 2007년6월 21일에 아카이브된 Wayback Machine의 자세한 내용은http://backus-filename.http:/backus.http:/http:/http:/http:/http:/http:/http:/http:/h
- Bell, C. Gordon; Newell, Allen(1971), McGraw-Hill Book Company, McGraw-Hill Book Company, 컴퓨터 구조: Readings and Exampplies, 뉴욕.대용량(668페이지)
- Copeland, Jack (2006), "Colossus and the Rise of the Modern Computer", in Copeland, B. Jack (ed.), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford: Oxford University Press, ISBN 978-0-19-284055-4
- Ganesan, Deepak (2009), The von Neumann Model (PDF), archived from the original (PDF) on April 25, 2012, retrieved October 22, 2011
- McCartney, Scott (1999). ENIAC: The Triumphs and Tragedies of the World's First Computer. Walker & Co. ISBN 0-8027-1348-3.
- Goldstine, Herman H. (1972). The Computer from Pascal to von Neumann. Princeton University Press. ISBN 0-691-08104-2.
- Shurkin, Joel (1984). Engines of the Mind: A history of the Computer. New York, London: W. W. Norton & Company. ISBN 0-393-01804-0.