ENIAC

Bách khoa toàn thư mở Wikipedia
Glen Beck (hậu cảnh) và Betty Snyder (tiền cảnh) đang lập chương trình ENIAC trong tòa nhà BRL 328. (Ảnh Quân đội Hoa Kỳ, khoảng năm 1947-1955)

ENIAC (/ˈini.æk/ hay /ˈɛni.æk/ viết tắt của cụm từ 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]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.

Phát triển và thiết kế[sửa | sửa mã nguồn]

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 MauchlyJ. 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.

Các thành phần[sửa | sửa mã nguồ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.

Cpl. Irwin Goldstein (tiền cảnh) đặt các công tắc trên một trong các bảng chức năng của ENIAC tại Trường Kỹ thuật Điện Moore. (Ảnh quân đội Hoa Kỳ) [24]

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]

Thời gian vận hành[sửa | sửa mã nguồn]

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.

Độ tin cậy[sửa | sửa mã nguồ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 6L66V6 đó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.

Lập trình[sửa | sửa mã nguồn]

Lập trình viên Betty Jean Jennings (trái) và Fran Bilas (phải) vận hành bảng điều khiển chính của ENIAC tại Trường Kỹ thuật Điện Moore. (Ảnh Quân đội Hoa Kỳ từ kho lưu trữ của Thư viện Kỹ thuật ARL)

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 BilasRuth 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]

Lập trình viên[sửa | sửa mã nguồn]

Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Meltzer, Fran BilasRuth 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]

Vai trò trong việc tạo bom khinh khí[sửa | sửa mã nguồn]

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]

Vai trò trong việc phát triển các phương pháp Monte Carlo[sửa | sửa mã nguồn]

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]

Phát triển sau đó[sửa | sửa mã nguồn]

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]

Vai trò trong sự phát triển của EDVAC[sửa | sửa mã nguồn]

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]

Cải tiến[sửa | sửa mã nguồn]

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]

Nguồn tham khảo[sửa | sửa mã nguồn]

  • Burks, Arthur (1947). “Electronic Computing Circuits of the ENIAC”. Proceedings of the I.R.E. 35 (8): 756–767. doi:10.1109/jrproc.1947.234265.
  • Burks, Arthur; Burks, Alice R. (1981). “The ENIAC: The First General-Purpose Electronic Computer”. Annals of the History of Computing. 3 (4): 310–389. doi:10.1109/mahc.1981.10043.
  • Clippinger, R. F. (ngày 29 tháng 9 năm 1948). Source. “A Logical Coding System Applied to the ENIAC”. Ballistic Research Laboratories Report (673). Bản gốc lưu trữ ngày 3 tháng 1 năm 2010. Truy cập ngày 27 tháng 1 năm 2010.
  • Copeland, B. Jack biên tập (2006), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford: Oxford University Press, ISBN 978-0-19-284055-4
  • Eckert, J. Presper, The ENIAC (in Nicholas Metropolis, J. Howlett, Gian-Carlo Rota, (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980, pp. 525–540)
  • Eckert, J. PresperJohn Mauchly, 1946, Outline of plans for development of electronic computers, 6 pages. (The founding document in the electronic computer industry.)
  • Fritz, W. Barkley, The Women of ENIAC (in IEEE Annals of the History of Computing, Vol. 18, 1996, pp. 13–28)
  • Goldstine, Adele (1946). Source. “A Report on the ENIAC”. FTP.arl.mil. 1 (1). Chapter 1 -- Introduction: 1.1.2. The Units of the ENIAC. Bản gốc lưu trữ ngày 18 tháng 11 năm 2016. Truy cập ngày 20 tháng 10 năm 2020.
  • Goldstine, H. H.; Goldstine, Adele (1946). “The electronic numerical integrator and computer (ENIAC)”. Mathematics of Computation (bằng tiếng Anh). 2 (15): 97–110. doi:10.1090/S0025-5718-1946-0018977-0. ISSN 0025-5718. (also reprinted in The Origins of Digital Computers: Selected Papers, Springer-Verlag, New York, 1982, pp. 359–373)
  • Goldstine, Adele K. (ngày 10 tháng 7 năm 1947). Central Control for ENIAC. tr. 1. 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.
  • Goldstine, Herman H. (1972). The Computer: from Pascal to von Neumann. Princeton, New Jersey: Princeton University Press. ISBN 978-0-691-02367-0.
  • Haigh, Thomas; Priestley, Mark; Rope, Crispin (April–June 2014). “Engineering 'The Miracle of the ENIAC': Implementing the Modern Code Paradigm”. IEEE Annals of the History of Computing (bằng tiếng Anh). 36 (2): 41–59. doi:10.1109/MAHC.2014.15. Truy cập ngày 13 tháng 11 năm 2018.
  • Haigh, Thomas; Priestley, Mark; Rope, Crispin (2016). ENIAC in Action: Making and Remaking the Modern Computer. MIT Press. ISBN 978-0-262-53517-5.
  • Light, Jennifer S. (1999). “When Computers Were Women” (PDF). Technology and Culture. 40 (3): 455–483. doi:10.1353/tech.1999.0128. Truy cập ngày 9 tháng 3 năm 2015.
  • Mauchly, John, The ENIAC (in Metropolis, Nicholas, Howlett, Jack; Rota, Gian-Carlo. 1980, A History of Computing in the Twentieth Century, Academic Press, New York, ISBN 0-12-491650-3, pp. 541–550, "Original versions of these papers were presented at the International Research Conference on the History of Computing, held at the Los Alamos Scientific Laboratory, 10–ngày 15 tháng 6 năm 1976.")
  • McCartney, Scott (1999). ENIAC: The Triumphs and Tragedies of the World's First Computer. Walker & Co. ISBN 978-0-8027-1348-3.
  • Rojas, Raúl; Hashagen, Ulf, editors. The First Computers: History and Architectures, 2000, MIT Press, ISBN 0-262-18197-5
  • Stuart, Brian L. (2018). “Simulating the ENIAC [Scanning Our Past]”. Proceedings of the IEEE. 106 (4): 761–772. doi:10.1109/JPROC.2018.2813678.
  • Stuart, Brian L. (2018). “Programming the ENIAC [Scanning Our Past]”. Proceedings of the IEEE. 106 (9): 1760–1770. doi:10.1109/JPROC.2018.2843998.
  • Stuart, Brian L. (2018). “Debugging the ENIAC [Scanning Our Past]”. Proceedings of the IEEE. 106 (12): 2331–2345. doi:10.1109/JPROC.2018.2878986.

Đọc thêm[sửa | sửa mã nguồn]

Chú thích[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ John Presper Eckert Jr. and John W. Mauchly, Electronic Numerical Integrator and Computer, United States Patent Office, US Patent 3,120,606, filed ngày 26 tháng 6 năm 1947, issued ngày 4 tháng 2 năm 1964, and invalidated ngày 19 tháng 10 năm 1973 after court ruling on Honeywell v. Sperry Rand.
  2. ^ Goldstein 1972
  3. ^ “The ENIAC Story”. Ftp.arl.mil. Bản gốc lưu trữ ngày 14 tháng 8 năm 2011. Truy cập ngày 22 tháng 9 năm 2008.
  4. ^ “3.2 First Generation Electronic Computers (1937-1953)”. www.phy.ornl.gov. Bản gốc lưu trữ ngày 3 tháng 4 năm 2020. Truy cập ngày 20 tháng 10 năm 2020.
  5. ^ a b Goldstine & Goldstine 1946
  6. ^ Shurkin, Joel (1996). Engines of the mind: the evolution of the computer from mainframes to microprocessors. New York: Norton. ISBN 978-0-393-31471-7.
  7. ^ Moye, William T. (tháng 1 năm 1996). “ENIAC: The Army-Sponsored Revolution”. US Army Research Laboratory. Bản gốc lưu trữ ngày 21 tháng 5 năm 2017. Truy cập ngày 29 tháng 3 năm 2015.
  8. ^ a b c d Goldstine 1972
  9. ^ Richard Rhodes (1995). “chapter 13”. Dark Sun: The Making of the Hydrogen Bomb. tr. 251. 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.
  10. ^ Scott McCartney p.103 (1999): "ENIAC correctly showed that Teller's scheme would not work, but the results led Teller and Ulam to come up with another design together."
  11. ^ * “ENIAC on Trial – 1. Public Use”. www.ushistory.org. Search for 1945. Truy cập ngày 16 tháng 5 năm 2018. 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.
  12. ^ Brain used in the press as a metaphor became common during the war years. Looking, for example, at Life magazine: 1937-08-16, p.45 Overseas Air Lines Rely on Magic Brain (RCA Radiocompass). 1942-03-09 p.55 the Magic Brain—is a development of RCA engineers (RCA Victrola). 1942-12-14 p.8 Blanket with a Brain does the rest! (GE Automatic Blanket). 1943-11-08 p.8 Mechanical brain sights gun (How to boss a BOFORS!)
  13. ^ “ENIAC”. ENIAC USA 1946. History of Computing Project. 13 tháng 3 năm 2013. Bản gốc lưu trữ ngày 14 tháng 6 năm 2016. Truy cập ngày 18 tháng 5 năm 2016.
  14. ^ Dalakov, Georgi. “ENIAC”. History of Computers. Georgi Dalakov. Truy cập ngày 23 tháng 5 năm 2016.
  15. ^ “Archived copy”. Bản gốc lưu trữ ngày 30 tháng 11 năm 2015. Truy cập ngày 15 tháng 4 năm 2017.Quản lý CS1: bản lưu trữ là tiêu đề (liên kết)
  16. ^ a b c Wilkes, M. V. (1956). Automatic Digital Computers. New York: John Wiley & Sons. QA76.W5 1956.
  17. ^ UShistory.org ENIAC Invetors Retrieved 2016-02-04 USHistory.org ENIAC Inventors.
  18. ^ a b c d e f g h Light 1999.
  19. ^ “ENIAC”. The Free Dictionary. Truy cập ngày 29 tháng 3 năm 2015.
  20. ^ Weik, Martin H. (tháng 12 năm 1955). Ballistic Research Laboratories Report No. 971: A Survey of Domestic Electronic Digital Computing Systems. Aberdeen Proving Ground, MD: United States Department of Commerce Office of Technical Services. tr. 41. Truy cập ngày 29 tháng 3 năm 2015.
  21. ^ Farrington, Gregory (tháng 3 năm 1996). ENIAC: Birth of the Information Age. Popular Science. Truy cập ngày 29 tháng 3 năm 2015.
  22. ^ “ENIAC in Action: What it Was and How it Worked”. ENIAC: Celebrating Penn Engineering History. University of Pennsylvania. Truy cập ngày 17 tháng 5 năm 2016.
  23. ^ Martin, Jason (17 tháng 12 năm 1998). “Past and Future Developments in Memory Design”. Past and Future Developments in Memory Design. University of Maryland. Truy cập ngày 17 tháng 5 năm 2016.
  24. ^ The original photo can be seen in the article: “Lightning Strikes Mathematics”. Popular Science: 83–86. tháng 4 năm 1946. Truy cập ngày 29 tháng 3 năm 2015.
  25. ^ Clippinger 1948, Section I: General Description of the ENIAC – The Function Tables.
  26. ^ Goldstine 1946.
  27. ^ Burks 1947
  28. ^ Randall 5th, Alexander (14 tháng 2 năm 2006). “A lost interview with ENIAC co-inventor J. Presper Eckert”. Computer World. Truy cập ngày 29 tháng 3 năm 2015.
  29. ^ “From the Editor's Desk”. IEEE Annals of the History of Computing. 26 (3): 2–3. July–September 2004. doi:10.1109/MAHC.2004.9.
  30. ^ Cruz, Frank (9 tháng 11 năm 2013). “Programming the ENIAC”. Programming the ENIAC. Columbia University. Truy cập ngày 16 tháng 5 năm 2016.
  31. ^ “Archaelogy of computers: reminiscences, 1945-1947”. Communications of the ACM. 15 (7): 693–694. tháng 7 năm 1972. doi:10.1145/361454.361528.
  32. ^ Schapranow, Matthieu-P. (ngày 1 tháng 6 năm 2006). “ENIAC tutorial - the modulo function”. Bản gốc lưu trữ ngày 7 tháng 1 năm 2014. Truy cập ngày 4 tháng 3 năm 2017.
  33. ^ Description of Lehmer's program computing the exponent of modulo 2 prime
  34. ^ Tóm tắt phát minh và sự kiện khoa học, Hồ Cúc, xuất bản năm 2009
  35. ^ “ENIAC Programmers Project”. eniacprogrammers.org. Truy cập ngày 29 tháng 3 năm 2015.
  36. ^ Donaldson James, Susan (4 tháng 12 năm 2007). “First Computer Programmers Inspire Documentary”. ABC News. Truy cập ngày 29 tháng 3 năm 2015.
  37. ^ “The Women of ENIAC” (PDF). IEEE Annals of the History of Computing. 18 (3): 13–28. 1996. doi:10.1109/85.511940. Bản gốc (PDF) lưu trữ ngày 4 tháng 3 năm 2016. Truy cập ngày 12 tháng 4 năm 2015.
  38. ^ “Meet the 'Refrigerator Ladies' Who Programmed the ENIAC”. Mental Floss. 13 tháng 10 năm 2013. Truy cập ngày 16 tháng 6 năm 2016.
  39. ^ a b Light, Jennifer S. (1999). “When Computers Were Women”. Technology and Culture. 40 (3): 455–483. ISSN 0040-165X.
  40. ^ Grier, David (2007). When Computers Were Human. Princeton University Press. ISBN 9781400849369. Truy cập ngày 24 tháng 11 năm 2016.
  41. ^ Beyer, Kurt (2012). Grace Hopper and the Invention of the Information Age. London, Cambridge: MIT Press. tr. 198. ISBN 9780262517263.
  42. ^ Isaacson, Walter (ngày 18 tháng 9 năm 2014). “Walter Isaacson on the Women of ENIAC”. Fortune (bằng tiếng Anh). Bản gốc lưu trữ ngày 12 tháng 12 năm 2018. Truy cập ngày 14 tháng 12 năm 2018.
  43. ^ “Invisible Computers: The Untold Story of the ENIAC Programmers”. Witi.com. Truy cập ngày 10 tháng 3 năm 2015.
  44. ^ “Rediscovering WWII's female 'computers'. CNN. tháng 2 năm 2011. Truy cập ngày 15 tháng 2 năm 2011.
  45. ^ “Festival 2014: The Computers”. SIFF. Bản gốc lưu trữ ngày 12 tháng 3 năm 2015. Truy cập ngày 12 tháng 3 năm 2015.
  46. ^ “Gloria Gordon Bolotsky, 87; Programmer Worked on Historic ENIAC Computer”. The Washington Post. ngày 26 tháng 7 năm 2009. Truy cập ngày 19 tháng 8 năm 2015.
  47. ^ “ARL Computing History | U.S. Army Research Laboratory”. Arl.army.mil. Truy cập ngày 29 tháng 6 năm 2019.
  48. ^ Mazhdrakov, Metodi; Benov, Dobriyan; Valkanov, Nikolai (2018). The Monte Carlo Method. Engineering Applications. ACMO Academic Press. tr. 250. ISBN 978-619-90684-3-4.
  49. ^ Kean, Sam (2010). The Disappearing Spoon. New York: Little, Brown and Company. tr. 109–111. ISBN 978-0-316-05163-7.
  50. ^ “Electronic Computer Flashes Answers”. New York Times. ngày 15 tháng 2 năm 1946. Bản gốc lưu trữ ngày 10 tháng 7 năm 2015. Truy cập ngày 29 tháng 3 năm 2015.
  51. ^ Honeywell, Inc. v. Sperry Rand Corp., 180 U.S.P.Q. (BNA) 673, p. 20, finding 1.1.3 (U.S. District Court for the District of Minnesota, Fourth Division 1973). “The ENIAC machine which embodied 'the invention' claimed by the ENIAC patent was in public use and non-experimental use for the following purposes, and at times prior to the critical date:... Formal dedication use ngày 15 tháng 2 năm 1946...”
  52. ^ Evans, Claire L. (ngày 6 tháng 3 năm 2018). Broad Band: The Untold Story of the Women Who Made the Internet (bằng tiếng Anh). Penguin. tr. 51. ISBN 9780735211766.
  53. ^ Weik, Martin H. “The ENIAC Story”. Ordnance. 708 Mills Building - Washington, DC: American Ordnance Association (January–February 1961). Bản gốc lưu trữ ngày 14 tháng 8 năm 2011. Truy cập ngày 29 tháng 3 năm 2015.Quản lý CS1: địa điểm (liên kết)
  54. ^ a b c Scott McCartney p.140 (1999)
  55. ^ Scott McCartney p.140 (1999): Eckert gave eleven lectures, Mauchly gave six, Goldstine gave six. von Neumann, who was to give one lecture, didn't show up; the other 24 were spread among various invited academics and military officials.
  56. ^ a b c d e f “Eniac”. Epic Technology for Great Justice (bằng tiếng Anh). Truy cập ngày 28 tháng 1 năm 2017.
  57. ^
  58. ^ Pugh, Emerson W. (1995). “Notes to Pages 132-135”. Building IBM: Shaping an Industry and Its Technology (bằng tiếng Anh). MIT Press. tr. 353. ISBN 9780262161473.
  59. ^ Haigh, Priestley & Rope 2014, tr. 44-45.
  60. ^ Haigh, Priestley & Rope 2014, tr. 44.
  61. ^ Clippinger 1948, INTRODUCTION.
  62. ^ a b Goldstine 1972, 233-234, 270; search string: eniac Adele 1947.
  63. ^ a b Haigh, Priestley & Rope 2014, tr. 47-48.
  64. ^ Clippinger 1948, Section VIII: Modified ENIAC.
  65. ^ Fritz, W. Barkley (1949). “Description and Use of the ENIAC Converter Code”. Technical Note (141). Section 1. – Introduction, p. 1. 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.
  66. ^ Haigh, Thomas; Priestley, Mark; Rope, Crispin (July–September 2014). “Los Alamos Bets On ENIAC: Nuclear Monte Carlo Simulations 1947-48”. IEEE Annals of the History of Computing (bằng tiếng Anh). 36 (3): 42–63. doi:10.1109/MAHC.2014.40. Truy cập ngày 13 tháng 11 năm 2018.
  67. ^ Thomas Haigh; Mark Priestley; Crispen Rope (2016). ENIAC in Action:Making and Remaking the Modern Computer. MIT Press. tr. 113–14. ISBN 978-0-262-03398-5.
  68. ^ Clippinger 1948
  69. ^ Goldstine 1947.
  70. ^ Thomas Haigh; Mark Priestley; Crispen Rope (2016). ENIAC in Action:Making and Remaking the Modern Computer. MIT Press. tr. 153. ISBN 978-0-262-03398-5.
Lỗi chú thích: Thẻ <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.

Liên kết ngoài[sửa | sửa mã nguồn]