Kiến trúc máy tính toán đầu Konrad Zuse
Raúl Rojas
trừu tượng. Bài báo này cung cấp một mô tả chi tiết của kiến trúc máy tính toán Z1 và Z3 Konrad Zuse thiết kế tại Berlin từ năm 1936 đến năm 1941. Nhận được các thông tin cơ bản cần thiết từ một đánh giá cẩn thận của ứng dụng bằng sáng chế Zuse nộp vào năm 1941. Cái nhìn sâu sắc bổ sung được thu được từ một phần mềm mô phỏng của logic của máy. Z1 được xây dựng bằng cách sử dụng thành phần hoàn toàn cơ khí; Z3 sử dụng cơ điện chuyển tiếp. Tuy nhiên, cả hai máy chia sẻ một cơ cấu hợp lý phổ biến, và mô hình lập trình của họ là như vậy. Tôi cho rằng Z1 lẫn Z3 sở hữu các tính năng giống như những người máy tính hiện đại: bộ nhớ và bộ vi xử lý là đơn vị riêng biệt; bộ xử lý có thể xử lý số floating-point và tính toán các hoạt động cơ bản bốn lớn cũng như bậc hai của một số. Chương trình được lưu trữ trên lỗ băng và được đọc tuần tự. Trong phần cuối của bài báo này, tôi thấy rằng, đáng ngạc nhiên, Z3 có thể thi đua bất kỳ máy tính hiện đại.
1 — The Z1 và Z3
Konrad Zuse được công nhận phổ biến ở Đức là cha đẻ của máy tính, và của ông Z1, một automaton lập trình được xây dựng từ năm 1936 đến năm 1938, được gọi là của thế giới "máy đầu tiên lập trình calculating." Zuse được sinh ra tại Berlin vào năm 1910 và qua đời vào tháng 12 năm 1995.
trong khi vẫn còn là một sinh viên tại Berlin Polytechnic, Zuse bắt đầu suy nghĩ về máy tính máy vào những năm 1930. Ông nhận ra rằng ông có thể xây dựng một automaton có khả năng thực hiện một chuỗi các hoạt động lớn như những người cần thiết để tính toán học bảng. Đến từ một nền tảng kỹ thuật xây dựng, ông đã không được đào tạo trong điện tử và không được làm quen với công nghệ được sử dụng trong máy tính cơ khí thông thường. Này thâm hụt trên danh nghĩa đã làm việc cho các lợi ích của mình, Tuy nhiên, bởi vì ông đã phải suy nghĩ lại vấn đề toàn bộ của tính toán số học và do đó nhấn trên solutions.1
Zuse mới và ban đầu đã quyết định xây dựng của ông đầu tiên thử nghiệm calculating máy khai thác hai ý tưởng chính, cụ thể là các máy sẽ làm việc với số nhị phân và các đơn vị máy tính và kiểm soát sẽ tách biệt với các lưu trữ. Năm trước khi John von Neumann giải thích những lợi thế của một kiến trúc máy tính, trong đó bộ vi xử lý được tách ra từ bộ nhớ, Zuse có đã đi đến kết luận tương tự. Năm 1936, Zuse hoàn thành bộ nhớ của máy, ông đã có kế hoạch. Nó là một thiết bị cơ khí, nhưng không phải là loại thông thường. Thay vì sử dụng bánh răng (như Babbage đã thực hiện trong thế kỷ trước đó), Zuse thực hiện hợp lý và dài hoạt động bằng cách sử dụng thanh trượt kim loại. Các quán bar có thể di chuyển chỉ trong một trong hai hướng (phía trước hoặc ngược), làm cho chúng phù hợp với một máy nhị phân. Bộ vi xử lý của Z1 hoàn thành một vài tháng sau khi đơn vị lưu trữ, sử dụng cùng một loại công nghệ. Nó làm việc trong buổi hòa nhạc với bộ nhớ, nhưng không bao giờ rất đáng tin cậy. Vấn đề chính là việc đồng bộ hóa chính xác những gì cần thiết để tránh áp dụng cơ khí căng thẳng quá mức trên các bộ phận chuyển động. Nó là thú vị cần lưu ý trong cùng một năm trong đó Zuse hoàn thành bộ nhớ của Z1, Alan Turing đã viết bài báo của ông phá vỡ mặt đất trên computable con số trong đó, ông chính thức hóa khái niệm trực quan của computability. Hình. 1 là một bức ảnh của việc tái thiết của Z1 có thể được nhìn thấy ngày hôm nay tại bảo tàng kỹ thuật Đức của Berlin. Trong thập niên 1980, Zuse chỉ đạo việc tái thiết của máy (mà bị phá hủy trong một cuộc đột kích ném bom trong chiến tranh thế giới thứ hai).
hình 1 Z1 dựng lại
1 K. Zuse, máy tính Der-mein Lebenswerk, Springer-Verlag, Berlin, 1970. K.-H. Czauderna, Konrad Zuse, der Weg zu seinem máy tính Z3, (Oldenbourg Verlag, Munich, 1979).
The Z1, mặc dù không đáng tin cậy, cho thấy rằng thiết kế kiến trúc được âm thanh, mà buộc Zuse để bắt đầu điều tra các loại công nghệ. Theo lời khuyên của Helmut Schreyer người bạn của ông, ông xem là bằng cách sử dụng đèn chân không, nhưng đã từ bỏ ý tưởng ủng hộ cơ điện chuyển tiếp được dễ dàng hơn để có được trước và trong chiến tranh. Zuse xây dựng một mô hình đơn giản "trung gian" (Z2) bằng cách sử dụng một cách tiếp cận hybrid (một bộ xử lý được xây dựng trên rơ le và một bộ nhớ cơ khí). Năm 1938, Zuse bắt đầu xây dựng Z3, một máy tính bao gồm hoàn toàn của rơ le nhưng với cơ cấu hợp lý tương tự như Z1. Nó đã sẵn sàng và hoạt động vào năm 1941, bốn năm trước khi ENIAC. Hình 2 cho thấy một bức ảnh của Z3 dựng lại ở Munich Deutsches Museum. Như Z, Z3 đã bị phá hủy trong chiến tranh; nó được xây dựng lại bởi Zuse trong thập niên 1960.
hình 2 Z3 dựng lại
giấy này cung cấp một cuộc thảo luận chi tiết của kiến trúc của Z1 và Z3. Mặc dù Z1 được xây dựng lại cho một bảo tàng, Mô tả thông tin có sẵn chỉ là việc thiết kế cơ khí memory.2 Zuse tài liệu Z3 trong của mình bằng sáng chế ứng dụng Z-391 năm 1941, đó là khá khó khăn để giải mã do-chuẩn ký hiệu và terminology.3 kể từ khi Z1 và Z3 là thực tế tương đương từ hợp lý và chức năng điểm của xem, tôi sẽ giới thiệu chỉ đến Z3 từ nay trên. Sự khác biệt kiến trúc chính giữa Z1 và Z3 là một thực tế rằng căn bậc hai hoạt động đã được trái ra khỏi Z1. Ngoài ra còn có những khác biệt nhỏ trong số bit được sử dụng cho các hoạt động lớn trong bộ vi xử lý (Z1 sử dụng một chút ít hơn cho mantissa floating-point số) và số lượng các chu kỳ cần thiết cho mỗi hướng dẫn. Với này caveat nhỏ, và có chỉ là các tính năng kiến trúc tính, một trong những có thể nói về Z1 và Z3 là gần như tương đương máy.
2 — kiến trúc tổng quan về Z3
phần này tóm tắt các tính năng kiến trúc phù hợp nhất của Z3. Giấy đi từ đơn giản đến phức tạp: trước tiên tôi cung cấp một tổng quan về kiến trúc, sau đó tôi đi vào chi tiết hơn. Để tránh awkward câu, Tôi sẽ giới thiệu đến Z3 trong căng thẳng hiện nay.
khối cấu trúc
The Z3 là một máy floating-point. Trong khi khác automata tính toán đầu thích Mark I, ABC, và ENIAC đã làm việc với số Brouwer, Zuse rất sớm trên quyết định áp dụng những gì ông gọi là ký hiệu "bán-lôgarít", mà tương ứng với đại diện hiện đại floating-point.
hình. 3 là một tổng quan về các khối xây dựng chính Z3. Các tính năng có liên quan đầu tiên là sự chia tách giữa bộ xử lý và bộ nhớ. Z3 bao gồm một đơn vị bộ nhớ nhị phân (có khả năng lưu trữ 64 floating-point số), một bộ xử lý floating-point nhị phân, một đơn vị kiểm soát, và I/O thiết bị. Bộ nhớ và các đơn vị lớn được kết nối bằng xe buýt dữ liệu, mà truyền số mũ và mantissa floating-point đại diện. Các đơn vị kiểm soát có microsequencers cần thiết cho mỗi hướng dẫn. Kiểm soát dòng sẽ từ các đơn vị kiểm soát bộ vi xử lý, bộ nhớ, và các thiết bị I/O thi hành việc đồng bộ hóa chính xác của tất cả các đơn vị. Đọc băng cung cấp opcode mỗi hướng dẫn cũng như địa chỉ bộ nhớ truy cập. I/O thiết bị được kết nối bằng xe buýt dữ liệu để tính toán đơn vị
2 U. Schweier và D. Saupe, "Funktions und Konstruktionsprinzipien der programm-gesteuerten mechanischen Rechenmaschine Z1," Arbeitspapiere der GMD 321, (Bonn, 1988). 3 K. Zuse, "Patentanmeldung Z-391", trong R. Rojas (ed.), Die Rechenmaschinen von Konrad Zuse, (Springer-Verlag, Béc-lin năm 1998).
khối hình 3 xây dựng của Z3
Floating-Point đại diện
hình 4 cho thấy đại diện được sử dụng trong bộ nhớ của Z3. Các bit đầu tiên được sử dụng để lưu trữ các dấu hiệu của số, sau bảy bit cho số mũ, và 14 bit cuối cho mantissa (chỉ các vị trí 14 ở bên phải của điểm nhị phân). Các bit của số mũ được gọi là một phần của số và được biểu hiện bằng a6 để a0. Các bit của mantissa được gọi là phần B của số và được biểu hiện bằng b0-b-14. Số mũ được viết như một hai bổ sung số. Phạm vi có thể đánh giá cao vì vậy chạy từ-64 để 63. Mantissa được lưu trữ trong hình thức bình thường, có nghĩa là, chữ số đầu tiên trước khi daáu thaäp phaân (b0) phải luôn luôn là một 1. Số này không cần phải được lưu trữ (và do đó không xuất hiện trong hình. 4), do đó tầm bắn hiệu quả của những con số trong các đơn vị bộ nhớ là tương đương với một mantissa 15 bit. Tuy nhiên, đó là một vấn đề với số zero, mà không thể được thể hiện bằng cách sử dụng một mantissa bình thường. Z3 sử dụng công ước bất kỳ mantissa với số mũ –64 là để được coi là bằng 0. Bất kỳ số nào với hội chợ triển lãm nent 63 được coi là vô hạn lớn. Hoạt động liên quan đến số không và vô cùng được coi là trường hợp ngoại lệ, và đặc biệt phần cứng màn hình những con số được tải trong bộ vi xử lý để thiết lập những lá cờ ngoại lệ (xem phần 4).
hình 4 Floating-point đại diện trong bộ nhớ
theo quy ước này, có số nhỏ nhất có thể được lưu trữ trong bộ nhớ của Z3 là 2-63 = 1,08 × 10-19, và số lớn nhất có thể được biểu diễn là 1,999 × 262 = 9 × 1018. Các đối số cho tính toán có thể được nhập như số thập phân vào bàn phím của Z3 (bốn chữ số). Đẩy nút thích hợp trong một hàng 17 nút có nhãn từ-8-8 vào số mũ của các đại diện thập phân. Z3 ban đầu chỉ có thể chấp nhận đầu vào giữa 10-8 và 108. Xây dựng lại của Zuse Z3 cho bảo tàng Deutsches ở Munich cung cấp đủ nút cho số mũ lớn hơn-sắp xếp này cho phép khả năng toàn bộ số của máy tính này được phản ánh trên chấp nhận được đầu vào và đầu ra. Tuy nhiên, Z3 không in kết quả số chương trình sản xuất. Một số duy nhất được hiển thị trên một loạt các đèn đại diện cho các chữ số từ 0 đến 9. Số lớn nhất có thể được hiển thị là 19,999. Nhỏ nhất là 00001. Số mũ lớn nhất có thể được hiển thị là 8, –8 nhỏ nhất.
Instruction Set
chương trình cho Z3 được lưu trữ trên lỗ băng. Một hướng dẫn được viết bằng cách sử dụng 8 bit cho mỗi hàng của băng. Tập chỉ dẫn của Z3 bao gồm các hướng dẫn chín Hiển thị trong bảng 1.
đang được dịch, vui lòng đợi..
