Tải bản đầy đủ (.pdf) (9 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (500.45 KB, 9 trang )

Lịch sử phần cứng máy tính (phần II)
Máy tính tương tự cải tiến
Bài chi tiết: kỹ thuật tương tự


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.
[31]
. Mô hình hóa các hiện tượng vật lý bằng điện thế
và dòng điện điện tử
[32][33][34]
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ị và bảng tính
[35]
, 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
[36]
và hệ thống kiểm soát bắn
[37]
, 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ế
[38]
.
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

[39]
, đượ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ế
[40]
, 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ế
[41]
. Khi điện tử phát triển trong thế kỷ 20, 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
[42]
nhanh chóng hiện ra,
như nói phía dưới, 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
Xem thêm: Khoa học máy tính



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
[43]
đã 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
[44]
đã đượ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
[45][46]
.

Zuse
Bài chi tiết: Konrad Zuse, Z1, Z2, Z3, và Z4


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
[47]
, 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
Bài chi tiết: Máy tính Colossus


Colossus được để 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 London) đã đạ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.
[48]
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
[49]
. 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, London 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ỹ
Xem thêm thông tin: Claude Shannon, George Stibitz, John Vincent
Atanasoff, Clifford E. Berry, John Mauchly, và Howard Aiken
Vào năm 1937, Shannon đã viết cuốn luận văn Thạc sỹ của ông
[50]
tại

MIT lần đầu tiên trong lịch sử hiện thực đại số Bool 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ọ
[51]
đã được hoàn tất vào ngày 8
tháng 1, 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, 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)
[52]
, 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)
[53]
, 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
Bài chi tiết: 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ó
[54]
. (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.

×