Công nghệ MOS 6502 – Wikipedia104458

Công nghệ MOS 6502
 MOS 6502AD 4585 top.jpg

Bộ xử lý MOS 6502 trong gói nhựa DIP-40. Mã ngày gồm bốn chữ số cho biết nó được tạo ra vào tuần thứ 45 năm 1985
Được sản xuất 1975 ; 43 năm trước ( 1975 )
Nhà sản xuất phổ biến
Max. Tốc độ xung nhịp của CPU 1 MHz đến 3 MHz
Tập lệnh MOS 6502
Transitor 3.510, [1] 3.218 [2]
56
Chiều rộng dữ liệu 8
Độ rộng địa chỉ 16
Gói

Công nghệ MOS 6502 (thường là "sáu mươi lăm. -two " hoặc " six-five-oh-hai ") [3] là một bộ vi xử lý 8 bit được thiết kế bởi một nhóm nhỏ do Chuck Peddle dẫn đầu cho Công nghệ MOS. Khi được giới thiệu vào năm 1975, 6502 là một bộ vi xử lý ít tốn kém nhất trên thị trường. Nó ban đầu được bán với giá thấp hơn một phần sáu so với các thiết kế cạnh tranh từ các công ty lớn hơn, như Motorola và Intel, và khiến giá giảm nhanh chóng trên toàn bộ thị trường bộ xử lý. Cùng với Zilog Z80, nó đã gây ra một loạt các dự án dẫn đến cuộc cách mạng máy tính gia đình đầu những năm 1980.

Các máy chơi game và máy tính video gia đình phổ biến, như Atari 2600, Atari 8 bit, Apple II, Nintendo Entertainment System, Commodore 64, Atari Lynx, BBC Micro và các loại khác, đã sử dụng 6502 hoặc các biến thể của thiết kế cơ bản . Ngay sau khi giới thiệu năm 6502, Công nghệ MOS đã được mua lại hoàn toàn bởi Commodore International, người tiếp tục bán bộ vi xử lý và giấy phép cho các nhà sản xuất khác. Trong những ngày đầu của năm 6502, Rockwell và Synertek có nguồn gốc thứ hai, và sau đó được cấp phép cho các công ty khác. Ở dạng CMOS, được phát triển bởi Trung tâm thiết kế phương Tây, họ 6502 tiếp tục được sử dụng rộng rãi trong các hệ thống nhúng, với khối lượng sản xuất ước tính trong hàng trăm triệu. [ cần trích dẫn ] [19659027] Lịch sử và sử dụng [ chỉnh sửa ]

Nguồn gốc tại Motorola [ chỉnh sửa ]

Bảng trình diễn Motorola 6800 được chế tạo bởi Chuck Peddle và John Buchanan 1974

6502 được thiết kế bởi nhiều kỹ sư đã thiết kế họ vi xử lý Motorola 6800. [4] Motorola bắt đầu dự án vi xử lý 6800 vào năm 1971 với Tom Bennett là kiến ​​trúc sư chính. Bố cục chip bắt đầu vào cuối năm 1972, 6800 chip đầu tiên được chế tạo vào tháng 2 năm 1974 và toàn bộ gia đình được phát hành chính thức vào tháng 11 năm 1974. [5][6] John Buchanan là người thiết kế chip 6800 [7][8] và Rod Orgill, người sau này đã làm 6501, hỗ trợ Hội trưởng phân tích mạch và bố trí chip. [9] Bill Mensch gia nhập Motorola vào tháng 6 năm 1971 sau khi tốt nghiệp Đại học Arizona (ở tuổi 26). [10] Nhiệm vụ đầu tiên của ông là giúp xác định IC ngoại vi cho 6800 gia đình và sau đó, ông là nhà thiết kế chính của Bộ điều hợp giao diện ngoại vi 6820 (PIA). [11] Các kỹ sư của Motorola có thể chạy mô phỏng tương tự và kỹ thuật số trên máy tính máy tính lớn IBM 370-165. [12] Bennett đã thuê Chuck Peddle vào năm 1973 để làm kiến ​​trúc hỗ trợ công việc trên 6800 sản phẩm gia đình đang được tiến hành. [13] Ông đã đóng góp trong nhiều lĩnh vực, bao gồm cả thiết kế của 6850 ACIA (giao diện nối tiếp). [14]

Khách hàng mục tiêu của Motorola được thành lập các công ty điện tử như Hewlett-Packard, Tektronix, TRW và Chrysler. [15] Vào tháng 5 năm1972, các kỹ sư của Motorola đã bắt đầu thăm khách hàng chọn lọc và chia sẻ chi tiết về hệ thống vi xử lý 8 bit được đề xuất của họ với ROM, RAM, giao diện song song và nối tiếp [16] Đầu năm 1974, họ đã cung cấp các mẫu kỹ thuật của chip để khách hàng có thể tạo mẫu cho thiết kế của họ. Chiến lược "tổng sản phẩm gia đình" của Motorola không tập trung vào giá của bộ vi xử lý, mà là giảm tổng chi phí thiết kế của khách hàng. Họ cung cấp phần mềm phát triển trên máy tính chia sẻ thời gian, hệ thống gỡ lỗi "EXORciser", hỗ trợ kỹ sư ứng dụng tại chỗ và đào tạo tại chỗ. [17][18] Cả Intel và Motorola ban đầu đã công bố mức giá 360 đô la cho một bộ vi xử lý duy nhất. [19][20] (Hệ thống IBM / 360 máy tính lớn là một máy tính nổi tiếng vào thời điểm đó.) Giá thực tế cho số lượng sản xuất ít hơn nhiều. Motorola cung cấp một bộ thiết kế chứa 6800 với sáu chip hỗ trợ với giá 300 đô la. [21]

Peddle, người sẽ đi cùng nhân viên bán hàng khi đến thăm khách hàng, nhận thấy rằng khách hàng đã bỏ qua chi phí cao các chip vi xử lý. Để giảm giá, kích thước chip IC sẽ phải co lại để có thể sản xuất nhiều chip hơn trên mỗi wafer silicon. Điều này có thể được thực hiện bằng cách loại bỏ các tính năng không cần thiết trong 6800 và sử dụng công nghệ chế tạo mới hơn, các bóng bán dẫn MOS "tải cạn". Peddle và các thành viên khác trong nhóm bắt đầu phác thảo thiết kế của một tính năng cải tiến, bộ vi xử lý giảm kích thước. Vào thời điểm đó, cơ sở chế tạo chất bán dẫn mới của Motorola ở Austin, Texas gặp khó khăn trong việc sản xuất chip MOS và giữa năm 1974 là khởi đầu của một cuộc suy thoái kéo dài một năm trong ngành công nghiệp bán dẫn. Ngoài ra, nhiều nhân viên của Mesa, Arizona đã không hài lòng với việc chuyển đến Austin sắp tới. [22] Quản lý của Bộ phận Sản phẩm Bán dẫn Motorola đã quá tải với các vấn đề và không tỏ ra quan tâm đến đề xuất bộ vi xử lý giá rẻ của Peddle. Chuck Peddle đã thất vọng với quản lý của Motorola vì đã bỏ lỡ cơ hội mới này. Trong một cuộc phỏng vấn tháng 11 năm 1975, Chủ tịch của Motorola, Robert Galvin, đã đồng ý. Ông nói, "Chúng tôi đã không chọn những nhà lãnh đạo phù hợp trong bộ phận Sản phẩm bán dẫn." Bộ phận được tổ chức lại và quản lý thay thế. Phó chủ tịch nhóm mới John Welty nói: "Tổ chức bán hàng bán dẫn mất đi sự nhạy cảm với nhu cầu của khách hàng và không thể đưa ra quyết định nhanh chóng." [23]

Peddle bắt đầu tìm kiếm nguồn tài trợ cho dự án mới này và tìm thấy một công ty bán dẫn nhỏ ở Pennsylvania. Vào tháng 8 năm 1974, Chuck Peddle, Bill Mensch, Rod Orgill, Harry Bawcum, Ray Hirt, Terry Holdt và Wil Mathys rời Motorola để tham gia MOS Technology. (Mike James tham gia sau.) Trong số mười bảy nhà thiết kế chip và người bố trí trong nhóm 6800, bảy người còn lại. Có 30 đến 40 nhà tiếp thị, kỹ sư ứng dụng và kỹ sư hệ thống khác trong nhóm 6800. [24] Tháng 12 năm đó, Gary Daniels chuyển vào nhóm vi xử lý 6800. Tom Bennett không muốn rời khỏi khu vực Phoenix nên Daniels tiếp quản sự phát triển của bộ vi xử lý ở Austin. Dự án đầu tiên của anh là phiên bản "tải cạn" của 6800; điều này làm giảm diện tích chip gần một nửa và tăng gấp đôi tốc độ. Các bộ phận nhanh hơn đã có sẵn vào tháng 7 năm 1976. [25] Tiếp theo là 6802, có thêm 128 byte RAM và mạch dao động xung nhịp trên chip. [26]

Chuyển sang Công nghệ MOS [ chỉnh sửa ]]

Một quảng cáo Công nghệ MOS năm 1973 nêu bật các khả năng mạch tích hợp tùy chỉnh của họ

Công nghệ MOS được thành lập vào năm 1969 bởi ba giám đốc điều hành từ General Cụ, Mort Jaffe, Don McLaughlin và John Pavinen, để sản xuất chất bán dẫn oxit kim loại ( MOS) mạch tích hợp. Allen-Bradley, nhà cung cấp linh kiện điện tử và điều khiển công nghiệp, đã giành được sự quan tâm đa số vào năm 1970. [27] Công ty đã thiết kế và chế tạo IC tùy chỉnh cho khách hàng và đã phát triển một dòng chip máy tính. [edit]

Vào ngày 19 tháng 8 năm 1974, các cựu nhân viên của Motorola chuyển đến trụ sở của MOS Technology tại Valley Forge, Pennsylvania. Mục tiêu là thiết kế và sản xuất một bộ vi xử lý chi phí thấp cho các ứng dụng nhúng và nhắm mục tiêu càng rộng càng tốt cho cơ sở khách hàng. Điều này chỉ có thể xảy ra nếu bộ vi xử lý có chi phí thấp và trong ngành kinh doanh chất bán dẫn, kích thước chip xác định chi phí. Mục tiêu kích thước yêu cầu các bóng bán dẫn MOS "tải cạn" n kênh, một quy trình tiên tiến hơn so với các chip máy tính của Công nghệ MOS được sử dụng. John Paivinen đã có thể chuẩn bị quy trình chế tạo vào tháng 6 năm 1975. [29] Chuck Peddle, Rod Orgill và Wil Mathys đã thiết kế kiến ​​trúc ban đầu của các bộ xử lý mới. Sẽ có hai bộ vi xử lý: 6501 sẽ cắm vào cùng một ổ cắm với Motorola 6800, trong khi 6502 sẽ hoạt động với 6800 thiết bị ngoại vi gia đình và có bộ dao động xung nhịp trên chip. Các bộ xử lý này sẽ không chạy 6800 phần mềm vì chúng có tập lệnh khác nhau, các thanh ghi khác nhau và hầu hết các chế độ địa chỉ khác nhau. [30] Một bài viết tháng 9 năm 1975 trên tạp chí EDN đưa ra bản tóm tắt về thiết kế này:

Gia đình Công nghệ MOS 650X thể hiện nỗ lực có ý thức của tám cựu nhân viên Motorola, người đã làm việc trong việc phát triển hệ thống 6800 để đưa ra một bộ phận có thể thay thế và vượt trội hơn 6800, nhưng lại nhấn mạnh nó. Với lợi ích của nhận thức muộn đã đạt được trong dự án 6800, nhóm Công nghệ MOS do Chuck Peddle đứng đầu, đã thực hiện các thay đổi kiến ​​trúc sau đây trong Motorola CPU CPU [31]

Bộ tích lũy "B" thứ hai đã bị bỏ qua. Thanh ghi chỉ số 6800 16 bit có độ lệch 8 bit trong hướng dẫn đã được thay thế bằng hai thanh ghi chỉ số 8 bit có độ lệch 8 bit hoặc 16 bit. Kiểm soát ba trạng thái đã được loại bỏ khỏi các đầu ra bus địa chỉ. Một máy phát đồng hồ đã được bao gồm trên chip. Bus địa chỉ luôn hoạt động nên đầu ra VMA (địa chỉ bộ nhớ hợp lệ) đã bị loại bỏ. Tín hiệu RDY "8080 loại" cho bước đơn chu kỳ đã được thêm vào.

Thiết kế cấp cao chip phải được biến thành bản vẽ của bóng bán dẫn và kết nối. Tại MOS Technology, "bố cục" là một quy trình rất thủ công được thực hiện bằng bút chì màu và giấy vellum. Bố cục bao gồm hàng ngàn hình đa giác trên sáu bản vẽ khác nhau; một cho mỗi lớp của quá trình chế tạo chất bán dẫn. Rod Orgill chịu trách nhiệm thiết kế 6501; ông đã hỗ trợ John Buchanan tại Motorola vào năm 6800. Bill Mensch đã làm 6502; ông là nhà thiết kế của Bộ điều hợp giao diện ngoại vi 6820 (PIA) tại Motorola. Harry Bawcom, Mike James và Sydney-Anne Holt đã giúp bố trí.

Mục tiêu kích thước của chip 6502 là 153 x 168 triệu (3,9 x 4,3 mm) hoặc diện tích 16,6 mm 2 . [31] Vào thời điểm đó, tài liệu kỹ thuật sẽ nêu chiều dài và chiều rộng của mỗi chip tính bằng "mils" (0,001 inch). Một khu vực chip nhỏ hơn có nghĩa là nhiều chip hơn trên mỗi wafer silicon và năng suất cao hơn vì các khuyết tật thường ngẫu nhiên nhưng nằm rải rác trên khu vực wafer. Vì vậy, càng nhiều chip trên mỗi wafer, tỷ lệ chip bị lỗi trên tổng số chip wafer càng nhỏ. Các chip 6800 ban đầu được dự định là 180 x 180 triệu nhưng bố trí đã được hoàn thành ở mức 212 x 212 triệu (5,4 x 5,4 mm) hoặc diện tích 29,0 mm 2 . [32] Các chip 6502 đầu tiên là 168 x 183 triệu (4,3 x 4,7 mm) hoặc diện tích 19,8 mm 2 . Lệnh Rotate Right (ROR) không hoạt động trong silicon đầu tiên, do đó, lệnh tạm thời bị bỏ qua khỏi các tài liệu đã xuất bản, nhưng lần lặp lại tiếp theo của thiết kế đã thu nhỏ chip và sửa hướng dẫn Rotate Right, sau đó được đưa vào tài liệu sửa đổi . [33]

Giới thiệu 6501 và 6502 [ chỉnh sửa ]

Quảng cáo giới thiệu cho bộ vi xử lý Công nghệ MOS MCS6501 và MCS6502.

Giới thiệu bộ vi xử lý của MOS Technology. ra mắt sản phẩm dài. Lần chạy đầu tiên của một mạch tích hợp mới thường được sử dụng để thử nghiệm nội bộ và được chia sẻ với các khách hàng được chọn là "mẫu kỹ thuật". Những con chip này thường có một lỗi thiết kế nhỏ hoặc hai sẽ được sửa chữa trước khi bắt đầu sản xuất. Mục tiêu của Chuck Peddle là bán chip 6501 và 6502 chạy đầu tiên cho những người tham dự tại triển lãm thương mại Wescon ở San Francisco bắt đầu vào ngày 16 tháng 9 năm 1975. Peddle là người phát ngôn rất hiệu quả và bộ vi xử lý Công nghệ MOS được đưa tin rộng rãi trên báo chí thương mại. Một trong những câu chuyện sớm nhất là một câu chuyện toàn trang trên bộ vi xử lý MCS6501 và MCS6502 trong số ra ngày 24 tháng 7 năm 1975 của tạp chí Electronics . [34] Câu chuyện cũng được đăng trên EE Times (tháng 8 24, 1975), [35] EDN (20 tháng 9 năm 1975), Tin tức điện tử (ngày 3 tháng 11 năm 1975), Byte (tháng 11 năm 1975) [36] Máy vi tính tiêu hóa (tháng 11 năm 1975). [37] Quảng cáo cho 6501 xuất hiện trong một số ấn phẩm vào tuần đầu tiên của tháng 8 năm 1975. 6501 sẽ được bán tại Wescon với giá 20 đô la mỗi chiếc. [38] quảng cáo bao gồm cả bộ vi xử lý 6501 và 6502. Chiếc 6502 sẽ chỉ có giá 25 đô la. [39]

Khi MOS Technology đến Wescon, họ thấy rằng các nhà triển lãm không thể bán bất cứ thứ gì trên sàn trưng bày. Họ đã thuê MacArthur Suite tại khách sạn St. Francis và hướng dẫn khách hàng đến đó để mua bộ xử lý. Tại bộ phần mềm, các bộ xử lý được lưu trữ trong các hũ lớn để ngụ ý rằng các con chip đang được sản xuất và có sẵn. Các khách hàng không biết nửa dưới của mỗi lọ chứa chip không có chức năng. [40] Các chip có giá $ 20 và $ 25 trong khi gói tài liệu là thêm $ 10. Người dùng được khuyến khích tạo các bản sao của tài liệu, một cách rẻ tiền để Công nghệ MOS phân phối thông tin sản phẩm. Các bộ xử lý được cho là có 56 lệnh, nhưng lệnh Xoay phải (ROR) không hoạt động chính xác trên các chip này, vì vậy các bảng dữ liệu sơ bộ được liệt kê chỉ 55 hướng dẫn. Các đánh giá trong Byte EDN đã ghi nhận việc thiếu hướng dẫn ROR. Bản sửa đổi tiếp theo của bố cục đã khắc phục sự cố này và biểu dữ liệu tháng 5 năm 1976 liệt kê 56 hướng dẫn. Peddle muốn mọi kỹ sư và người có sở thích quan tâm có quyền truy cập vào các chip và tài liệu; các công ty bán dẫn khác chỉ muốn đối phó với những khách hàng "nghiêm túc". Ví dụ, Signics đã giới thiệu bộ vi xử lý 2650 và các quảng cáo của nó yêu cầu người đọc viết thông tin trên tiêu đề thư của công ty họ. [41]

Sự khác biệt về pinout
Pin 6800 6501 6502
2 Dừng lại Sẵn sàng Sẵn sàng
3 1 (in) 1 (in) 1 (ra)
5 Địa chỉ bộ nhớ hợp lệ Địa chỉ bộ nhớ hợp lệ N.C.
7 Xe buýt có sẵn Xe buýt có sẵn SYNC
36 Kích hoạt bus dữ liệu Kích hoạt bus dữ liệu N.C.
37 ∅2 (in) ∅2 (in) 0 (in)
38 N.C. N.C. Đặt cờ tràn
39 Kiểm soát ba trạng thái N.C. ∅2 (ra)

Vụ kiện của Motorola [ chỉnh sửa ]

Bảng dữ liệu tháng 5 năm 1976 đã bỏ qua bộ vi xử lý 6501 trong phiên bản tháng 8 năm 1975.

Bản giới thiệu 6501/6502 được in và tại Wescon một thành công to lớn. Nhược điểm là phạm vi báo chí rộng rãi đã thu hút sự chú ý của Motorola. Vào tháng 10 năm 1975, Motorola đã giảm giá của một bộ vi xử lý 6800 từ $ 175 xuống còn $ 69. Bộ thiết kế hệ thống 300 đô la đã giảm xuống còn 150 đô la và giờ đây nó đi kèm với một bảng mạch in. [42] Vào ngày 3 tháng 11 năm 1975, Motorola đã tìm kiếm một lệnh cấm tại Tòa án Liên bang để ngăn chặn Công nghệ MOS sản xuất và bán các sản phẩm vi xử lý. Họ cũng đệ đơn kiện tuyên bố vi phạm bằng sáng chế và chiếm dụng bí mật thương mại. Motorola tuyên bố rằng bảy nhân viên cũ đã tham gia MOS Technology để tạo ra các sản phẩm vi xử lý của công ty đó. [43]

Motorola là một công ty trị giá hàng tỷ đô la với một vụ kiện và luật sư hợp lý. Vào ngày 30 tháng 10 năm 1974, Motorola đã nộp nhiều đơn xin cấp bằng sáng chế cho gia đình vi xử lý và được cấp hai mươi lăm bằng sáng chế. Lần đầu tiên là vào tháng 6 năm 1976 và lần thứ hai là Bill Mensch vào ngày 6 tháng 7 năm 1976 để bố trí chip 6820 PIA. Những bằng sáng chế này bao phủ chiếc xe buýt 6800 và cách các chip ngoại vi giao tiếp với bộ vi xử lý. [44] Motorola bắt đầu chế tạo bóng bán dẫn vào năm 1950 và có một danh mục các bằng sáng chế bán dẫn. Allen-Bradley quyết định không đấu tranh với trường hợp này và bán lại sự quan tâm của họ đối với Công nghệ MOS cho những người sáng lập. Bốn trong số các cựu kỹ sư của Motorola đã được nêu tên trong vụ kiện: Chuck Peddle, Will Mathys, Bill Mensch và Rod Orgill. Tất cả được đặt tên là các nhà phát minh trong 6800 ứng dụng bằng sáng chế. Trong quá trình khám phá, Motorola phát hiện ra rằng một kỹ sư, Mike James, đã phớt lờ hướng dẫn của Peddle và mang 6800 tài liệu thiết kế của mình đến MOS Technology. [45] Vào tháng 3 năm 1976, Công nghệ MOS độc lập hiện đã hết tiền và phải giải quyết trường hợp Họ đã đồng ý bỏ bộ xử lý 6501, trả cho Motorola 200.000 đô la và trả lại các tài liệu mà Motorola tranh luận là bí mật. Cả hai công ty đều đồng ý cấp bằng sáng chế cho bộ vi xử lý. [46] Tháng 5 năm đó, Motorola đã giảm giá của một bộ vi xử lý 6800 xuống còn 35 đô la. Đến tháng 11, Commodore đã mua lại Công nghệ MOS. [47][48]

Máy tính và trò chơi [ chỉnh sửa ]

Với những rắc rối pháp lý đằng sau chúng, MOS vẫn gặp phải vấn đề khiến các nhà phát triển phải thử bộ xử lý của họ , nhắc Chuck Peddle thiết kế máy tính bảng đơn MDT-650 ("thiết bị đầu cuối phát triển máy vi tính"). Một nhóm khác trong công ty đã thiết kế KIM-1, được bán bán hoàn chỉnh và có thể biến thành một hệ thống có thể sử dụng được với việc bổ sung một thiết bị đầu cuối máy tính của bên thứ 3 và ổ đĩa cassette nhỏ gọn. Thật đáng kinh ngạc, KIM-1 đã bán rất chạy cho những người có sở thích và tinker, cũng như cho các kỹ sư mà nó đã được nhắm đến. Hệ thống kiểm soát / đào tạo / phát triển Rockwell AIM 65 có liên quan cũng hoạt động tốt. Phần mềm trong AIM 65 được dựa trên MDT. Một sản phẩm gần tương tự khác là Synertek SYM-1.

Một trong những ứng dụng "công khai" đầu tiên cho thiết kế là máy vi tính Apple I, được giới thiệu vào năm 1976. 6502 được sử dụng tiếp theo trong Commodore PET và Apple II, [49] cả hai được phát hành vào năm 1977. Sau đó, nó đã được sử dụng trong gia đình Atari 8 bit và máy tính gia đình Acorn Atom, BBC Micro, [49] Commodore VIC-20 và các thiết kế khác cho cả máy tính gia đình và doanh nghiệp, như Ohio Khoa học và Oric. 6510, người kế nhiệm trực tiếp của 6502 với cổng I / O kỹ thuật số và bus địa chỉ ba trạng thái, là CPU được sử dụng trong máy tính gia đình Commodore 64 bán chạy nhất [50][51]. Ổ đĩa mềm của Commodore, 1541, có bộ xử lý của chính nó, nó cũng là 6502.

Một ứng dụng quan trọng khác của gia đình 6500 là trong các trò chơi video. Người đầu tiên sử dụng thiết kế bộ xử lý là Atari VCS, sau đổi tên thành Atari 2600. VCS đã sử dụng một nhánh của 6502 được gọi là 6507, có ít chân hơn và kết quả là chỉ có thể giải quyết bộ nhớ 8 KB. Hàng triệu máy chơi game Atari sẽ được bán, mỗi máy có bộ xử lý MOS. Một ứng dụng quan trọng khác là của Nintendo Entertainment System và Famicom. 6502 được sử dụng trong NES là phiên bản nguồn thứ hai của Ricoh, một hệ thống trên chip một phần, thiếu chế độ thập phân được mã hóa nhị phân nhưng đã thêm 22 thanh ghi ánh xạ bộ nhớ (và phần cứng chết) để tạo âm thanh, đọc joypad và danh sách sprite DMA. Được gọi là 2A03 trong bảng điều khiển NTSC và 2A07 trong bảng điều khiển PAL (sự khác biệt là tỷ lệ chia bộ nhớ và bảng tra cứu tỷ lệ mẫu âm thanh), bộ xử lý này được sản xuất dành riêng cho Nintendo. Atari Lynx đã sử dụng phiên bản 4 MHz của chip, 65SC02.

Vào những năm 1980, một tạp chí điện tử nổi tiếng Elektor / Elektuur đã sử dụng bộ xử lý trong ban phát triển bộ vi xử lý Junior Computer.

Mô tả kỹ thuật [ chỉnh sửa ]

Cấu hình chân 6502 (DIP 40 chân)
Thanh ghi MOS 6502
1 5 1 4 1 3 1 2 ] 1 1 0 0 9 0 8 0 7 0 6 0 0 4 0 3 0 2 0 1 0 0 (vị trí bit) Các thanh ghi chính
A Một máy phát điện
Thanh ghi chỉ mục
X Chỉ số X
Y Chỉ số Y
0 0 0 0 0 0 0 1 SP S tack P ointer
Bộ đếm chương trình
PC P rogram C ount
Thanh ghi trạng thái
N V B D Tôi Z C P Cờ bộ xử lý

6502 là bộ xử lý 8 bit nhỏ cuối cùng với bus địa chỉ 16 bit. Các phiên bản gốc được chế tạo bằng chip công nghệ xử lý 8 Sựm [53] với kích thước khuôn được quảng cáo là 153 x 168 triệu (3,9 x 4,3 mm) hoặc diện tích 16,6 mm 2 . ] [31]

Logic bên trong chạy cùng tốc độ với tốc độ xung nhịp bên ngoài, nhưng mặc dù tốc độ xung nhịp chậm (thường ở vùng lân cận 1 đến 2 MHz), hiệu suất của 6502 cạnh tranh với các loại hiện đại khác CPU sử dụng đồng hồ nhanh hơn đáng kể. Điều này một phần là do một bộ máy trạng thái đơn giản được triển khai bằng logic tổ hợp (không đồng hồ) ở mức độ lớn hơn so với nhiều thiết kế khác; do đó, đồng hồ hai pha (cung cấp hai đồng bộ hóa trên mỗi chu kỳ) có thể điều khiển trực tiếp toàn bộ máy -mô-tơ. Các hướng dẫn điển hình có thể mất một nửa số chu kỳ để hoàn thành trên 6502 so với thiết kế hiện đại. Giống như hầu hết các CPU đơn giản của thời đại, chip NMOS 6502 động không được sắp xếp theo thứ tự ROM vi mã mà sử dụng PLA (chiếm khoảng 15% diện tích chip) để giải mã và giải trình tự lệnh. Giống như hầu hết các bộ vi xử lý tám bit, chip thực hiện một số hạn chế về tìm nạp và thực thi.

Tần số xung nhịp thấp điều tiết yêu cầu tốc độ của bộ nhớ và các thiết bị ngoại vi được gắn vào CPU, vì chỉ có khoảng 50% chu kỳ xung nhịp có sẵn để truy cập bộ nhớ (do thiết kế không đồng bộ, tỷ lệ này thay đổi mạnh giữa các phiên bản chip). Điều này rất quan trọng tại thời điểm bộ nhớ giá cả phải chăng có thời gian truy cập trong phạm vi 250 – 450 ns . NMOS 6502 ban đầu được thiết kế tối giản và được sản xuất hiệu quả và do đó, giá rẻ là một yếu tố quan trọng để có được chiến thắng thiết kế trong bảng điều khiển trò chơi rất nhạy cảm về giá và thị trường máy tính gia đình.

Giống như tiền thân của nó, Motorola 6800, 6502 có rất ít đăng ký. Cuối cùng, CPU bao gồm chế độ địa chỉ zero-page sử dụng một byte địa chỉ trong hướng dẫn thay vì hai cần thiết để giải quyết toàn bộ bộ nhớ 64 KB. Điều này cho phép truy cập nhanh vào 256 byte RAM đầu tiên bằng cách sử dụng các hướng dẫn ngắn hơn. Chuck Peddle đã nói trong các cuộc phỏng vấn rằng ý định cụ thể là cho phép 256 byte RAM đầu tiên này được sử dụng như các thanh ghi. [ cần trích dẫn ]

Đăng ký [ chỉnh sửa ]

Các thanh ghi của 6502 bao gồm một thanh ghi tích lũy 8 bit (A), hai thanh ghi chỉ số 8 bit (X và Y), 7 bit cờ trạng thái bộ xử lý (P), con trỏ ngăn xếp 8 bit (S ) và bộ đếm chương trình 16 bit (PC). Không gian địa chỉ của ngăn xếp được gắn chặt vào trang bộ nhớ $ 01 tức là phạm vi địa chỉ $ 0100 $ 01FF ( 256 ). Phần mềm truy cập vào ngăn xếp được thực hiện thông qua bốn hướng dẫn chế độ địa chỉ ngụ ý, có chức năng là đẩy hoặc bật (kéo) bộ tích lũy hoặc thanh ghi trạng thái bộ xử lý. Ngăn xếp tương tự cũng được sử dụng cho các lệnh gọi chương trình con thông qua các lệnh JSR (Jump to Subroutine) và RTS (Return from Subroutine) và để xử lý ngắt.

Địa chỉ [ chỉnh sửa ]

Chip sử dụng chỉ mục và thanh ghi ngăn xếp hiệu quả với một số chế độ địa chỉ, bao gồm chế độ "trang trực tiếp" hoặc "trang không" nhanh, tương tự như vậy được tìm thấy trên PDP-8, truy cập các vị trí bộ nhớ từ địa chỉ 0 đến 255 bằng một địa chỉ 8 bit duy nhất (lưu chu kỳ thường được yêu cầu để lấy byte theo thứ tự cao của địa chỉ) Mã hóa cho 6502 sử dụng nhiều trang 0 làm mã cho các bộ xử lý khác sẽ sử dụng các thanh ghi. Trên một số máy vi tính dựa trên 6502 có hệ điều hành, HĐH sử dụng hầu hết trang không, chỉ để lại một số vị trí cho người dùng.

Các chế độ địa chỉ cũng bao gồm ngụ ý (hướng dẫn 1 byte); tuyệt đối (3 byte); được lập chỉ mục tuyệt đối (3 byte); không có trang được lập chỉ mục (2 byte); tương đối (2 byte); ắc quy (1); gián tiếp, x gián tiếp, y (2); và ngay lập tức (2). Chế độ tuyệt đối là chế độ có mục đích chung. Các lệnh rẽ nhánh sử dụng phần bù 8 bit đã ký so với lệnh sau nhánh; Do đó, phạm vi số -128..127 chuyển thành 128 byte lùi và 127 byte chuyển tiếp từ lệnh theo nhánh (là 126 byte lùi và 129 byte chuyển tiếp từ khi bắt đầu lệnh rẽ nhánh). Chế độ tích lũy sử dụng bộ tích lũy làm địa chỉ hiệu quả và không cần bất kỳ dữ liệu toán hạng nào. Chế độ ngay lập tức sử dụng toán hạng 8 bit.

Địa chỉ gián tiếp [ chỉnh sửa ]

Các chế độ gián tiếp rất hữu ích cho xử lý mảng và lặp khác. Với chế độ 5/6 "(gián tiếp), y", thanh ghi Y 8 bit được thêm vào địa chỉ cơ sở 16 bit được đọc từ trang 0 được đặt bởi một byte theo mã opcode. Do đó, thanh ghi Y là một chỉ số – theo nghĩa là nó được sử dụng để giữ một chỉ số thực tế (trái ngược với thanh ghi X trong 6800 nơi lưu trữ địa chỉ cơ sở trực tiếp và có thể thêm một phần bù ngay lập tức). Việc tăng thanh ghi chỉ mục để đi theo mảng byte-khôn ngoan chỉ mất hai chu kỳ bổ sung. Với chế độ "(gián tiếp, x)" ít được sử dụng, địa chỉ hiệu quả cho hoạt động được tìm thấy tại địa chỉ trang 0 được hình thành bằng cách thêm byte thứ hai của lệnh vào nội dung của thanh ghi X. Sử dụng các chế độ được lập chỉ mục, trang zero hoạt động hiệu quả như một bộ gồm tối đa 128 thanh ghi địa chỉ bổ sung (mặc dù rất chậm).

6502 có khả năng thực hiện phép cộng và phép trừ trong số thập phân được mã hóa nhị phân hoặc nhị phân. Đặt CPU vào chế độ BCD với hướng dẫn SED (đặt cờ D) theo số học thập phân, trong đó $ 99 + $ 01 sẽ mang lại $ 00 (C) cờ đang được đặt. Trong chế độ nhị phân ( CLD xóa cờ D), thao tác tương tự sẽ dẫn đến $ 9A và cờ mang theo bị xóa. Khác với Atari BASIC, chế độ BCD hiếm khi được sử dụng trong các ứng dụng máy tính gia đình.

Xem thế giới Xin chào! bài viết cho một ví dụ đơn giản nhưng đặc trưng của ngôn ngữ lắp ráp 6502.

Hành vi chi tiết [ chỉnh sửa ]

Đầu vào ngắt không thể che dấu (NMI) của bộ xử lý có độ nhạy cạnh, có nghĩa là ngắt được kích hoạt bởi cạnh rơi của tín hiệu chứ không phải cấp độ của nó. Hàm ý của tính năng này là mạch ngắt có dây HOẶC không được hỗ trợ. Tuy nhiên, điều này cũng ngăn chặn các ngắt NMI lồng nhau xảy ra cho đến khi phần cứng làm cho đầu vào NMI không hoạt động trở lại, thường nằm dưới sự kiểm soát của trình xử lý ngắt NMI.

Sự khẳng định đồng thời của các dòng ngắt phần cứng NMI và IRQ (có thể đeo mặt nạ) khiến IRQ bị bỏ qua. Tuy nhiên, nếu dòng IRQ vẫn được khẳng định sau khi bảo trì NMI, bộ xử lý sẽ ngay lập tức phản hồi với IRQ, vì IRQ có độ nhạy. Do đó, một loại ưu tiên ngắt tích hợp đã được thiết lập trong thiết kế 6502.

Cờ "Break" của bộ xử lý rất khác so với các bit cờ khác. Nó không có cài đặt cờ, đặt lại hoặc hướng dẫn kiểm tra riêng và không bị ảnh hưởng bởi các hướng dẫn PHP và PLP. Nó chỉ tồn tại trên ngăn xếp, trong đó BRK và PHP luôn viết 1, trong khi IRQ và NMI luôn viết 0.

Tuy nhiên, chân đầu vào "SO", khi được xác nhận, sẽ đặt bit trạng thái tràn của bộ xử lý (tuy nhiên, xác nhận lại nó không xóa bit tràn). Điều này có thể được sử dụng bởi trình điều khiển thiết bị bỏ phiếu tốc độ cao, có thể thăm dò phần cứng một lần chỉ trong ba chu kỳ bằng cách sử dụng lệnh Branch-on-oVerflow-Clear ( BVC ) tự phân nhánh. Ví dụ, các ổ đĩa mềm Commodore 1541 và các ổ đĩa mềm khác củaoreore sử dụng kỹ thuật này để phát hiện mà không trì hoãn liệu bộ nối tiếp có sẵn sàng chấp nhận hoặc cung cấp một byte dữ liệu đĩa khác hay không. Rõ ràng phải hết sức cẩn thận trong trình điều khiển thiết bị và thiết kế hệ thống liên quan, vì sự khẳng định giả mạo của bit tràn có thể làm hỏng quá trình xử lý số học.

Hướng dẫn ngôn ngữ hội [ chỉnh sửa ]

Một câu lệnh ngôn ngữ lắp ráp 6502 bao gồm một lệnh ghi nhớ ba ký tự, theo sau là một toán hạng trong trường hợp một lệnh có toán hạng. Khi được lắp ráp, mã máy kết quả bao gồm mã hoạt động một byte ( opcode ), theo sau là toán hạng một hoặc hai byte, nếu lệnh được lắp ráp với toán hạng, do đó lệnh 6502 của máy có độ dài từ một đến ba byte. [54][55] Toán hạng được lưu trữ ở định dạng cuối nhỏ thông thường của 6502. 65C816, phiên bản CMOS 16 bit của 6502, cũng hỗ trợ địa chỉ 24 bit, dẫn đến các hướng dẫn được lắp ráp với các toán hạng ba byte, cũng được sắp xếp theo định dạng nhỏ.

Variations and derivatives[edit]

There were several variants of the NMOS 6502:

  • The MOS Technology 6503 had reduced memory addressing capability (4 KB) and no RDY input, in a 28-pin DIP package (with the phase 1 (OUT), SYNC, redundant Vss, and S.O. pins of the 6502 also omitted).[56]
  • The MOS Technology 6504 had reduced memory addressing capability (8 KB), no NMI, and no RDY input, in a 28-pin DIP package (with the phase 1 (OUT), SYNC, redundant Vss, and S.O. pins of the 6502 also omitted).[56]
  • The MOS Technology 6505 had reduced memory addressing capability (4 KB) and no NMI, in a 28-pin DIP package (with the phase 1 (OUT), SYNC, redundant Vss, and S.O. pins of the 6502 also omitted).[56]
  • The MOS Technology 6506 had reduced memory addressing capability (4 KB), no NMI, and no RDY input, but all 3 clock pins of the 6502 (i.e. a 2-phase output clock), in a 28-pin DIP package (with the SYNC, redundant Vss, and S.O. pins of the 6502 also omitted).[56]
  • The MOS Technology 6507 had reduced memory addressing capability (8 KB) and no interrupts, in a 28-pin DIP package (with the phase 1 (OUT), SYNC, redundant Vss, and S.O. pins of the 6502 also omitted).[56]
  • The MOS Technology 6508 has a built-in 8-bit input/output port and 256 bytes of internal static RAM.
  • The MOS Technology 6509 could address up to 1 MB of RAM as 16 banks of 64 kB and was used in the Commodore CBM-II series.
  • The MOS Technology 6510 has a built-in 6-bit programmable input/output port and was used in the Commodore 64.
  • The MOS Technology 6512 was a 6502 with a 2-phase clock input for an external clock oscillator, instead of an on-board clock oscillator.[56]
  • The MOS Technology 6513 was a 6503 with a 2-phase clock input like the 6512.[56]
  • The MOS Technology 6514 was a 6504 with a 2-phase clock input like the 6512.[56]
  • The MOS Technology 6515 was a 6505 with a 2-phase clock input like the 6512.[56]
  • The Ricoh 2A03 was a 6502 variant including an audio processing unit and lacking the BCD mode, used in the Nintendo Entertainment System.
  • The 6502A was a 1.5 MHz chip featured in Asteroids Deluxe.
  • The 6502B clocked at 1.79 MHz was used in early Atari 8-bit computers.
  • The 6502C (Sally) was a customized 6502 chip used in later Atari 8-bit computers. It has a HALT signal on pin 35 and a second R/W on pin 36 (these pin are N/C on a standard 6502).
  • The 65C02 is a CMOS version of the NMOS 6502 that was designed by Bill Mensch of the Western Design Center, featuring reduced power consumption, support for much higher clock speeds, new instructions, new addressing modes for some existing instructions, and correction of NMOS errata, such as the JMP ($xxFF) bug.
  • CSG 65CE02 was a CMOS derivative developed by the Commodore Semiconductor Group (CSG), formerly MOS Technology.
  • The Rockwell R65F11 (introduced in 1983) and the later R65F12 are enhanced versions of the 6502-based processor, also including on-chip zero-page RAM, on-chip Forth kernel ROM, a UART, etc.[57][58][59][60]
  • The GTE G65SC102 is software compatible with the 65C02, but has a slightly different pinout and oscillator circuit. The BBC Master Turbo included the 4 MHz version of this CPU on a coprocessor card, which could also be bought separately and added to the Master 128.
  • The Rockwell R65C00, R65C21, and R65C29 featured two enhanced CMOS 6502s in a single chip, and the R65C00 and R65C21 additionally contained 2 kB of mask-programmable ROM.[61][62]

6512, 6513, 6514, & 6515[edit]

The MOS Technology 6512, 6513, 6514, and 6515 each rely on an external clock, instead of using an internal clock generator like the 650x (e.g. 6502). This was used to advantage in some designs where the clocks could be run asymmetrically, increasing overall CPU performance.

The 6512 was used in the BBC Micro B+64.

16-bit derivatives[edit]

The Western Design Center designed and currently produces the W65C816S processor, a 16-bit, static-core successor to the 65C02, with greatly enhanced features. The W65C816S is a newer variant of the 65C816, which was the core of the Apple IIGS computer and was the basis of the Ricoh 5A22 processor that powered the popular Super Nintendo Entertainment System. The W65C816S incorporates minor improvements over the 65C816 that make the newer chip not an exact hardware-compatible replacement for the earlier one. Currently available through electronics distributors as of November 2017, the W65C816S costs about US $8 (down to under US $6 in bulk) and is rated for 14 MHz operation.

The Western Design Center also designed and produced the 65C802, which was a 65C816 core with a 64 KB address space in a 65(C)02 pin-compatible package. The 65C802 could be retrofitted to a 6502 board and would function as a 65C02 on power-up, operating in "emulation mode." As with the 65C816, a two-instruction sequence would switch the 65C802 to "native mode" operation, exposing its 16 bit accumulator and index registers, as well as other 65C816 enhanced features. The 65C802 was not widely used: new designs almost always were built around the 65C816, resulting in 65C802 production being discontinued.

32-bit derivatives[edit]

The 65GZ032 designed by Gideon Zweijtzer is a VHDL source core that is 6502 compatible and extends the 8-bit CPU to a 32-bit design. It features pipelined RISC, new opcodes, access to 4 GByte of linear memory, paged memory and a clock speed of 33 MHz.[63]

Example code[edit]

The following 6502 assembly language source code is for a subroutine named TOLOWERwhich copies a null-terminated character string from one location to another, converting upper case letter characters to lower case letters. The string being copied is the "source" and the string into which the converted source is stored is the "destination."

            0080  0080  00 04 0082  00 05  0600  0600  A0 00  0602  B1 80 0604  F0 11  0606  C9 41 0608  90 06  060A  C9 5B 060C  B0 02  060E  09 20  0610  91 82 0612  C8    0613  D0 ED     0615  38    0616  60  0617  91 82 0618  18    0619  60  061A        
; TOLOWER: ; ; Convert a null-terminated character string to all lower case. ; Maximum string length is 255 characters, plus the null term- ; inator. ; ; Parameters: ; ; SRC - Source string address ; DST - Destination string address ;         ORG $0080 ; SRC     .WORD $0400     ;source string pointer ($40) DST     .WORD $0500     ;destination string pointer ($42) ;         ORG $0600       ;execution start address ; TOLOWER LDY #$00        ;starting index ; LOOP    LDA (SRC),Y     ;get from source string         BEQ DONE        ;end of string ;         CMP #'A'        ;if lower than UC alphabet...         BCC SKIP        ;copy unchanged ;         CMP #'Z'+1      ;if greater than UC alphabet...         BCS SKIP        ;copy unchanged ;         ORA #%00100000  ;convert to lower case ; SKIP[19659498]STA (DST),Y     ;store to destination string         INY             ;bump index         BNE LOOP        ;next character ; ; NOTE: If .Y wraps the destination string will be left in an undefined ; tiểu bang. We set carry to indicate this to the calling function. ;         SEC             ;report string too long error &...         RTS             ;return to caller ; DONE    STA (DST),Y     ;terminate destination string         CLC             ;report conversion completed &...         RTS             ;return to caller ;         .END 

Bugs and quirks[edit]

  • The earliest revisions of the 6502, such as those shipped with some KIM-1 computers, had a severe bug in the ROR (rotate right memory or accumulator) instruction. The operation of ROR in these chips is effectively an ASL instruction that does not affect the carry bit in the status register. MOS left the instruction out of chip documentation entirely because of the defect, promising that ROR would appear on 6502 chips starting in 1976.[64] The vast majority of 6502 chips in existence today do not exhibit this bug.
  • The NMOS 6502 family has a variety of undocumented instructions, which vary from one chip manufacturer to the next. The 6502's instruction decoding is implemented in a hardwired logic array (similar to a programmable logic array) that is only defined for 151 of the 256 available opcodes. The remaining 105 trigger strange and occasionally hard-to-predict actions, such as crashing the processor, performing two valid instructions consecutively, performing strange mixtures of two instructions, or simply doing nothing at all. Eastern House Software developed the "Trap65", a device that plugged between the processor and its socket to convert (trap) unimplemented opcodes into BRK (software interrupt) instructions.[citation needed] Some programmers utilized this feature to extend the 6502's instruction set by providing functionality for the unimplemented opcodes with specially written software intercepted at the BRK instruction's 0xFFFE vector.[65][66] All of the undefined opcodes have been replaced with NOP instructions in the 65C02, an enhanced CMOS version of the 6502, although with varying byte sizes and execution times. In the 65C802/65C816, all 256 opcodes perform defined operations.
  • The 6502's memory indirect jump instruction, JMP (
    )is partially broken. If

    is hex xxFF (i.e., any word ending in FF), the processor will not jump to the address stored in xxFF and xxFF+1 as expected, but rather the one defined by xxFF and xx00 (for example, JMP ($10FF) would jump to the address stored in 10FF and 1000, instead of the one stored in 10FF and 1100). This defect continued through the entire NMOS line, but was corrected in the CMOS derivatives.
  • The NMOS 6502's indexed addressing across page boundaries will do an extra read of an invalid address. This characteristic may cause random issues by accessing hardware that acts on a read, such as clearing timer or IRQ flags, sending an I/O handshake, etc. This defect continued through the entire NMOS line, but was corrected in the CMOS derivatives, in which the processor does an extra read of the last instruction byte.
  • The 6502's read-modify-write instructions perform one read and two write cycles. First the unmodified data that was read is written back, and then the modified data is written. This characteristic may cause issues by twice accessing hardware that acts on a write. This anomaly continued through the entire NMOS line, but was fixed in the CMOS derivatives, in which the processor will do two reads and one write cycle. Good programming practice will generally avoid this problem by not executing read/modify/write instructions on hardware registers.
  • The N (result negative), V (sign bit overflow) and Z (result zero) status flags are generally meaningless when performing arithmetic operations while the processor is in BCD mode, as these flags reflect the binary, not BCD, result. This limitation was removed in the CMOS derivatives. Therefore, this feature may be used to distinguish a CMOS processor from an NMOS version.[67]
  • If the processor happens to be in BCD mode when a hardware interrupt occurs it will not revert to binary mode. This characteristic could result in obscure bugs in the interrupt service routine if it fails to clear BCD mode before performing any arithmetic operations. For example, the Commodore 64's KERNAL did not correctly handle this processor characteristic, requiring that IRQs be disabled or re-vectored during BCD math operations. This issue was addressed in the CMOS derivatives as well.
  • The 6502 instruction set includes BRK (opcode $00), which is technically a software interrupt (similar in spirit to the SWI mnemonic of the 6800 and ARM processors). BRK is most often used to interrupt program execution and start a machine language monitor for testing and debugging during software development. BRK could also be used to route program execution using a simple jump table (analogous to the manner in which the 8086 and derivatives handle software interrupts by number). Unfortunately, if a hardware interrupt occurs at the same time the processor is fetching a BRK instruction, the NMOS version of the processor will fail to execute BRK and instead proceed as if only a hardware interrupt had occurred. This fault was corrected in the CMOS implementation of the processor.
  • When executing JSR (jump to subroutine) and RTS (return from subroutine) instructions, the return address pushed to the stack by JSR is that of the last byte of the JSR operand (that is, the most significant byte of the subroutine address), rather than the address of the following instruction. This is because the actual copy (from program counter to stack and then vice versa) takes place before the automatic increment of the program counter that occurs at the end of every instruction.[68] This characteristic would go unnoticed unless the code examined the return address in order to retrieve parameters in the code stream (a 6502 programming idiom documented in the ProDOS 8 Technical Reference Manual). It remains a characteristic of 6502 derivatives to this day.

See also[edit]

Works cited[edit]

  • Bagnall, Brian (2010). Commodore, a company on the edge (2nd ed.). Winnipeg, Manitoba: Variant Press. ISBN 978-0-9738649-6-0.
  • "Motorola 6800 Oral History Panel" Thomas H. Bennett, John Ekiss, William (Bill) Lattin, Jeff Lavell. Computer History Museum, March 28, 2008, moderator: David Laws.
  • Interview with William Mensch Stanford and the Silicon Valley Project, October 9, 1995. Transcript

References[edit]

  1. ^ "The MOS 6502 and the Best Layout Guy in the World". swtch.com. 2011-01-03. Retrieved 2014-08-09.
  2. ^ "MOnSter6502". monster6502.com. 2017. Retrieved 2017-05-01.
  3. ^ William Mensch, Rob Walker (October 9, 1995). Interview with William Mensch (Web video). Atherton, California: Silicon Genesis, Stanford University Libraries. William Mensch and the moderator both pronounce the 6502 microprocessor as "sixty-five-oh-two".
  4. ^ "Motorola Sues MOS Technology" (PDF). Microcomputer Digest. Cupertino CA: Microcomputer Associates. 2 (6): 11. December 1975.
  5. ^ "Motorola joins microprocessor race with 8-bit entry". Electronics. New York: McGraw-Hill. 47 (5): 29–30. March 7, 1974.
  6. ^ Motorola 6800 Oral History (2008), p. 9
  7. ^ Buchanan, John K., "MOS DC Voltage booster circuit", US Patent 3942047, issued March 2, 1976.
  8. ^ Buchanan, John K., "Chip topography for MOS integrated circuitry microprocessor chip", US Patent 3987418, issued October 19, 1976.
  9. ^ Motorola 6800 Oral History (2008), p. 8
  10. ^ Mensch Oral History (1995) Mensch earned an Associate degree from Temple University in 1966 and then worked at Philco Ford as an electronics technician before attending the University of Arizona.
  11. ^ Mensch, William D., "Chip topography for MOS interface circuit", US Patent 3968478, issued July 6, 1976.
  12. ^ Jenkins, Francis; Lane, E.; Lattin, W.; Richardson, W. (November 1973). "MOS-device modeling for computer implementation". Circuit Theory, IEEE Transactions on. IEEE. 20 (6): 649–658. doi:10.1109/tct.1973.1083758. ISSN 0018-9324. All of the authors were with Motorola's Semiconductor Products Division.
  13. ^ Donohue, James F. (October 27, 1988). "The microprocessor first two decades: The way it was". EDN. Cahners Publishing. 33 (22A): 18–32. ISSN 0012-7515. Page 30. Bennett already was at work on what became the 6800. "He hired me," Peddle says of Bennett, "to do the architectural support work for the product he'd already started." … Peddle says. "Motorola tried to kill it several times. Without Bennett, the 6800 would not have happened, and a lot of the industry would not have happened, either."
  14. ^ Hepworth, Edward C., Rodney J. Means, Charles I. Peddle, "Asynchronous Communication Interface Adaptor", Patent 3975712, issued August 17, 1976. Note: Motorola typically listed inventors in alphabetical order.
  15. ^ Motorola (August 5, 1976). "They stay out front with Motorola's M6800 Family". Electronics. Đồi McGraw. 49 (16): 51. Advertisement showing three embedded applications from TRW, HP and RUSCO.
  16. ^ Motorola 6800 Oral History (2008), p. 89
  17. ^ "It's the total product family". Electronics. New York: Đồi McGraw. 48 (1): 37. January 9, 1975. Motorola advertisement emphasizing their complete set of peripheral chips and development tools. This shorten the customers product design cycle.
  18. ^ Motorola 6800 Oral History (2008) p. 18
  19. ^ "Motorola microprocessor set is 1 MHz n-MOS". Control Engineering. 21 (11): 11. November 1974. MC6800 microprocessor price was $360. The MC6850 asynchronous communications interface adaptor (ACIA) was slated for first quarter 1975 introduction.
  20. ^ Intel Corporation (1984). Kaye, Glynnis Thompson, ed. A Revolution in Progress – A History to Date of Intel (PDF). Intel Corporation. tr. 14. Order number:231295. Archived (PDF) from the original on 23 October 2012. Retrieved 30 December 2016. "Shima implemented the 8080 in about a year and the new device was introduced in April 1974 for $360."
  21. ^ "Motorola mounts M6800 drive". Electronics. New York: McGraw-Hill. 48 (8): 25. April 17, 1975. "Distributors are being stocked with the M6800 family, and the division is also offering an introductory kit that includes the family's six initial parts, plus applications and programming manuals, for $300."
  22. ^ Bagnall (2010), p. 11. Peddle's new offer came at an opportune time for the 6800 developers. "They didn't want to go to Austin, Texas," explains Mensch.
  23. ^ Waller, Larry (November 13, 1975). "Motorola seeks to end skid". Electronics. New York: McGraw-Hill. 48 (23): 96–98. Summary: Semiconductor Products split into two parts, integrated circuits and discrete components. Semiconductor losses for the last four quarters exceeded $30 million. The sales organization lost its sensitivity to customer needs, "delays in responding to price cuts meant that customers bought elsewhere." Technical problems plagued IC production. The troubles are "not in design, but in chip and die yields." Problems have been solved. The MC6800 microprocessor "arrived in November 1974."
  24. ^ Motorola 6800 Oral History (2008), p. 13
  25. ^ "Electronics Newsletter: 6800 gains speed, lower prices by summer". Electronics. New York: McGraw-Hill. 49 (5): 25. March 4, 1976.
  26. ^ Daniels, R. Gary (December 1996). "A Participant's Perspective". IEEE Micro. IEEE Computer Society. 16 (5): 21–31. doi:10.1109/40.546562. Daniels, "My first assignment was to lead a small team to redesign the 6800 MPU to make it more manufacturable and so that higher speed versions could be selected."
  27. ^ Bagnall (2010), p. 13.
  28. ^ MOS Technology (November 14, 1974). "The First Single Chip Scientific Calculator Arrays". Electronics. Đồi McGraw. 47 (23): 90–91.
  29. ^ Bagnall (2010), p. 19 "Paivinen promised Peddle he would have the n-channel process ready. He was true to his word."
  30. ^ Stanford University, Silicon Genesis project: videotaped oral history interview of Willam Mensch
  31. ^ a b c Cushman, Robert H. (September 20, 1975). "2-1/2 Generation μP's -$10 Parts That Perform Like Low-End Mini's" (PDF). EDN. Boston: Cahners Publishing. 20 (17): 36–42."
  32. ^ Motorola 6800 Oral History (2008), p. 10
  33. ^ The August 1975 datasheet had 55 instructions with no ROR, the May 1976 datasheet had the ROR and 56 instructions. File:MCS650x Instruction Set.jpg
  34. ^ "Microprocessor line offers 4, 8,16 bits". Electronics. New York: McGraw-Hill. 48 (15): 118. July 24, 1975. The article covers the 6501 and 6502 plus the 28 pin versions that would only address 4K of memory. It also covered future devices such as "a design that Peddle calls a pseudo 16".
  35. ^ Sugarman, Robert (25 August 1975). "Does the Country Need A Good $20 Microprocessor?" (PDF). EE Times. Manhasset, New York: CMP Publications: 25.
  36. ^ Fylstra, Daniel (November 1975). "Son of Motorola (or the $20 CPU Chip)". Byte. Peterborough, NH: Green Publishing. [1 9459025]1 (3): 56–62. Comparison of the 6502 and the 6800 microprocessors. Author visited MOS Technology in August 1975.
  37. ^ "3rd Generation Microprocessor" (PDF). Microcomputer Digest. Cupertino, CA: Microcomputer Associates. 2 (2): 1–3. August 1975.
  38. ^ "MOS 6501 Microprocessor beats 'em all". Electronics. New York: McGraw-Hill. 48 (16): 60–61. August 7, 1975.
  39. ^ "MOS 6502 the second of a low cost high performance microprocessor family". Computer. IEEE Computer Society. 8 (9): 38–39. September 1975. doi:10.1109/C-M.1975.219074.
  40. ^ Bagnall (2010), pp. 33-35
  41. ^ Signetics (October 30, 1975). "Easiest-to-use microprocessor". Electronics. Đồi McGraw. 48 (22): 114–115 – via Wikimedia Commons.
  42. ^ Motorola (October 30, 1975). "All this and unbundled $69 microprocessor". Electronics. Đồi McGraw. 48 (22): 11. The quantity one price for the MC6800 was reduced from $175 to $69. The previous price for 50 to 99 units was $125.
  43. ^ Waller, Larry (November 13, 1975). "News briefs: Motorola seeks to stop microprocessor foe". Electronics. New York: McGraw-Hill. 48 (23): 38."Motorola said last week it would seek an immediate injunction to stop MOS Technology Inc., Norristown, Pa., from making and selling microprocessor products, including its MCS6500." (This issue was published on November 7.)
  44. ^ Motorola was awarded the following US Patents on the 6800 microprocessor family: 3962682, 3968478, 3975712, 3979730, 3979732, 3987418, 4003028, 4004281, 4004283, 4006457, 4010448, 4016546, 4020472, 4030079, 4032896, 4037204, 4040035, 4069510, 4071887, 4086627, 4087855, 4090236, 4145751, 4218740, 4263650.
  45. ^ Bagnall (2010), p. 53–54. "He [Mike James] had all his original work from the 6800 and hid it from Motorola…
  46. ^ "Motorola, MOS Technology settle patent suit". Electronics. New York: McGraw-Hill. 49 (7): 39. April 1, 1975. "MOS Technology Inc. of Norristown, Pa. has agreed to withdraw its MCS6501 microprocessor from the market and to pay Motorola Inc. $200000 …" "MOS Technology and eight former Motorola employees have given back, under court order documents that Motorola contends are confidential." "…both companies have agreed to a cross license relating to patents in the microprocessor field."
  47. ^ Bagnall (2010), pp. 55-56
  48. ^ "Mergers and Acquisitions". Mini-Micro Systems. Cahners. 9 (11): 19. November 1976." Commodore International … is buying MOS Technology (Norristown, PA). This saves the six-year-old semiconductor house from impending disaster."
  49. ^ a b Goodwins, Rupert (December 4, 2010). "Intel's victims: Eight would-be giant killers". ZDNet. Retrieved March 7, 2012.
  50. ^ Reimer, Jeremy. "Personal Computer Market Share: 1975-2004". Archived from the original on 6 June 2012. Retrieved 2009-07-17.
  51. ^ "How many Commodore 64 computers were sold?". Archived from the original on 2016-03-06. Retrieved 2011-02-01.
  52. ^ "Code Execution on a Tamagotchi". kwartzlab.ca. 7 May 2013.
  53. ^ Corder, Mike (Spring 1999). "Big Things in Small Packages". Pioneers' Progress with picoJava Technology. Sun Microelectronics. Archived from the original on 2006-03-12. Retrieved April 23, 2012. The first 6502 was fabricated with 8 micron technology, ran at one megahertz and had a maximum memory of 64k.
  54. ^ 6502 Instruction Set.
  55. ^ NMOS 6502 Opcodes.
  56. ^ a b c d e f g h i 1982 MOS Technology Data Catalog (pdf obtained from bitsavers.org)
  57. ^ Randy M. Dumse. "The R65F11 and F68K Single-Chip Forth Computers". [1][permanent dead link][2] 1984.
  58. ^ Ed Schmauch. "A Computerized Corrosion Monitoring System"[permanent dead link]. 1986.
  59. ^ Lawrence P. Forsley. "Embedded systems: 1990 Rochester Forth Conference : June 12 – 16th, 1990 University of Rochester". tr. 51.
  60. ^ Rockwell. "RSC-Forth User's Manual". 1983.
  61. ^ "Archived copy" (PDF). Archived from the original (PDF) on 2016-05-15. Retrieved 2014-10-26.
  62. ^ "rockwell :: dataBooks :: 1985 Rockwell Data Book" – via Internet Archive.
  63. ^ "Advanced 6502". 2013-11-16. Retrieved 2016-04-02. With the 65GZ032 Gideo Zweijtzer has built a VHDL core that is 6502 compatible, but extends the 8 bit core with a 32 bit design.
  64. ^ "Measuring the ROR Bug in the Early MOS 6502". Retrieved 8 May 2011.
  65. ^ Moser, Carl W. (January 1979). "Add a Trap Vector for Unimplemented 6502 Opcodes" (PDF). Dr. Dobb's Journal of Computer Calisthenics and Orthodontia. No. 31. Menlo Park, California. tr. 32. Retrieved 2017-01-07.
  66. ^ Harrod, Dennette A. (October 1980). "The 6502 Gets Microprogrammable Instructions". BYTE. Tập 5 no. 10. Peterborough, New Hampshire. tr. 282. Retrieved 2017-01-07.
  67. ^ Draco (19 June 1997). "65c02, 6502, 65816 ??? CPU sells but who`s buying…" Archived from the original on 2 January 2008.
  68. ^ Andrews, Mark (1984). "6". Atari Roots – A Guide To Atari Assembly Language. ISBN 0-88190-171-7.

Further reading[edit]

  • Leventhal, Lance A. (1986). 6502 Assembly Language Programming 2nd Edition. Osborne/McGraw-Hill. ISBN 0-07-881216-X.
  • Leventhal, Lance A. (1982). 6502 Assembly Language Subroutines. Osborne/McGraw-Hill. ISBN 0-931988-59-4.
  • Mansfield, Richard (1983). Machine Language For Beginners – Personal Computer Machine Language Programming For The Atari, VIC, Apple, Commodore 64, and PET/CBM Computers. Greensboro, North Carolina: Compute! Publications. ISBN 0-942386-11-6.
  • Matthews, Ian (June 4, 2007). "The Rise of MOS Technology & The 6502". Running Technologies Inc.
  • MOS Technology 6500 Series Hardware Manual (PDF) (2nd ed.). Norristown, PA: MOS Technology. January 1976.
  • MOS Technology 6500 Series Programming Manual (PDF) (2nd ed.). Norristown, PA: MOS Technology. January 1976.
  • Zaks, Rodnay (1983). Programming the 6502 (4th ed.). Sybex. ISBN 0-89588-135-7.
  • Zaks, Rodnay (1982). Advanced 6502 Programming. Sybex. ISBN 0-89588-089-X.

External links[edit]

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

wiki.edu.vn
leafdesign.vn
starsaigon.com
hoiquanzen.com
wikieduvi.com
74169251
leonkaden1
leonkaden1
wikilagi-site
myvu-designer
leafdesign-vn
leonkaden1
mai-cafe-40-duongtugiang-dn
1
3
5
7
9
11
13
15
17
19
21