Lịch sử phần cứng máy tính
Máy von Neumann thế hệ đầu tiên

Bài chi tiết: giải thuật
Xem thêm thông tin: máy tính trạm
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.
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ừ 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; 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). Đố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ố.
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.
| Tên | Hoạt động lần đầu | Hệ thống số học | Cơ chế tính toán | Lập trình | Turing đầy đủ |
| --- | --- | --- | --- | --- | --- |
| Zuse Z3 (Đức) | Tháng 5, 1941 | Nhị phân | Cơ điện | Điều khiển chương trình bằng cuộn phim đục lỗ | Có (1998) |
| Máy tính Atanasoff–Berry (Mỹ) | Mùa hè, 1941 | Nhị phân | Điện tử | Mục đích đơn không lập trình | Không |
| Colossus (UK) | Tháng 1, 1944 | Nhị 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 | Không |
| Harvard Mark I – IBM ASCC (Mỹ) | 1944 | Thập phân | Cơ đ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) | Có (1998) |
| ENIAC (Mỹ) | Tháng 11, 1945 | Thậ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ó |
| Máy thí nghiệm tỷ lệ nhỏ Manchester (UK) | Tháng 6, 1948 | Nhị phân | [Điện tử]] | Lưu trữ chương trình trong Bộ nhớ ống tia ca-tốt Williams | Có |
| ENIAC cải tiến (Mỹ) | Tháng 9, 1948 | Thậ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 | Có |
| EDSAC (UK) | Tháng 5, 1949 | Nhị phân | Điện tử | Lưu trữ chương trình trong bộ nhớ mạch trễ bằng thủy ngân | Có |
| Manchester Mark I (UK) | Tháng 10, 1949 | Nhị 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ừ | Có |
| CSIRAC (Úc) | Tháng 11, 1949 | Nhị phân | Điện tử | Lưu trữ chương trình trong bộ nhớ mạch trễ bằng thủy ngân | Có |
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.
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.
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, 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).)
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).