So sánh ngắn giữa các máy tính ENIAC và UNIVAC, liên tưởng đến Arduino

Giới thiệu sơ nét về các loại máy

ENIAC (Electronic Numerical Integrator And Computer) được ra mắt vào năm 1946. Nó được chế tạo bởi 2 nhà khoa học Mỹ J. Presper Eckert (lúc này là học trò) và John Mauchly (Giáo sư), và đây là chiếc máy tính đầu tiên có khả năng lập trình. Đây là phát minh đột phá trong thời kỳ này, nó có thể thực hiện các phép tính nhanh hơn 1000 lần so với những chiếc máy tính trước đó. ENIAC cũng chính là cỗ máy được sử dụng để tính toán chế tạo bom Hydrogen.

ENIAC thực hiện được 5000 phép tính trên giây (bằng cách sử dụng 18000 ống chân không), điện năng tiêu thụ khoảng 140kW, trọng lượng 30 tấn.

Trong Thế chiến II, quân đội Mỹ đã hỗ trợ tài chính cho dự án ENIAC với chi phí vào khoảng 500.000 USD (tương đương với 8 triệu USD bây giờ).

ENIAC chấm dứt hoạt động vào tối ngày 2/10/1955.

UNIVAC (UNIVersal Automatic Computer I) được ra mắt sau máy ENIAC 5 năm, và cũng do những người thiết kế ra máy ENIAC chế tạo. Sử dụng 5200 đèn điện tử chân không, trọng lượng của UNIVAC I lên tới 13 tấn, điện năng tiêu thụ khoảng 125kW. UNIVAC I có thể thực hiện 1905 phép tính trong 1 giây. Tuy nhiên, để đặt vừa cỗ máy này, người ta đã phải sử dụng một căn phòng rộng 35,5 m2.

s

Arduino là gì? Bạn hãy xem thêm ở bài viết Arduino UNO R3 là gì?

Về cấu trúc

  1. 2 hệ máy ENIAC và UNIVAC đều sử dụng đèn chân không và tính toán trên hệ cơ số 10 (hệ thập phân). 
    • ENIAC nặng đến 30 tấn, chiếm diện tích lên đến 150m2 và sử dụng 140kW, sử dụng 18000 bóng đèn chân không (vaccum tubes) và có thể lập trình bằng công tắc.
    • UNIVAC có thể được xem là phiên bản thương mại của ENIAC khi chỉ nặng gần bằng một nửa của máy ENIAC (13 tấn), chiến diện tích nhỏ hơn nhiều (chỉ 35.5 m2), sử dụng 5200 bóng đèn chân không.
  2. Arduino có cấu trúc sử dụng các "siêu bé" transistor và tính toán trên hệ cơ số 2 (hệ nhị phân).
    • Nó chỉ nặng khoảng 50 gam, chiến diện tích bằng một chiếc thẻ ATM
    • Arduino UNO sử dụng vi điều khiển ATmega328 (16MHz) nên có cấu trúc của một vi điều khiển và có tốc độ xử lý từ vài chục đến vài trăm nghìn phép tính trên giây!

Về nguyên lý hoạt động

  1. ENIAC
    • Trung tâm của máy tính ENIAC có tên gọi là bộ đếm vòng, gồm 10 bóng chân không (được đánh số như thứ tự các phím trong bàn phím số máy tính của bạn). Một số 5 sẽ được biểu diễn bằng một xung dao động ở bóng số 5. Nếu ta cộng thêm 7 (được 12) vào, thì dao động sẽ được chuyển sang bóng số 2, và sẽ có một giao động khác tại bóng số 1 trong một bộ vòng tròn thứ 2.
    • Cứ như vậy, một thanh ghi sẽ có 11 bộ đếm vòng, nó có thể biểu diễn một số nguyên tới 10 tỷ trừ 1 (9.999.999.999), và nếu là số âm thì có thể tới -9.999.999).
    • Khi 1 thanh ghi đạt mức tối đa của nó, thì sẽ có một xung gửi đến thanh ghi tiếp theo qua dây dẫn và cứ như thế, nó tiếp tục quá trình tính toán.
    • ENIAC có tổng cộng 40 thanh ghi được đặt trong 20 máng được nối mạng với nhau (nghĩa là một thanh ghi bất kì có thể tới được một thanh ghi bất kì khác nằm trong mạng).
    • Dữ liệu được lưu theo các xung, và được lưu giữ trong các ống thủy ngân 5 chân!
  2. UNIVAC
    • Một máy UNIVAC có bộ nhớ là 1000 đơn vị thông tin, mỗi đơn vị như thế bao gồm 12 ký tự (số-chữ). Khi biểu diễn một số, các đơn vị thông tin sẽ chỉ được ghi các kỹ tự số và các phép +, - (tổng cộng có 11 ký tự).
    • 1000 đơn vị thông tin sẽ được chia thành 100 kênh (channel), mỗi kênh 10 đơn vị thông tin.
    • Bộ nhớ đệm dùng cho việc nhập / xuất bao gồm 60 đơn vị thông tin cho mỗi đơn vị (12 channel).
    • Có thêm 6 kênh phụ tùng.
    • Mỗi đơn vị là một ống thủy ngân (tương tự ống chân không), và 10 ống như thế được đặt trong 1 kênh.
    • Về việc tính toán, nó cùng dùng cách tính như ENIAC.
  3. ATmega328 (Arduino)
    • Về nguyên lý hoạt động nó cũng không quá phức tạp, nhưng mình sẽ không đưa ra bàn luận ở đây.
    • Hãy xem những gì Arduino làm được và mức độ đơn giản khi làm việc với nó, bạn sẽ thấy được sự khác biệt một trời một vực giữa các máy tính bự chà bá với một bé vi điểu khiển nhỏ gọn!

Nhận xét

2 máy tính ENIAC và UNIAC đều có một điểm chung là sử dụng bóng chân không để tính toán. Máy tính ENIAC có tốc độ tính toán nhanh hơn UNIVAC nhưng lại cồng kềnh gấp 2-3 lần so với máy UNIVAC. Điều đó đã giải thích lý do tại sao mà trên thế giới chỉ có một máy tính ENIAC, trong khi đó lại có đến 46 (một số tài liệu khác là 49) máy UNIVAC được sử dụng trong thương mại và chính trị. Nhưng, nhờ việc có thể lập trình đồng thời với tốc độ tính toán siêu nhanh đã khiến người tiêu dùng biết đến máy tính nhiều hơn và phần nào hiểu được khả năng ứng dụng của nó!

Bây giờ, bạn hãy nhìn lại chú Arduino Uno trên kệ làm việc của mình, có lẻ bạn sẽ thấy được một ánh hình ảnh nào đó của một thế hệ máy tính cách đây hàng chục năm về trước. Bạn có thấy sự tiến bộ vượt bậc trong ngành khoa học máy tính này? Từ một căn phòng rộng lớn bây giờ nó chỉ là một sấp 8 thẻ ATM xếp chồng lên nhau. Hãy tự hào vì những gì mình đang có và cố gắng biến nó thành một hệ thống "khổng lồ" với hàng chục, hàng trăm khả năng tùy biến. Nào, các bạn hãy bắt tay ngay vào việc chế tạo nào!

lên
4 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Tạo một quy trình công nghiệp với các bước bằng Arduino

Như đã nói ở vấn đề trước Xử lý nhiều tiến trình cùng một lúc trên Arduino - Có thể hay không?, chúng ta có thể xử lý nhiều tiến trình trên Arduino theo cơ chế bất đồng bộ. Tuy nhiên, một vấn đề khá hay mà từ các bình luận ở bài viết đó, mình mới ngộ ra được, đó là làm thế nào để xây dựng một quy trình công việc thực sự trên một board mạch Arduino. Thiết nghĩ, điều đó, hoàn toàn có thể thực hiện được, và xin chia sẻ với mọi người qua bài viết này nhằm giúp tất cả chúng ta có một thư viện chuẩn để làm những công việc phức tạp hơn.

lên
12 thành viên đã đánh giá bài viết này hữu ích.

Lập trình Arduino trên mây với Arduino Create - Sự thay thế tạm thời cho Codebender

Như chúng ta đã biết, Arduino là một board mạch lập trình giúp những người yêu thích vọc vạch điện tử có thể làm nên những dự án ý nghĩa mà không cần qua bất cứ trường lớp chuyên môn nào cả. Vậy, ngoài việc lập trình trên máy tính trước đây, liệu có cách nào giúp chúng ta lập trình Arduino trên mây được hay không? Nếu là một người theo dõi Arduino.vn thường xuyên, thì chắc hẳn bạn biết đến Codebender. Tuy nhiên, vì các lý do về kinh phí hoạt động, codebender của chúng ta sẽ không còn cho phép biên dịch code miễn phí online vào cuối tháng 11/2016 nữa. Vậy, liệu đó có phải là dấu chấm hết cho cộng đồng chúng ta khi muốn biên dịch Arduino online? Câu trả lời là không, và tôi xin giới thiệu với bạn Arduino Create, một trình biên dịch Arduino IDE online của Arduino(dot)cc được phát triển sau codebender và cũng mới đi vào hoạt động trong năm 2016.

lên
16 thành viên đã đánh giá bài viết này hữu ích.