Logo Zephyrnet

Máy tính những năm 1970: Một lát máy tính

Ngày:

HP-1000 và DEC VAX 11/730 có điểm gì chung với trò chơi điện tử Tempest và Battlezone? Nhiều hơn bạn có thể nghĩ. Tất cả những máy đó, cùng với nhiều máy khác trong khoảng thời gian đó, đều sử dụng CPU lát cắt dòng AM2900.

CPU lát cắt bit là một sản phẩm rất thành công chỉ có thể tồn tại vào những năm 1970. Ngày nay, nếu bạn cần một hệ thống máy tính, có rất nhiều CPU và thậm chí toàn bộ hệ thống trên một con chip để bạn lựa chọn. Bạn cũng có thể có nhiều hệ thống cấp bảng nhỏ có thể làm bất cứ điều gì bạn muốn. Vào những năm 1960, bạn không có lựa chọn nào cả. Bạn đã chế tạo các bảng mạch có cổng bằng cách sử dụng bóng bán dẫn, ống, rơle hoặc - có thể - cổng IC quy mô nhỏ. Sau đó, bạn nối dây các bảng lên.

Không cần phải là thiên tài mới nhận ra rằng sẽ thật tuyệt nếu cung cấp cho mọi người một con chip CPU như bạn có thể có ngày nay. Vấn đề là công nghệ bán dẫn thời đó không cho phép điều đó - ít nhất là với bất kỳ lượng tài nguyên đáng kể nào. Ví dụ: Motorola MC14500B từ năm 1977 là bộ vi xử lý một bit và mặc dù nó có những công dụng nhưng nó không dành cho tất cả mọi người hoặc mọi thứ.

Câu trả lời

Câu trả lời là sản xuất càng nhiều CPU càng tốt trong một con chip và đưa ra các điều khoản để sử dụng nhiều chip cùng nhau để tạo ra CPU. Đó chính xác là những gì AMD đã làm với dòng AM2900. Nếu bạn nghĩ về nó, CPU là gì? Chắc chắn là có nhiều biến thể, nhưng cốt lõi là có một nơi để lưu trữ hướng dẫn, một nơi để lưu trữ dữ liệu, một số cách để chọn hướng dẫn và cách hoạt động trên dữ liệu (như ALU - đơn vị logic số học). Hướng dẫn di chuyển dữ liệu từ nơi này sang nơi khác và đặt trạng thái của những thứ như thiết bị I/O, hoạt động ALU và những thứ tương tự.

<img decoding="async" data-attachment-id="665623" data-permalink="https://hackaday.com/2024/03/06/the-1970s-computer-a-slice-of-computing/bcpu/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png" data-orig-size="785,551" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="bcpu" data-image-description data-image-caption="

CPU bitlice cơ bản từ sách dữ liệu AMD

” data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?w=400" data- Large-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?w=785″ class=”size- hình thu nhỏ wp-image-665623″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing.png” alt width=”250″ chiều cao=”175″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png 785w, https://zephyrnet .com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-2.png?resize=250,175 250w, https://zephyrnet.com/wp-content/uploads/ 2024/03/the-1970s-computer-a-slice-of-computing-2.png?resize=400,281 400w” kích thước=”(độ rộng tối đa: 250px) 100vw, 250px”>

CPU bitlice cơ bản từ sách dữ liệu AMD

Chắc chắn, đó là sự đơn giản hóa quá mức, nhưng nó có thể được mở rộng để mô tả hầu hết các CPU truyền thống. Các chip AMD cung cấp đường dẫn dữ liệu 4 bit có thể được xâu chuỗi lại với nhau. Các chip khác trong dòng có thể quản lý bộ nhớ (bao gồm, tùy chọn, DMA) và đảm nhiệm việc ghi sổ giữa các lát. Bạn có thể xây dựng một máy 8 bit với hai lát, máy 24 bit với ba lát, v.v.

Điều này không chỉ cho phép ít IC hơn so với sử dụng chip thông thường mà còn cho phép logic lưỡng cực - đặc biệt là vào thời điểm đó - nhanh hơn nhưng không dày đặc như NMOS hay CMOS. Những con chip như dòng AM2900 cho phép bạn tạo ra những CPU linh hoạt. Chúng phù hợp với ứng dụng của bạn và chạy nhanh so với những gì bạn có thể thực hiện bằng các phương pháp khác.

Mã hóa vi mô

Vi mã phổ biến trong nhiều CPU và CPU bitlice cũng không ngoại lệ. Ví dụ: bạn có thể có một lệnh vi mã rất dài trong đó mỗi thanh ghi có một dòng đọc và ghi riêng. Nếu bạn có tám thanh ghi thì đó chỉ là 16 bit trong các điều khiển đó. Sau đó, bạn cũng có thể có mã chức năng (4 bit) và một bit cho biết liệu mã điều kiện có nên cập nhật hay không. Bây giờ, mỗi “lệnh” là 21 bit. Khoảng thời gian đó dài hơn mức bạn muốn đối với một máy 8 bit, do đó bạn xác định các hướng dẫn thực thi vi mã.

<img decoding="async" data-attachment-id="665630" data-permalink="https://hackaday.com/2024/03/06/the-1970s-computer-a-slice-of-computing/pin2901/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png" data-orig-size="317,460" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="pin2901" data-image-description data-image-caption="

Sơ đồ chân của AM2901

” data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?w=276″ data-large-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?w=317″ class=”size-thumbnail wp-image-665630″ src=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-1.png” alt width=”172″ height=”250″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png 317w, https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?resize=172,250 172w, https://zephyrnet.com/wp-content/uploads/2024/03/the-1970s-computer-a-slice-of-computing-4.png?resize=276,400 276w” sizes=”(max-width: 172px) 100vw, 172px”>

Sơ đồ chân của AM2901

Ví dụ: lệnh thêm thanh ghi A vào thanh ghi B và để lại kết quả ở B có thể có ba bước vi mã. Đầu tiên sẽ đăng ký cổng A và B vào bus dữ liệu và xác nhận mã làm cho ALU thêm vào. Sau đó, lệnh thứ hai sẽ đưa kết quả vào cơ sở dữ liệu và ra lệnh cho thanh ghi B đọc cơ sở dữ liệu. Lệnh vi mã cuối cùng sẽ chuyển đến phần chính của vi mã để đọc lệnh tiếp theo và tiếp tục chương trình.

Đó là cách bạn thường thiết kế CPU bitlice. AM2909, AM2910 hoặc AM2911 (trình sắp xếp chuỗi vi chương trình) sẽ xử lý một ROM lưu trữ vi chương trình, ROM này sẽ cung cấp các lệnh cho một mảng chip AM2901. AM40 2901 chân có nhiều biến thể (ví dụ: AM2901B), mỗi biến thể đều có những cải tiến về công nghệ để làm cho chúng nhỏ hơn và nhanh hơn.

Kho lưu trữ vi chương trình sau đó sẽ sắp xếp việc tìm nạp các lệnh và thực hiện chúng. Có lẽ, vi chương trình tương đối nhỏ so với phần mềm thực, do đó ROM có vi mã có thể nhỏ hơn ROM chứa ứng dụng thực tế của bạn.

Hợp tác

Tất nhiên, bạn không thể làm mọi thứ chỉ bằng cách thêm một con chip khác. Họ phải hợp tác. Ví dụ: có một đầu ra F trên mỗi chip là bộ thu mở. Bạn buộc tất cả các đầu ra F lại với nhau bằng một điện trở kéo lên. Nếu bất kỳ lát CPU nào có kết quả khác 0, nó sẽ kéo đầu ra F xuống. Do đó, nếu đầu ra F cao thì toàn bộ kết quả (dù có bao nhiêu bit) phải bằng 0.

Xử lý mang theo cũng là một vấn đề. Nếu lát đầu tiên của bạn thêm 1111+0001 thì câu trả lời thực sự không phải là 0000. Đó là 0000 + một số mang theo. Bạn có thể chỉ cần nối từng đầu ra Cn+4 với đầu vào Cn của chip tiếp theo để có được gợn sóng, nhưng điều đó sẽ tạo ra một hình phạt về tốc độ và trở nên tồi tệ hơn khi bạn thêm các lát cắt. Bạn cũng có thể sử dụng AM2902 để “nhìn về phía trước” để có hiệu suất tốt hơn. Mỗi 2902 có thể xử lý bốn lát hoặc 16 bit. Nếu muốn làm nhiều hơn thế, bạn có thể sử dụng một AM2902 để dự đoán tối đa bốn AM2902 khác, mỗi chiếc xử lý bốn lát CPU. Có lẽ, bạn có thể mở rộng sơ đồ này hơn nữa nếu muốn vượt quá 64 bit, mặc dù vào năm 1975, đó có thể không phải là vấn đề lớn nhất của bạn khi chế tạo một cỗ máy lớn như vậy.

Phép dịch và phép nhân cũng cần có sự hợp tác. Người ta thường sử dụng bộ ghép kênh ở mỗi đầu của chuỗi để xác định nguồn bit mới khi dịch chuyển. Nó chỉ phụ thuộc vào những gì bạn cần.

Tùy biến

Đó là một điều thú vị khi sử dụng lát cắt bit. Bạn có thể thiết kế đúng những gì bạn cần. Tại sao phải xây dựng máy 32 bit nếu bạn cần 24 bit cho tác vụ hiện tại? Tại sao lại sử dụng bộ ghép kênh để kích hoạt lệnh xoay mà bạn sẽ không bao giờ sử dụng?

Ngày nay, chúng ta lấy một khối xây dựng và làm cho nó phù hợp với vấn đề của chúng ta. Với bitlice, bạn đã tạo ra một CPU phù hợp chính xác với những gì bạn cần. Có rất nhiều mẩu tin nhỏ về cách thực hiện các thao tác khác nhau như tìm nạp lệnh, nhân hoặc hoán đổi byte trong Sổ dữ liệu AM2900.

Cuốn sách dữ liệu đó cũng hiển thị các chip bạn cần, như AM2902 hoặc “Superslice” AM48 2903 chân với các thanh ghi, bộ nhân, phép chia có thể mở rộng và các mạch đặc biệt khác trên bo mạch.

sự phát triển

Gia đình AM2900 đã rất thành công. AM2901 ban đầu khởi đầu bằng một khuôn rất lớn sử dụng Schottky công suất thấp và có thể hoạt động ở tốc độ 80 nano giây. Đến năm 1978 - ba năm sau, khuôn AM2901B có kích thước nhỏ hơn một nửa và có thể xử lý 50 nano giây. Đến năm 1981, AM2901C sử dụng ECL bên trong và có thể hoạt động 37 nano giây trên cùng một khuôn. Đến năm 1979, bạn thậm chí có thể có được bộ đồng xử lý dấu phẩy động (AMD9511).

Đây là những thiết bị đơn giản vì bạn cần nhiều chip để hỗ trợ nó và nhiều AM2901 để làm bất cứ việc gì lớn hơn 2901 bit. Ví dụ: AM540 ban đầu chỉ có XNUMX cổng trên tàu. Tuy nhiên, họ đã tìm được đường vào mọi thứ, từ máy trạm, máy tổng hợp âm nhạc cho đến trò chơi điện tử. Vì sự phổ biến của chúng nên đã có rất nhiều nhà cung cấp nguồn thứ hai cho thiết bị và vẫn có thể tìm được hàng cũ mới. Thậm chí còn có những bản sao của Liên Xô được sản xuất.

Thêm Bitslice

Nhiều CPU được sản xuất bằng AM2900 là độc quyền hoặc quân sự. Nhưng nếu bạn muốn xem một tài liệu có nhiều tài liệu hay, thì đây luận án Thạc sĩ năm 1980 về việc triển khai CPU tương thích Nova 1200 sử dụng công nghệ - dù sao thì, một phần của nó.

AM2900 không phải là trò chơi duy nhất trong thị trấn. Năm 1974, IMP của National Semiconductor và dòng 3000 của Intel đã có mặt. Ngoài ra, Motorola, Texas Instruments, Fairchild, Raytheon và các hãng khác cũng sản xuất các thiết bị tương tự. Nhưng vì nhiều lý do khác nhau, AM2900 là thứ mà hầu hết mọi người nghĩ đến khi nhớ đến CPU bitlice. Thực ra luận văn Thạc sĩ về CPU Nova còn có một bảng công nghệ bitlice khác và lý do họ không sử dụng cái nào khác. Ví dụ: một số thiết bị sử dụng PMOS, tốc độ chậm. Những người khác đã sử dụng ECL, một công nghệ nhanh chóng và nổi tiếng là khó sử dụng. Khác luận văn từ năm 1976 có logic tương tự để chọn AM2900.

Muốn thêm?

[Ken Shirriff] đã tách rời một biến thể ECL của AM2901. Cũng có một cuốn sách từ năm 1980 bạn có thể đọc. Ngoài ra còn có rất nhiều tài liệu trên máy chủ Gopher (không đùa). Nếu trình duyệt của bạn không xử lý được Gopher — và điều đó không làm chúng tôi ngạc nhiên — hãy thử một trong nhiều trình duyệt Proxy Gopher. Ví dụ thiết kế máy tính 16-bit đặc biệt đáng xem. Bạn muốn một ví dụ phức tạp hơn? Đây là CPU 8080 cực nhanh được xây dựng bằng bitlice. Tiếp tục hackaday.io, [zpekic] gần đây đã xây dựng chiếc 8080 này và chạy Basic nhỏ trên đó (xem video nếu bạn không tin).

[Nhúng nội dung]

Xerox Star 8010 đã sử dụng AM2900 năm 1981. Chi phí ít hơn 17,000 USD! May mắn thay, bạn có thể mô phỏng một cái nếu bạn thích. Đối với vấn đề đó, bạn có thể sắp xếp mô phỏng AM2900 sử dụng Java, mặc dù nó có thể không hoạt động với mọi thiết kế có thể (mẹo: tải xuống từ các bản phát hành).

tại chỗ_img

Tin tức mới nhất

tại chỗ_img