Lịch sử phần cứng máy tính

Lịch sử phần cứng máy tính bao quát lịch sử của phần cứng máy tính, kiến trúc của nó, và những ảnh hưởng đối với phần mềm. Từ máy tính computer xuất phát từ việc tính toán trước đây do con người đảm nhiệm, những người này được gọi là computer (người tính toán).[a]

Phần cứng máy tính là nền tảng cho xử lý thông tin (sơ đồ khối).

Kiến trúc von Neumann đã thống nhất các hiện thực phần cứng máy tính của chúng ta hiện nay.[1] Phần tử chủ yếu của phần cứng máy tính là ngõ nhập hay còn gọi là ngõ vào (input),[b] ngõ xuất hay còn gọi là ngõ ra (output),[c] điều khiển[d]đường dữ liệu (hai thành phần này cùng với nhau tạo thành một bộ xử lý),[e]bộ nhớ.[f] Chúng đã trải qua những quá trình chọn lọc và phát triển liên tục trong suốt lịch sử phần cứng máy tính. Bắt đầu bằng các cơ chế cơ khí, phần cứng từ khi đó đã bắt đầu sử dụng tín hiệu tương tự để tính toán, bao gồm nước và thậm chí cả không khí làm số lượng tương tự: máy tính tương tự đã sử dụng chiều dài, áp suất, điện thế, và dòng điện để đại diện cho kết quả tính toán.[g] Cuối cùng điện thế hay dòng điện đã được chuẩn hóa và máy tính kỹ thuật số đã được phát triển như là một thành tựu của Cuộc cách mạng công nghiệp lần 3. Các phần tử tính toán kỹ thuật số đã được chọn bao gồm từ các bánh xe cơ khí, đến relay cơ điện, ống chân không, bóng bán dẫn (transistor), và cuối cùng là mạch tích hợp (IC), tất cả chúng ngày nay đều được hiện thực theo kiến trúc von Neumann.[h]

Vì máy tính số phụ thuộc vào bộ lưu trữ số, và có xu hướng bị giới hạn về kích thước và tốc độ bộ nhớ, lịch sử của bộ lưu trữ dữ liệu máy tính gắn liền với sự phát triển của máy vi tính. Cấp độ phát triển của phần cứng máy tính đã thúc đẩy việc sử dụng công nghệ trên toàn thế giới. Hiệu suất của các máy tính ngày nay đều ngày một nâng cao, cùng với sự phát triển của công nghệ vi mạch làm giá cả giảm xuống,[2] do đó máy tính trở thành tiện nghi, tiếp cận đến ngày càng nhiều các lĩnh vực[i] của con người trên thế giới. Phần cứng máy tính do đó trở thành một nền tảng để sử dụng hơn là để tính toán, như tự động hóa, thông tin liên lạc, điều khiển, giải trí, và giáo dục. Mỗi lĩnh vực đặt ra những yêu cầu riêng cho phần cứng, rồi phần cứng sẽ tiếp tục phát triển để đáp ứng các yêu cầu đó.[j]

Những máy tính toán đầu tiên

Bàn tính (con số hiển thị trên bàn tính này là 6.302.715.408)

Nhiều thiết bị đã được dùng để trợ giúp con người trong việc tính toán từ cách đây hàng ngàn năm, sử dụng tương ứng một-một với ngón tay của chúng ta.[k] Thiết bị đếm sớm nhất có thể là que tính. Sau đó những thiết bị hỗ trợ việc lưu giữ số liệu tại vùng Trăng lưỡi liềm màu mỡ bao gồm các hình thù đất sét, đại diện cho số đếm các vật, có thể là thú nuôi hay thóc lúa, được dán kín trong thùng chứa.[l][3] Bàn tính được dùng trong công việc liên quan đến con số. Bàn tính La Mã được dùng tại Babylonia từ năm 2400 TCN. Kể từ đó, nhiều loại bàn hoặc thẻ dùng để đếm đã được phát minh ra. Trong phòng tính toán vào thời trung cổ, một miếng vải để tính toán được đặt trên bàn, và các vật ghi di chuyển xung quanh theo một quy luật nào đó, như một cách hỗ trợ tính tổng tiền.[m][4]

Một số máy tính tương tự được xây dựng vào thời cổ đại và trung cổ để thực hiện các phép tính thiên văn. Nó bao gồm máy Antikythera và dụng cụ đo độ cao thiên thể của Hy Lạp cổ đại (khoảng 150-100 TCN), và nói chung được xem là những máy tính cơ khí đầu tiên.[5] Những dạng thiết bị cơ khí đầu tiên được dùng để thực hiện một số loại phép tính bao gồm bình đồ địa cầu; một số phát minh của Abū Rayhān al-Bīrūnī (khoảng 1000 CN); Equatorium của Abū Ishāq Ibrāhīm al-Zarqālī (khoảng 1015 CN); máy tính thiên văn theo kỹ thuật tương tự của những nhà thiên văn và kỹ sư Hồi giáo thời Trung cổ, và Tháp đồng hồ thiên văn của Tô Tụng trong thời kỳ nhà Tống.

John Napier (1550–1617) đã ghi rằng phép nhân và phép chia các số có thể thực hiện lần lượt bằng phép cộng hoặc trừ logarit của các số đó. Khi tạo ra bảng logarit đầu tiên Napier cần phải thực hiện nhiều phép nhân, và nhờ vào điểm này mà ông thiết kế ra Napier's bones, một thiết bị giống như bảng tính được dùng để nhân và chia.[6]số thực có thể được biểu diễn bằng chiều dài hoặc khoảng cách trên một đường thẳng, thước loga được phát minh vào những năm 1620 cho phép thực hiện phép nhân và chia nhanh hơn rất nhiều so với trước đó.[7] Thước loga được nhiều thế hệ kỹ sư và những công nhân chuyên nghiệp cần toán nhiều sử dụng từ lúc đó, cho đến khi có phát minh máy tính bỏ túi. Các kỹ sư trong chương trình Apollo với mục tiêu gửi con người lên Mặt Trăng đã thực hiện nhiều phép tính toán trên thước loga, với độ chính xác đến ba hoặc bốn con số.

Một máy tính cơ khí vào năm 1914. Để ý cánh tay được dùng để xoay bánh xe.

Vào năm 1623, Wilhelm Schickard đã tạo ra chiếc máy tính cơ khí kỹ thuật số đầu tiên và do đó trở thành cha đẻ của kỷ nguyên máy tính.[8] Vì chiếc máy của ông sử dụng nhiều kỹ thuật như răng và bánh răng được phát triển đầu tiên dành cho đồng hồ, nó còn có tên 'đồng hồ tính toán'. Nó được sử dụng vào thực tế nhờ người bạn của ông, Johannes Kepler, người đã tạo ra cuộc cách mạng về thiên văn học. Tiếp sau đó là những bộ máy do Blaise Pascal (Pascaline, 1642) và Gottfried Wilhelm von Leibniz (1671) sáng chế. Máy tính nguyên thủy của Pascal (1640) hiện còn được bảo quản tại Bảo tàng Zwinger.

  • "Thật là không đáng khi những con người xuất sắc lại mất hàng giờ để làm công việc tính toán như nô lệ trong khi nó có thể được giao cho bất cứ ai nếu máy móc được sử dụng."Leibniz

Khoảng năm 1820, Charles Xavier Thomas đã tạo thành công chiếc máy tính cơ học được sản xuất hàng loạt đầu tiên,[9] Máy kế toán Thomas, nó có thể cộng, trừ, nhân, và chia. Nó dựa chủ yếu vào công trình của Leibniz. Những chiếc máy tính cơ học, như máy cộng trừ cơ số 10, máy đếm, Monroe, Curta và Addo-X vẫn còn được sử dụng cho đến những năm 1970.

Leibniz cũng đã mô tả hệ thống số nhị phân,[10] một thành phần cốt lõi của mọi máy tính hiện đại. Tuy nhiên, cho đến những năm 1940, nhiều thiết kế sau đó (bao gồm những chiếc máy của Charles Babbage vào những năm 1800 và thậm chí ENIAC năm 1945) vẫn dựa trên hệ thập phân;[n] Máy đếm vòng của ENIAC đã vượt qua phép tính của các bánh xe số trong máy cộng cơ học.

1801: công nghệ thẻ đục lỗ

Từ năm 1725 Basile Bouchon đã dùng một cuộn giấy được đục lỗ trong một máy dệt để tạo những kiểu mẫu có thể dùng đi dùng lại trên vải, và vào năm 1726 đồng nghiệp của ông là Jean-Baptiste Falcon đã phát triển thiết kế bằng cách sử dụng những thẻ giấy đục lỗ gắn với nhau để thuận tiện trong việc tra lắp và thay đổi chương trình. Máy dệt Bouchon-Falcon là bán tự động và cần phải có người đưa chương trình vào. Vào năm 1801, Joseph-Marie Jacquard đã phát triển một máy dệt trong đó kiểu mẫu đang dùng để dệt được điều khiển bằng thẻ đục lỗ. Một loạt các thẻ có thể được thay đổi mà không phải thay đổi thiết kế cơ khí của máy dệt. Đây là bước ngoặt trong khả năng lập trình.

Hệ thống thẻ đục lỗ trong máy phát nhạc. Còn được gọi là Sách nhạc, một loại đàn châu Âu chơi không dừng

Vào năm 1833, Charles Babbage chuyển từ việc phát triển máy sai phân của ông sang phát triển một thiết kế hoàn chỉnh hơn, máy phân tích, nó sẽ kéo trực tiếp những thẻ đục lỗ của Jacquard để lập trình.[11] Vào năm 1835, Babbage đã mô tả máy phân tích của ông. Đó là kế hoạch về một chiếc máy tính có thể lập trình đa mục đích, sử dụng thẻ đục lỗ làm ngõ nhập và một máy hơi nước làm năng lượng. Một phát minh cốt yếu đó là sử dụng bánh xe làm chức năng như các hạt của bàn tính. Theo ý nghĩa thực tế, những chiếc máy tính này chỉ toàn chứa những bàn tính tự động (kỹ thuật gọi là đơn vị luận lý số học hay đơn vị dấu chấm động). Ý tưởng ban đầu của ông là dùng thẻ đục lỗ để điều khiển một bộ máy mà có thể tính và in ra những bảng logarit với độ chính xác cực lớn (một máy tính với mục đích cụ thể). Ý tưởng của Babbage nhanh chóng phát triển thành máy tính lập trình được đa mục đích, máy phân tích của ông. Dù thiết kế của ông hợp lý và kế hoạch dường như đúng đắn, hay ít nhất cũng có thể gỡ rối được, dự án rất chậm chạp vì nhiều vấn đề khác nhau. Babbage là một đồng nghiệp khó tính và luôn tranh cãi với bất cứ ai không tôn trọng ý tưởng của ông. Tất cả các bộ phận của chiếc máy của ông đều làm bằng tay. Những lỗi nhỏ trong mỗi bộ phận đôi khi có thể tạo thành những sai biệt lớn trong một bộ máy có hàng ngàn bộ phận, do đó đòi hỏi những bộ phận này phải tốt hơn nhiều so với sức chịu đựng thông thường vào thời kỳ đó. Dự án tan vỡ do những tranh cãi với người thợ thủ công làm ra những bộ phận đó và kết thúc bằng sự rút vốn của chính phủ. Ada Lovelace, con gái của Ngài Byron, đã dịch và thêm những ghi chú vào "Sketch of the Analytical Engine" (Phác họa máy phân tích) của Federico Luigi, Conte Menabrea.[12]

Máy tính bảng IBM 407, (1961).

Việc tái tạo chiếc Máy sai phân II, một thiết kế cũ hơn, nhiều hạn chế hơn, được tiến hành từ năm 1991 tại Bảo tàng Khoa học Luân Đôn.[cần dẫn nguồn] Với một ít thay đổi không đáng kể, nó hoạt động đúng như thiết kế của Babbage và chứng tỏ rằng lý thuyết của Babbage là đúng đắn. Bảo tàng đã sử dụng những công cụ máy móc do máy tính điều hành để tạo nên những bộ phận cần thiết, theo khả năng mà một nhà cơ khí vào thời kỳ đó có thể làm được. Thất bại của Babbage trong việc hoàn thành chiếc máy trước hết có thể do những khó khăn không chỉ liên quan đến chính trị và tài chính, mà còn do tham vọng của ông muốn phát triển một chiếc máy ngày càng tinh vi.[o] Tiếp sau bước chân của Babbage, dù không ý thức được công việc trước đó của ông, là Percy Ludgate, một nhân viên kế toán đến từ Dublin, Ireland. Ông thiết kế độc lập một máy tính cơ khí lập trình được, điều mà ông đã mô tả trong một tác phẩm phát hành vào năm 1909.

Thẻ đục lỗ với bảng chữ cái mở rộng.

Vào năm 1890, Cục điều tra dân số Hoa Kỳ đã dùng thẻ đục lỗ, máy sắp xếp, và máy tính bảng do Herman Hollerith thiết kế để xử lý hàng núi dữ liệu từ cuộc điều tra dân số mười năm một lần theo ủy nhiệm của Hiến pháp.[13] Công ty của Hollerith sau này đã trở thành nòng cốt của IBM. IBM đã phát triển công nghệ thẻ đục lỗ thành một công cụ mạnh mẽ cho việc xử lý dữ liệu kinh doanh và tạo ra một dòng thiết bị ghi đơn vị chuyên biệt hóa rộng rãi. Đến năm 1950, thẻ IBM tồn tại khắp nơi trong công nghiệp và chính phủ, Lời cảnh báo được in trên phần lớn các thẻ dùng cho lưu thông ở dạng tài liệu (như séc), "Đừng gấp, bẻ cong hoặc xé", trở thành một khầu hiệu trong thời kỳ hậu Chiến tranh thế giới lần thứ hai.[14]

Những bài viết của Leslie Comrie về những phương pháp thẻ đục lỗ và bài báo của W.J. Eckert về Các phương pháp thẻ đục lỗ trong tính toán khoa học vào năm 1940, đã mô tả những kỹ thuật đủ tiên tiến để giải phương trình vi phân[15] hoặc thực hiện phép nhân và chia sử dụng cách biểu diễn dấu chấm động, tất cả đều bằng thẻ đục lỗ và máy ghi đơn vị. Trong hình máy tính bảng (bên trái), hãy để ý bảng vá, có thể thấy ở phía bên phải máy tính bảng. Một hàng công tắc đóng mở nằm ở phía trên bảng vá. Cục tính toán thiên văn Thomas J. Watson, Đại học Columbia đã thực hiện những phép tính thiên văn đại diện cho nghệ thuật trong tính toán.[16]

Kỷ nguyên lập trình máy tính trên thẻ đục lỗ xoay quanh trung tâm máy tính. Ví dụ, những người dùng máy tính, sinh viên khoa học và kỹ thuật tại trường đại học, sẽ gửi bài tập lập trình của họ đến trung tâm máy tính của trường theo dạng một chồng thẻ, mỗi thẻ là một dòng chương trình. Sau đó họ phải chờ chương trình xếp hàng để được xử lý, biên dịch, và thực thi. Vào cuối khóa học một bản in các kết quả, đánh dấu bằng mã số của người nộp, sẽ được đặt trong khay ngõ xuất bên ngoài trung tâm máy tính. Có nhiều trường hợp những kết quả này sẽ chỉ gồm một bản in các thông báo lỗi do cú pháp chương trình đòi hỏi phải thực hiện một quy trình sửa-dịch-chạy khác.[17] Thẻ đục lỗ vẫn còn được dùng và sản xuất đến ngày nay, và kích thước đặc biệt của chúng[p] (và dung lượng 80 dòng) vẫn có thể nhận ra trong nhiều hình thức, bản ghi, và chương trình trên khắp thế giới.

Thập niên 1930–1960: máy tính toán để bàn

Máy tính Curta cũng có thể nhân và chia

Đến thập niên 1900, những máy tính cơ khí trước đó, máy ghi tiền, máy kế toán,... đã được thiết kế lại để sử dụng motor điện tử, với vị trí của cần gạt đại diện cho trạng thái của một biến. Vào những năm 1920 sở thích của Lewis Fry Richardson trong việc dự đoán thời tiết đã đưa ông đến việc nghiên cứu phân tích số; đến nay, những máy tính mạnh nhất trên Trái Đất đều cần dùng để mô hình hóa đầy đủ phương trình Navier-Stokes, được dùng để mô hình hóa thời tiết. Những công ty như Friden, Marchant Calculator và Monroe đã tạo ra những máy tính toán[18] cơ khí để bàn từ những năm 1930 có thể thực hiện các phép tính cộng, trừ, nhân và chia. Từ "computer" là một loại công việc dành cho những người sử dụng những máy tính này để thực hiện các phép tính toán học. Trong Dự án Manhattan, Richard Feynman, người sau này đoạt giải thưởng Nobel, là người giám sát một căn phòng đầy những người tính toán, phần nhiều trong số họ là những nhà toán học nữ, người hiểu biết về phương trình vi phân, đang cố gắng giải chúng để trợ giúp cho chiến tranh. Thậm chí Stanisław Ulam trứ danh đã bị thúc ép vào công việc dịch toán học thành các con số xấp xỉ tính toán được để tạo bom hydro, sau chiến tranh.

Vào năm 1948, Curta được ra mắt. Đây là một máy tính cơ khí nhỏ, gọn có kích thước khoảng bằng máy xay tiêu. Qua thời gian, trong suốt thập niên 1950 và 1960 nhiều chủng loại máy tính toán khác nhau đã xuất hiện trên thị trường. Máy tính toán để bàn dùng hoàn toàn điện tử đầu tiên là chiếc máy ANITA Mk.VII của Anh, sử dụng màn hình ống Nixie và 177 ống thyratron cực nhỏ. Vào tháng 6 năm 1963, Friden đã giới thiệu EC-130 bốn chức năng. Nó được thiết kế hoàn toàn bằng transistor (bóng bán dẫn), dung lượng 13 chữ số trên một màn hình CRT5 inch (130 mm), và đã giới thiệu ký hiệu Ba Lan nghịch đảo (RPN) cho thị trường máy tính toán với giá là 2200 dollar Mỹ. Mẫu EC-132 thêm chức năng khai căn và nghịch đảo. Vào năm 1965, Phòng nghiên cứu Wang đã sản xuất máy tính toán để bàn bằng tranistor 10 chữ số LOCI-2, sử dụng màn hình hiển thị ống Nixie và có thể tính logarit.

Máy tính tương tự cải tiến

Máy phân tích vi phân Cambridge, 1938

Trước Chiến tranh thế giới II, máy tính tương tự cơ khí và điện tử được xem là "thời thượng", và nhiều người cho rằng chúng là tương lai của ngành tính toán. Những máy tính tương tự tận dụng sự tương tự chặt chẽ giữa toán học ở tỷ lệ nhỏ — vị trí và chuyển động của bánh xe hay điện thế và dòng điện của các thành phần điện tử — và toán học về các hiện tượng vật lý khác, như đường đạn, quán tính, cộng hưởng, truyền tải năng lượng, mô men, v.v..[q] Mô hình hóa các hiện tượng vật lý bằng điện thếdòng điện điện tử[r][19] thành các số lượng tương tự.

Quan trọng nhất, những hệ thống tương tự này làm việc bằng cách tạo ra tín hiệu tương tự điện tử từ những hệ thống khác, cho phép người dùng dự đoán được hành vi của hệ thống đang xét bằng cách quan sát các tín hiệu tương tự điện tử. Tín hiệu tương tự hữu dụng nhất ở cách mà hành vi ở cấp độ thu nhỏ được biểu diễn bằng các phương trình vi tích phân, và do đó có thể giải được những phương trình đó. Một ví dụ khéo léo về một cái máy như vậy, sử dụng nước làm lượng số tương tự, là máy tích phân nước chế tạo vào năm 1928; một ví dụ điện tử là máy Mallock chế tạo vào năm 1941. Một máy đo diện tích là một thiết bị có thể thực hiện phép tính tích phân, sử dụng khoảng cách làm lượng số tương tự. Cho đến những năm 1980, các hệ thống HVAC sử dụng không khí vừa để làm lượng số tương tự vừa để làm thành phần điều khiển. Không giống như các máy tính kỹ thuật số hiện đại, máy tính tương tự không uyển chuyển lắm, và cần phải được cấu hình lại (tức là, lập trình lại) bằng tay để chuyển chúng từ công việc này sang công việc khác. Những máy tính tương tự có lợi điểm so với máy tính kỹ thuật số đời đầu ở chỗ chúng có thể được dùng để giải những bài toán phức tạp sử dụng kỹ thuật tương tự hành vi trong khi những máy tính số đời đầu tiên khá hạn chế.

Lược đồ Smith là một bảng tính nổi tiếng.

Vì máy tính rất hiếm trong thời kỳ này, các lời giải thường được mã hóa cứng ở dạng giấy tờ như đồ thịbảng tính,[20] rồi từ đó có thể tạo ra những lời giải tương tự cho những bài toán này, như sự phân bố áp suất và nhiệt độ trong hệ thống nhiệt. Một vài máy tính tương tự được triển khai rộng rãi nhất là những thiết bị dùng để định vị mục tiêu vũ khí, như máy định vị bom Norden[21] và hệ thống kiểm soát bắn,[22] hay hệ thống dành cho thuyền hải quân Argo của Arthur Pollen. Một số vẫn còn được sử dụng hàng thập kỷ sau Chiến tranh thế giới II; Máy tính kiểm soát bắn Mark I được triển khai cho Hải quân Hoa Kỳ trên nhiều thuyền từ tàu khu trục đến tàu chiến lớn. Những máy tính tương tự khác bao gồm Heathkit EC-1, và Máy tính MONIAC chạy bằng sức nước mô hình hóa những dòng chảy quan hệ kinh tế.[23]

Nghệ thuật tính toán tương tự đạt đến đỉnh cao với máy phân tích vi phân,[24] được phát minh vào năm 1876 bởi James Thomson và được H. W. Nieman và Vannevar Bush chế tạo tại MIT bắt đầu từ năm 1927. Chưa tới một tá chiếc máy này được chế tạo; chiếc mạnh nhất được chế tạo tại Khoa Cơ điện tử Moore của Đại học Pennsylvania, nơi chiếc ENIAC được chế tạo. Những máy tính điện tử kỹ thuật số tương tự như ENIAC đã báo hiệu hồi kết của phần lớn máy tính toán tương tự, nhưng những máy tính tương tự lai, được điều khiển bởi các thiết bị điện tử số, vẫn tiếp tục được dùng trên thực tế trong những năm 1950 và 1960, và sau đó là trong một số ứng dụng chuyên môn. Nhưng giống như tất cả những thiết bị kỹ thuật số khác, độ chính xác thập phân sau nhiều lần tính toán (precision) của một thiết bị kỹ thuật số là một hạn chế,[s] trong khi với thiết bị tương tự, độ chính xác so với thực tế (accuracy) lại là một hạn chế.[t] Khi điện tử phát triển trong thế kỷ XX, bài toán tính toán ở điện thế thấp mà vẫn giữ được tỷ lệ tín hiệu trên nhiễu cao[25] nhanh chóng hiện ra, vì mạch kỹ thuật số là một dạng đặc biệt của mạch tương tự, dự định hoạt động ở những thiết lập chuẩn hóa (tiếp tục hướng đi như vậy, cổng luận lý có thể được xem là một dạng mạch số). Nhưng vì máy tính số đã trở nên nhanh hơn và sử dụng bộ nhớ lớn hơn (như RAM hay bộ nhớ trong), chúng hầu như đã thay thế máy tính tương tự. Lập trình máy tính, hay viết mã, đã vươn lên trở thành nghề nghiệp của con người.

Máy tính số thuở sơ khai

Chương trình băng đục lỗ dài hơn nhiều so với một đoạn trong hình.

Thời kỳ tính toán hiện đại bắt đầu bằng sự phát triển đột biến trước và trong Chiến tranh thế giới II, khi các thành phần mạch điện[u] đã thay thế các bộ phận cơ khí tương đương và máy tính toán kỹ thuật số đã thay thế máy tính toán kỹ thuật tương tự. Những máy như Z3, máy tính Atanasoff–Berry, các máy tính Colossus, và ENIAC được chế tạo bằng tay sử dụng những mạch điện có chứa rờ-le hay van (ống chân không), và thường dùng thẻ đục lỗ hoặc băng giấy đục lỗ làm ngõ nhập và dung môi lưu trữ chính (lâu tiêu hao).

Trong thời kỳ này, một số loại máy khác nhau được sản xuất với tính năng ngày càng tiên tiến. Vào đầu giai đoạn này, không thấy một máy nào tương tự như máy tính ngày nay, ngoại trừ những kế hoạch dài hạn của Charles Babbage và những ý tưởng toán học của Alan Turing và những người khác. Vào cuối thời kỳ, những thiết bị như EDSAC đã được chế tạo, và được mọi người thừa nhận là máy tính kỹ thuật số. Định nghĩa một điểm trong suốt quá trình là "máy tính đầu tiên" là đã bỏ qua nhiều điểm tinh tế (xem bảng "Xác định các đặc tính của một số máy tính số thuở sơ khai vào những năm 1940" ở dưới).

Bài báo năm 1936 của Alan Turing[26] đã được chứng minh là có ảnh hưởng vô cùng lớn đến ngành máy tính và khoa học máy tính theo hai cách. Mục đích chính của nó là chứng minh rằng tồn tại những vấn đề (gọi là bài toán dừng) không thể giải bằng bất kỳ quy trình tuần tự nào. Để làm điều đó, Turing đã cung cấp một định nghĩa về một máy tính phổ quát xử lý chương trình được lưu trên băng giấy. Cách xây dựng này được gọi là máy Turing; nó thay thế cho ngôn ngữ phổ quát dựa trên toán học có phần nặng nề hơn của Kurt Gödel. Ngoại trừ những hạn chế do bộ lưu trữ có hạn, những máy tính hiện đại được xem là Turing đầy đủ, hay nói cách khác, chúng có khả năng thực thi giải thuật tương đương với máy Turing phổ quát. Kiểu giới hạn của tính đầy đủ Turing đôi khi được xem như khả năng giới hạn phân tách máy tính đa năng và những máy đời trước với mục đích cụ thể.

Mẫu thiết kế của kiến trúc von Neumann (1947)

Để một máy tính toán trở thành máy tính đa năng, phải có một cơ chế đọc-ghi thuận tiện, ví dụ như băng giấy đục lỗ. Với kiến thức về 'máy tính phổ quát' mang tính lý thuyết của Alan Turing, John von Neumann đã định nghĩa một kiến trúc sử dụng cùng một bộ nhớ cho việc lưu trữ chương trình lẫn dữ liệu: hầu như tất cả các máy tính ngày nay đều sử dụng kiến trúc này (hoặc một biến thể nào đó của nó). Tuy về mặt lý thuyết hoàn toàn có thể hiện thực một máy tính hoàn chỉnh làm bằng cơ khí (như thiết kế của Babbage đã chứng minh), điện tử học đã khiến cho tốc độ và sau này là sự thu nhỏ trở nên khả dĩ hình thành nên những máy tính hiện đại.

Có ba xu hướng phát triển máy tính song song với nhau trong thời gian Chiến tranh thế giới II; trong đó xu hướng thứ nhất nhanh chóng bị quên lãng, còn xu hướng thứ hai bị cố ý giữ bí mật. Xu hướng thứ nhất là công trình Konrad Zuse của người Đức. Thứ hai là việc triển khai máy tính Colossus trong vòng bí mật của Anh. Cả hai xu hướng này đều không có ảnh hưởng nhiều đến các dự án máy tính khác nhau tại Hoa Kỳ. Xu hướng thứ ba trong sự phát triển máy tính là ENIAC và EDVAC của Eckert Mauchly, được biết đến rộng rãi[27][28].

Zuse

Bản mô phỏng máy tính Z1 của Zuse.

Làm việc hoàn toàn cách biệt tại Đức, Konrad Zuse bắt đầu chế tạo máy tính toán dòng Z đầu tiên của ông vào năm 1936, với một số tính năng như có bộ nhớ và khả năng lập trình (ban đầu còn hạn chế). Chiếc Z1 của Zuse hoàn toàn bằng cơ khí, nhưng đã sử dụng số nhị phân, hoàn thành vào năm 1938, nhưng chưa bao giờ làm việc một cách tin cậy do những vấn đề với độ chính xác của các bộ phận.

Chiếc máy sau đó của Zuse, chiếc Z3[29], hoàn thành vào năm 1941. Chiếc máy này dựa trên rờ-le điện thoại và đã hoạt động một cách đáng hài lòng. Nhờ vậy Z3 trở thành chiếc máy tính kỹ thuật số đa năng đầu tiên được điều khiển bằng chương trình và có thể hoạt động được. Trên nhiều khía cạnh nó khá giống với những chiếc máy hiện đại, tiên phong trong nhiều cải tiến, như số thực dấu chấm động. Sự thay thế hệ thống số thập phân khó hiện thực (được dùng trong thiết kế trước đó của Charles Babbage) bằng hệ thống nhị phân đơn giản hơn có nghĩa là những chiếc máy của Zuse dễ chế tạo hơn và rất có khả năng đáng tin cậy hơn, theo công nghệ có sẵn vào thời đó. Đôi khi người ta xem đây là lý do chính tại sao Zuse lại thành công trong khi Babbage thất bại.

Chương trình đưa vào Z3 được ghi trên những tấm phim đục lỗ. Phép nhảy có điều kiện bị bỏ qua, nhưng từ thập niên 1990 người ta đã chứng minh bằng lý thuyết rằng Z3 vẫn là một máy tính vạn năng (bỏ qua những hạn chế về kích thước lưu trữ vật lý của nó). Trong hai ứng dụng được đăng ký sở hữu trí tuệ vào năm 1936, Konrad Zuse cũng đoán trước rằng những dòng lệnh máy có thể được lưu trong cùng bộ lưu trữ dữ liệu - ý tưởng chính yếu mà sau này được biết đến với kiến trúc von Neumann và được hiện thực đầu tiên trong bản thiết kế EDSAC của Anh sau đó (1949). Zuse cũng tuyên bố đã thiết kế được ngôn ngữ lập trình cấp cao đầu tiên, (Plankalkül), vào năm 1945 (được xuất bản năm 1948) mặc dù nó được hiện thực lần đầu tiên vào năm 2000 bởi một nhóm do Raúl Rojas đứng đầu tại Đại học Tự do Berlin – năm năm sau khi Zuse qua đời.

Zuse đã phải chịu nhiều khó khăn trong Chiến tranh thế giới II khi một số máy móc của ông bị phá hoại trong những chiến dịch ném bom của Quân đồng minh. Rõ ràng là những kỹ sư tại Anh và Mỹ không hề biết đến đa số công trình của ông cho đến mãi sau này, mặc dù ít nhất thì IBM đã chú ý đến nó khi tài trợ tài chính cho việc thành lập công ty của ông vào năm 1946 để trả lại sẽ sở hữu bằng phát minh của Zuse.

Colossus

Colossus được dùng để giải mã thông tin quân Đức trong Chiến tranh thế giới II.

Trong suốt Chiến tranh thế giới II, người Anh tại Bletchley Park (40 dặm về phía bắc Luân Đôn) đã đạt được một số thành công trong việc giải những bức thư liên lạc quân sự được mã hóa của quân Đức. Máy mã hóa của người Đức, Enigma, bị xâm nhập với sự giúp đỡ của những chiếc máy cơ-điện có tên bombe. Bombe, do Alan Turing và Gordon Welchman thiết kế, đặt tên theo phương pháp mã hóa bomba của Marian Rejewski người Ba Lan (1938), bắt đầu được sử dụng vào năm 1941.[30] Chúng khử được những thiết lập của Enigma bằng cách thực hiện hàng loạt những phép suy diễn logic được hiện thực bằng điện tử. Đa số khả năng sẽ dẫn đến mâu thuẫn, chỉ còn số ít còn lại có thể kiểm tra bằng tay được.

Người Đức cũng phát triển một loạt hệ thống mã hóa bằng máy điện báo ghi chữ, khá khác với Enigma. Chiếc Lorenz SZ 40/42 được dùng cho những liên lạc Quân đội cấp cao, mà người Anh gọi là "Tunny". Lần xâm nhập đầu tiên vào thông điệp của Lorenz bắt đầu vào năm 1941. Là một phần trong nỗ lực giải mã Tunny, Giáo sư Max Newman và đồng nghiệp của ông đã giúp mô tả chi tiết chiếc máy Colossus.[31] Chiếc Mk I Colossus được chế tạo trong khoảng giữa tháng 3 và tháng 12 năm 1943 do Tommy Flowers và đồng nghiệp của ông tại Trạm nghiên cứu bưu chính ở Dollis Hill, Luân Đôn thực hiện, rồi sau đó chuyển đến Bletchley Park.

Colossus là thiết bị tính toán hoàn toàn bằng điện tử đầu tiên. Colossus sử dụng một số lượng lớn van (ống chân không). Nó có ngõ nhập bằng băng giấy và có thể được cấu hình để thực hiện các tác vụ luận lý bool khác nhau trên dữ liệu, nhưng không phải là một Turing đầy đủ. Chín chiếc Mk II Colossi đã được chế tạo (chiếc Mk I được chuyển đổi sang Mk II là tổng cộng 10 máy). Chi tiết về sự tồn tại, thiết kế và sử dụng nó được giữ bí mật rất kỹ cho đến thập niên 1970. Cá nhân Winston Churchill đã ra lệnh phá hủy chúng. Do tính bí mật này, những chiếc Colossus không được tính vào nhiều bản tóm tắt lịch sử của máy tính. Một bản sao của một trong các máy Colossus được tái tạo lại, hiện đang trưng bày tại Bletchley Park.

Sự phát triển của người Mỹ

Vào năm 1937, Shannon đã viết cuốn luận văn Thạc sĩ của ông[32] tại MIT lần đầu tiên trong lịch sử hiện thực đại số Boole bằng cách dùng các rờ-le và công tắc điện tử. Với tựa đề A Symbolic Analysis of Relay and Switching Circuits (tạm dịch: Phân tích mang tính biểu tượng cho mạch rờ-le và chuyển mạch), cuốn luận văn của Shannon về bản chất đã xây dựng nên bản thiết kế mạch kỹ thuật số có thực. George Stibitz cũng hoàn thành việc chế tạo chiếc máy tính dựa trên rờ-le mà ông gọi là "Mô hình K" tại Bell Labs vào tháng 11 năm 1937. Bell Labs đã ủy quyền một chương trình nghiên cứu đầy đủ vào năm 1938 dưới sự chỉ đạo của Stibitz. Chiếc Máy tính số phức của họ[v] đã được hoàn tất vào ngày 8 tháng 1 năm 1940, có thể tính toán được số phức. Trong một lần trình diễn nó tại hội nghị của Hội Toán học Hoa Kỳ ở Cao đẳng Dartmouth vào ngày 11 tháng 9 năm 1940, Stibitz đã có thể gửi những lệnh điều khiển từ xa cho Máy tính Số phức qua đường dây điện thoại nhờ máy điện báo đánh chữ. Đó là chiếc máy tính toán đầu tiên từng sử dụng điều khiển từ xa, ở đây là qua đường dây điện thoại. Một số khán giả trong hội nghị đã chứng kiến cuộc trình diễn đó gồm có John von Neumann, John Mauchly, và Norbert Wiener, những người đã viết về nó trong cuốn hồi ký của họ.

Nhân bản của Máy tính Atanasoff–Berry tại tầng 1 Durham Center, Đại học bang Iowa

Vào năm 1939, John Vincent Atanasoff và Clifford E. Berry của Đại học bang Iowa đã phát triển chiếc Máy tính Atanasoff–Berry Computer (ABC), một chiếc máy tính điện tử kỹ thuật số có mục đích cụ thể là giải hệ phương trình tuyến tính. Bản thiết kế này sử dụng trên 300 ống chân không để tăng tốc độ tính toán và sử dụng tụ điện gắn cứng vào trống quay bằng động cơ để làm bộ nhớ. Mặc dù máy ABC không thể lập trình được, nó là chiếc máy đầu tiên sử dụng mạch điện tử. Nhà đồng phát minh ENIAC, John Mauchly, đã giám định chiếc ABC vào tháng 6 năm 1941, và những ảnh hưởng của nó lên bản thiết kế chiếc máy ENIAC sau này là chủ đề tranh luận giữa những nhà sử học máy tính. Chiếc ABC đã bị lãng quên cho đến khi nó là tâm điểm trong vụ kiện Honeywell kiện Sperry Rand, mà quyết định của tòa án là làm mất hiệu lực của bằng sáng chế ENIAC (và vài thứ khác) vì một trong những lý do đó là nó mô phỏng công trình của Atanasoff.

Vào năm 1939, người ta bắt đầu chế tạo chiếc máy Harvard Mark I tại phòng thí nghiệm Endicott của IBM. Được biết đến chính thức với tên gọi Automatic Sequence Controlled Calculator (Máy tính được điều khiển bằng chuỗi tự động),[33] Mark I là một máy tính cơ-điện đa năng được chế tạo bằng tiền bạc và sự hỗ trợ nhân lực từ IBM, dưới sự hướng dẫn của nhà toán học Howard Aiken của trường Harvard. Bản thiết kế của nó ảnh hưởng từ Máy phân tích của Babbage, sử dụng số thập phân và bánh xe lưu trữ cùng với công tắc xoay kèm với rờ-le điện từ. Nó có thể lập trình được nhờ cuộc giấy đục lỗ, và có thể cùng lúc tính toán vài đơn vị song song. Các phiên bản sau đó có vài bộ đọc cuộn giấy và nó có thể thay đổi giữa các bộ đọc dựa trên một điều kiện nào đó. Tuy nhiên, chiếc máy không hoàn toàn là máy Turing đầy đủ. Mark I được chuyển đến Đại học Harvard và bắt đầu được đưa vào hoạt động vào tháng 5 năm 1944.

ENIAC

ENIAC thực hiện phép tính toán quỹ đạo đường đạn với năng lượng 160 kW.

Chiếc máy ENIAC (Electronic Numerical Integrator and Computer - Máy tính hợp và tính toán số học điện tử) do Mỹ thiết kế là chiếc máy tính đa năng điện tử đầu tiên. Được chế tạo dưới sự chỉ đạo của John Mauchly và J. Presper Eckert tại Đại học Pennsylvania, nó nhanh hơn Harvard Mark I 1000 lần. Sự phát triển và chế tạo ENIAC kéo dài từ năm 1943 đến khi có thể hoạt động hoàn toàn vào cuối năm 1945.

Khi bản thiết kế của nó được đưa ra, nhiều nhà nghiên cứu tin rằng hàng ngàn cái van (tức là ống chân không) mỏng manh sẽ thường xuyên cháy khiến cho ENIAC thường xuyên ngưng hoạt động để sửa chữa, do đó sẽ vô dụng. Tuy nhiên, nó đã có thể thực hiện hàng ngàn phép tính một giây trong vòng nhiều tiếng đồng hồ giữa hai thời điểm chết máy.

ENIAC chắc chắn là một thiết bị Turing đầy đủ. Tuy nhiên, một "chương trình" trên ENIAC được định nghĩa bởi những trạng thái của cáp nối tạm và chuyển mạch, một khoảng cách xa so với những máy điện tử chương trình lưu trữ sử dụng kỹ thuật này. Lập trình nó có nghĩa là lắp lại dây cho nó[34]. (Sự phát triển hoàn tất vào năm 1948 đã giúp nó có thể xử lý các tập chương trình lưu trữ trong bảng bộ nhớ chức năng, khiến cho việc lập trình bớt khó khăn hơn). Nó có thể thực hiện phép tính song song, vì nó có thể được nối dây để thực hiện nhiều bộ cộng tích lũy cùng lúc. Do đó phép tính tuần tự là đặc trưng của máy von Neumann diễn ra sau ENIAC.

Máy von Neumann thế hệ đầu tiên

Thậm chí trước khi hoàn thành máy ENIAC, Eckert và Mauchly đã nhận thấy được những hạn chế của nó và bắt tay vào việc thiết kế một chiếc máy tính lưu chương trình, EDVAC. John von Neumann đã được ghi danh trong bản báo cáo được biết đến rộng rãi mô tả mẫu thiết kế EDVAC trong đó cả chương trình và dữ liệu tính toán đều được lưu trữ trong một bộ lưu trữ duy nhất. Thiết kế cơ bản này, được biểu thị trong kiến trúc von Neumann, sẽ đóng vai trò làm nền móng cho sự phát triển các thế hệ tiếp sau của ENIAC trên toàn cầu.[35]

Băng từ chín rãnh.
Bộ nhớ lõi từ. Mỗi lõi là một bit.

Trong thế hệ thiết bị này, bộ nhớ tạm hoặc đang tính toán được các đường trễ âm cung cấp, những đường này sử dụng thời gian truyền âm qua một chất trung gian như thủy ngân lỏng (hoặc qua một sợi dây) để lưu dữ liệu ngắn. Khi những chuỗi xung âm thanh được gửi qua một cái ống; sau một thời gian, khi xung đi đến cuối ống, mạch điện sẽ dò xem xung đó đại diện cho 1 hay 0 và làm cho máy tạo dao động gửi lại xung. Những máy khác sử dụng các ống Williams, trong đó tận dụng khả năng của ống phát hình ti vi để lưu trữ và truy xuất dữ liệu. Đến trước năm 1954, bộ nhớ lõi từ[36] nhanh chóng thay thế phần lớn các dạng lưu trữ tạm thời khác, và thống trị trong lĩnh vực này cho đến giữa thập niên 1970.

Chiếc máy von Neumann hoạt động được đầu tiên là Manchester "Baby" hay Máy thí nghiệm thu nhỏ (Small-Scale Experimental Machine), được Frederic C. Williams và Tom Kilburn phát triển tại Đại học Manchester vào năm 1948;[37] sau nó là chiếc máy tính Manchester Mark I vào năm 1949, một hệ thống hoàn chỉnh, sử dụng ống Williams và bộ nhớ trống từ (magnetic drum), và cũng ra mắt thanh ghi chỉ mục (index register).[38] Đối thủ khác cho danh hiệu "chiếc máy tính lưu trữ chương trình bằng kỹ thuật số đầu tiên" là EDSAC, được thiết kế và chế tạo tại Đại học Cambridge. Được đưa vào hoạt động chưa đầy một năm sau Manchester "Baby", nó cũng có thể giải quyết được những bài toán thật sự. Thật ra EDSAC lấy cảm hứng từ những kế hoạch của EDVAC (Electronic Discrete Variable Automatic Computer - Máy tính tự động biến rời rạc điện tử), chiếc máy nối tiếp của ENIAC; những kế hoạch này đã được hoàn thiện trước khi ENIAC hoạt động tốt. Không giống như ENIAC, sử dụng xử lý song song, EDVAC sử dụng một đơn vị xử lý đơn. Kiểu thiết kế này đơn giản hơn và là kiểu đầu tiên được hiện thực trong làn sóng mini hóa, và tăng độ tin cậy về sau này.Một số người xem Manchester Mark I / EDSAC / EDVAC là "nàng Eva" để từ đó tất cả các máy tính hiện nay đều kế thừa kiểu kiến trúc của chúng. Chiếc máy của Đại học Manchester trở thành bản mẫu đầu tiên cho Ferranti Mark I. Chiếc máy Ferranti Mark I đầu tiên được gửi đến trường Đại học vào tháng 2 năm 1951 và ít nhất chín cái khác đã được bán trong năm 1951 đến 1957.

Chiếc máy tính lập trình được phổ thông đầu tiên ở Liên Xô được một nhóm các nhà bác học chế tạo dưới sự chỉ đạo của Sergei Alekseyevich Lebedev đến từ Viện Công nghệ điện Kiev, Liên Xô (Ukraina ngày nay). Chiếc máy tính MESM (МЭСМ, Máy tính toán điện tử nhỏ) bắt đầu vận hành vào năm 1950. Nó có khoảng 6.000 ống chân không và tiêu thụ 25 kW năng lượng. Nó có thể thực hiện xấp xỉ 3.000 phép tính một giây[cần dẫn nguồn]. Một chiếc máy đời đầu khác là CSIRAC, thiết kế của người Úc được đưa vào chạy thử nghiệm đầu tiên vào năm 1949. CSIRAC là chiếc máy tính cũ nhất vẫn còn tồn tại và là chiếc đầu tiên được dùng để chơi nhạc kỹ thuật số.[39]

Vào tháng 10 năm 1947, các giám đốc của J. Lyons & Company, một công ty phục vụ ăn uống nổi tiếng nhờ những cửa hàng trà nhưng cực kỳ quan tâm tới các kỹ thuật quản lý văn phòng mới, đã quyết định đóng một vai trò quan trọng trong việc quảng bá sự phát triển thương mại của máy tính. Đến năm 1951, máy tính LEO I đã hoạt động được và thực hiện những thao tác máy tính văn phòng thường ngày đầu tiên trên thế giới. Vào tháng 11 năm 1951, công ty J. Lyons bắt đầu thực hiện công việc đánh giá bánh mì trên LEO (Lyons Electronic Office - Văn phòng Điện tử Lyons). Đó là ứng dụng kinh doanh đầu tiên được thực hiện trên một chiếc máy tính lưu trữ chương trình.

Xác định đặc tính của các máy tính kỹ thuật số thuở sơ khai vào thập niên 1940 (Xem Lịch sử phần cứng máy tính)
TênHoạt động lần đầuHệ thống số họcCơ chế tính toánLập trìnhTuring đầy đủ
Zuse Z3 (Đức)Tháng 5, 1941Nhị phânCơ điệnĐiều khiển chương trình bằng cuộn phim đục lỗ(1998)
Máy tính Atanasoff–Berry (Mỹ)Mùa hè, 1941Nhị phânĐiện tửMục đích đơn không lập trìnhKhông
Colossus (UK)Tháng 1, 1944Nhị phânĐiện tửĐiều khiển chương trình bằng cáp nối tạm và chuyển mạchKhông
Harvard Mark I – IBM ASCC (Mỹ)1944Thập phânCơ điệnĐiều khiển chương trình bằng băng giấy đục lỗ 24 kênh (nhưng không có lệnh rẽ nhánh)(1998)
ENIAC (Mỹ)Tháng 11, 1945Thập phânĐiện tửĐiều khiển chương trình bằng cáp nối tạm và chuyển mạch
Máy thí nghiệm tỷ lệ nhỏ Manchester (UK)Tháng 6, 1948Nhị phân[Điện tử]]Lưu trữ chương trình trong Bộ nhớ ống tia ca-tốt Williams
ENIAC cải tiến (Mỹ)Tháng 9, 1948Thập phânĐiện tửĐiều khiển chương trình bằng cáp nối tạm và chuyển mạch cộng với một cơ chế lập trình lưu trữ chỉ đọc sơ khai sử dụng Bảng chức năng như ROM chương trình
EDSAC (UK)Tháng 5, 1949Nhị phânĐiện tửLưu trữ chương trình trong bộ nhớ mạch trễ bằng thủy ngân
Manchester Mark I (UK)Tháng 10, 1949Nhị phânĐiện tửLưu trữ chương trình trong Bộ nhớ ống tia ca-tốt Williams và bộ nhớ trống từ
CSIRAC (Úc)Tháng 11, 1949Nhị phânĐiện tửLưu trữ chương trình trong bộ nhớ mạch trễ bằng thủy ngân


Vào tháng 6 năm 1951, UNIVAC I (Máy tính tự động phổ thông) được gửi đến Cục Thống kê Dân số Hoa Kỳ. Remington Rand đã bán được 46 chiếc máy với trị giá mỗi chiếc hơn 1 triệu USD. UNIVAC là chiếc máy tính được 'sản xuất hàng loạt' đầu tiên; tất cả các máy tính trước đó đều thuộc loại 'chế tạo từng cái một'. Máy này sử dụng 5.200 ống chân không và tiêu thụ 125 kW năng lượng. Nó sử dụng một đường dây trễ (delay line) bằng thủy ngân có thể chứa 1.000 word của 11 chữ số thập phân cùng với dấu (word 72-bit) dùng làm bộ nhớ. Không giống như các máy IBM, nó không được trang bị bộ đọc thẻ đục lỗ mà sử dụng ngõ nhập là băng từ kim loại theo kiểu những năm 1930, khiến cho nó không tương thích với một số bộ lưu trữ dữ liệu hiện có bán vào thời gian đó. Băng giấy đục lỗ tốc độ cao và băng từ được dùng làm ngõ nhập/xuất cho những máy tính khác vào thời kỳ này.[w]

Vào năm 1952, IBM công bố chiếc Máy xử lý dữ liệu điện tử IBM 701, chiếc máy đầu tiên trong dòng máy 700/7000 thành công và là máy tính trạm IBM đầu tiên của hãng. Chiếc IBM 704, được công bố vào năm 1954, sử dụng bộ nhớ lõi từ, đã trở thành tiêu chuẩn cho những chiếc máy cỡ lớn. Ngôn ngữ lập trình cấp cao đa mục đích đầu tiên, Fortran, cũng được phát triển tại IBM để dùng cho 704 trong năm 1955 và 1956 và phát hành vào đầu năm 1957. (Mẫu thiết kế ngôn ngữ cấp cao Plankalkül năm 1945 của Konrad Zuse chưa được hiện thực vào thời điểm đó). Một nhóm người dùng tình nguyện được thành lập năm 1955 để chia sẻ phần mềm và kinh nghiệm của họ với IBM 701; nhóm này, vẫn còn tồn tại đến ngày nay, là tiền bối của mã nguồn mở sau này.

Dây nhợ tại mặt trước của IBM 650.

IBM đã giới thiệu chiếc máy tính nhỏ và rẻ hơn vào năm 1954 mà thực tế đã cho thấy nó rất được ưa thích. Chiếc IBM 650 nặng trên 900 kg, bộ cung cấp điện đi kèm nặng khoảng 1350 kg và cả hai được đựng trong những tủ rời nhau với kích thước 1,5 x 0,9 x 1,8 mét. Nó trị giá 500.000 USD hoặc cho thuê với giá 3.500 USD một tháng. Bộ nhớ trống (drum memory) của nó nguyên thủy chỉ có 2000 word 10 chữ số, và cần phải lập trình rất phức tạp thì mới tính toán được hiệu quả. Những giới hạn về bộ nhớ như vậy vẫn là vấn đề đối với ngành lập trình cho đến nhiều thập kỷ về sau, cho đến khi có một cuộc cách mạng về khả năng của phần cứng và một mô hình lập trình phù hợp với sự phát triển của phần mềm.

Vào năm 1955, Maurice Wilkes đã sáng chế ra vi lập trình[40], sau đó được sử dụng rộng rãi trong các CPU và các đơn vị dấu chấm động của máy trạm và những máy tính khác, như dòng IBM 360. Vi lập trình cho phép tập lệnh nền được định nghĩa hoặc mở rộng bằng các chương trình tích hợp sẵn (ngày nay gọi là firmware) hoặc vi mã (microcode).[41][42])

Vào năm 1956, IBM đã bán hệ thống đĩa từ đầu tiên, RAMAC (Random Access Method of Accounting and Control - Phương pháp truy cập ngẫu nhiên của Tính toán và điều khiển). Nó sử dụng 50 đĩa kim loại 24 inch (610 mm), với 100 rãnh mỗi mặt. Nó có thể lưu trữ 5 megabyte dữ liệu và có giá là 10.000 USD mỗi megabyte (vào năm 2008, bộ lưu trữ từ tính, ở dạng đĩa cứng, có giá dưới một phần 50 cent mỗi megabyte).

Thế hệ thứ hai: transistor

Một BJT.

Vào nửa sau thập niên 1950 transistor lưỡng cực (BJT)[43] đã thay thế ống chân không. Từ đó dẫn đến những chiếc máy tính thuộc "thế hệ thứ hai". Ban đầu, người ta tin rằng sẽ có rất ít máy tính được sản xuất hoặc sử dụng.[44] Lý do là vì kích thước, giá cả, và kỹ năng cần có để vận hành hoặc đọc hiểu kết quả của chúng. Transistor[x] đã làm giảm đáng kể kích thước, giá thành ban đầu và chi phí vận hành. Transitor lưỡng cực[45] được phát minh vào năm 1947[46]. Nếu không có dòng điện chạy qua đường cực base-emitter của transistor lưỡng cực, đường cực collector-emitter của transistor sẽ chặn dòng điện (transistor khi đó gọi là "tắt hoàn toàn"). Nếu có dòng điện đủ lớn đi qua đường cực base-emitter của một transistor, đường cực collector-emitter của transistor đó cũng cho dòng điện đi qua (và transistor được gọi là "mở hoàn toàn"). Việc cho dòng điện đi qua hoặc ngăn dòng điện là cách biểu diễn lần lượt cho số nhị phân 1 (true) hay 0 (false).[47] So với ống chân không, transistor có nhiều lợi điểm: sản xuất ra chúng rẻ hơn mà nhanh hơn gấp 10 lần, biến thiên từ điều kiện 1 đến 0 chỉ mất có một phần triệu hoặc một phần tỷ giây.Dung tích transistor được đo bằng milimét vuông so với centimét vuông của ống chân không. Nhiệt độ vận hành thấp hơn của transistor đã làm tăng độ tin cậy của chúng so với ống chân không. Các máy tính được trang bị transistor có thể chứa mười ngàn mạch luận lý nhị phân trong một không gian rất nhỏ hẹp.

Thông thường, các máy tính thế hệ thứ hai[y][z] bao gồm rất nhiều mạch in như IBM Standard Modular System[48] mỗi mạch có chứa một đến bốn cổng luận lý hoặc flip-flop. Một máy tính thế hệ thứ hai, IBM 1401, đã giành được đến khoảng một phần ba thị phần thế giới. IBM đã cài đặt hơn một trăm ngàn máy 1401 trong khoảng năm 1960 đến 1964 - Khoảng thời gian này cũng chứng kiến nỗ lực duy nhất của người Ý: chiếc ELEA của Olivetti, sản xuất được 110 máy.

DASD của chiếc RAMAC này đang được phục hồi tại Bảo tàng lịch sử máy tính.

Các thiết bị điện tử được transistor hóa không chỉ phát triển CPU, mà còn cả các thiết bị ngoại vi. Chiếc RAMAC IBM 350 được ra mắt vào năm 1956 và là máy tính có ổ đĩa đầu tiên trên thế giới. Đơn vị lưu trữ dữ liệu dạng đĩa thế hệ thứ hai có thể lưu trữ hàng chục triệu ký tự và chữ số. Nhiều thiết bị ngoại vi khác nhau có thể kết nối với CPU, giúp tăng tổng dung lượng bộ nhớ đến hàng trăm triệu ký tự và chữ số. Tiếp sau đơn vị lưu trữ bằng đĩa cố định, được kết nối với CPU thông qua băng truyền dữ liệu tốc độ cao, là đơn vị lưu trữ dữ liệu dạng đĩa tháo lắp. Một chồng đĩa tháo lắp có thể thay bằng một chồng khác chỉ trong vài giây. Thậm chí dù dung lượng đĩa tháo lắp nhỏ hơn đĩa cố định, khả năng sử dụng thay thế lẫn nhau đảm bảo cho khả năng lưu trữ dữ liệu không có giới hạn trở nên trong tầm tay. Nhưng băng từ cung cấp khả năng lưu trữ các dữ liệu này, với giá thành thấp hơn đĩa.

Nhiều CPU thế hệ thứ hai giao phó việc giao tiếp với các thiết bị ngoại vi cho một vi xử lý thứ hai. Ví dụ, trong khi vi xử lý giao tiếp điều khiển việc đọc và đục lỗ thẻ, CPU chính sẽ xử lý việc tính toán và các lệnh rẽ nhánh. Một băng dữ liệu sẽ duy trì dữ liệu giữa CPU chính và bộ nhớ lõi mới theo tỷ lệ chu kỳ nạp-xử lý, và những băng dữ liệu khác sẽ chỉ phục vụ cho các thiết bị ngoại vi. Trên chiếc PDP-1, chu kỳ của bộ nhớ lõi là 5 miligiây; do đó đa số các lệnh số học mất khoảng 10 microgiây (100.000 phép toán một giây) vì phần lớn các phép toán phải được thực hiện trong ít nhất hai chu kỳ bộ nhớ; một cho lệnh, và một để nạp dữ liệu toán hạng.

Trong thế hệ thứ hai này chứng kiến việc sử dụng rất nhiều đơn vị đầu cuối đầu xa (thường ở dạng Máy telex như Friden Flexowriter). Các kết nối điện thoại đã cung cấp tốc độ hợp lý cho những đầu cuối đầu xa đầu tiên và cho phép chia tách hàng trăm km giữa các thiết bị đầu cuối đầu xa và trung tâm tính toán. Cuối cùng những mạng máy tính độc lập này sẽ được tổng hợp vào một mạng các mạng liên kết với nhau - Internet[49].

Sau 1960: thế hệ thứ ba về sau

IC vi điều khiển 8-bit 8742 của Intel.

Sự bùng nổ sử dụng máy tính bắt đầu từ các máy tính 'Thế hệ thứ ba'. Mà những chiếc máy tính này dựa trên các phát minh độc lập về mạch tích hợp (IC hay microchip) của Jack St. Clair Kilby[50]Robert Noyce[51], từ đó dẫn đến việc phát minh ra vi xử lý[52] của Ted Hoff, Federico Faggin, và Stanley Mazor tại Intel[53]. Ví dụ như mạch tích hợp ở hình bên phải, con Intel 8742, là một vi điều khiển 8-bit bao gồm một CPU chạy với tốc độ 12 MHz, RAM 128 byte, EPROM 2048 byte, và I/O trong cùng một con chip.

Trong suốt thập niên 1960 có một khoảng cách đáng kể về công nghệ giữa thế hệ thứ hai và thứ ba[54]. IBM đã hiện thực các mô-đun Công nghệ Logic rắn IBM trong mạch lai dành cho Hệ thống IBM/360 vào năm 1964. Đến cuối năm 1975, Sperry Univac vẫn tiếp tục sản xuất các máy thế hệ thứ hai như UNIVAC 494. Các hệ thống lớn Burroughs như B5000 là các máy xếp chồng cho phép lập trình đơn giản hơn. Những máy tự động ngăn xếp này cũng được hiện thực trong vi máy tính và vi xử lý về sau, những thứ đã ảnh hưởng đến thiết kế ngôn ngữ lập trình. Các vi máy tính được dùng làm trung tâm máy tính giá thấp cho ngành công nghiệp, kinh doanh và trường đại học.[55] Nó có thể mô phỏng mạch tương tự bằng chương trình mô phỏng tập trung vào mạch tích hợp (simulation program with integrated circuit emphasis), hay SPICE (1971) trên vi máy tính, một trong những chương trình dành cho máy tự động thiết kế điện tử (electronic design automation - EDA). Vi xử lý dẫn đến sự phát triển của vi máy tính, những máy tính nhỏ, giá thành thấp mà những cá nhân và doanh nghiệp nhỏ có thể sở hữu. Các vi máy tính, xuất hiện lần đầu vào thập niên 1970, có mặt ở khắp mọi nơi vào thập niên 1980 về sau. Steve Wozniak, đồng sáng lập viên Apple Computer, là người được vinh danh trong quá trình phát triển chiếc Máy tính gia đình dành cho thị trường đại chúng đầu tiên. Tuy nhiên, chiếc máy tính đầu tiên của ông, Apple I, lại ra xuất hiện một thời gian sau các máy KIM-1 và Altair 8800, và chiếc máy tính Apple đầu tiên có khả năng đồ họa và âm thanh cũng được phát hành một thời gian dài sau Commodore PET. Việc tính toán gắn liền với kiến trúc vi máy tính, với các tính năng đã có từ các máy kích thước lớn hơn, giờ đã chiếm lĩnh trong hầu hết phân khúc thị trường.

Những hệ thống phức tạp như máy vi tính cần phải có độ tin cậy rất cao. ENIAC đã được duy trì hoạt động liên tục từ năm 1947 đến 1955, thời gian là 8 năm trước khi nó được tắt hoàn toàn. Mặc dù một ống chân không có thể bị hỏng, nó sẽ được thay thế ngay mà không phải tắt toàn hệ thống. Với chiến lược đơn giản là không bao giờ tắt máy ENIAC, các hỏng hóc đã được giảm thiểu một cách ngoạn mục. Những ổ cứng có thể gắn nóng, giống như các ống chân không vào những năm trước đây, tiếp tục truyền thống sửa chữa trong khi đang vận hành liên tục. Bộ nhớ bán dẫn thường không gây lỗi khi vận hành, mặc dù các hệ điều hành như Unix đã thực hiện những kiểm thử bộ nhớ khi khởi động để kiểm tra các phần cứng bị hỏng. Ngày nay, sự cần thiết phải hoạt động một cách đáng tin cậy còn chặt chẽ hơn khi cụm máy chủ cũng giống như khay đựng giấy. Google đã quản lý điều này bằng cách sử dụng phần mềm chịu lỗi để phục hồi khi có sự cố phần cứng, và thậm chí vẫn hoạt động với ý tưởng thay thế hoàn toàn cụm máy chủ trong khi vẫn hoạt động bình thường, trong suốt một sự kiện dịch vụ.[56]

Vào thế kỷ XX, CPU đa nhân đã được bán ra thị trường. Bộ nhớ có thể ghi địa chỉ nội dung (Content-addressable memory - CAM)[57] đã đủ rẻ để dùng trong các mạng lưới, mặc dù chưa có hệ thống máy tính hiện thực phần cứng CAM để dùng trong ngôn ngữ lập trình. Hiện tại, các CAM (hay các mảng kết hợp) trong phần mềm là cụ thể theo từng ngôn ngữ lập trình. Mảng ô nhớ bán dẫn là những cấu trúc rất ổn định, và các nhà sản xuất đã có được nhiều thành công từ đó; điều này cho phép giá các sản phẩm bộ nhớ giảm xuống. Sau khi bộ nhớ bán dẫn trở thành hàng hóa, phần mềm máy tính ngày càng bớt tay chân hơn; các mã lập trình đã bớt phức tạp, và dễ hiểu hơn[58]. Khi các cổng luận lý dựa trên transistor hiệu ứng vùng CMOS thay thế cho transistor bán dẫn, mức tiêu thụ năng lượng của máy tính có thể giảm đi đáng kể (Một CMOS FET chỉ hút điện trong quá trình 'chuyển tiếp' giữa các trạng thái, không giống như độ hút điện nhiều hơn của một BJT). Điều này cho phép máy tính trở thành một thứ hàng hóa giờ đây có mặt ở khắp nơi, được tích hợp ở nhiều dạng, từ thiệp chúc mừng và điện thoại đến vệ tinh. Phần cứng và phần mềm máy tính thậm chí đã trở thành một phép ẩn dụng cho việc tính toán trên toàn cầu.[59][60]

Biểu hiện của sự phát triển nhanh chóng trong lĩnh vực này có thể rút ra được từ lịch sử của một bài báo có ảnh hưởng[61]. Cho đến lúc bất kỳ ai đó có thời gian để viết nó xuống, nó đã lạc hậu. Sau năm 1945, một số người đọc được First Draft of a Report on the EDVAC (bản nháp đầu tiên bản báo cáo về EDVAC) của John von Neumann, và ngay lập tức bắt tay hiện thực hệ thống của chính họ. Đến ngày nay, nhịp phát triển đó vẫn tiếp tục diễn ra, trên toàn cầu[62][63].

Chú thích

Ghi chú

Tham khảo

Nguồn

Liên kết ngoài