ENIAC (/ˈini.æk/ hay /ˈɛni.æk/ Electronic Numerical Integrator and Computer, tiếng Việt: Máy tích hợp điện tử và máy tính)[1][2][3] là máy tính kỹ thuật số đầu tiên có thể lập trình, điện tử cho mọi mục đích.[4] Nó là máy hoàn chỉnh Turing và có thể giải quyết "một lớp lớn các bài toán số" thông qua việc lập trình lại.[5][6]
Mặc dù ENIAC được thiết kế và chủ yếu được sử dụng để tính toán các bảng bắn pháo cho Phòng thí nghiệm Nghiên cứu Tên lửa của Quân đội Hoa Kỳ (sau này trở thành một bộ phận của Phòng thí nghiệm Nghiên cứu Quân đội),[7][8] chương trình đầu tiên của nó là một nghiên cứu về tính khả thi của vũ khí nhiệt hạch.[9][10]
ENIAC được hoàn thành vào năm 1945 và lần đầu tiên được đưa vào hoạt động cho các mục đích thực tế vào ngày 10 tháng 12 năm 1945.[11]
ENIAC chính thức được đặt tại Đại học Pennsylvania vào ngày 15 tháng 2 năm 1946 và được báo chí gọi là "Bộ não khổng lồ".[12] Nó có tốc độ nhanh hơn một nghìn lần so với tốc độ của máy cơ điện; sức mạnh tính toán này, cùng với khả năng lập trình có mục đích chung, khiến các nhà khoa học cũng như các nhà công nghiệp phấn khích. Sự kết hợp giữa tốc độ và khả năng lập trình cho phép thực hiện thêm hàng nghìn phép tính cho các vấn đề, vì ENIAC đã tính toán quỹ đạo trong 30 giây mà một con người mất 20 giờ (cho phép một giờ ENIAC thay thế 2.400 giờ của con người).[13] Chiếc máy hoàn thiện và được công bố trước công chúng vào tối ngày 14 tháng 2 năm 1946 và chính thức được trưng bày vào ngày hôm sau tại Đại học Pennsylvania, có giá gần 500.000 đô la (tương đương 7.150.000 đô la năm 2020; đã điều chỉnh theo lạm phát). Nó được Quân đội Hoa Kỳ chính thức chấp nhận vào tháng 7 năm 1946. ENIAC ngừng hoạt động vào ngày 9 tháng 11 năm 1946 để tân trang và nâng cấp bộ nhớ, và được chuyển đến Aberdeen Proving Ground, Maryland vào năm 1947. Ở đó, vào ngày 29 tháng 7 năm 1947, nó đã được bật và hoạt động liên tục cho đến 11 giờ 45 chiều ngày 2 tháng 10 năm 1955.
Thiết kế và xây dựng của ENIAC được tài trợ bởi Quân đội Hoa Kỳ, Quân đoàn, Bộ Tư lệnh Nghiên cứu và Phát triển, do Thiếu tướng Gladeon M. Barnes đứng đầu. Tổng chi phí khoảng $ 487.000, tương đương $8.236.000 năm 2022.[14] Hợp đồng xây dựng được ký ngày 5 tháng 6 năm 1943; Công việc trên máy tính bắt đầu bí mật tại Trường Kỹ thuật Điện Moore của Đại học Pennsylvania [5] vào tháng sau, với mật danh "Dự án PX", với John Grist Brainerd là điều tra viên chính. Herman H. Goldstine thuyết phục Quân đội tài trợ cho dự án và giao cho ông phụ trách giám sát chương trình cho họ.[15]
ENIAC được John Mauchly và J. Presper Eckert của Đại học Pennsylvania, Hoa Kỳ thiết kế.[16] Đội ngũ kỹ sư thiết kế hỗ trợ phát triển bao gồm Robert F. Shaw (bảng chức năng), Jeffrey Chuan Chu (bộ chia / bộ chia vuông), Thomas Kite Sharpless (lập trình viên bậc thầy), Frank Mural (lập trình viên bậc thầy), Arthur Burks (bộ nhân), Harry Huskey (đầu đọc / máy in) và Jack Davis (bộ tích lũy).[17] Các lập trình viên nữ của ENIAC đảm nhận công việc phát triển đáng kể.[18] Năm 1946, các nhà nghiên cứu từ chức tại Đại học Pennsylvania và thành lập Công ty Máy tính Eckert-Mauchly.
ENIAC là một máy tính mô-đun, bao gồm các bảng riêng lẻ để thực hiện các chức năng khác nhau. Hai mươi trong số các mô-đun này là bộ tích lũy không chỉ có thể cộng và trừ mà còn chứa một số thập phân có mười chữ số trong bộ nhớ. Các con số được chuyển giữa các đơn vị này qua một số buýt máy tính đa năng (hoặc khay, như chúng được gọi). Để đạt được tốc độ cao, các bảng điều khiển phải gửi và nhận số, tính toán, lưu câu trả lời và kích hoạt hoạt động tiếp theo, tất cả đều không có bất kỳ bộ phận chuyển động nào. Chìa khóa cho tính linh hoạt của nó là khả năng phân nhánh; nó có thể kích hoạt các phép toán khác nhau, tùy thuộc vào dấu hiệu của một kết quả được tính toán.
Đến khi kết thúc hoạt động vào năm 1956, ENIAC chứa 18.000 bóng đèn chân không; 7.200 điốt tinh thể; 1.500 rơ le; 70.000 điện trở; 10.000 tụ điện; và khoảng 5.000.000 mối nối hàn tay. Nó nặng hơn 30 tấn Mỹ (27 t), là khoảng 2,4 m × 0,9 m × 30 m (8 ft × 3 ft × 98 ft) kích thước, chiếm 167 m2 (1.800 foot vuông) và tiêu thụ 150 kW điện năng.[19][20] Yêu cầu về nguồn điện này dẫn đến tin đồn rằng bất cứ khi nào máy tính được bật, đèn ở Philadelphia sẽ tối đi.[21] Đầu vào có thể được thực hiện từ đầu đọc thẻ IBM và một cú đấm thẻ IBM được sử dụng cho đầu ra. Các thẻ này có thể được sử dụng để tạo ra bản in ngoại tuyến bằng máy kế toán IBM, chẳng hạn như IBM 405. Trong khi ENIAC không có hệ thống lưu trữ bộ nhớ trong thời gian đầu, những thẻ đục lỗ này có thể được sử dụng để lưu trữ bộ nhớ ngoài.[22] Năm 1953, một bộ nhớ lõi từ 100 từ do Burroughs Corporation chế tạo đã được thêm vào ENIAC.[23]
ENIAC đã sử dụng bộ đếm vòng mười vị trí để lưu trữ các chữ số; mỗi chữ số yêu cầu 36 ống chân không, 10 trong số đó là triodes kép tạo nên các flip-flop của bộ đếm vòng. Số học được thực hiện bằng cách "đếm" xung với bộ đếm vòng và tạo ra xung mang nếu bộ đếm "quấn quanh", ý tưởng là mô phỏng điện tử hoạt động của các bánh xe số của một máy cộng cơ học.
ENIAC có 20 bộ tích lũy có dấu mười chữ số, sử dụng biểu diễn phần bù của mười và có thể thực hiện 5.000 phép tính cộng hoặc trừ đơn giản giữa bất kỳ bộ tích lũy nào trong số chúng và một nguồn (ví dụ, một bộ tích lũy khác hoặc một máy phát không đổi) mỗi giây. Có thể kết nối nhiều bộ tích điện để chạy đồng thời, do đó, tốc độ hoạt động cao nhất có thể cao hơn nhiều, do hoạt động song song.
Có thể nối dây mang của một bộ tích lũy vào một bộ tích lũy khác để thực hiện số học với độ chính xác gấp đôi, nhưng thời gian mạch mang bộ tích lũy đã ngăn cản việc đấu dây từ ba bộ trở lên để có độ chính xác cao hơn. ENIAC đã sử dụng bốn trong số các bộ tích lũy (được điều khiển bởi một đơn vị hệ số nhân đặc biệt) để thực hiện tới 385 phép nhân mỗi giây; năm trong số các bộ tích lũy được điều khiển bởi một bộ chia / bộ chia ô vuông đặc biệt để thực hiện tới 40 phép toán chia mỗi giây hoặc ba phép toán căn bậc hai mỗi giây.
Chín thiết bị khác trong ENIAC là thiết bị khởi động (khởi động và dừng máy), thiết bị quay vòng (được sử dụng để đồng bộ hóa các thiết bị khác), lập trình viên chính (kiểm soát trình tự vòng lặp), đầu đọc (điều khiển một đầu đọc thẻ đục lỗ của IBM), máy in (điều khiển một cú đấm thẻ IBM), máy phát không đổi và ba bảng chức năng.[25] [26]
Các tài liệu tham khảo của Rojas và Hashagen (hoặc Wilkes) [16] cung cấp thêm chi tiết về thời gian cho các hoạt động, hơi khác so với những điều đã nêu ở trên.
Chu kỳ máy cơ bản là 200 micro giây (20 chu kỳ của 100 đồng hồ kHz trong đơn vị chu kỳ), hoặc 5.000 chu kỳ mỗi giây cho các hoạt động trên các số có 10 chữ số. Trong một trong những chu kỳ này, ENIAC có thể ghi một số vào một thanh ghi, đọc một số từ một thanh ghi, hoặc cộng / trừ hai số.
Phép nhân một số có 10 chữ số với một chữ số d (d tối đa là 10) mất d +4 chu kỳ, do đó, một phép nhân 10 với 10 chữ số mất 14 chu kỳ hoặc 2.800 micro giây — tốc độ 357 mỗi giây. Nếu một trong các số có ít hơn 10 chữ số, thì thao tác sẽ nhanh hơn.
Phép chia và căn bậc hai mất 13(d +1) chu kỳ, trong đó d là số chữ số trong kết quả (thương hoặc căn bậc hai). Vì vậy, một phép chia hoặc căn bậc hai cần tới 143 chu kỳ, hay 28.600 micro giây - tốc độ 35 mỗi giây. (Wilkes 1956: 20 [16] nói rằng một phép chia có thương là 10 chữ số cần 6 mili giây.) Nếu kết quả có ít hơn mười chữ số, thì kết quả sẽ nhanh hơn.
ENIAC đã sử dụng các ống vô tuyến cơ số bát phân phổ biến trong thời gian đó; các chữ số thập phân ắc được làm bằng 6SN7 flip-flops, trong khi các flipflop 6L7s, 6SJ7s, 6SA7s và 6AC7s đã được sử dụng trong các chức năng logic.[27] Nhiều flipflop 6L6 và 6V6 đóng vai trò là trình điều khiển đường truyền để truyền xung qua cáp giữa các cụm khe cắm.
Một số ống này cháy gần như mỗi ngày, khiến ENIAC không hoạt động trong khoảng một nửa thời gian. Các ống đặc biệt có độ tin cậy cao không có sẵn cho đến năm 1948. Tuy nhiên, hầu hết các hư hỏng này xảy ra trong giai đoạn khởi động và hạ nhiệt, khi bộ sưởi ống và catốt chịu ứng suất nhiệt nhiều nhất. Các kỹ sư đã giảm các lỗi ống của ENIAC xuống mức chấp nhận được là một ống cứ hai ngày một lần. Theo một cuộc phỏng vấn vào năm 1989 với Eckert, "Chúng tôi có một ống bị hỏng khoảng hai ngày một lần và chúng tôi có thể xác định được vấn đề trong vòng 15 phút." [28] Vào năm 1954, thời gian hoạt động liên tục dài nhất mà không gặp sự cố là 116 giờ - gần 5 ngày.
ENIAC có thể được lập trình để thực hiện các chuỗi hoạt động phức tạp, bao gồm các vòng lặp, các nhánh và các chương trình con. Tuy nhiên, thay vì các máy tính được lưu trữ chương trình tồn tại ngày nay, ENIAC chỉ là một tập hợp lớn các máy tính số học, ban đầu có các chương trình được thiết lập vào máy [29] bằng sự kết hợp của hệ thống dây bảng cắm và ba bảng chức năng di động (chứa 120010 -đường chuyển mạch từng).[30] Nhiệm vụ xử lý một vấn đề và ánh xạ nó vào máy rất phức tạp và thường mất hàng tuần. Do sự phức tạp của việc ánh xạ các chương trình vào máy, các chương trình chỉ được thay đổi sau một số lượng lớn các thử nghiệm của chương trình hiện tại.[31] Sau khi chương trình được hình dung trên giấy, quá trình đưa chương trình vào ENIAC bằng cách thao tác các công tắc và cáp của nó có thể mất nhiều ngày. Sau đó là giai đoạn xác minh và gỡ lỗi, được hỗ trợ bởi khả năng thực thi chương trình từng bước. Hướng dẫn lập trình cho chức năng modulo bằng cách sử dụng trình mô phỏng ENIAC cho ta ấn tượng về một chương trình trên ENIAC trông như thế nào.[32][33][34]
Sáu lập trình viên chính của ENIAC, Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas và Ruth Lichterman, không chỉ xác định cách nhập các chương trình ENIAC mà còn phát triển sự hiểu biết về hoạt động bên trong của ENIAC.[35][36] Các lập trình viên thường có thể thu hẹp lỗi thành một ống bị lỗi riêng lẻ mà kỹ thuật viên có thể tìm ra để thay thế.[37]
Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Meltzer, Fran Bilas và Ruth Lichterman là những người lập trình viên đầu tiên của ENIAC. Họ không phải là nhà khoa học máy tính và nhà sử học Kathryn Kleiman đã từng nói, họ không phải là "những quý cô tủ lạnh", tức là những người mẫu tạo dáng trước máy để chụp ảnh báo chí.[38] Tuy nhiên, một số phụ nữ đã không nhận được sự công nhận cho công việc của họ trong ENIAC trong suốt cuộc đời của họ.[18]
Những lập trình viên ban đầu này được thu hút từ một nhóm khoảng hai trăm phụ nữ làm máy tính tại Trường Kỹ thuật Điện Moore thuộc Đại học Pennsylvania. Công việc của máy tính là tạo ra kết quả số của các công thức toán học cần thiết cho một nghiên cứu khoa học hoặc một dự án kỹ thuật. Họ thường làm như vậy với một máy tính cơ học. Những người phụ nữ đã nghiên cứu logic, cấu trúc vật lý, hoạt động và mạch điện của máy để không chỉ hiểu toán học của máy tính mà còn cả bản thân máy.[39] Đây là một trong số ít các hạng mục công việc kỹ thuật dành cho phụ nữ vào thời điểm đó.[40] Betty Holberton (nhũ danh Snyder) tiếp tục giúp viết hệ thống lập trình tổng hợp đầu tiên (SORT / MERGE) và giúp thiết kế các máy tính điện tử thương mại đầu tiên, UNIVAC và BINAC, cùng với Jean Jennings.[41] McNulty đã phát triển việc sử dụng các chương trình con để giúp tăng khả năng tính toán của ENIAC.[42]
Herman Goldstine đã chọn các lập trình viên mà ông gọi là các nhà điều hành, từ các máy tính đã tính toán bảng đạn đạo với máy tính bàn cơ học và máy phân tích vi sai trước và trong quá trình phát triển ENIAC.[18] Dưới sự chỉ đạo của Herman và Adele Goldstine, các máy tính đã nghiên cứu bản thiết kế và cấu trúc vật lý của ENIAC để xác định cách thao tác với các công tắc và cáp của nó, vì ngôn ngữ lập trình vẫn chưa tồn tại. Mặc dù những người đương thời coi việc lập trình là một nhiệm vụ văn thư và không công khai công nhận tác động của các lập trình viên đối với việc vận hành và thông báo thành công ENIAC,[18] McNulty, Jennings, Snyder, Wescoff, Bilas và Lichterman kể từ đó đã được công nhận vì những đóng góp của họ trong lĩnh vực điện toán.[43][44][45]
Chức danh "lập trình viên" và "nhà điều hành" ban đầu không được coi là những nghề phù hợp với phụ nữ. Sự thiếu hụt lao động do Thế chiến thứ hai tạo ra đã giúp phụ nữ tham gia vào lĩnh vực này.[18] Tuy nhiên, lĩnh vực này không được coi là có uy tín, và việc thu hút phụ nữ được coi là một cách để giải phóng nam giới để có thêm lao động có kỹ năng. Về cơ bản, phụ nữ được coi là đáp ứng nhu cầu trong một cuộc khủng hoảng tạm thời.[39] Ví dụ, Ủy ban Cố vấn Quốc gia về Hàng không cho biết vào năm 1942, "Người ta cảm thấy rằng thu được đủ lớn hơn bằng cách giải phóng các kỹ sư khỏi việc tính toán chi tiết để vượt qua bất kỳ khoản chi phí tăng nào trong tiền lương của máy tính. Các kỹ sư tự thừa nhận rằng máy tính do nữ giới thực hiện công việc nhanh hơn và chính xác hơn so với họ. Điều này phần lớn là do các kỹ sư cảm thấy rằng kinh nghiệm đại học và công nghiệp của họ đang bị lãng phí và bị cản trở bởi những phép tính lặp đi lặp lại ".[18]
Sau sáu lập trình viên ban đầu, một nhóm mở rộng gồm một trăm nhà khoa học đã được tuyển dụng để tiếp tục làm việc trong ENIAC. Trong số này có một số phụ nữ, bao gồm cả Gloria Ruth Gordon.[46] Adele Goldstine đã viết mô tả kỹ thuật ban đầu của ENIAC.[47]
Mặc dù Phòng thí nghiệm nghiên cứu đạn đạo là nhà tài trợ của ENIAC, nhưng sau một năm thực hiện dự án kéo dài 3 năm này, John von Neumann, một nhà toán học làm việc về bom khinh khí tại Phòng thí nghiệm Quốc gia Los Alamos, đã biết đến chiếc máy tính này.[8] Los Alamos sau đó đã tham gia với ENIAC đến mức lần chạy thử nghiệm đầu tiên bao gồm các tính toán cho bom khinh khí, không phải bàn pháo.[8] Đầu vào / đầu ra cho thử nghiệm này là một triệu thẻ giấy.[8]
Liên quan đến vai trò của ENIAC trong bom khinh khí là vai trò của nó trong việc đưa phương pháp Monte Carlo trở nên phổ biến. Các nhà khoa học tham gia vào quá trình phát triển bom hạt nhân ban đầu đã sử dụng những nhóm người thực hiện một số lượng lớn các phép tính ("máy tính" trong thuật ngữ thời đó) để điều tra khoảng cách mà neutron có thể di chuyển qua các vật liệu khác nhau. John von Neumann và Stanislaw Ulam nhận ra tốc độ của ENIAC sẽ cho phép thực hiện các phép tính này nhanh hơn nhiều.[48] Thành công của dự án này đã cho thấy giá trị của phương pháp Monte Carlo trong khoa học.[49]
Một cuộc họp báo đã được tổ chức vào ngày 1 tháng 2 năm 1946,[18] và chiếc máy hoàn chỉnh đã được công bố trước công chúng vào tối ngày 14 tháng 2 năm 1946,[50] với những minh chứng về khả năng của nó. Elizabeth Snyder và Betty Jean Jennings chịu trách nhiệm phát triển chương trình quỹ đạo trình diễn, mặc dù Herman và Adele Goldstine đã ghi công vào nó.[18] Máy được chính thức dành riêng vào ngày hôm sau [51] tại Đại học Pennsylvania. Không ai trong số những người phụ nữ tham gia vào việc lập trình máy hoặc tạo ra cuộc trình diễn được mời tham dự buổi biểu diễn chính thức cũng như bữa tối ăn mừng được tổ chức sau đó.[52]
Số tiền hợp đồng ban đầu là $ 61,700; chi phí cuối cùng là gần 500.000 đô la (khoảng 6.600.000 đô la ngày nay). Nó chính thức được Quân đội Hoa Kỳ chấp nhận vào tháng 7 năm 1946. ENIAC ngừng hoạt động vào ngày 9 tháng 11 năm 1946 để sửa chữa và nâng cấp bộ nhớ, và được chuyển đến Aberdeen Proving Ground, Maryland vào năm 1947. Tại đó, vào ngày 29 tháng 7 năm 1947, nó đã được bật và hoạt động liên tục cho đến 11:45 tối vào ngày 2 tháng 10 năm 1955.[53]
Vài tháng sau khi ENIAC công bố vào mùa hè năm 1946, như một phần của "nỗ lực phi thường để bắt đầu nghiên cứu trong lĩnh vực này",[54] Lầu Năm Góc đã mời "những người hàng đầu về điện tử và toán học từ Hoa Kỳ và Anh. " [54] cho một loạt bốn mươi tám bài giảng được đưa ra ở Philadelphia, Pennsylvania; tất cả cùng được gọi là Lý thuyết và Kỹ thuật thiết kế Máy tính Kỹ thuật số — nhiều hơn nữa thường được đặt tên là Bài giảng của Trường Moore.[54] Một nửa số bài giảng này được đưa ra bởi các nhà phát minh của ENIAC.[55]
ENIAC là một thiết kế độc nhất vô nhị và không bao giờ được lặp lại. Sự đóng băng về thiết kế vào năm 1943 có nghĩa là thiết kế máy tính sẽ thiếu một số cải tiến đã sớm trở nên phát triển tốt, đặc biệt là khả năng lưu trữ chương trình. Eckert và Mauchly bắt đầu làm việc trên một thiết kế mới, sau này được gọi là EDVAC, đơn giản hơn và mạnh mẽ hơn. Đặc biệt, vào năm 1944, Eckert đã viết mô tả của mình về một đơn vị bộ nhớ (đường trễ thủy ngân) sẽ chứa cả dữ liệu và chương trình. John von Neumann, người đang tư vấn cho Trường Moore về EDVAC, đã tham gia các cuộc họp của Trường Moore, tại đó khái niệm chương trình được lưu trữ đã được xây dựng. Von Neumann đã viết một bộ ghi chú chưa hoàn chỉnh (Bản thảo đầu tiên của Báo cáo về EDVAC) nhằm mục đích sử dụng như một bản ghi nhớ nội bộ — mô tả, xây dựng và diễn đạt bằng ngôn ngữ logic chính thức về các ý tưởng được phát triển trong các cuộc họp. Quản trị viên ENIAC và nhân viên bảo mật Herman Goldstine đã phân phối các bản sao của Dự thảo đầu tiên này cho một số chính phủ và tổ chức giáo dục, thúc đẩy sự quan tâm rộng rãi đến việc xây dựng thế hệ máy tính điện tử mới, bao gồm Máy tính tự động lưu trữ trễ điện tử (EDSAC) tại Đại học Cambridge, Anh và SEAC tại Cục Tiêu chuẩn Hoa Kỳ.[56]
Một số cải tiến đã được thực hiện đối với ENIAC sau năm 1947, bao gồm cơ chế lập trình lưu trữ chỉ đọc ban đầu sử dụng các bảng chức năng dưới dạng ROM chương trình,[56][57] sau đó lập trình được thực hiện bằng cách thiết lập các công tắc.[58] Ý tưởng này đã được Richard Clippinger và nhóm của ông, một mặt, và Goldstines, đưa ra trong một số biến thể, mặt khác,[59] và nó đã được đưa vào bằng sáng chế ENIAC.[60] Clippinger đã tham khảo ý kiến của von Neumann về bộ hướng dẫn cần thực hiện.[56] [61] [62] Clippinger đã nghĩ đến kiến trúc ba địa chỉ trong khi von Neumann đề xuất kiến trúc một địa chỉ vì nó dễ triển khai hơn. Ba chữ số của một bộ tích lũy (# 6) được sử dụng làm bộ đếm chương trình, bộ tích lũy khác (# 15) được sử dụng làm bộ tích lũy chính, bộ tích lũy thứ ba (# 8) được sử dụng làm con trỏ địa chỉ để đọc dữ liệu từ các bảng chức năng, và hầu hết các bộ tích lũy khác (1–5, 7, 9–14, 17–19) được sử dụng cho bộ nhớ dữ liệu.
Vào tháng 3 năm 1948, bộ chuyển đổi đã được lắp đặt,[63] giúp lập trình thông qua đầu đọc từ các thẻ IBM tiêu chuẩn.[64] [65] "Lần chạy sản xuất đầu tiên" của các kỹ thuật mã hóa mới về vấn đề Monte Carlo diễn ra vào tháng 4.[63] [66] Sau khi ENIAC chuyển đến Aberdeen, một bảng thanh ghi cho bộ nhớ cũng được xây dựng, nhưng nó không hoạt động. Một bộ phận điều khiển chính nhỏ để bật và tắt máy cũng được thêm vào.[67]
Việc lập trình chương trình lưu trữ cho ENIAC được Betty Jennings, Clippinger, Adele Goldstine và những người khác thực hiện.[68] [69] [56] Lần đầu tiên nó được trình diễn dưới dạng một máy tính lưu trữ chương trình vào tháng 4 năm 1948,[70] chạy một chương trình của Adele Goldstine cho John von Neumann. Việc sửa đổi này làm giảm tốc độ của ENIAC xuống hệ số 6 và loại bỏ khả năng tính toán song song, nhưng nó cũng giảm thời gian lập trình lại [62] [56] xuống còn hàng giờ thay vì hàng ngày, nó được coi là rất đáng để mất hiệu suất. Ngoài ra, phân tích cũng chỉ ra rằng do sự khác biệt giữa tốc độ điện tử của tính toán và tốc độ cơ điện của đầu vào / đầu ra, hầu hết mọi vấn đề trong thế giới thực đều hoàn toàn bị ràng buộc vào / ra, ngay cả khi không sử dụng song song của máy ban đầu. Hầu hết các phép tính sẽ vẫn bị ràng buộc I / O, ngay cả sau khi giảm tốc độ do sửa đổi này áp dụng.
Đầu năm 1952, một bộ chuyển số tốc độ cao đã được thêm vào, giúp cải thiện tốc độ chuyển số lên hệ số năm. Vào tháng 7 năm 1953, bộ nhớ lõi mở rộng 100 từ được thêm vào hệ thống, sử dụng biểu diễn số thập phân được mã hóa nhị phân, vượt quá 3 số. Để hỗ trợ bộ nhớ mở rộng này, ENIAC đã được trang bị một bộ chọn Bảng Chức năng mới, một bộ chọn địa chỉ bộ nhớ, các mạch định hình xung và ba lệnh mới đã được thêm vào cơ chế lập trình.[56]
Unlike the later 60- and 100-order codes this one [51 order code] required no additions to ENIAC's original hardware. It would have worked more slowly and offered a more restricted range of instructions but the basic structure of accumulators and instructions changed only slightly.
The first problem assigned to the first working electronic digital computer in the world was the hydrogen bomb. [...] The ENIAC ran a first rough version of the thermonuclear calculations for six weeks in December 1945 and January 1946.
The ENIAC machine [...] was reduced to practice no later than the date of commencement of the use of the machine for the Los Alamos calculations, ngày 10 tháng 12 năm 1945.
At present it is controlled by a code which incorporates a unit called the Converter as a basic part of its operation, hence the name ENIAC Converter Code. These code digits are brought into the machine either through the Reader from standard IBM cards* or from the Function Tables (...). (...) * The card control method of operation is used primarily for testing and the running of short highly iterative problems and is not discussed in this report.
<ref>
có tên “FOOTNOTEGoldstine1947” được định nghĩa trong <references>
không được đoạn văn bản trên sử dụng.