Máy tính tương thích với PC IBM. Thông tin tóm tắt về IBM PC - máy tính tương thích

Bộ cấu hình máy tính có tính năng kiểm tra tính tương thích cho phép bạn nhanh chóng lắp ráp một đơn vị hệ thống với các đặc tính kỹ thuật mà người dùng yêu cầu. Sử dụng công cụ thiết kế trực tuyến của chúng tôi, bạn có thể dễ dàng lắp ráp một chiếc máy văn phòng đáng tin cậy, một thiết bị hệ thống đa phương tiện gia đình hoặc một cấu hình chơi game mạnh mẽ.

Lắp ráp máy tính trực tuyến

Ngày nay, giống như nhiều năm trước, việc lắp ráp một máy tính từ các thành phần được lựa chọn độc lập là điều phổ biến. Đây là một cơ hội tốt để lựa chọn những gì bạn muốn. Không có gì giới hạn bạn; có hàng trăm tùy chọn có sẵn để lắp ráp, trong số đó chắc chắn sẽ có một tùy chọn bạn thích.

Cửa hàng trực tuyến của chúng tôi cung cấp cơ hội lắp ráp máy tính trực tuyến thông qua bộ cấu hình. Trong đó, quá trình này được trình bày dưới dạng các hạng mục linh kiện, từ bộ xử lý đến bộ nguồn. Mỗi danh mục chứa một loạt các mô hình mở rộng với các mô tả về đặc điểm để dễ lựa chọn.

Để đơn giản hóa việc lựa chọn các thành phần, bộ cấu hình có bộ lọc tương thích cho các thành phần chính của cụm. Ví dụ: bằng cách chọn một bộ xử lý cụ thể, các thành phần sau sẽ tự động được lọc theo khả năng tương thích. Ngoài ra, bạn sẽ được lựa chọn cài đặt hệ điều hành. Sau khi hoàn tất quá trình lắp ráp, bạn nhận được kết quả cuối cùng dựa trên ba thông số: giá cả, thông số kỹ thuật, hình ảnh hiển thị. Sau khi đặt hàng và xác nhận qua điện thoại, các chuyên gia của chúng tôi sẽ lắp ráp bộ sản phẩm này và kiểm tra chức năng của nó.

Ưu điểm của phương pháp mua đơn vị hệ thống này là bạn không chỉ chọn các thành phần mình muốn mà còn có cơ hội chọn thương hiệu hoặc nhà sản xuất bộ phận đó.

Sau khi lắp ráp một cấu hình nhất định và hoàn thành bằng cách nhấn nút lắp ráp/mua, lắp ráp được gán một số sê-ri cụ thể, bằng cách nhập vào thanh tìm kiếm sản phẩm, bạn có thể tìm thấy PC này và gửi liên kết tới bạn bè hoặc người quen để được tư vấn hoặc giới thiệu họ mua hàng.

Một tính năng quan trọng của bộ cấu hình của chúng tôi là chức năng "lấy ý kiến ​​của chuyên gia". Bằng cách gửi yêu cầu của bạn thông qua biểu mẫu này, bạn sẽ nhận được phản hồi chi tiết kèm theo đề xuất tới email bạn đã chỉ định.

Hãy thử và tự mình xem - lắp ráp máy tính trực tuyến thật dễ dàng và đơn giản! Trong trường hợp khó khăn, bạn luôn có thể nhận được lời khuyên từ các chuyên gia của chúng tôi về mọi vấn đề mà bạn quan tâm.

Nếu không nó có thể bị nghi vấn và bị xóa.
Bạn có thể chỉnh sửa bài viết này bằng cách thêm liên kết vào .
Dấu hiệu này được đặt Ngày 3 tháng 7 năm 2014.

Máy tính để bàn tương thích với IBM-PC được đặc trưng bởi khả năng mở rộng - nhiều loại thiết bị có thể được kết nối thông qua các bus mở rộng (ISA, PCI, AGP, v.v.). Bộ xử lý và RAM hầu như luôn có thể thay thế được.

Sự tiến hóa

Máy tính IBM ban đầu có địa chỉ bộ nhớ 20 bit. Với sự ra đời của bộ xử lý, việc đánh địa chỉ đã được mở rộng, giúp sử dụng lượng RAM lớn hơn.

Sự hợp tác lâu dài giữa Microsoft và Intel, dẫn đến sự thống trị thị trường của họ, đã tạo ra từ "Wintel", biểu thị một máy tính cá nhân sử dụng bộ xử lý Intel và hệ điều hành Microsoft Windows. Tuy nhiên, đây không phải là ứng dụng duy nhất có thể có của kiến ​​trúc này. Ví dụ: một máy tính tương thích với IBM PC có thể chạy trên bộ xử lý của các nhà sản xuất khác (chủ yếu là AMD) và được sử dụng với các bộ xử lý đó.

Kiến trúc của máy tính IBM PC dựa trên nguyên tắc tổ chức bus kết nối giữa bộ xử lý và các thành phần máy tính khác. Mặc dù kể từ đó, các loại bus được sử dụng và cấu trúc của chúng đã thay đổi nhiều lần, nhưng kiến ​​trúc, nguyên tắc cơ bản của tổ chức bên trong máy tính, vẫn không thay đổi. Cấu trúc máy tính được thể hiện trong sơ đồ dưới đây.

Bộ xử lý trung tâm (CPU) là cốt lõi của hệ thống máy tính. Việc giao tiếp với các thành phần khác được thực hiện thông qua bus bộ xử lý bên ngoài. Bên trong bộ xử lý có các bus để tương tác giữa ALU, thiết bị điều khiển và thanh ghi bộ nhớ. Bus ngoài của bộ xử lý bao gồm các đường mang dữ liệu, địa chỉ (cho biết dữ liệu đến từ đâu và được gửi đến đâu) và các lệnh điều khiển. Do đó, bus chung được chia thành bus dữ liệu, bus địa chỉ và bus điều khiển. Mỗi dòng có thể mang một bit dữ liệu, địa chỉ hoặc lệnh điều khiển. Số lượng đường trên xe buýt được gọi là độ rộng xe buýt. Độ rộng bus xác định số lượng tối đa các bit được truyền đồng thời, từ đó xác định hiệu suất tổng thể của máy tính. Nghĩa là, độ rộng bus càng lớn thì càng có nhiều dữ liệu được truyền đồng thời, hiệu suất càng cao. Tham số thứ hai ảnh hưởng đến hiệu suất là tốc độ truyền dữ liệu bus, được xác định bởi tốc độ xung nhịp của bus.

Tần số bus là một đặc tính khá quan trọng nhưng vẫn không quyết định được hiệu năng của máy tính. Các thông số quan trọng nhất đối với hiệu suất tổng thể của máy tính là tốc độ xung nhịp và độ sâu bit của bộ xử lý trung tâm. Và điều này là tự nhiên vì nhiều lý do. Bộ xử lý thực hiện các tác vụ xử lý dữ liệu chính và thường khởi tạo và quản lý việc trao đổi dữ liệu. Tần số xung nhịp xác định tốc độ hoạt động và độ sâu bit xác định lượng dữ liệu được xử lý trong một hoạt động.

Câu 20: Hệ thống các phần tử cấu tạo của máy tính cá nhân. Các yếu tố hình thành.

Máy tính ter(Máy tính tiếng Anh, - "máy tính") - một thiết bị hoặc hệ thống có khả năng thực hiện một chuỗi hoạt động nhất định, được xác định rõ ràng, có thể thay đổi. Đây thường là các hoạt động tính toán số và thao tác dữ liệu, tuy nhiên, điều này cũng bao gồm các hoạt động đầu vào-đầu ra. Việc mô tả một chuỗi các thao tác được gọi là chương trình.

Máy tính điện tử,máy tính- một bộ phương tiện kỹ thuật, trong đó các yếu tố chức năng chính (logic, lưu trữ, hiển thị, v.v.) được thực hiện trên các yếu tố điện tử nhằm xử lý thông tin tự động trong quá trình giải quyết các vấn đề tính toán và thông tin.

Riêng tư máy tính , máy tính(tiếng Anh máy tính cá nhân, PC), máy tính(máy tính điện tử cá nhân) là một máy vi tính để bàn có các đặc tính hoạt động của một thiết bị gia dụng và chức năng phổ quát.

Yếu tố hình thức( từ tiếng Anh yếu tố hình thức) là tiêu chuẩn quy định kích thước tổng thể của sản phẩm kỹ thuật, cũng như mô tả các bộ thông số kỹ thuật bổ sung của sản phẩm đó, ví dụ: hình dạng, loại thành phần bổ sung được đặt trong/trên thiết bị, vị trí và hướng của chúng.

Yếu tố hình thức (giống như bất kỳ tiêu chuẩn nào khác) mang tính chất tư vấn.

Đặc tả hệ số dạng xác định các thành phần bắt buộc và tùy chọn. Tuy nhiên, đại đa số các nhà sản xuất thích tuân thủ thông số kỹ thuật hơn, vì cái giá phải trả cho việc tuân thủ các tiêu chuẩn hiện có là khả năng tương thích của bo mạch chủ và thiết bị tiêu chuẩn hóa (thiết bị ngoại vi, thẻ mở rộng) từ các nhà sản xuất khác trong tương lai.

Máy tính điện tử ngụ ý việc sử dụng các linh kiện điện tử làm đơn vị chức năng của nó, tuy nhiên, máy tính có thể được thiết kế theo các nguyên tắc khác - nó có thể là cơ học, sinh học, quang học, lượng tử, v.v. (chi tiết hơn: Các loại máy tính Theo loại môi trường làm việc ), hoạt động do sự chuyển động của các bộ phận cơ khí, sự chuyển động của các electron, photon hoặc tác động của các hiện tượng vật lý khác. Ngoài ra, tùy theo loại hoạt động, máy tính có thể là kỹ thuật số (DVM) và analog (ABM).

Mặt khác, thuật ngữ “máy tính” hàm ý khả năng thay đổi chương trình đang được thực thi (lập trình lại). Nhiều máy tính điện tử có thể thực hiện một chuỗi hoạt động được xác định nghiêm ngặt, chứa các thiết bị đầu vào và đầu ra hoặc bao gồm các thành phần cấu trúc tương tự như các thành phần được sử dụng trong máy tính điện tử (ví dụ: thanh ghi), nhưng không thể lập trình lại được.*

Đặc điểm thiết kế

Máy tính hiện đại sử dụng toàn bộ các giải pháp thiết kế được phát triển trong suốt thời kỳ phát triển của công nghệ máy tính. Theo quy luật, những giải pháp này không phụ thuộc vào việc triển khai vật lý của máy tính mà bản thân chúng là cơ sở để các nhà phát triển dựa vào. Dưới đây là những vấn đề quan trọng nhất mà người sáng tạo máy tính phải đối mặt:

Kỹ thuật số hoặc analog

Một quyết định cơ bản khi thiết kế một máy tính là lựa chọn xem nó sẽ là hệ thống kỹ thuật số hay hệ thống tương tự. Nếu máy tính kỹ thuật số hoạt động với các biến số hoặc ký hiệu rời rạc, thì máy tính tương tự được thiết kế để xử lý các luồng dữ liệu đến liên tục. Ngày nay, máy tính kỹ thuật số có phạm vi ứng dụng rộng hơn nhiều, mặc dù các máy tính tương tự của chúng vẫn được sử dụng cho một số mục đích đặc biệt. Cũng cần đề cập rằng ở đây có thể áp dụng các phương pháp tiếp cận khác, chẳng hạn như được sử dụng trong điện toán xung và lượng tử, nhưng hiện tại chúng là các giải pháp mang tính chuyên môn cao hoặc mang tính thử nghiệm.

Ví dụ về máy tính analog, từ đơn giản đến phức tạp, là: biểu đồ, thước trượt, thước đo thiên văn, máy hiện sóng, tivi, bộ xử lý âm thanh analog, máy lái tự động, não.

Trong số các máy tính rời rạc đơn giản nhất, người ta biết đến bàn tính hoặc bàn tính thông thường; Hệ thống phức tạp nhất trong số các loại hệ thống này là siêu máy tính.

Hệ thống số

Một ví dụ về máy tính dựa trên hệ thống số thập phân là máy tính đầu tiên của Mỹ, Mark I.

Bước quan trọng nhất trong sự phát triển của công nghệ máy tính là chuyển sang biểu diễn bên trong các số ở dạng nhị phân. Điều này đã đơn giản hóa rất nhiều việc thiết kế các thiết bị máy tính và thiết bị ngoại vi. Lấy hệ thống số nhị phân làm cơ sở giúp việc thực hiện các hàm số học và các phép toán logic trở nên đơn giản hơn.

Tuy nhiên, quá trình chuyển đổi sang logic nhị phân không phải là một quá trình tức thời và vô điều kiện. Nhiều nhà thiết kế đã cố gắng phát triển máy tính dựa trên hệ thống số thập phân quen thuộc hơn với con người. Các giải pháp thiết kế khác cũng được sử dụng. Do đó, một trong những cỗ máy đầu tiên của Liên Xô đã hoạt động trên cơ sở hệ thống số ba ngôi, việc sử dụng hệ thống này về nhiều mặt mang lại lợi nhuận và thuận tiện hơn so với hệ thống nhị phân (dự án máy tính ba ngôi Setun được phát triển và thực hiện bởi kỹ sư tài năng của Liên Xô. N.P. Brusentsov).

Dưới sự lãnh đạo của Viện sĩ Ya. A. Khetagurov, một “bộ vi xử lý an toàn và có độ tin cậy cao của hệ thống mã hóa phi nhị phân cho các thiết bị thời gian thực” đã được phát triển, sử dụng hệ thống mã hóa 1 trong 4 với số 0 hoạt động.

Tuy nhiên, nhìn chung, việc lựa chọn hệ thống biểu diễn dữ liệu nội bộ không làm thay đổi các nguyên tắc hoạt động cơ bản của máy tính - bất kỳ máy tính nào cũng có thể mô phỏng bất kỳ máy tính nào khác.

Lưu trữ chương trình và dữ liệu

Trong khi thực hiện tính toán, thường cần phải lưu lại dữ liệu trung gian để sử dụng sau này. Hiệu suất của nhiều máy tính phần lớn được quyết định bởi tốc độ chúng có thể đọc và ghi các giá trị vào (từ) bộ nhớ trong tổng dung lượng của nó. Ban đầu, bộ nhớ máy tính chỉ được sử dụng để lưu trữ các giá trị trung gian, nhưng người ta sớm đề xuất rằng mã chương trình nên được lưu trữ trong cùng bộ nhớ (kiến trúc von Neumann, hay còn gọi là kiến ​​trúc “Princeton”) làm dữ liệu. Giải pháp này được sử dụng trong hầu hết các hệ thống máy tính hiện nay. Tuy nhiên, đối với bộ điều khiển điều khiển (máy vi tính) và bộ xử lý tín hiệu, sơ đồ trong đó dữ liệu và chương trình được lưu trữ trong các phần bộ nhớ khác nhau (kiến trúc Harvard) hóa ra lại thuận tiện hơn.

Phần chính của PC, bao gồm:

    các thiết bị điện tử điều khiển hoạt động của PC (bao gồm “bộ xử lý trung tâm”, “bộ đồng xử lý”, “RAM”, “bộ điều khiển” (“bộ điều hợp”), “bus”);

    nguồn điện chuyển đổi điện áp nguồn xoay chiều thành điện áp một chiều có giá trị thấp cần thiết và cung cấp điện áp đó cho các mạch điện tử và các bộ phận PC khác;

    Các thiết bị bộ nhớ ngoài được thiết kế để ghi và đọc các chương trình và dữ liệu, bao gồm một ổ đĩa từ cứng (HDD) và một hoặc hai ổ đĩa mềm (FMD).

Thiết kế của bộ phận hệ thống PC bao gồm một vỏ, một số bảng điện tử (chủ yếu là “hệ thống” hoặc “bo mạch chủ”), các đầu nối (khe cắm) được tiêu chuẩn hóa, cáp kết nối đa lõi linh hoạt, công tắc nguồn và một số ít công tắc ( nút) để điều khiển các chế độ vận hành của PC.

Vỏ thiết bị hệ thống PC có sẵn trong các biến thể sau:

    Ngang (máy tính để bàn), bao gồm. ở phiên bản thu gọn (Mini-footprint, Slimline) và phiên bản cỡ nhỏ (Ultra-slimline);

    Dọc (“tháp”), bao gồm. ở dạng phóng to, thích hợp để lắp đặt trên sàn - “Tháp lớn”, cỡ nhỏ - “Tháp nhỏ” và phiên bản trung bình - “Tháp trung bình”;

    “Tất cả trong một” - Máy tính để bàn với bộ hệ thống và màn hình được kết hợp trong một hộp;

Di động hoặc di động, bao gồm một số tùy chọn khác nhau, bao gồm “bàn chân đầu gối” và “sổ ghi chép” (xem - Máy tính xách tay hoặc Sổ bỏ túi). Trong những trường hợp này, hộp đựng thiết bị hệ thống cũng bao gồm màn hình, bàn phím, bi xoay và trong một số kiểu máy, ổ đĩa CD-ROM

    chia cho 0 khi thực hiện

    lỗi bộ nhớ khi ghi kết quả

Ngày nay, hầu như không có bộ xử lý nào thực hiện tuần tự các lệnh; chúng được thay thế bằng các bộ xử lý thực hiện song song các lệnh, mà tất cả những thứ khác đều như nhau, mang lại hiệu suất cao hơn. Bộ xử lý đơn giản nhất có khả năng thực thi song song các lệnh là bộ xử lý có đường dẫn lệnh. Bộ xử lý đường dẫn lệnh có thể được bắt nguồn từ bộ xử lý tuần tự bằng cách làm cho mỗi giai đoạn của chu trình lệnh độc lập với các giai đoạn trước và tiếp theo.

Để thực hiện việc này, kết quả của từng giai đoạn, ngoại trừ giai đoạn cuối, được lưu trữ trong các phần tử bộ nhớ phụ (thanh ghi) nằm giữa các giai đoạn:

Kết quả của việc tìm nạp - lệnh được mã hóa - được lưu trữ trong một thanh ghi nằm giữa giai đoạn tìm nạp và giải mã

Kết quả giải mã - loại hoạt động, giá trị của toán hạng, địa chỉ của kết quả - được lưu trữ trong các thanh ghi giữa các giai đoạn giải mã và thực thi

Kết quả thực thi - giá trị mới của bộ đếm chương trình cho bước nhảy có điều kiện, kết quả của phép toán số học được tính trong ALU, v.v. - được lưu trữ trong các thanh ghi giữa các giai đoạn thực hiện và ghi kết quả

Ở giai đoạn cuối, kết quả đã được ghi vào các thanh ghi và/hoặc bộ nhớ, do đó không cần các thanh ghi phụ.

ngắt vectơ

Với cách tổ chức hệ thống ngắt như vậy, máy tính đã yêu cầu dịch vụ sẽ tự nhận dạng bằng cách sử dụng vectơ ngắt - địa chỉ của ô nhớ chính của máy vi tính, lưu trữ lệnh đầu tiên của chương trình con dịch vụ ngắt cho máy tính này hoặc địa chỉ của sự khởi đầu của một chương trình con như vậy. Do đó, bộ xử lý sau khi nhận được vectơ ngắt sẽ ngay lập tức chuyển sang thực hiện quy trình xử lý ngắt được yêu cầu. Trong máy vi tính có hệ thống ngắt vectơ, mỗi máy tính phải có quy trình xử lý ngắt riêng.

Khả năng tương thích máy tính

Tên tham số Nghĩa
Chủ đề bài viết: Khả năng tương thích máy tính
Phiếu tự đánh giá (thể loại chuyên đề) Công nghệ

Phân loại máy tính.

Thế hệ E (giữa tuổi 40 - giữa tuổi 50).

Thế hệ máy tính

Việc phân chia công nghệ máy tính thành các thế hệ là sự phân loại rất có điều kiện, lỏng lẻo các hệ thống máy tính theo mức độ phát triển của phần cứng và phần mềm cũng như phương thức giao tiếp với máy tính.

Ý tưởng chia máy móc thành các thế hệ được hiện thực hóa bởi thực tế là trong suốt lịch sử phát triển ngắn ngủi của mình, công nghệ máy tính đã trải qua một quá trình phát triển vượt bậc cả về cơ sở nguyên tố ( đèn, bóng bán dẫn, vi mạch v.v.), và theo nghĩa là thay đổi cấu trúc của nó, xuất hiện các cơ hội mới, mở rộng phạm vi ứng dụng và tính chất sử dụng.

Quá trình phát triển của máy tính đã trải qua nhiều giai đoạn gắn liền với các thế hệ máy tính. Mỗi thế hệ máy tính khác nhau về cơ sở phần tử, kiến ​​trúc, phạm vi ứng dụng, giao diện và công cụ phần mềm để giải quyết vấn đề.

Đế phần tử - ống điện tử, điện trở, tụ điện; kiến trúc đơn giản; ứng dụng - tính toán khoa học; phương pháp giao tiếp - điều khiển trực tiếp bằng tay các thiết bị máy tính, lập trình bằng ngôn ngữ máy.

1945-1950. Nhà khoa học xuất sắc J. von Neumann (Mỹ) đã phát triển các ý tưởng và thiết kế của máy tính EDVAC. Những nguyên tắc cơ bản của khái niệm von Neumann vẫn còn được sử dụng cho đến ngày nay.

1946 ᴦ. Các kỹ sư người Mỹ D. Eckert và D. Mauchly tại Đại học Pennsylvania đã chế tạo ra chiếc máy tính điều hành đầu tiên ENtAC.

1947-1950. Một nhóm kỹ sư do học giả dẫn đầu S. A. Lebedeva phát triển và đưa vào vận hành máy tính điện tử nhỏ (MESM) đầu tiên ở Liên Xô.

1948 ᴦ. Một nhóm các nhà vật lý người Mỹ đã thiết kế một bóng bán dẫn - thành phần chính của máy tính thế hệ thứ 2.

1949 ᴦ. Ở Anh, dưới sự lãnh đạo của M. Wilkes, chiếc máy tính đầu tiên có chương trình lưu trữ, EDSAK, đã được tạo ra.

Đầu những năm 50. Ở một số quốc gia, việc sản xuất hàng loạt máy tính thế hệ 1 đã bắt đầu, cơ sở cơ bản chính là ống chân không. RAM được xây dựng trên các đường trễ thủy ngân, CRT và sau đó là các vòng ferit.

Ở Liên Xô, sau MESM, những thứ sau đây đã được sản xuất: ở Moscow, một máy tính điện tử lớn BESM-1, BESM-2 (S.A. Lebedev) và máy tính nhanh nhất ở châu Âu vào thời điểm đó, M-10 (L. Lebedev và Yu . A. Bazilevsky), ở Penza - Ural (V.I. Rameev), ở Minsk - Minsk-1, Minsk-14 (V.V. Przhislovsky), ở Kyiv - Kiev (V.M. Glushkov), ở Yerevan - Rozdan (F.T. Sargsyan).

Sự ra đời của những chiếc máy tính đầu tiên không thể diễn ra nếu không có sự phát triển nhanh chóng của các phương pháp số để giải các bài toán và các nguyên tắc cơ bản của lập trình. Công việc này ở Liên Xô được dẫn dắt bởi các học giả A.A. Markov, A.N. Kolmogorov, I.V. Kurchatov, M.A. Lavrentieva, A.A. Dorodnitsyn, M.V. Keldysh.

1942-1953. Các nhà khoa học Liên Xô A.A. Lyapunov và M.R. Shura-Pura đã đề xuất một phương pháp lập trình toán tử.

1943-1955. Một nhóm các nhà toán học do D. Backus (Mỹ) đứng đầu đã phát triển ngôn ngữ thuật toán Fortran.

Thế hệ thứ 2 (giữa thập niên 50 đến giữa thập niên 60): bóng bán dẫn và điốt, điện trở, tụ điện; kiến trúc phức tạp hơn; giải quyết các vấn đề khoa học, kỹ thuật và kinh tế quốc dân; sử dụng hệ điều hành; tạo ra hệ thống máy tính; sử dụng tập thể; phát triển các ngôn ngữ thuật toán.

1954-1957. Máy tính đầu tiên dựa trên bóng bán dẫn NCR 304 sẽ được tạo ra ở Mỹ.

Cuối thập niên 50. Tại Viện Công nghệ Massachusetts, ngôn ngữ thuật toán LISP đã được phát triển, giải quyết các vấn đề về trí tuệ nhân tạo theo thuật ngữ ứng dụng - dành cho hệ thống chuyên gia).

Đầu những năm 60. Sản xuất hàng loạt tại Liên Xô máy tính thế hệ thứ 2 trên bóng bán dẫn: M-220, BESM-3, BESG 4, Ural-11, Ural-14, Ural-16, Minsk-22, Minsk-32, Raz dan-2ʼʼ, ʼʼHrazdan- 3ʼʼ , ʼʼDnepr-1ʼʼ, ʼʼDnepr-3ʼʼ, v.v.

1961 ᴦ. Intel (Mỹ) đã phát hành các mạch tích hợp (IC) đầu tiên.

1966 ᴦ. EVG BESM-6 (S.A.Lsbsdsv) lớn nhanh nhất thế giới (vào thời điểm đó) đã được đưa vào hoạt động tại Liên Xô. Hiệu suất cao của BESM-6 là do lần đầu tiên sử dụng chế độ vận hành đa chương trình và quy trình xử lý dữ liệu đường ống, được sử dụng trong hầu hết các máy tính hiện đại.

Thế hệ thứ 3 (giữa thập niên 60 - giữa thập niên 70) mạch tích hợp; kiến trúc gắn liền với hệ thống đa bộ xử lý, đa máy, đa kênh; giải quyết một loạt các vấn đề về tự động hóa quản lý, thiết kế và lập kế hoạch; hệ điều hành, chương trình ứng dụng và ngôn ngữ lập trình hiệu quả; sự xuất hiện của các mạng máy tính đầu tiên.

1965 ᴦ. Tại Hoa Kỳ, việc sản xuất máy tính thế hệ thứ 3 thuộc dòng 360 dựa trên mạch tích hợp đã bắt đầu.

1966 ᴦ. Ngôn ngữ thuật toán COBOL (Mỹ) đã được phát triển để xử lý thông tin thương mại.

1986 ᴦ. DEC (Mỹ) đã phát triển dòng máy tính mini PDP với nhiều ứng dụng: nghiên cứu khoa học, điều khiển quá trình, xử lý dữ liệu thực nghiệm theo thời gian thực, tự động hóa kỹ thuật, công việc kinh tế và quản lý, v.v.

Đầu những năm 70. Tại Liên Xô, cùng với các chuyên gia từ Cộng hòa Nhân dân Belarus, Hungary, Tiệp Khắc và Cộng hòa Dân chủ Đức, máy tính thế hệ thứ 3 của hệ thống thống nhất (ES COMPUTER) đã được phát triển và sản xuất với số lượng theo yêu cầu. Những máy tính này, tương thích với IBM 360, làm cơ sở cho việc tổ chức các trung tâm điện toán dùng chung và hệ thống điều khiển tự động trong các tổ chức và doanh nghiệp lớn.

1971 ᴦ. Intel (Mỹ) vừa cho ra mắt bộ vi xử lý dựa trên công nghệ IC.

1971 ᴦ. Cơ quan Dự án Nghiên cứu Tiên tiến của Bộ Quốc phòng Hoa Kỳ đã công bố ra mắt phần đầu tiên của mạng máy tính và thông tin toàn cầu ARPANET. Vào năm 1982. ARPANET đã được hợp nhất với các mạng khác và cộng đồng mạng này được gọi là Internet.

Thập niên 70 - đầu thập niên 80. Tại Mỹ, Anh và Liên Xô, các siêu máy tính đi vào hoạt động: ILLIAC-IV, STATAN-100, Sgau-1 (2, 3, MX), Cyber-205, DAP, Phenix, Connection machine, “Elbrus”.

1973-1976 Các chuyên gia đến từ Liên Xô, Cộng hòa Nhân dân Belarus, Hungary, Ba Lan, Tiệp Khắc, Đông Đức, Mông Cổ và Cuba đã phát triển hàng loạt máy tính mini tương thích với PDP (Mỹ).

Thế hệ thứ 4 (giữa thập niên 70 - 2000 ᴦ.): mạch tích hợp lớn; kiến trúc phức tạp; giải quyết các vấn đề khác nhau trong mọi lĩnh vực hoạt động của con người; hệ điều hành đa nhiệm và đa người dùng; `` những kẻ thao túng kiểu cá nhân; thiết bị đầu vào và đầu ra giọng nói; công cụ đa phương tiện; các chương trình và ngôn ngữ ứng dụng hỗ trợ trí tuệ nhân tạo hiệu quả; phát triển cơ sở hạ tầng mạng máy tính.

1977 ᴦ. Tại Hoa Kỳ, các doanh nhân trẻ S. Jobson và S. Wozniak đã thành lập một công ty sản xuất những chiếc PC rẻ tiền dành cho nhiều đối tượng người dùng. Những chiếc PC này, được gọi là APPLE, được dùng làm nền tảng cho việc sử dụng rộng rãi PC trên toàn thế giới.

1979-1980 Các chuyên gia Nhật Bản đã phát triển và cho ra đời máy dịch từ điển điện tử đầu tiên.

1981 ᴦ. Một nhóm chuyên gia hàng đầu của một số công ty điện tử Nhật Bản đã công bố tạo ra máy tính thế hệ thứ 5 vào những năm 90 (“Nhật Bản thách thức thế giới”).

1982 ᴦ. IBM (Mỹ), hãng chiếm vị trí dẫn đầu trong sản xuất máy tính cỡ lớn, đã bắt đầu sản xuất máy tính IBM. Nhiều công ty trên thế giới bắt đầu sản xuất PC chung của IBM.

Giữa thập niên 80. Nhóm các nhà khoa học do K. Sagan (Mỹ) và V.V. Aleksandrov (Liên Xô) đã phát triển các mô hình toán học về hậu quả của “mùa đông hạt nhân” và “đêm hạt nhân”. Những kết luận này đóng một vai trò rất lớn trong việc định hình chính sách của các quốc gia nắm giữ vũ khí nguyên tử.

1988 ᴦ. Liên Xô bắt đầu sản xuất hàng loạt PC trường học (Korvet, UKNTs, Nemiga, v.v.) và PC gia đình (BK 0010, Partner, Vector, Byte, v.v.).

Ngày nay, một số lượng lớn các công ty điện tử trên thế giới sản xuất nhiều loại máy tính khác nhau từ máy tính gia đình đến siêu máy tính ở dạng cố định và di động. Đội máy tính hiện nay trên thế giới xấp xỉ: PC 2.5 ‣‣‣ 10 8 chiếc.; máy tính mini-10 6 chiếc.; manframes - 2 * 10 4 chiếc.siêu máy tính - 100 chiếc.

thế hệ thứ 5 (đầu thế kỷ 21). Bây giờ thật khó để dự đoán máy tính thế hệ thứ 6 sẽ trông như thế nào, nhưng chúng ta có thể chỉ ra xu hướng chung trong sự phát triển của công nghệ máy tính và tác động của chúng đối với xã hội.

Sự phát triển cũng đang trên đường "trí thức hóa" máy tính, xóa bỏ rào cản giữa con người và máy tính. Máy tính sẽ có thể nhận biết thông tin từ văn bản viết tay hoặc in, từ các biểu mẫu, từ giọng nói của con người, nhận dạng người dùng bằng giọng nói và dịch từ ngôn ngữ này sang ngôn ngữ khác.

Trong các máy tính thế hệ thứ sáu sẽ có sự chuyển đổi về chất từ ​​xử lý dữ liệuđể xử lý kiến thức.

Tạo ra một dòng máy tính với những khả năng cơ bản mới sẽ cung cấp:

sử dụng hiệu quả mọi nguồn lực sẵn có của đất nước: vật chất, năng lượng, thông tin con người;

cải thiện hiệu suất ở những lĩnh vực có năng suất thấp;

đưa đất nước tham gia hợp tác quốc tế;

nâng cao việc sử dụng tiềm năng trí tuệ của xã hội;

tăng sức cạnh tranh của hàng hóa trên thị trường quốc tế;

tăng năng suất của dân số;

thúc đẩy trình độ học vấn cao.

Cơ sở phần tử máy tính giả định:

đạt được mật độ đóng gói tối đa của các phần tử trong mạch VLSI dựa trên silicon;

sản xuất VLSI dựa trên gali arsenide;

sử dụng công nghệ đông lạnh dựa trên hiệu ứng Josephson.

Kiến trúc máy tính đang được cải thiện trong các lĩnh vực sau:

· tạo ra một hệ thống máy tính có công suất khác nhau, cân bằng về kiến ​​trúc, cho phép người dùng sử dụng nhanh chóng, đơn giản và hiệu quả tiềm năng to lớn của hệ thống đó;

· phát triển các máy tính cá nhân có bộ xử lý đơn với điều khiển bằng lệnh, dựa trên cơ sở phần tử tốc độ cao mới; Những lĩnh vực này đang được phát triển bởi những công ty muốn duy trì khả năng tương thích phần mềm của PC mới với PC hiện có;

· phát triển máy tính trên một số bộ xử lý nhanh với điều khiển lệnh, một số trong đó là phổ quát và phần khác là đường ống hoặc song song với một số lượng nhỏ các thành phần bộ xử lý;

· phát triển máy tính đa bộ xử lý hiệu suất cao với xử lý thông tin đường ống, song song hoặc ma trận.

Ngoài các phương pháp xử lý thông tin nổi tiếng, máy tính còn tập trung vào việc nhận dạng mẫu và xử lý kiến ​​thức có cấu trúc cũng như đưa ra các quyết định thông minh.

Cải thiện giao diện thông minh:

phương tiện kỹ thuật và phần mềm để nhập/xuất các loại thông tin khác nhau;

giao tiếp bằng ngôn ngữ nói tự nhiên hướng đến vấn đề;

sử dụng các tài liệu văn bản, cả in và viết tay, và hình ảnh;

phát triển đầy đủ các ngôn ngữ lập trình thuật toán đã biết và mới;

sử dụng các ngôn ngữ trí tuệ nhân tạo: Lisp Prolog, PS, FRL, VALID, OCCAM, v.v.

Việc thực hiện các chương trình tạo ra máy tính thế hệ thứ 5 sẽ giúp xây dựng cái gọi là xã hội thông tin ở một số quốc gia.

Có nhiều cách phân loại khác nhau về công nghệ máy tính:

theo giai đoạn phát triển (theo thế hệ);

trong kiến ​​trúc;

theo năng suất;

theo điều kiện hoạt động;

theo số lượng bộ xử lý;

theo đặc tính của người tiêu dùng, v.v.

Không có ranh giới rõ ràng giữa các lớp máy tính. Khi cấu trúc và công nghệ sản xuất được cải thiện, các lớp máy tính mới xuất hiện và ranh giới của các lớp hiện có thay đổi đáng kể.

Theo điều kiện hoạt động, máy tính được chia thành hai loại:

văn phòng (phổ quát);

đặc biệt.

Văn phòng được thiết kế để giải quyết nhiều loại vấn đề trong điều kiện hoạt động bình thường.

Các máy tính đặc biệt được sử dụng để giải quyết một nhóm vấn đề hẹp hơn hoặc thậm chí một nhiệm vụ đòi hỏi nhiều giải pháp và hoạt động trong các điều kiện hoạt động đặc biệt.

Tài nguyên máy của máy tính chuyên dụng thường bị hạn chế. Hơn nữa, định hướng hẹp của chúng giúp thực hiện một loại nhiệm vụ nhất định một cách hiệu quả nhất.

Máy tính đặc biệt điều khiển lắp đặt công nghệ, làm việc trong phòng mổ hoặc xe cứu thương, trên tên lửa, máy bay và trực thăng, gần đường dây điện cao thế hoặc trong phạm vi của radar, máy phát vô tuyến, trong phòng không có hệ thống sưởi, dưới nước ở độ sâu, trong điều kiện bụi bặm, bụi bẩn, rung động, khí nổ, v.v. Có rất nhiều mẫu máy tính như vậy. Hãy làm quen với một trong số họ.

Máy tính Ergotouch

Máy tính Ergotouch được đặt trong một hộp nhôm đúc, kín hoàn toàn, dễ mở để bảo trì.

Các bức tường của máy tính hấp thụ gần như toàn bộ bức xạ điện từ, cả từ bên trong lẫn bên ngoài. Máy được trang bị màn hình cảm ứng.

Máy tính có thể được rửa bằng vòi, khử trùng, khử nhiễm và tẩy dầu mỡ mà không cần tắt.

Độ tin cậy cao nhất cho phép nó được sử dụng như một phương tiện quản lý và giám sát các quy trình công nghệ trong thời gian thực. Máy tính có thể dễ dàng được đưa vào mạng cục bộ của doanh nghiệp.

Một hướng quan trọng trong việc tạo ra máy tính công nghiệp là sự phát triển "giao diện vận hành"- bảng điều khiển, màn hình, bàn phím và thiết bị trỏ ở mọi thiết kế có thể. Sự thoải mái và năng suất của người vận hành phụ thuộc trực tiếp vào các sản phẩm này.

Căn cứ vào hiệu suất và tính chất sử dụng, máy tính có thể được chia thành:

máy vi tính, bao gồm - những máy tính cá nhân;

máy tính mini;

máy tính lớn (máy tính đa năng);

siêu máy tính.

Máy vi tính là máy tính có bộ xử lý trung tâm dưới dạng bộ vi xử lý.

Các mẫu máy vi tính tiên tiến có một số bộ vi xử lý. Hiệu suất máy tính được quyết định không chỉ bởi đặc tính của bộ vi xử lý được sử dụng mà còn bởi dung lượng RAM, loại thiết bị ngoại vi, chất lượng của giải pháp thiết kế, v.v.

Máy vi tính cung cấp các công cụ để giải quyết nhiều vấn đề phức tạp. Bộ vi xử lý của họ đang tăng sức mạnh hàng năm và các thiết bị ngoại vi của họ ngày càng hiệu quả. Hiệu suất đạt khoảng 1 - 10 triệu thao tác mỗi giây.

Một loại máy vi tính là vi điều khiển.
Đăng trên ref.rf
Đây là một thiết bị chuyên dụng dựa trên bộ vi xử lý được tích hợp trong hệ thống điều khiển hoặc dây chuyền xử lý.

Công nghệ máy tính hiện đại có thể được phân loại như sau:

· Những máy tính cá nhân;

· Máy tính doanh nghiệp;

· Siêu máy tính.

Máy tính cá nhân (PC) là máy vi tính đa năng được thiết kế cho một người dùng và được điều khiển bởi một người.

Lớp máy tính cá nhân bao gồm nhiều loại máy khác nhau - từ máy chơi game và máy gia đình giá rẻ có RAM nhỏ, có bộ nhớ chương trình trên băng cassette và TV thông thường làm màn hình, cho đến những máy có độ phức tạp cao với bộ xử lý mạnh mẽ, ổ cứng có dung lượng hàng chục gigabyte, với đồ họa màu độ phân giải cao, đa phương tiện và các thiết bị bổ sung khác.

Máy tính cá nhân là hệ thống máy tính, tất cả các tài nguyên của nó hoàn toàn nhằm mục đích hỗ trợ hoạt động của một nhân viên.

Nổi tiếng nhất là dòng máy tính IBM PC và Macintosh. Đây là hai hướng phát triển PC khác nhau, không tương thích với nhau về phần cứng và phần mềm. Điều thực tế là dòng máy tính Macintosh rất dễ sử dụng, có khả năng đồ họa phong phú và được sử dụng rộng rãi trong giới nghệ sĩ, nhà thiết kế chuyên nghiệp, trong lĩnh vực xuất bản và giáo dục.

Trong dòng PC tương thích với IBM, người ta cũng có thể phân biệt một số loại máy tính khác nhau đáng kể về đặc điểm và hình thức bên ngoài, tuy nhiên, chúng đều là máy tính cá nhân. Trước hết, đây là máy tính để bàn và máy tính xách tay, mặc dù có sự khác biệt đáng kể về bên ngoài nhưng có các đặc điểm và khả năng gần giống nhau.

Máy tính xách tay– Sản phẩm đắt tiền nhưng nhỏ gọn và dễ vận chuyển. PDA khác biệt đáng kể so với máy tính để bàn và thiết bị di động - cái gọi là thiết bị tổ chức hoặc “thư ký di động”. Những sổ ghi chú PC này không có thiết bị ngoại vi cũng như bàn phím; các lệnh được chọn trực tiếp trên màn hình thu nhỏ bằng bút cảm ứng.

Những chiếc máy tính xách tay Thường cần thiết bởi các lãnh đạo doanh nghiệp, nhà quản lý, nhà khoa học, nhà báo phải làm việc bên ngoài văn phòng - ở nhà, tại các buổi thuyết trình hoặc trong các chuyến công tác.

Các loại máy tính xách tay chính:

Máy tính xách tay (đệm đầu gối, từ lòng- đầu gối và đứng đầu- ở trên cùng). Nó có kích thước gần bằng một chiếc cặp thông thường. Về các đặc tính cơ bản (tốc độ, bộ nhớ), nó gần giống với một chiếc PC để bàn. Bây giờ các máy tính loại này đang nhường chỗ cho những máy tính nhỏ hơn.

Sổ tay (notepad, notebook). Nó có kích thước gần giống với một cuốn sách khổ lớn. Nó nặng khoảng 3 kᴦ. Phù hợp trong một chiếc cặp. Điều quan trọng cần lưu ý là để liên lạc với văn phòng, nó thường được trang bị modem. Máy tính xách tay thường cung cấp Ổ đĩa CD-ROM.

Nhiều máy tính xách tay hiện đại bao gồm khối có thể hoán đổi cho nhau với các đầu nối tiêu chuẩn. Các mô-đun như vậy được thiết kế cho các chức năng rất khác nhau. Bạn có thể lắp ổ đĩa CD, ổ đĩa từ, pin dự phòng hoặc ổ cứng di động vào cùng một khe nếu cần.
Đăng trên ref.rf
Máy tính xách tay chống lại sự cố mất điện. Ngay cả khi nó nhận được năng lượng từ lưới điện thông thường, trong trường hợp có sự cố, nó sẽ ngay lập tức chuyển sang sử dụng nguồn pin.

Thiết bị kỹ thuật số hỗ trợ cá nhân

Palmtop (cầm tay) là máy tính cá nhân hiện đại nhỏ nhất. Phù hợp trong lòng bàn tay của bạn. Đĩa từ được thay thế bằng bộ nhớ điện tử bất biến. Cũng không có ổ đĩa - việc trao đổi thông tin với máy tính thông thường được thực hiện thông qua đường truyền thông. Nếu Palmtop được bổ sung một bộ chương trình kinh doanh được ghi trong bộ nhớ vĩnh viễn của nó thì sẽ thành ra Thiết bị kỹ thuật số hỗ trợ cá nhân (Thiết bị kỹ thuật số hỗ trợ cá nhân).

Máy tính công ty(đôi khi được gọi là máy tính mini hoặc khung chính) là các hệ thống máy tính đảm bảo hoạt động chung của nhiều công nhân trong một tổ chức, một dự án, một lĩnh vực hoạt động thông tin sử dụng cùng một thông tin và tài nguyên máy tính. Đây là những hệ thống nhiều người dùng có một thiết bị trung tâm có sức mạnh tính toán lớn và nguồn thông tin quan trọng, được gắn vào một số lượng lớn các máy trạm với thiết bị tối thiểu (thiết bị đầu cuối video, bàn phím, thiết bị định vị như chuột và có thể là máy in). thiết bị). Về nguyên tắc, máy tính cá nhân cũng có thể được sử dụng làm máy trạm kết nối với bộ phận trung tâm của máy tính công ty. Phạm vi ứng dụng của máy tính doanh nghiệp là triển khai công nghệ thông tin để hỗ trợ hoạt động quản lý trong các tổ chức tài chính và công nghiệp lớn, các cơ quan chính phủ, tạo ra các hệ thống thông tin phục vụ số lượng lớn người dùng trong một chức năng (hệ thống trao đổi và ngân hàng, đặt chỗ và bán vé, v.v.).

Đặc điểm của máy tính doanh nghiệp:

Độ tin cậy đặc biệt;

Hiệu suất cao;

Thông lượng I/O cao.

Giá của những chiếc máy tính như vậy là hàng triệu đô la. Nhu cầu cao.

Ưu điểm - lưu trữ và xử lý dữ liệu tập trung rẻ hơn so với việc duy trì các hệ thống xử lý dữ liệu phân tán bao gồm hàng trăm, hàng nghìn PC.

Siêu máy tính là những hệ thống máy tính có đặc điểm cực cao về sức mạnh tính toán và tài nguyên thông tin. Οʜᴎ được sử dụng trong lĩnh vực quân sự và không gian, trong nghiên cứu khoa học cơ bản, dự báo thời tiết toàn cầu, công nghiệp quân sự, địa chất, v.v. Ví dụ: dự báo thời tiết hoặc lập mô hình vụ nổ hạt nhân.

Kiến trúc siêu máy tính dựa trên ý tưởng sự song hànhquy trình tính toán.

Trong các máy này, nhiều thao tác tương tự được thực hiện song song, nghĩa là đồng thời (điều này thường được gọi là đa xử lý). Cuối cùng, hiệu suất cực cao được đảm bảo không dành cho tất cả nhiệm vụ, nhưng chỉ dành cho nhiệm vụ, có khả năng song song hóa.

Đặc điểm nổi bật của siêu máy tính là bộ xử lý vectơ được trang bị thiết bị để thực hiện song song các hoạt động với các đối tượng kỹ thuật số đa chiều - vectơ và ma trận. Chúng có các thanh ghi vectơ tích hợp và cơ chế xử lý đường ống song song. Nếu trên bộ xử lý thông thường, lập trình viên thực hiện lần lượt các thao tác trên từng thành phần vectơ, thì trên bộ xử lý vectơ, anh ta sẽ đưa ra các lệnh vectơ cùng một lúc.

Phần cứng vectơ rất đắt tiền, đặc biệt vì nó đòi hỏi nhiều bộ nhớ tốc độ cực cao cho các thanh ghi vectơ.

Các siêu máy tính phổ biến nhất là hệ thống máy tính song song ồ ạt. Họ có hàng chục nghìn bộ xử lý tương tác thông qua một hệ thống bộ nhớ được tổ chức theo cấp bậc phức tạp.

Ví dụ, hãy xem xét các đặc điểm Siêu máy tính tầm trung song song đa năng Intel Pentium Pro 200. Máy tính này chứa 9200 bộ xử lý Pentium Pro ở tốc độ 200 MHz, cho tổng hiệu suất (về mặt lý thuyết) 1,34 Teraflop(1 Teraflop bằng 10 12 phép tính dấu phẩy động mỗi giây), có bộ nhớ 537 GB và ổ đĩa có dung lượng 2,25 Terabyte. Hệ thống này nặng 44 tấn (máy điều hòa không khí nặng tới 300 tấn) và tiêu thụ điện năng 850 kW.

Siêu máy tính được sử dụng để giải quyết các vấn đề khoa học phức tạp và lớn (khí tượng, thủy động lực, v.v.), trong quản lý, tình báo, như kho lưu trữ thông tin tập trung, v.v.

Cơ sở phần tử là các vi mạch có mức độ tích hợp cực cao.

Chi phí lên tới hàng chục triệu USD.

Mục đích – giải quyết những nhiệm vụ mà hiệu suất của PC là không đủ;

Cung cấp khả năng lưu trữ và xử lý dữ liệu tập trung.

Các tính năng: khả năng kết nối hàng chục, hàng trăm thiết bị đầu cuối hoặc PC cho công việc của người dùng; sự hiện diện của phần cứng đặc biệt cho mô hình hóa và hoạt hình ba chiều, do đó, một số lượng lớn phim được tạo ra trên chúng.

Máy tính lớnđược thiết kế để giải quyết một loạt các vấn đề khoa học và kỹ thuật và là những cỗ máy phức tạp và đắt tiền. Nên sử dụng chúng trong các hệ thống lớn có ít nhất 200 - 300 máy trạm.

Xử lý dữ liệu tập trung trên máy tính lớn rẻ hơn khoảng 5-6 lần so với xử lý phân tán bằng cách sử dụng phương pháp khách-máy chủ.

Máy tính lớn nổi tiếng S/390 IBM thường được trang bị ít nhất ba bộ xử lý. Dung lượng lưu trữ hoạt động tối đa đạt 342 Terabyte.

Hiệu suất của bộ xử lý, thông lượng kênh và dung lượng lưu trữ RAM cho phép bạn tăng số lượng máy trạm trong phạm vi từ 20 đến 200.000 bằng cách thêm bo mạch xử lý, mô-đun RAM và ổ đĩa.

Hàng chục máy tính lớn có thể hoạt động cùng nhau chạy một hệ điều hành để thực hiện một tác vụ.

Sự phân loại này khá tùy tiện, vì sự phát triển mạnh mẽ của công nghệ sản xuất linh kiện điện tử, những tiến bộ đáng kể trong việc cải tiến máy tính và các bộ phận quan trọng nhất của chúng dẫn đến việc xóa mờ ranh giới giữa các loại thiết bị máy tính này.

Đồng thời, việc phân loại trên chỉ tính đến việc sử dụng công nghệ máy tính một cách tự chủ. Ngày nay, xu hướng phổ biến là kết hợp chúng thành mạng máy tính, giúp tích hợp thông tin và tài nguyên máy tính để triển khai công nghệ thông tin một cách hiệu quả nhất.

IBM PC - máy tính tương thích - chiếm khoảng 90% tổng số máy tính hiện đại.

Khả năng tương thích là:

Khả năng tương thích phần mềm - tất cả các chương trình IBM PC sẽ chạy trên tất cả các máy tính tương thích với IBM PC.

Khả năng tương thích phần cứng - hầu hết các thiết bị (ngoại trừ những thiết bị đã 5 hoặc 10 năm tuổi) dành cho máy tính IBM PC và các phiên bản mới hơn của IBM PC XT, IBM RS AT và các thiết bị khác đều phù hợp với các máy tính tương thích với PC IBM.

Ưu điểm của máy tính tương thích với PC IBM:

1) khả năng tương thích hoàn toàn đã dẫn đến sự xuất hiện của hàng trăm nghìn chương trình cho mọi lĩnh vực hoạt động của con người;

2) sự mở cửa của thị trường máy tính tương thích với PC IBM đã gây ra sự cạnh tranh gay gắt giữa các nhà sản xuất máy tính và linh kiện của chúng, điều này đảm bảo độ tin cậy cao, giá tương đối thấp và giới thiệu các cải tiến kỹ thuật nhanh nhất có thể;

3) thiết kế mô-đun và tích hợp các thành phần IBM PC - các máy tính tương thích mang lại sự nhỏ gọn, độ tin cậy cao, dễ sửa chữa, khả năng hiện đại hóa dễ dàng và tăng sức mạnh của máy tính (bộ xử lý mạnh hơn hoặc ổ cứng dung lượng lớn hơn).

Khả năng rộng rãi của các máy tính tương thích với PC IBM cho phép chúng được sử dụng trong nhiều ngành công nghiệp khác nhau và giải quyết nhiều vấn đề khác nhau.

Câu hỏi để tự kiểm soát

1. Máy tính có thể được chia thành các lớp, loại theo tiêu chí nào?

7. Nền tảng cơ bản của máy tính đã phát triển như thế nào qua các thế hệ?

8. Máy vi tính được sử dụng rộng rãi trong gia đình từ khi nào?

9. Bạn có thể kết nối các khái niệm “apple”, “gara” và “máy tính” không?

10. Máy tính thế hệ đầu tiên được tạo ra dựa trên những yếu tố kỹ thuật nào?

11. Vấn đề chính mà các nhà phát triển và người dùng gặp phải khi trải nghiệm vận hành máy tính thế hệ đầu tiên là gì?

12. Cơ sở phần tử nào đặc trưng cho thế hệ máy tính thứ hai?

13. Hệ điều hành thực hiện chức năng gì trong quá trình hoạt động của máy tính?

14. Máy móc thế hệ thứ ba được chế tạo dựa trên yếu tố nào?

15. Thế hệ máy tính nào có đặc điểm là sử dụng rộng rãi mạch tích hợp?

16. Tốc độ điển hình của máy thế hệ thứ tư là bao nhiêu?

17. “Trí thông minh” của máy tính nghĩa là gì?

18. “Giao diện thông minh” sẽ giải quyết vấn đề gì trên máy thế hệ thứ năm?

19. Máy tính công nghiệp cần có những tính năng gì?

20. Giao diện máy tính của người vận hành là gì?

21. Máy tính lớn có thể được phân biệt bằng những đặc điểm chính nào với các máy tính hiện đại khác?

22. Máy tính lớn được thiết kế cho bao nhiêu người dùng?

23. Ý tưởng nào làm nền tảng cho kiến ​​trúc của siêu máy tính?

24. Khả năng của siêu máy tính được phát huy tối đa ở những loại nhiệm vụ nào?

Chủ đề 5 . PC LÀ NỀN TẢNG CỦA CÔNG NGHỆ THÔNG TIN

1. Kiến trúc máy tính

2. Cấu trúc máy tính

3. Đặc điểm chức năng của PC

Khả năng tương thích máy tính - khái niệm và các loại. Phân loại và đặc điểm của danh mục "Tương thích máy tính" 2017, 2018.

Với sự hỗ trợ cho hoạt động của thẻ SD, hai câu hỏi lớn đã nảy sinh cùng một lúc - hỗ trợ phần cứng cho bus SPI và giao thức tương tác với chính thẻ đó.

Về nguyên tắc, SPI có thể được triển khai hoàn toàn bằng phần mềm, nhưng tôi cũng muốn giải trí với phần cứng, vì vậy tôi đã dũng cảm bắt đầu vẽ một bộ thu phát byte trong thiết kế mạch. Trước sự ngạc nhiên của tôi, không có gì phức tạp về nó, và chẳng bao lâu sau, tôi đã xem nhanh các gói 8 bit đang chạy trên màn hình máy hiện sóng, chứa chính xác những gì tôi muốn. Nhân tiện, ở đây lần đầu tiên tôi đánh giá cao khả năng của máy hiện sóng mới không chỉ hiển thị một loạt tín hiệu mà còn kết hợp chúng một cách hợp lý vào bus thích hợp. Sẽ dễ chịu hơn nhiều khi thấy máy hiện sóng hiểu rằng byte A5 đang được truyền đi, thay vì kiểm tra thủ công xem các chuyển đổi từ 0 sang 1 và ngược lại có ở đúng vị trí hay không.

Để đơn giản hóa công việc, tôi không cố gắng thích ứng với tất cả các loại và loại thẻ mà chỉ giới hạn ở thẻ SD gốc (không phải SDHC hoặc một số biến thể khác). Lập trình một chút, và bây giờ nội dung của khu vực thứ 0 của bản đồ bắt đầu được hiển thị trên màn hình. Ngay sau đó, tôi đã đưa các hàm này vào dạng tương tự như INT 13h, thêm INT 19h (tải khởi động) ở dạng thô sơ và thấy thông tin sau trên màn hình:

Vì tại thời điểm đó, chỉ có khu vực thứ 0 luôn được đọc trong khi đọc nên bộ tải khởi động (nằm chính xác trong khu vực này) không tìm thấy hệ điều hành để khởi động như nó đã báo cáo. Nhưng đây chỉ là những chuyện vặt vãnh - vấn đề chính là mạch của tôi dần dần bắt đầu biến thành một chiếc máy tính thực sự và thậm chí còn cố gắng khởi động!

Tiếp theo là cuộc đấu tranh với việc chuyển đổi các khu vực vật lý thành các khối logic. Ở đây tôi cũng đang tải tự do và thay vì xác định các tham số (hình ảnh) của đĩa, tôi chỉ mã hóa cứng các số cho một phiên bản cụ thể của hình ảnh. Tôi đã phải mày mò phần này - không hiểu sao việc tính toán lại dẫn đến những kết quả hoàn toàn bất ngờ (nói chung, tôi chưa bao giờ thích số học trong hợp ngữ). Tuy nhiên, sau một số dằn vặt, các phần/hình trụ/đầu vật lý bắt đầu được dịch thường xuyên thành các khối logic, và đã đến lúc bạn phải cố gắng khởi động một cách nghiêm túc.

Đương nhiên, quá trình tải xuống không diễn ra ngay lập tức và tôi không mong đợi điều đó. Biết trước rằng nhiều chức năng không được triển khai trong BIOS của mình, tôi đặt phần sơ khai trên tất cả các ngắt và khi tôi truy cập vào một chức năng chưa được thực hiện, tất cả thông tin cần thiết đều được hiển thị trên màn hình - ngắt nào đang được gọi và đối số nào đang được thực hiện đã sử dụng. Tiếp theo là quá trình viết một trình xử lý cho hàm tương ứng (và thậm chí thường xuyên hơn, chỉ là một sơ khai tạm thời), và quá trình này vẫn tiếp tục. Đột nhiên, mọi thứ dừng lại ở một chức năng hoàn toàn không có trong PC gốc - một trong những chức năng INT 2F liên quan đến xử lý sự kiện. Tôi thấy rằng DOS xác định loại PC và có vẻ như nó sẽ không gây ra sự gián đoạn không có trên loại này, tuy nhiên, điều này đã xảy ra và quá trình đã dừng lại. Một sơ khai đơn giản không giúp được gì và về nguyên tắc tôi không muốn triển khai toàn bộ chức năng.

Bây giờ tôi không nhớ toàn bộ dòng suy nghĩ (lúc đó tôi đã xem xét rất nhiều thứ trong mã nguồn DOS và trong quá trình khởi động), nhưng một lần nữa tại thời điểm “đóng băng” này, tôi quyết định gọi một loạt các ngắt (lúc đó tôi đã tắt bộ hẹn giờ trên INT 08h) và nhấn phím Shift. Đột nhiên một điều kỳ diệu đã xảy ra:

Thành thật mà nói, có khá nhiều cảm xúc ập đến với tôi - từ một bảng mạch có vài vi mạch đến tải DOS trong một tháng, và ngay cả trong thời gian ngắn (do thiếu thời gian thường xuyên) có vẻ khá tuyệt (xin lỗi vì đã khoe khoang). )!

Nhân tiện, với tin nhắn này tôi vẫn còn một bí ẩn chưa được giải đáp. Thực tế là sau khi kết thúc thời gian ngắt hẹn giờ, DOS bắt đầu tải mà không bị treo ở chỗ này, nhưng không hiểu sao thông báo bản quyền của Microsoft lại không hiển thị. Có vẻ như nó cũng không xuất hiện trên máy tính thật (tiếc là không có gì để thử). Nguyên nhân sâu xa ở đây là một bí ẩn bị bao phủ trong bóng tối. Tôi đã cố gắng hiểu logic từ mã nguồn DOS, nhưng tôi không nhìn thấy nó ngay lập tức và tôi không muốn tốn nhiều thời gian. Tuy nhiên, câu hỏi vẫn còn nhức nhối...

Sau khi DOS khởi động, đến lượt các chương trình khác bắt đầu. Bạn có thể đoán được đây là lượt của ai đầu tiên - một cách tự nhiên, như người ta nói, Chỉ huy Norton tốt bụng. Điều kỳ lạ là có nhiều rắc rối xảy ra với nó hơn là với DOS. NC đã gọi ra vô số chức năng khi khởi chạy và trong một số trường hợp không thể thực hiện được bằng các sơ khai đơn giản; cần phải viết ít nhất một chức năng tối thiểu.

Tuy nhiên, các vấn đề mang tính định lượng hơn là chất lượng và chẳng bao lâu sau, quá trình tải NC đã có thể đưa ra kết luận hợp lý:

Sự xuất hiện “thú vị” này là do một số lý do:
- bộ điều hợp video không hỗ trợ các thuộc tính tại thời điểm đó
- Tôi không có phần thứ hai của trình tạo ký tự, chứa đồ họa giả, vì vậy các ký tự từ cuối bảng mã đã kết thúc ở những vị trí thích hợp
- một số chức năng của INT 10h không được triển khai.

Nói chung, tôi thường xuyên ngạc nhiên về cách thực hiện chính xác một số chức năng nhất định trong các chương trình khác nhau (và thậm chí cả trong DOS). Ví dụ: lệnh CLS (xóa màn hình) được gọi là hàm INT 10h, khiến cửa sổ di chuyển lên trên. Trong trường hợp này, toàn bộ khu vực màn hình có sẵn được chỉ định làm cửa sổ và nó được dịch chuyển một số dòng bằng số dòng trên màn hình. Vì tôi không mong đợi rằng sẽ có người sử dụng các chức năng của cửa sổ nên tôi không vội triển khai chúng. Kết quả rất rõ ràng (hay đúng hơn là trên màn hình). Tuy nhiên, chúng ta sẽ quay lại những điều kỳ lạ của một số chương trình xa hơn một chút...

Sau khi ra mắt NC, tôi có một mong muốn tự nhiên là biến nó thành hình dạng thần thánh. Hơn nữa, phần công việc này đôi khi còn thú vị hơn việc cố gắng khởi động một thiết bị đã chết hoàn toàn. Không có vấn đề đặc biệt nào với đồ họa giả - chỉ mất rất nhiều thời gian để vẽ các ký tự theo cách thủ công (tôi có một trình tạo ký tự trực tiếp ở dạng mã VHDL). Nhưng với các thuộc tính tôi đã phải căng thẳng một chút.

Thậm chí sớm hơn trong quá trình này, tôi đã bắt đầu sử dụng một số thành phần của VHDL. Lúc đầu, gần như bằng vũ lực - vẫn có mong muốn cố gắng thành thạo lại ngôn ngữ này, và sau đó vì trong một số trường hợp nhất định, nó tỏ ra thuận tiện hơn so với việc sử dụng thiết kế mạch. Ngay cả trong chính bộ điều hợp video, tôi đã phải đi sâu vào mã - ban đầu 43 dòng (hoặc đại loại như vậy) được hỗ trợ, nhưng tôi cần thay đổi nó thành 25 dòng. Và lúc đầu, tôi cố gắng hỗ trợ các thuộc tính bằng cách sử dụng thiết kế sơ đồ, nhưng đột nhiên tôi bắt đầu nhận ra rằng việc sử dụng VHDL cho việc này có thể dễ dàng hơn. Đương nhiên, mọi thứ diễn ra vô cùng khó khăn và việc sử dụng các cấu trúc ngôn ngữ đơn giản nhất, nhưng tôi đột nhiên bắt đầu hiểu bản chất của VHDL - vẫn chỉ một chút thôi, nhưng đã đủ để bắt đầu tạo ra thứ gì đó với nó một cách có ý thức chứ không chỉ sửa đổi những gì đã tồn tại. .

Việc mày mò VHDL của tôi không phải là vô ích, và sau một thời gian, tôi đã có thể nhìn thấy một điều gì đó đã lâu và được nhiều người biết đến:

Có, bạn vẫn có thể nhận thấy một số thiếu sót (chẳng hạn như thuộc tính bị dịch chuyển bởi một ký tự), nhưng nhìn chung, chế độ văn bản màu 80x25 vẫn hoạt động như bình thường.

Tiếp theo là bộ điều khiển ngắt 8259. Lúc đầu, ý tưởng nảy sinh là thử sử dụng một bộ điều khiển hiện có từ một số dự án, nhưng tôi không thích bất kỳ bộ điều khiển nào trong số chúng vì nhiều lý do (hoặc chúng quá thô sơ, hoặc ngược lại, Tôi không hiểu chúng hoạt động như thế nào nhưng không có tài liệu hướng dẫn). Thậm chí còn có nỗ lực mua IP thương mại (trong trường hợp này, IP không phải là Giao thức Internet, mà là Sở hữu trí tuệ), nhưng các nhà sản xuất không muốn bận tâm đến việc bán toàn bộ một thứ...

Cuối cùng, tôi phải lấy một mảnh giấy và phác thảo một cái gì đó giống như sơ đồ (khối) bộ điều khiển, sau đó tôi bắt đầu triển khai trong VHDL. Tôi không theo đuổi khả năng tương thích hoàn toàn - tôi cần hỗ trợ (ở giai đoạn này) cho một chế độ ngắt ưu tiên chính, khả năng che dấu các ngắt (cũng đọc mặt nạ ngắt) và thực thi lệnh EOI (Kết thúc ngắt). Theo tôi, điều này là đủ để phần lớn các chương trình hoạt động tốt với nó. Nhìn về phía trước, tôi sẽ nói rằng cho đến ngày nay tôi vẫn chưa tìm thấy một chương trình nào có thể cố gắng làm điều gì đó với bộ điều khiển ngắt ngoài chức năng mà tôi đã thiết kế.

Có lẽ, bộ điều khiển ngắt là dự án VHDL thực sự (dù nhỏ) đầu tiên của tôi - từ đầu đến cuối. Tôi đã viết nó một cách cẩn thận, tôi thậm chí còn không lười biếng (lần đầu tiên trong đời) làm một băng ghế thử nghiệm (tôi không chắc làm thế nào để dịch chính xác sang tiếng Nga - thực tế là một chuỗi các tín hiệu để kiểm tra hoạt động chính xác của thiết bị). Mô phỏng trong trình mô phỏng ModelSim cho thấy bộ điều khiển dường như đã hoạt động hoàn toàn, sau đó một biểu tượng đồ họa khác được tạo ra từ nó và được thêm vào thiết bị của tôi.

Tôi chưa có bộ định thời 8254 bình thường; để tạo ra các ngắt 18,2 Hz, tôi đã sử dụng một bộ đếm thông thường mà tôi đã kết nối với bộ điều khiển ngắt. Hoạt động của máy tính cho thấy mọi thứ dường như đang hoạt động - DOS được tải mà không cần nhấn phím và đồng hồ cuối cùng đã bắt đầu chạy ở NC. Có vẻ như một giai đoạn khác đã trôi qua và chúng tôi có thể đi tiếp một cách an toàn.

Hóa ra, tôi đã sớm vui mừng - vào thời điểm đó, có lẽ vấn đề lớn nhất của toàn bộ dự án đã lộ diện. Nếu ai còn nhớ thì NC có tích hợp sẵn trình bảo vệ màn hình - “bầu trời đầy sao”. Rời khỏi máy tính một thời gian, sau khi quay lại, tôi phát hiện ra rằng các ngôi sao trên trình bảo vệ màn hình bằng cách nào đó đã bị đóng băng, hay nói cách khác là máy tính đã bị đóng băng. Mặc dù tôi hiểu rằng những tai nạn như vậy không xảy ra nhưng tôi vẫn muốn tin vào một điều kỳ diệu - rằng đây chỉ là một sự cố cá biệt. Thật không may, như mọi khi, không có điều kỳ diệu nào xảy ra - sau khi thiết lập lại và khởi động lại hoàn toàn, máy tính lại bị treo sau một giờ hoạt động. Rõ ràng là có một vấn đề ở đâu đó và rất khó tìm ra.

Để thu hẹp tìm kiếm nhiều nhất có thể, tôi đã viết một bài kiểm tra bộ nhớ đơn giản chạy ngay sau khi bộ xử lý được đặt lại mà không khởi chạy tất cả các thiết bị không cần thiết như bộ hẹn giờ, v.v. Về nguyên tắc, tôi cảm thấy nhẹ nhõm khi nhận được dấu hiệu lỗi bộ nhớ - ít nhất thì vấn đề rõ ràng là ở phần cứng. Điều duy nhất còn lại phải làm là hiểu chính xác ở đâu. Và điều này hóa ra không đơn giản chút nào.
Thực tế là nhìn chung mạch điện tham gia vào quá trình kiểm tra bộ nhớ vốn đã khá thô sơ. Có mức logic tối thiểu; ngoài bộ xử lý, không có phần tử lập trình phức tạp nào khác. Kết quả là, sau một thời gian phân tích mạch điện, tôi ít nhiều tin tưởng rằng vấn đề không phải là lỗi cơ bản trong mạch điện mà là một điều gì đó ngẫu nhiên hơn - chẳng hạn như nhiễu sóng.

Nói chung, mọi thứ đều tệ với mặt thiết kế mạch này. Tôi biết rằng tôi cần lắp thêm nhiều tụ điện chặn và dây dài thì hơi tệ. Đây là nơi kiến ​​thức của tôi kết thúc. Vì vậy, tôi lại tìm đến một trong những diễn đàn chuyên nghiệp để được tư vấn. Tôi đã được đưa ra rất nhiều lời khuyên, đôi khi rất khó để tách biệt những lời khuyên thực sự hợp lý với những lời khuyên theo nguyên tắc “Tôi sẽ kể cho bạn nghe tất cả những gì tôi biết ít nhất một chút về chủ đề này”. Tôi sẽ không mô tả tất cả những điều này ở đây - có quá nhiều điều đã được thảo luận, vì vậy đây có thể là chủ đề của một bài viết riêng. Kết quả của các cuộc thảo luận, bo mạch của tôi đã phát triển quá mức với gần hai chục tụ điện chặn và mất hoàn toàn vẻ ngoài ít nhiều quyến rũ ban đầu.

Thật không may, lần chạy thử tiếp theo cho thấy vấn đề vẫn chưa biến mất. Có lẽ nó bắt đầu xuất hiện ít thường xuyên hơn, nhưng thật khó để nói - và trước đây, lỗi có thể xảy ra sau 20-30 phút hoặc sau vài giờ. Bây giờ, ở mức tối thiểu, một tấm ván để qua đêm chắc chắn sẽ bị hỏng vào buổi sáng. Trong cơn tuyệt vọng, tôi lại quay lại phân tích thiết kế mạch và nghiên cứu cẩn thận hơn nữa về sơ đồ bus bộ xử lý. Có lúc tôi có một suy nghĩ nào đó và tôi lại vào diễn đàn đó. Trong quá trình thảo luận về ý tưởng của mình, một lần nữa tôi nhận được một số lời khuyên hữu ích (và đôi khi không hữu ích lắm), tôi đã cố gắng thực hiện một số điều (chủ yếu liên quan đến độ trễ nhẹ trong một số tín hiệu điều khiển), nhưng điều này không ảnh hưởng đến sự hiện diện. về tất cả những thất bại.

Ở cuối con đường, một ngõ cụt cụ thể hiện ra rõ ràng, vì vậy tôi bắt đầu thử nghiệm những ý tưởng nói chung là điên rồ. Cụ thể là bản thân chip nhớ có bị lỗi không? Để kiểm tra nó, tôi đã tạo một mô-đun RAM ngay bên trong FPGA mà tôi đã sử dụng thay cho bộ nhớ ngoài. Thành thật mà nói, tôi không mong đợi bất kỳ kết quả nào – tôi chỉ làm mọi thứ tôi nghĩ đến. Nhưng hãy tưởng tượng sự ngạc nhiên của tôi khi sau đó các vụ tai nạn đột nhiên biến mất! Nói chung, bằng cách nào đó, tôi thậm chí còn chưa sẵn sàng cho việc này nên tôi không hiểu rõ cách sử dụng kiến ​​\u200b\u200bthức này. Thật khó để tin rằng chip nhớ bị lỗi ngay cả vào thời điểm đó. Tôi cũng gần như hoàn toàn tự tin rằng mình đang làm việc với vi mạch này một cách chính xác - theo các tín hiệu điều khiển, mọi thứ đều đơn giản như việc bóc vỏ quả lê. Nhưng sự thật vẫn là với vi mạch, lỗi chắc chắn sẽ xảy ra không muộn hơn sau vài giờ thử nghiệm; với bộ nhớ trong, mọi thứ vẫn hoạt động bình thường trong vài ngày cho đến khi tôi cảm thấy mệt mỏi với nó.

Để thanh thản lương tâm, tôi vẫn quyết định kiểm tra bộ nhớ bằng một mạch hoàn toàn khác mà không sử dụng bo mạch xử lý của mình. Trong quá trình suy nghĩ về cách tốt nhất để thực hiện việc này, tôi chợt nảy ra một ý nghĩ - tôi nhận ra sự khác biệt đáng kể duy nhất giữa việc sử dụng bộ nhớ trong và bộ nhớ ngoài. Thực tế là bộ nhớ ngoài không đồng bộ và bộ nhớ trong đồng bộ một phần và nó cũng yêu cầu một tín hiệu để chốt địa chỉ của ô được truy cập trong bộ đệm trong.
Tôi hoàn toàn không hiểu làm thế nào điều này có thể liên quan đến vấn đề lỗi ngẫu nhiên - từ tất cả các sơ đồ, tôi hoàn toàn thấy rõ rằng địa chỉ của tôi đang chứa nhiều hơn mức tối thiểu cần thiết cho bộ nhớ, vì vậy, về mặt lý thuyết, đây không thể là lý do . Tuy nhiên, tôi ngay lập tức vẽ một thanh ghi khác trong Quartus, cung cấp cho nó một địa chỉ và chốt nó bằng tín hiệu tương tự được sử dụng cho bộ nhớ trong. Đầu ra của thanh ghi đương nhiên được đưa đến các dòng địa chỉ của bộ nhớ ngoài. Nhận ra rằng mình đang làm điều hoàn toàn vô nghĩa, tôi đã chạy thử nghiệm. Và bài kiểm tra đã diễn ra thành công cho đến khi tôi tắt nó vào ngày hôm sau. Sau đó, một vài lần nữa có và không có sổ đăng ký - hoàn toàn rõ ràng rằng sự hiện diện của sổ đăng ký đã loại bỏ hoàn toàn các lỗi.

Điều này hoàn toàn không thể giải thích được - ngay cả trên máy hiện sóng, tôi cũng thấy rằng các tín hiệu địa chỉ đã tồn tại lâu hơn mức cần thiết về nguyên tắc, nhưng thực tế vẫn là sự thật. Sau cả một ngày cuối tuần đầy thử thách, tôi đã từ bỏ nó và quyết định chấp nhận nó như một điều hiển nhiên...

Vì vậy, khi DOS được tải, nhiều chương trình không yêu cầu chế độ đồ họa đã khởi động và chúng tôi có thể tiếp tục. Đương nhiên, có mong muốn tung ra một loại đồ chơi nào đó. Nhưng một món đồ chơi thường yêu cầu đồ họa và tôi chưa có cái nào cả. Và nếu bộ điều hợp video văn bản có thể tồn tại với ít chi phí bằng cách làm lại bộ điều hợp hiện có, thì đối với đồ họa, điều đó không dễ dàng như vậy.

Đó thậm chí không phải là vấn đề thiếu các giải pháp làm sẵn. Vấn đề là tôi cần khả năng tương thích gần như hoàn toàn với bộ điều hợp video tiêu chuẩn ở cấp độ phần cứng - xét cho cùng, tất cả các trò chơi đều hoạt động với đồ họa trực tiếp từ phần cứng mà không cần sử dụng BIOS. Tôi nhận ra rằng việc tạo một bộ điều hợp video từ đầu sẽ dễ dàng hơn là cố gắng làm lại một bộ điều hợp làm sẵn. Và tất nhiên, việc tự mình làm điều đó sẽ thú vị hơn nhiều.

Vì vậy, chúng tôi đang viết bộ điều hợp CGA của riêng mình - thậm chí EGA còn phức tạp hơn một vài bậc, vì vậy chúng tôi sẽ không thử nó ngay bây giờ. Về nguyên tắc, để bắt đầu, tôi vẫn còn xem xét một chút - trên thực tế, tôi đã tìm thấy bản phác thảo của mô-đun tạo quét VGA. Nhưng nó dài tới hơn chục dòng rưỡi và thậm chí còn không hoạt động hoàn toàn. Vì vậy, trên thực tế, chúng được sử dụng làm khuôn mẫu để bắt đầu viết - điều đó dễ dàng hơn về mặt đạo đức.

Đương nhiên, tôi không có màn hình CGA và cũng không có ý định sử dụng, vì vậy ý ​​tưởng là sử dụng chế độ VGA 640x400, trong đó chế độ CGA 320x200 hoàn toàn phù hợp bằng cách nhân đôi các điểm theo cả chiều ngang và chiều dọc.
Nhìn chung, bộ điều hợp đồ họa hóa ra lại dễ dàng đến không ngờ đối với tôi - lúc này não tôi đột nhiên học cách suy nghĩ theo các danh mục VHDL, cộng thêm tôi đã hiểu một chút về những gì có thể yêu cầu từ VHDL và những gì không đáng. Nói chung, phần lớn thời gian gỡ lỗi của tôi được dành để tìm kiếm một lỗi hoàn toàn ngu ngốc liên quan đến độ sâu bit của các con số (hai vấn đề như vậy trùng lặp với nhau và đưa ra một biến thể rất buồn cười). Mặt khác, tôi bắt đầu thích thú với cách các dòng trong trình soạn thảo biến thành phần cứng gần như thực sự bên trong FPGA và thực hiện chính xác những gì tôi muốn.

Tất nhiên, ngay từ đầu, bộ chuyển đổi chưa hoàn hảo và tương thích, nhưng Checkit đã có thể nhận ra nó và thậm chí hiển thị hình ảnh thử nghiệm đầu tiên:

Nhân tiện, Checkit hóa ra là một chương trình khá hữu ích - nó xác định nhiều thứ theo những cách khá tinh ranh, khiến toàn bộ cấu trúc ngày càng trở nên tương thích với PC hơn. Và vì Checkit có thể kiểm tra tất cả các nút và thành phần nên khả năng tương thích cũng được kiểm tra cho tất cả các bộ phận của hệ thống.

Sau khi sửa những lỗi rõ ràng nhất (chẳng hạn như sao chép một dấu chấm từ byte trước đó hiển thị trong ảnh trước), chúng tôi đã cố gắng tìm ra một trò chơi có vẻ hoạt động, với một số khó khăn:

Màu sắc trong bức ảnh này không khớp với màu gốc - tại thời điểm này, việc chuyển đổi bảng màu vẫn chưa được thực hiện và bản thân màu sắc cũng chưa được điều chỉnh.

Nỗ lực tìm kiếm các trò chơi hoạt động được đã chỉ ra rằng các chương trình trò chơi, trong hầu hết các trường hợp, hoạt động trực tiếp với phần cứng, đòi hỏi khắt khe hơn nhiều về khả năng tương thích so với một số NC hoặc thậm chí QuickBasic. May mắn thay, FPGA cung cấp khả năng gần như không giới hạn để xác định xem chương trình có truy cập vào các cổng quan tâm, địa chỉ bộ nhớ, v.v. hay không. Đặc biệt là vì tôi cũng có thể thay đổi BIOS theo ý mình, điều này mang lại cơ chế sửa lỗi tuyệt vời. Nhân tiện, tại một thời điểm nào đó (tôi không nhớ chính xác khi nào), Turbo Debugger cũng bắt đầu hoạt động, điều này cũng mở rộng kho công cụ gỡ lỗi.

Rõ ràng ngay lập tức rằng cần phải tạo ra ít nhất bộ hẹn giờ tối thiểu 8253. Hơn nữa, các chương trình đã cố gắng sử dụng bộ hẹn giờ không chỉ cho âm thanh (kênh 2) mà còn tích cực lập trình lại kênh 0, do đó thay đổi tần suất gián đoạn từ hẹn giờ và cũng sử dụng kênh này để xác định các tham số thời gian.

Sau khi đọc tài liệu về 8253, tôi cảm thấy hơi buồn. Có rất nhiều việc phải làm và nó không thú vị lắm. Sau khi quyết định thực hiện việc này sau đó, tại thời điểm đó, tôi chỉ cần trèo lên các lõi mở tương tự và lấy trộm một vài mô-đun hẹn giờ. Một cái ở Verilog và rất đơn giản, cái thứ hai có hình thức cực kỳ phức tạp và thậm chí cả ở VHDL. Thật không may, bộ định thời VHDL đã được kết nối qua bus Wishbone - đây là một tiêu chuẩn mở để phát triển FPGA. Tôi chưa bao giờ gặp Wishbone trước đây, vì vậy tôi quyết định bắt đầu sử dụng mô-đun Verilog, có giao diện trông đơn giản hơn.

Sau khi kết nối bộ hẹn giờ với hệ thống của mình một cách dễ dàng, tôi đã chạy một số thử nghiệm đơn giản và đảm bảo rằng mô-đun có vẻ hoạt động. Hơn nữa, sau một sửa đổi nhỏ khác của hệ thống về giao diện với loa, những âm thanh đầu tiên nhưng khá chính xác đã được nghe thấy từ một món đồ chơi đang hoạt động. Bây giờ chúng ta có thể hoàn thành việc tính giờ và tiếp tục.

Sau đó tôi phải đưa ra một quyết định cơ bản. Cho đến thời điểm này, tôi đã tự viết INT 10h. Ở chế độ văn bản, tôi có thể chấp nhận điều này, nhưng nhu cầu hỗ trợ các chức năng này trong chế độ đồ họa khiến tôi khó chịu. Cho rằng đến thời điểm này, niềm đam mê lập trình hợp ngữ đã thực sự được thỏa mãn (rốt cuộc là do đã có lúc nó được thực hiện ở quy mô công nghiệp), tôi hành động theo nguyên tắc “Nếu núi không đến gặp Muhammad, sau đó ông ta sẽ tống nó xuống địa ngục.” Cụ thể là, tôi quyết định làm cho bộ chuyển đổi CGA của mình tương thích với phần cứng đến mức BIOS gốc có thể hoạt động được với nó.

Về nguyên tắc, không có khó khăn cụ thể nào - không có nhiều sổ đăng ký, chức năng của chúng cực kỳ đơn giản. Trong số những điều tiềm ẩn, chúng tôi phải mô phỏng thanh ghi trạng thái, trong đó chứa các dấu hiệu chuyển động ngược lại của chùm quét dọc và ngang. Khá logic, hóa ra nhiều chương trình (bao gồm cả BIOS) tích cực sử dụng thanh ghi này để tránh "tuyết" khi cố gắng truy cập đồng thời vào bộ nhớ video từ bộ xử lý và bộ điều hợp.

Vì lý do nào đó, quá trình sắp xếp bộ điều hợp video có vẻ rất thú vị đối với tôi và cuối cùng, thiết bị này hóa ra là thiết bị phức tạp nhất về khả năng tương thích với thiết bị ban đầu. Đồng thời, những thứ còn thiếu như bảng màu có thể chuyển đổi, chế độ 640x200, v.v. đã được thêm vào. Nhân tiện, để kiểm tra chế độ 640x200, khá khó để tìm được chương trình hỗ trợ chế độ này. Điều duy nhất chúng tôi tìm được là cờ vua:

Theo cảm nhận của tôi thì nó trông khá đẹp...

Bộ xử lý INT 10h ban đầu rất thân thiện với bộ chuyển đổi như vậy và tôi thở phào nhẹ nhõm vì không phải viết những thứ như nhận dạng một ký tự được in ở một vị trí nhất định trên màn hình ở chế độ đồ họa.

Trở ngại cuối cùng đối với khả năng tương thích được chấp nhận của PC, kỳ lạ thay, lại là bàn phím. Mặc dù đây gần như là điều đầu tiên tôi bắt tay vào dự án, nhưng từ quan điểm về tính tương thích thì vẫn chưa có con ngựa nào nằm ở đó. Vấn đề chính là tất cả các chương trình thông thường đều hoạt động với bộ mã quét đầu tiên đã được sử dụng trong PC IBM. Nhưng tất cả các bàn phím, bắt đầu bằng PC AT, đều tạo ra ít nhất bộ mã quét thứ hai, rất khác so với bộ mã đầu tiên. Chỉ bộ điều khiển bàn phím bên trong máy tính mới chuyển đổi các mã này thành bộ mã gốc, đầu tiên và tất cả các chương trình thông thường đều hoạt động với nó (ngay cả khi các chương trình này dường như truy cập trực tiếp vào bàn phím mà không cần sử dụng BIOS). Đương nhiên, tôi không có bất kỳ bộ điều khiển nào (nhân tiện, trong PC AT và thậm chí cả trong PC XT sau này, một bộ vi điều khiển dựa trên 8051 riêng biệt đã được sử dụng cho việc này). Các chức năng của INT 09/16 đã được triển khai ở phiên bản tối thiểu nhất và việc vận hành trực tiếp các chương trình bằng bàn phím là điều không cần thiết - đơn giản là chúng (các chương trình) sẽ không hiểu được một mã quét nào.

Vào lúc này, tôi chợt cảm thấy hưng phấn khi sở hữu VHDL - đối với tôi, dường như tôi đã hiểu được sự thật và tôi có thể làm bất cứ điều gì. Do đó, không chậm trễ, một mô-đun trang nhã (có vẻ như đối với tôi) đã được viết bằng VHDL, thực hiện chuyển mã mã quét. Mọi thứ trong mô-đun này đều rất đẹp và tốt, ngoại trừ một chi tiết nhỏ - nó không hoạt động. Hơn nữa, tôi không thể hiểu được lý do không thể làm việc, thật bực bội và bối rối - chỉ có chục dòng.

Một lần nữa, chuyển sang các chuyên gia trên diễn đàn, tôi đã nhận được rất nhiều lời khuyên thực sự hợp lý. Hơn nữa, sự hiểu biết của tôi về khái niệm VHDL một lần nữa gần như đã thay đổi hoàn toàn (bao gồm cả một số thất vọng). Điều chính là không có phép lạ. VHDL (và tất cả các HDL khác) sẽ không làm bất cứ điều gì không thể thực hiện được theo cách thông thường từ các tài nguyên phần cứng sẵn có. Nếu tôi viết một dòng có vẻ đúng theo quan điểm cú pháp của ngôn ngữ, nhưng tôi không biết làm thế nào nó có thể được triển khai trong phần cứng, thì rất có thể nó sẽ không được triển khai trong quá trình biên dịch. Ở mức tối thiểu, nó sẽ không làm những gì được yêu cầu. Và một điều nữa - việc sử dụng các mẫu là rất quan trọng. Hóa ra là nhiều cấu trúc ngôn ngữ chỉ biến thành các nút phần cứng chính xác khi trình biên dịch nhận ra mẫu tương ứng. Tất nhiên, có một sự linh hoạt nhất định, nhưng bạn vẫn cần phải luôn nhớ các kiểu được đề xuất để mô tả các nút nhất định.

Tôi nghĩ rằng chính sau những cuộc đối đầu này, tôi thực sự, ít nhất là một chút, nhưng thực sự bắt đầu hiểu được bản chất của VHDL (và đến thời điểm này Verilog cũng đã không còn hoàn toàn khó hiểu nữa). Thật kỳ diệu, sách giáo khoa về những ngôn ngữ này đột nhiên có ý nghĩa và bản chất của những điều được mô tả trở nên rõ ràng đằng sau những từ ngữ.

Tóm lại, sau khi làm cho mô-đun chuyển đổi kém đẹp hơn một chút nhưng chính xác hơn nhiều, tôi đã nhận được mã ở bộ đầu tiên ở đầu ra của nó. Tiếp theo, tất cả những gì còn lại là cung cấp các mã này cho trình xử lý INT 09h ban đầu và kiểm tra bằng cùng một Checkit để đảm bảo rằng các lần nhấn phím được nhận dạng chính xác. Vì vậy, bàn phím cũng tương thích gần như 100% ở cấp độ phần cứng.

Đến thời điểm này, tôi bắt đầu ngày càng cảm thấy khó chịu hơn với thực tế là cấp độ cao nhất trong dự án của tôi vẫn là thiết kế sơ đồ. Động lực cuối cùng thôi thúc chúng tôi thực hiện quá trình chuyển đổi hoàn toàn sang VHDL là sự thay đổi chiếc máy tính ở nhà của chúng tôi. Tôi đã cài đặt iMac Retina cài Windows trên bàn làm việc của mình. Thật không may, Quartus nằm trong số những chương trình hoàn toàn không được chuẩn bị để hoạt động với độ phân giải màn hình này. Thiết kế mạch trở nên hoàn toàn không thể đọc được và không có nỗ lực nào của tôi để điều chỉnh bất cứ thứ gì mang lại bất kỳ cải tiến thực sự nào. Không còn nơi nào để đi, tôi nghiến răng cầm lấy trình soạn thảo văn bản.

Thật kỳ lạ, mọi thứ lại diễn ra suôn sẻ hơn. Bây giờ tôi thậm chí còn không nhớ liệu có cần phải gỡ lỗi bất cứ thứ gì hay mọi thứ có hoạt động ngay sau khi làm lại hay không. Trong mọi trường hợp, chắc chắn không có vấn đề gì nghiêm trọng, nhưng công việc ngay lập tức trở nên thuận tiện và hiệu quả hơn rất nhiều. Tôi nhớ ngay đến lời khuyên của một số người am hiểu, họ đã khuyên tôi nên quên thiết kế mạch ngay từ đầu và bắt đầu ngay với VHDL/Verilog. Nhân tiện, liên quan đến VHDL và Verilog - xin đừng tranh cãi với tôi cái nào tốt hơn/xấu hơn và tại sao tôi chọn VHDL. Giả sử rằng tôi chỉ muốn nó như vậy, và điều đó thực tế là đúng. Tôi sẽ không thảo luận về chủ đề này nữa...

Khi chuyển sang VHDL, mô-đun cuối cùng trong thiết kế mạch cũng được thiết kế lại hoàn toàn - giao diện SPI. Nếu bạn còn nhớ, nó chỉ cung cấp khả năng thu/truyền phần cứng chỉ một byte và xung quanh điều này, cần phải thực hiện một loạt các bước chuẩn bị. Kết hợp với bộ xử lý chậm (và được viết một cách lười biếng INT 13h), điều này chỉ mang lại hiệu suất khoảng 35% so với ổ cứng PC XT ban đầu (theo Checkit). Vì thực tế tôi đã cảm thấy mình là một bậc thầy về VHDL và điện tử kỹ thuật số nói chung, nên tôi ngay lập tức quyết định viết không phải một bản sao của giao diện hiện có mà là một mô-đun cung cấp khả năng truyền gói.

Đúng, tôi quyết định không bận tâm đến DMA (hoặc, như chúng tôi nói ở Nga, DMA) - chưa có bộ điều khiển DMA và tôi không muốn sử dụng hai mô-đun mới cùng một lúc, khi đó bạn sẽ không hiểu được vấn đề chính xác là ở đâu Việc gỡ lỗi mô-đun không diễn ra hoàn toàn suôn sẻ - chúng tôi phải mày mò một chút, bao gồm cả việc tích cực sử dụng các kênh kỹ thuật số của máy hiện sóng làm bộ phân tích giao thức. Nhân tiện, vì lý do nào đó trong toàn bộ quá trình, tôi gần như quên rằng Quartus có tích hợp sẵn bộ phân tích kỹ thuật số SignalTap, điều này có lẽ sẽ còn thuận tiện hơn nữa. Có lẽ trong tương lai tôi sẽ bắt đầu sử dụng nó (tôi chưa sử dụng nó), nhưng hiện tại tôi thực sự thích sử dụng một phần cứng riêng cho việc này.

Có lẽ, tính đến mô-đun mới, lẽ ra có thể viết lại INT 13h một cách nghiêm túc hơn, nhưng tôi lười biếng và chỉ thực hiện được một sửa đổi tối thiểu cần thiết. Kết quả là một đống chồng chất không đẹp lắm và hoàn toàn không hiệu quả, nhưng tốc độ với mô-đun mới vẫn tăng gần 5 lần:

Tiếp theo là quá trình có phần tẻ nhạt, phần hấp dẫn là khởi chạy nhiều chương trình khác nhau (chủ yếu là trò chơi) để tìm hiểu lý do tại sao chúng không hoạt động (hay nói đúng hơn là phần nào không đủ tương thích trên máy tính của tôi). Bạn có thể viết một bài lớn riêng về việc tìm kiếm lý do, tôi chỉ đưa ra một vài ví dụ:
- Tôi không có DMA. Hóa ra kênh DMA số 0 (được sử dụng để tái tạo bộ nhớ trên PC gốc) cũng được một số chương trình sử dụng làm bộ đếm để xác định khoảng thời gian ngắn. Tôi đã phải mô phỏng phần tương ứng của bộ đếm bộ điều khiển DMA
- thông thường (nhưng không phải luôn luôn) khi đọc từ vùng bộ nhớ hoặc cổng I/O không tồn tại, byte FF sẽ được đọc. Tôi đọc nó theo cách khác - 00. Chương trình không thích điều này, chương trình này đã kiểm tra theo cách này (và không có gì khác) về sự hiện diện của cần điều khiển, sau đó nó quyết định rằng nó ở đó và tất cả các nút đã được nhấn
- cách nguyên bản nhất để xác định sự hiện diện của bộ điều hợp CGA là sử dụng chương trình ghi một giá trị nhất định vào thanh ghi vị trí con trỏ, sau đó đọc giá trị và kiểm tra nó so với những gì nó đã viết (sau đó khôi phục giá trị ban đầu). Theo tài liệu tôi có, thanh ghi này chỉ ở chế độ ghi, nhưng nó đã được thay đổi thành đọc/ghi, sau đó chương trình đã ổn định lại
- không liên quan đến máy tính của tôi - đã dành rất nhiều thời gian để tìm ra lý do tại sao trò chơi Paratrooper cũ đơn giản nhất lại bị treo. Hóa ra là mặc dù trò chơi đã cũ nhưng tệp tôi có đã được nén bằng trình lưu trữ tệp com/exe tự giải nén. Vì vậy, phần chịu trách nhiệm giải nén chương trình khi khởi động có chứa một lệnh chỉ xuất hiện bắt đầu từ bộ xử lý thứ 286. Vấn đề là lệnh này không ảnh hưởng nhiều đến quá trình giải nén mà chỉ làm hỏng một số byte (chưa đến một phần nghìn). Có lẽ tôi đã dành nhiều thời gian nhất cho những cuộc đối đầu này.

Vì vậy, dần dần, hầu hết tất cả các trò chơi tôi đã bắt đầu khởi chạy và hoạt động mà không gặp vấn đề gì, tôi thậm chí còn thử chơi một số trò chơi trong số đó:

Trong quá trình chạy nhiều trò chơi, hóa ra mô-đun hẹn giờ mà tôi có không còn lý tưởng nữa - trong hầu hết các trường hợp, âm thanh không hoàn toàn chính xác. Quyết định rằng tôi vẫn muốn xử lý xe buýt Wishbone, tôi quyết định gắn bộ hẹn giờ vào VHDL mà tôi đã đề cập trước đó. Để bắt đầu, tôi đọc mô tả về Wishbone và xây dựng một thứ giống như bộ chuyển đổi giữa giao diện Wishbone và bus 8088 - không có gì phức tạp. Thật không may, bộ đếm thời gian không hoạt động. Tôi phải lấy máy hiện sóng ra một lần nữa và xem điều gì đang xảy ra ở đó (trước hết là liệu tín hiệu Wishbone có được hình thành chính xác hay không).

Ai có thể nghĩ rằng vào thời điểm này, một khám phá vĩ đại sẽ chờ đợi tôi... Hãy nhớ rằng tôi đã bị lỗi bộ nhớ như thế nào và buộc phải giới thiệu một sổ đăng ký trung gian, thứ mà về nguyên tắc tôi không thấy cần thiết? Vì vậy, trên màn hình máy hiện sóng tôi nhận được hình ảnh sau:

Đương nhiên, điều đầu tiên đập vào mắt tôi là tiếng chuông khủng khiếp của tín hiệu 2. Hơn nữa, tiếng chuông này chuyển từ thông số định lượng sang thông số định tính. Tín hiệu 6 được tạo ra bởi bộ đếm một bit, đầu vào của nó là tín hiệu 2. Trên thực tế, trên mỗi sườn lên của tín hiệu 2, tín hiệu 6 bị đảo ngược. Nhưng biểu đồ dao động cho thấy tín hiệu 6 đã chuyển đổi một lần không chỉ dọc theo cạnh bình thường của tín hiệu 2 mà còn dọc theo cạnh của “tiếng chuông” mạnh nhất! Những thứ kia. trong mạch của tôi, trên một số đường dây, tiếng chuông có biên độ đến mức có thể gây ra sự chuyển đổi logic sai. Nói rằng tôi bị choáng ngợp là không nói gì. Tôi thậm chí không thể tin rằng với tất cả những điều này, tôi đã có thể đạt được hoạt động ổn định của mạch điện...

Hơn nữa, sau một phân tích ngắn về mạch có tính đến dữ liệu mới, tôi hoàn toàn hiểu rõ chính xác những lỗi cũ phát sinh ở đâu và tại sao thanh ghi đó lại chữa khỏi chúng. Tuy nhiên, cần phải làm gì đó vì đó là tín hiệu 2 cho biết tôi cần làm việc với mô-đun hẹn giờ mới. Và một lần nữa lời kêu gọi truyền thống đối với các chuyên gia. Từ một số lời khuyên trên diễn đàn, phương án cắt đường ray và hàn điện trở ở đó đã được chọn. Kết quả không hề lý tưởng, nhưng tôi không ghi nhận thêm nhiều trường hợp chuyển đổi sai do đổ chuông khi thử nghiệm trong vài giờ:

Thật không may, điều này không ảnh hưởng đến hiệu suất của mô-đun hẹn giờ VHDL - nó im lặng. Sau khi loay hoay một lúc, nguyên nhân đã được phát hiện ở một nơi khá bất ngờ - ngay trong chính mô-đun. Hơn nữa, nó khá bình thường (và thường gặp trong lập trình) - mô-đun xử lý không chính xác một trong các giá trị cực trị, cụ thể là với ước số bằng 0, thay vì chia cho giá trị tối đa (65536), nó không làm gì cả. Tôi luôn kiểm tra quá trình khởi tạo kênh 0, kênh này được khởi tạo bằng ước số tối đa để đạt được tần số 18,2 Hz. Khi tôi sử dụng bộ chia FFFF cho thử nghiệm, mọi thứ đều hoạt động.

Tôi thậm chí còn liên hệ với tác giả của mô-đun, người này (tác giả) đã quên rằng mình đã viết mô-đun này. Tuy nhiên, tác giả đã giúp tôi tìm ra chỗ sai cụ thể và thậm chí tôi còn cố gắng sửa chữa bằng cách nào đó. Vấn đề cụ thể này đã được giải quyết, nhưng những vấn đề khác đã được phát hiện, vì vậy hiện tại tôi đã giải quyết phiên bản đầu tiên của mô-đun, Verilog.

Tại thời điểm này, thiết kế của tôi đã sẵn sàng đến mức tôi đã sẵn sàng cho thử nghiệm chính. Sự thật là vào năm 1986, tôi đọc một bài báo trên tạp chí “In the World of Science”, là bản dịch tiếng Nga của tạp chí “Scientific American” của Mỹ, trong đó nói về sản phẩm mới nhất của Microsoft - cụ thể là trò chơi MS Chuyến bay giả lập. Xét rằng vào thời điểm đó tôi là một người yêu thích máy tính, nhưng đồng thời tôi cũng có ý định chắc chắn trở thành một phi công, bạn có thể hiểu những cảm xúc đang sôi sục trong đầu tôi (và các bộ phận khác trên cơ thể tôi) vào thời điểm đó.

Và bây giờ, gần 30 năm sau, tôi vô cùng khao khát được chạy Flight Simulator lịch sử đó trên máy tính của mình. Sự quan tâm cũng được thúc đẩy bởi thực tế là vào thời đó, có vẻ như hai chương trình gần như được sử dụng chính thức để kiểm tra khả năng tương thích - cùng một Flight Simulator, cũng như Lotus 1-2-3. Người ta nói rằng họ sử dụng các tính năng phần cứng của máy tính chặt chẽ đến mức nếu những chương trình này hoạt động thì mọi thứ khác thậm chí còn hoạt động tốt hơn.

Nói chung, tôi có một số nghi ngờ - tôi vẫn biết về một số cạm bẫy trong thiết kế của mình, nhưng vẫn quyết định mạo hiểm (tất nhiên, đặc biệt là khi xét đến điều đó, tôi không mạo hiểm gì cả). Kết quả trên màn hình:

Nhân tiện, độ nhiễu bí ẩn của bức ảnh ban đầu làm tôi nghi ngờ - tôi ngay lập tức bắt đầu nghĩ về một số cách làm việc rất phức tạp với bộ điều hợp video mà tôi không hỗ trợ. Trên thực tế, hóa ra, Microsoft đang cố gắng tạo ra các màu bổ sung bằng cách kết hợp các dấu chấm từ các màu hiện có. Tôi phải lưu ý rằng, với độ phân giải 320x200, kết quả là, nói một cách nhẹ nhàng, là đáng nghi ngờ.

Việc khởi chạy Lotus 1-2-3 cũng không có vấn đề gì nên cuộc thử nghiệm này có thể được coi là kết thúc. Tuy nhiên, tôi đã thực hiện một số cải tiến và chỉnh sửa nhỏ, sau đó tất cả các chương trình mà tôi hiện đang bắt đầu khởi chạy và hoạt động hoàn toàn bình thường. Tính năng mới duy nhất tôi thêm vào sau đó là EMS. Tôi chỉ đơn giản là bị ám ảnh bởi thực tế là hơn một megabyte bộ nhớ khả dụng đã bị mất (thành thật mà nói, tôi chỉ muốn làm điều gì đó khác), vì vậy tôi đã tìm thấy mô tả về bảng EMS có trình điều khiển và viết một mô-đun mô phỏng hoạt động của bảng này. Trình điều khiển đã nhận dạng thành công bộ nhớ:

Điểm nhấn cuối cùng là việc thiết kế lại bo mạch xử lý. Tôi không thích cơn ác mộng đang xảy ra với các dạng sóng chút nào và tôi cũng muốn luyện tập lại với Eagle. Kết quả là một bảng mạch in 4 lớp đã được bố trí, trong đó một trong các lớp bên trong được phân bổ cho mặt đất, lớp thứ hai cho cả hai điện áp cung cấp. Ngoài ra, điểm đáng chú ý nhất là việc loại bỏ dây cáp - các đầu nối được lắp đặt để bo mạch của tôi cắm trực tiếp vào bo mạch phát triển FPGA (nói chính xác hơn là vào bo mạch mở rộng cổng GPIO của bo mạch phát triển FPGA - một con búp bê như vậy ):

Ngoài ra còn có một số thay đổi về mạch - bộ sắp xếp xung nhịp 8284 đã bị loại bỏ hoàn toàn (tôi quyết định rằng nó có thể được gỡ bỏ dễ dàng bên trong FPGA mà không gây ra thiệt hại nhỏ nhất về khả năng tương thích với tín hiệu bus) và thanh ghi chốt trên bus địa chỉ/dữ liệu (cũng bị loại bỏ). bên trong FPGA). Kiểm tra nhanh các dạng sóng trên bo mạch mới cho thấy các tín hiệu gần như hoàn hảo:

Vì vậy, con đường từ đèn LED nhấp nháy trên bảng mạch không hàn đến một chiếc máy tính hoàn toàn bình thường đã hoàn thành trong vài tháng và tôi đã thu được rất nhiều niềm vui cũng như kiến ​​​​thức về một số lĩnh vực. Kết quả là một chiếc máy tính có khả năng tương thích khá tốt với PC IBM, trên đó có tất cả các chương trình mà tôi không quá lười để tải, bao gồm cả. và những thứ được coi là cực kỳ khắt khe về khả năng tương thích phần cứng. Máy tính gần như hoàn toàn (ngoại trừ trình xử lý INT 13h) sử dụng BIOS phiên bản 3 của PC IBM.

Hầu như không thể nói bất cứ điều gì chắc chắn về ngân sách dự án. Để bắt đầu, những gì cần bao gồm ở đó - chỉ một vài vi mạch (ngụ ý rằng việc cài đặt có thể được thực hiện bởi MGTF, bo mạch FPGA và các thiết bị cấu hình đã có sẵn ở đó) hoặc mọi thứ, bắt đầu từ việc sản xuất bo mạch khẩn cấp, việc mua một Bảng gỡ lỗi FPGA dành riêng cho dự án này và kết thúc bằng một máy hiện sóng không quá rẻ?

Dường như tôi đã chỉ ra các loại vi mạch cụ thể và mọi thứ khác trong bài viết, để bất kỳ ai cũng có thể xem tất cả những thứ này sẽ có giá bao nhiêu trong phiên bản của mình. Đương nhiên, không cần thiết phải sử dụng DE2-115; để tham khảo, đây là các tài nguyên FPGA cần thiết:

Cần lưu ý rằng vẫn còn một loạt các tạo phẩm được sử dụng để gỡ lỗi và bản thân mã hầu như chưa được tối ưu hóa.

Phải làm gì với tất cả những điều này (hoặc có nên làm gì không) thì không hoàn toàn chắc chắn. Trong quá trình này, một lần nữa người ta thấy rõ rằng, mặc dù điều gì đó cũng có thể đạt được bằng sự nhiệt tình và uyên bác, nhưng kiến ​​thức chính thức về những điều cơ bản sẽ đẩy nhanh mọi thứ, tránh nhiều rắc rối và quan trọng nhất là tập trung nhiều hơn vào sự sáng tạo hơn là phát minh ra một chiếc xe đạp với bánh xe vuông. Do đó, hiện nay người ta rất mong muốn lấp đầy những khoảng trống (hay đúng hơn là những lỗ hổng) về kiến ​​​​thức cơ bản về điện tử và thiết kế mạch nói chung và VHDL nói riêng bằng cách sử dụng một số phương pháp cấp tốc. Chúng ta sẽ xem điều này sẽ diễn ra tốt như thế nào - luôn có vấn đề về động lực và sự sẵn có của thời gian rảnh.