1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Kiến trúc máy tính

179 53 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Kiến Trúc Máy Tính
Định dạng
Số trang 179
Dung lượng 3,35 MB

Cấu trúc

  • DANH MỤC HÌNH VẼ, BẢNG BIỂU

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1: TỔNG QUAN

    • 1.1 Máy tính và phân loại máy tính

      • 1.1.1 Máy tính

        • 1.1.1.1 Khái niệm

        • 1.1.1.2 Các nguyên lý cơ bản của máy tính

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

        • 1.1.2.1 Theo mục đích sử dụng

        • 1.1.2.2 Theo mức cải tiến công nghệ

        • 1.1.2.3 Theo đặc trưng thiết kế

        • 1.1.2.4 Theo năng lực sử dụng

    • 1.2 Kiến trúc máy tính

      • 1.2.1 Kiến trúc tập lệnh

      • 1.2.2 Mô hình máy tính cơ bản

      • 1.2.3 Mô hình phân lớp máy tính

      • 1.2.4 Sơ đồ kiến trúc máy tính Von Neumann

    • 1.3 Sự phát triển của máy tính

      • 1.3.1 Thế hệ đầu tiên (1946 - 1957)

      • 1.3.2 Thế hệ thứ hai (1958 - 1964)

      • 1.3.3 Thế hệ thứ ba (1965 - 1971)

      • 1.3.4 Thế hệ thứ tư (1972 - nay)

      • 1.3.5 Khuynh hướng hiện tại

    • 1.4 Hiệu năng máy tính

      • 1.4.1 Hiệu năng máy tính P (Performance)

      • 1.4.2 Tốc độ xung nhịp của CPU

      • 1.4.3 Thời gian thực hiện của CPU

      • 1.4.4 Số chu kỳ cần thiết để thực hiện một lệnh

      • 1.4.5 Số lệnh và số chu kỳ trên một lệnh

      • 1.4.6 Số triệu lệnh được thực hiện trong một giây

    • 1.5 Các phương pháp vào ra dữ liệu máy tính

      • 1.5.1 Phương pháp thăm dò trạng thái thiết bị ngoại vi

      • 1.5.2 Phương pháp sử dụng ngắt

      • 1.5.3 Phương pháp truy cập bộ nhớ trực tiếp DMA

      • 1.5.4 Phương pháp sử dụng kênh dữ liệu

    • 1.6 Thiết kế một số mạch logic đơn giản

      • 1.6.1 Cổng Logic cơ sở

        • 1.6.1.1 Cổng NOT

        • 1.6.1.2 Cổng AND

        • 1.6.1.3 Cổng OR

        • 1.6.1.4 Cổng NAND

        • 1.6.1.5 Cổng NOR

        • 1.6.1.6 Cổng XOR

      • 1.6.2 Thiết kế mạch Logic

    • 1.7 Hệ tổ hợp và hệ dãy

      • 1.7.1 Khái niệm hệ tổ hợp và hệ dãy

      • 1.7.2 Xây dựng bộ cộng, bộ trừ

        • 1.7.2.1 Bộ cộng

        • 1.7.2.2 Bộ trừ

  • CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 1

  • Chương 2: THIẾT KẾ HỆ LỆNH

    • 2.1. Giới thiệu dạng lệnh, kích thước mã lệnh.

    • 2.2. Số lượng các lệnh cho bộ Vi xử lý

    • 2.3. Phân loại lệnh

      • 2.3.1 Nhóm lệnh truyền dữ liệu

      • 2.3.2 Nhóm lệnh số học.

      • 2.3.3 Nhóm lệnh logic.

      • 2.3.4 Nhóm lệnh so sánh.

      • 2.3.5 Nhóm lệnh điều khiển chương trình.

        • 2.3.5.1 Lệnh nhảy

        • 2.3.5.2 Lệnh lặp:

        • 2.3.5.3 Lệnh gọi chương trình con CALL:

      • 2.3.6 Các lệnh đặc biệt.

    • 2.4. Các phương pháp xác định địa chỉ

      • 2.4.1 Định địa chỉ tức thì

      • 2.4.2 Định địa chỉ thanh ghi

      • 2.4.3 Định địa chỉ trực tiếp

      • 2.4.4 Định địa chỉ gián tiếp qua thanh ghi

      • 2.4.5 Định địa chỉ gián tiếp qua ngăn nhớ

      • 2.4.6 Định địa chỉ dịch chuyển

    • 2.5. Số lượng các tham số trong một lệnh

      • 2.5.1 Hệ lệnh không có tham số

      • 2.5.2 Hệ lệnh một tham số

      • 2.5.3 Hệ lệnh hai tham số

      • 2.5.4 Hệ lệnh ba tham số

    • 2.6. Quy trình thực hiện lệnh

  • CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 2

  • Chương 3: BỘ XỬ LÝ TRUNG TÂM CPU

    • 3.1 Tổ chức của CPU (Central Processing Unit)

    • 3.2 Thiết kế đơn vị điều khiển

      • 3.2.1 Thực hiện bằng vi chương trình

      • 3.2.2 Thực hiện bằng kết nối cứng

    • 3.3. Kỹ thuật đường ống Pipeline

      • 3.3.1 Khái niệm Pipeline

      • 3.3.2 Phân loại Pipeline

      • 3.3.3 Các hazards trong kỹ thuật Pipeline

        • 3.3.3.1 Vấn đề tăng thông lượng của lệnh.

        • 3.3.3.2 Các kiểu xung đột trong đường ống lệnh Pipeline.

    • 3.4 Kỹ thuật song song mức lệnh

      • 3.4.1 Khái niệm và vai trò của kỹ thuật song song mức lệnh

      • 3.4.2 Phụ thuộc trong song song mức lệnh

    • 3.5 Bộ xử lý đa luồng và đa lõi

  • CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 3

  • Chương 4: THIẾT KẾ BỘ NHỚ

    • 4.1. Mô hình phân cấp bộ nhớ

      • 4.1.1 Sự cần thiết của phân cấp bộ nhớ

      • 4.1.2 Quy tắc chung của hệ thống phân cấp bộ nhớ

      • 4.1.3 Phần tử nhớ và bộ nhớ

    • 4.2. Xây dựng bộ nhớ

      • 4.2.1 Các bước tiến hành xây dựng bộ nhớ

      • 4.2.2 Ví dụ minh họa

    • 4.3. Bộ nhớ cache

      • 4.3.1 Một số khái niệm

        • 4.3.1.1 Vị trí của cache

        • 4.3.1.2 Vai trò của cache

        • 4.3.1.3 Dung lượng

        • 4.3.1.4 Phân loại cache

        • 4.3.1.5 Hệ số CacheHit và CacheMiss

        • 4.3.1.6 Thực thi cache

      • 4.3.2 Tổ chức và hoạt động của bộ nhớ cache

        • 4.3.2.1 Tổ chức bộ nhớ cache

        • 4.3.2.2 Hoạt động của bộ nhớ cache

      • 4.3.3 Các phương pháp ánh xạ

        • 4.3.3.1 Ánh xạ trực tiếp (Direct Mapping).

        • 4.3.3.2 Ánh xạ liên kết toàn phần (Full Associative Mapping)

        • 4.3.3.3 Ánh xạ liên kết tập hợp:

      • 4.3.4 Các phương pháp thay thế dữ liệu

    • 4.4. Bộ nhớ ảo và kỹ thuật phân trang

      • 4.4.1 Sự cần thiết của bộ nhớ ảo

      • 4.4.2 Bộ nhớ ảo và kỹ thuật phân trang

      • 4.4.3 Các phương pháp thay thế khung trang

        • 4.4.3.1 Thay thế trang FIFO

        • 4.4.3.2 Thay thế trang tối ưu hoá

        • 4.4.3.3 Thay thế trang LRU

    • 4.5. Bộ nhớ ảo và kỹ thuật phân đoạn

      • 4.5.1 Khái niệm phân đoạn

      • 4.5.2 Các chiến lược đặt các phân đoạn vào bộ nhớ chính

        • 4.5.2.1 Tìm vị trí vừa nhất (best fit)

        • 4.5.2.2 Tìm vị trí lớn nhất (Worst fit)

        • 4.5.2.3 Tìm vị trí mà vừa đoạn đầu tiên (First fit)

    • 4.6. Ngắt và loại trừ

      • 4.6.1 Hiện tượng Ngắt (Interrupt)

      • 4.6.2 Hiện tượng Loại trừ

  • CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 4

  • Chương 5: HỆ THỐNG VÀO RA

    • 5.1. Tổng quan về hệ thống vào ra

      • 5.1.1 Giới thiệu chung

      • 5.1.2 Các thiết bị ngoại vi

      • 5.1.3 Modul vào ra

    • 5.2 Các phương pháp điều khiển vào ra

      • 5.2.1 Vào ra bằng chương trình

      • 5.2.2 Vào ra điều khiển bằng ngắt

      • 5.2.3 Vào ra DMA

      • 5.2.4 Kênh vào ra hay bộ xử lý vào ra

    • 5.3 Nối ghép thiết bị ngoại vi

      • 5.3.1 Các kiểu nối ghép vào ra

      • 5.3.2 Các cấu hình nối ghép

  • CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 5

  • Chương 6: MỘT SỐ KIẾN TRÚC HIỆN ĐẠI

    • 6.1 Phân loại Kiến trúc máy tính

      • 6.1.1 SISD (Single Instruction Stream, Single Data Stream)

      • 6.1.2 SIMD (Single Instruction Stream Multiple Data Stream)

      • 6.1.3 MISD (Multiple Instruction Stream single Data Stream)

      • 6.1.4 MIMD (Multiple Instruction Stream multiple Data Stream)

    • 6.2 Kiến trúc RISC và CISC

      • 6.2.1 Kiến trúc RISC

      • 6.2.2 Kiến trúc CISC

      • 6.2.3 Sự khác biệt chính giữa RISC và CISC

    • 6.3 Kiến trúc song song và mạng liên kết trong

      • 6.3.1 Song song mức lệnh và song song mức luồng

        • 6.3.1.1 Song song mức lệnh

        • 6.3.1.2 Kiến trúc song song mức luồng

      • 6.3.2 Mạng liên kết trong

        • 6.3.2.1 Mạng liên kết tuyến tính (Linear)

        • 6.3.2.2 Mạng liên kết dạng vòng (Ring)

        • 6.3.2.3 Mạng liên kết trao đổi phi tuyến (Shuffle Exchange)

        • 6.3.2.4 Mạng liên kết lưới hai chiều (Two-Dimensional Mesh)

        • 6.3.2.5 Mạng liên kết siêu khối (hypercube or n-cube)

    • 6.4 Một số kiến trúc tương lai

      • 6.4.1 Kiến trúc IA - 64

      • 6.4.2 Kiến trúc mạng nơ-ron

      • 6.4.3 Kiến trúc Nehalem

      • 6.4.4 Kiến trúc máy tính lượng tử

  • CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG 6

  • TÀI LIỆU THAM KHẢO

Nội dung

TỔNG QUAN

Máy tính và phân lo ạ i máy tính

Máy tính là thiết bị điện tử có khả năng nhận và xử lý dữ liệu theo các lệnh đã được lập trình sẵn, sau đó xuất ra thông tin Thông tin trên máy tính được lưu trữ dưới dạng số hoặc quy luật logic, và hoạt động của nó được điều khiển bởi hệ điều hành Các thành phần của máy tính được lắp ghép để thực hiện các chức năng đơn giản, và sự tương tác phức tạp giữa chúng cho phép máy tính xử lý thông tin hiệu quả Khi được cấu hình đúng cách, máy tính có thể mô phỏng các khía cạnh của vấn đề hoặc hệ thống, giúp tự động giải quyết vấn đề hoặc dự đoán sự thay đổi của hệ thống khi có dữ liệu thích hợp.

Từ “máy tính” ban đầu chỉ dành cho những người thực hiện tính toán số học, nhưng ngày nay nó đã trở thành một loại máy móc hiện đại Trong quá khứ, máy tính chỉ giải các bài toán số học, trong khi hiện nay chúng có khả năng thực hiện nhiều tác vụ phức tạp hơn Đến những năm 1990, khái niệm máy tính đã tách rời khỏi điện toán và phát triển thành một ngành khoa học độc lập, được gọi là công nghệ thông tin, với nhiều lĩnh vực đa dạng hơn so với điện toán truyền thống.

1.1.1.2 Các nguyên lý cơ bả n c ủ a máy tính

Máy tính có thể làm việc thông qua sự chuyển động của các bộ phận cơ khí, điện tử

Máy tính điện tử, được xây dựng từ nhiều công nghệ khác nhau, có khả năng mô hình hóa các vấn đề cần giải quyết bằng cách sử dụng các yếu tố toán học Thông tin được chuyển đổi thành hệ nhị phân (0 và 1) và các phép toán được thực hiện thông qua đại số Boole Điều này cho phép máy tính xử lý nhanh chóng phần lớn các vấn đề toán học, ví dụ như mô phỏng chuyển động của nước trong đập dựa trên dòng chuyển động của điện tử.

Máy tính không thể giải quyết tất cả vấn đề toán học, điều này đã được Alan Turing chỉ ra trong khoa học lý thuyết máy tính Khi máy tính hoàn tất tính toán, kết quả được hiển thị qua các thiết bị xuất như màn hình hay máy in Máy tính thực hiện các tìm kiếm cơ khí theo lập trình sẵn và chuyển đổi chúng thành ký hiệu mà con người có thể cảm nhận Chỉ có bộ não con người mới có khả năng nhận thức và gán ý nghĩa cho các ký hiệu này, biến chúng thành chữ cái hay số.

Máy tính số (Digital computer) hoạt động bằng cách thực hiện các chỉ thị do con người cung cấp, được gọi là chương trình (program) Các mạch điện tử trong máy tính số thực hiện một số lượng giới hạn các chỉ thị đơn giản đã được lập trình sẵn.

Tập hợp các chỉ thị được gọi là tập lệnh máy tính, và mọi chương trình cần thực thi đều phải được chuyển đổi sang dạng tập lệnh trước khi thực hiện.

Ngôn ngữ máy (machine language) là tập lệnh của máy tính, cho phép con người tương tác với máy tính Tuy nhiên, do tính đơn giản của hầu hết các ngôn ngữ máy, người thiết kế phải thực hiện công việc phức tạp để chuyển đổi yêu cầu thành các chỉ thị có trong tập lệnh của máy.

Để giải quyết vấn đề này, cần thiết kế một tập lệnh mới phù hợp với con người hơn so với tập lệnh đã cài sẵn trong máy Ngôn ngữ máy được gọi là ngôn ngữ cấp một (L1), trong khi ngôn ngữ mới được hình thành sẽ được gọi là ngôn ngữ cấp hai (L2).

Một phương pháp thực thi chương trình L2 là chuyển đổi lệnh trong L2 thành chuỗi lệnh tương đương trong L1, tạo ra một chương trình L1 để máy tính thực hiện Kỹ thuật này được gọi là biên dịch (compile) Một cách khác là xem lệnh trong chương trình L2 như dữ liệu đầu vào của chương trình L1, cho phép toàn bộ chương trình L2 được thực thi tuần tự mà không cần tạo ra chương trình mới trong L1, kỹ thuật này gọi là thông dịch (interprete).

Biên dịch và thông dịch đều chuyển đổi chương trình L2 sang tập lệnh L1, nhưng có sự khác biệt trong cách thực hiện Trong biên dịch, toàn bộ chương trình L2 được chuyển đổi thành chuỗi lệnh L1 trước khi thực thi, trong khi đó, thông dịch thực thi từng lệnh của chương trình L2 ngay lập tức.

1.1.2.1 Theo m ục đích sử d ụ ng

Siêu máy tính là những hệ thống máy tính vượt trội về khả năng và tốc độ xử lý, với khả năng đạt hàng nghìn teraflop, tương đương với một nghìn tỷ phép tính mỗi giây Thuật ngữ "Siêu Tính Toán" lần đầu tiên được sử dụng trong báo New York World vào năm 1920 để chỉ những bảng tính lớn của IBM tại Đại học Columbia Hiện nay, siêu máy tính có hiệu suất tương đương với tổng của 6.000 máy tính hiện đại, mỗi máy có tốc độ khoảng 3-3,8 gigaflop, cho thấy sức mạnh vượt trội của chúng nhờ vào khả năng làm việc song song.

Siêu máy tính cỡ nhỏ

Siêu máy tính cỡ nhỏ (minisupercomputers) xuất hiện vào giữa thập kỷ 1980, khi nhu cầu tính toán khoa học với bộ xử lý vector gia tăng Sự chuyển dịch này đã tạo cơ hội cho các nhà sản xuất máy tính mới gia nhập thị trường, nhắm đến các hệ thống giá thành thấp cho cấp độ phòng ban thay vì doanh nghiệp Mục tiêu giá cả của các máy tính nhỏ này chỉ bằng một phần mười so với các siêu máy tính lớn hơn, và chúng đặc trưng bởi sự kết hợp giữa xử lý vector và đa xử lý cỡ nhỏ.

Máy tính lớn (Mainframe) là thiết bị có kích thước lớn, chủ yếu được sử dụng bởi các tập đoàn lớn như ngân hàng và hãng bảo hiểm để xử lý khối lượng lớn dữ liệu Chúng thường được áp dụng trong các lĩnh vực như điều tra dân số, thống kê khách hàng và giao dịch thương mại So với máy tính cá nhân, máy tính lớn có khả năng thực hiện hàng ngàn lệnh đồng thời, giúp tối ưu hóa hiệu suất và xử lý dữ liệu hiệu quả.

Máy chủ doanh nghiệp là hệ thống máy tính thiết yếu cho các doanh nghiệp lớn, bao gồm các loại như máy chủ web, máy chủ in ấn và máy chủ cơ sở dữ liệu Tính ổn định là yếu tố quan trọng nhất để phân biệt máy chủ doanh nghiệp, vì ngay cả một sự cố ngắn hạn cũng có thể gây thiệt hại lớn hơn so với việc mua mới và cài đặt hệ thống Ví dụ, trong thị trường chứng khoán quốc gia, một sự cố ngừng hoạt động chỉ vài phút có thể khiến việc thay thế toàn bộ hệ thống bằng một giải pháp đáng tin cậy hơn trở thành lựa chọn tối ưu.

Thuật ngữ "máy tính mini" xuất hiện vào những năm 1960 để chỉ các máy tính nhỏ hơn sử dụng bóng bán dẫn và công nghệ bộ nhớ lõi, còn được gọi là máy tính tầm trung Chúng được ứng dụng trong kiểm soát quá trình sản xuất, chuyển mạch điện thoại và kiểm soát thiết bị phòng thí nghiệm Đến những năm 1970, máy tính mini trở thành phần cứng quan trọng trong ngành công nghiệp thiết kế hỗ trợ máy tính (CAD) và các lĩnh vực tương tự cần hệ thống chuyên dụng nhỏ gọn.

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

Kiến trúc máy tính là khái niệm trừu tượng về hệ thống tính toán từ góc độ lập trình viên, cho phép can thiệp vào các thành phần như thanh ghi, ô nhớ và ngắt thông qua các lệnh Nó bao gồm những thuộc tính ảnh hưởng trực tiếp đến quá trình thực hiện logic của chương trình, như tập lệnh, biểu diễn dữ liệu, cơ chế vào ra và kỹ thuật đánh địa chỉ.

Tổ chức máy tính là sự kết hợp giữa các khối chức năng và cách chúng kết nối để thực hiện các đặc tính kiến trúc, bao gồm tập lệnh, số bit biểu diễn kiểu dữ liệu, cơ chế vào/ra (I/O) và kỹ thuật định địa chỉ bộ nhớ Các thuộc tính tổ chức liên quan đến đặc điểm phần cứng như tín hiệu điều khiển, giao diện với thiết bị ngoại vi và công nghệ bộ nhớ Ví dụ, khi thiết kế kiến trúc để thực hiện lệnh Nhân, tổ chức sẽ xác định liệu lệnh này được thực hiện bởi một đơn vị phần cứng đặc biệt hay một cơ chế lặp lại phép cộng, tùy thuộc vào tần suất sử dụng, tốc độ tính toán, chi phí và kích thước của từng phương án.

Hiện nay, sự khác biệt giữa kiến trúc và tổ chức trong lĩnh vực máy tính vẫn rất rõ ràng Nhiều nhà sản xuất cung cấp các mẫu máy tính với kiến trúc tương tự nhưng có tổ chức khác nhau, dẫn đến sự đa dạng về giá cả và hiệu suất Một kiến trúc có thể tồn tại lâu dài và được áp dụng cho nhiều mẫu máy khác nhau, trong khi tổ chức của nó lại thay đổi theo sự phát triển của công nghệ.

Mối quan hệ giữa kiến trúc và tổ chức trong máy vi tính rất chặt chẽ, với sự thay đổi công nghệ ảnh hưởng đến cả hai yếu tố này Những thay đổi này không chỉ tạo ra kiến trúc máy tính mạnh mẽ và phức tạp hơn mà còn dẫn đến yêu cầu tương thích giữa các thế hệ máy tính thấp Do đó, thiết kế tổ chức và kiến trúc máy tính cần có sự tương tác nhiều hơn.

Kiến trúc tập lệnh là thuật ngữ chỉ tập lệnh mà lập trình viên có thể nhìn thấy và cần hiểu để viết chương trình cho máy tính Đây là cấu trúc mà máy tính nhận diện, chỉ có ngôn ngữ máy mới được máy tính hiểu khi thực thi Ngoài ra, kiến trúc tập lệnh còn cung cấp thông tin cần thiết cho các nhà thiết kế phần cứng để phát triển sản phẩm máy tính chuẩn.

Kiến trúc tập lệnh là cầu nối giữa phần cứng và phần mềm trong máy tính, bao gồm hai thành phần chính: tổ chức và phần cứng Tổ chức đề cập đến các bộ phận cao cấp như hệ thống bộ nhớ, cấu trúc bus và thiết kế CPU, nơi thực hiện các phép toán số học, logic, rẽ nhánh và truyền dữ liệu Phần cứng lại chỉ những đặc điểm chi tiết của máy tính, bao gồm thiết kế logic và công nghệ đóng gói Thông thường, các dòng máy tính có cùng kiến trúc tập lệnh và tổ chức tương tự, nhưng khác nhau về thực hiện phần cứng Ví dụ, Pentium và Celeron có kiến trúc tương đồng, nhưng khác biệt về tốc độ đồng hồ và hệ thống bộ nhớ, khiến Celeron phù hợp hơn với các máy tính loại thấp.

Nhà thiết kế máy tính phải đáp ứng các yêu cầu về năng lượng và hiệu suất, trong đó việc xác định các yêu cầu này là nhiệm vụ quan trọng Những yêu cầu này thường phản ánh các đặc điểm cụ thể do tác động của thị trường Phần mềm ứng dụng có thể ảnh hưởng đến quyết định thiết kế, đặc biệt khi xác định cách thức sử dụng máy tính Nếu có nhiều phần mềm cho một kiến trúc tập lệnh nhất định, nhà thiết kế có thể chọn thực hiện một tập lệnh hiện có cho máy tính mới.

Một kiến trúc tập lệnh thành công phải được thiết kế để tồn tại qua những thay đổi nhanh chóng của công nghệ máy tính Trong suốt những thập kỷ qua, bộ lõi của máy tính lớn IBM đã hoạt động hơn ba mươi năm Để chuẩn bị cho sự phát triển của công nghệ, các nhà thiết kế cần nhận thức rõ ràng về sự thay đổi nhanh chóng trong công nghệ thực hiện Hiện nay, có bốn công nghệ thực hiện đang thay đổi với tốc độ đáng kinh ngạc trong lĩnh vực công nghệ hiện đại.

Công nghệ mạch tích hợp logic đang chứng kiến sự gia tăng mật độ transistor khoảng 35% mỗi năm, trong khi hiệu quả kết hợp cho thấy tốc độ tăng trưởng tổng số transistor trên mỗi chip đạt 55% hàng năm.

Công nghệ đĩa từ đã chứng kiến sự cải tiến vượt bậc về mật độ lưu trữ, với mức tăng hơn 100% mỗi năm, gấp bốn lần trong vòng hai năm qua Trước năm 1990, mức tăng này chỉ đạt khoảng 30% mỗi năm, gấp đôi trong ba năm Dự báo rằng tốc độ tăng mật độ sẽ tiếp tục nhanh hơn trong tương lai, đồng thời thời gian truy cập cũng được cải thiện tới 1/3 trong mười năm.

Công nghệ mạng hiện nay ngày càng phụ thuộc vào hiệu năng chuyển mạch và hệ thống truyền dẫn Việc cải thiện độ trễ và băng thông đang trở thành ưu tiên hàng đầu, với sự chú ý đặc biệt đến băng thông trong thời gian gần đây Cơ sở hạ tầng Internet tại Mỹ phát triển nhanh chóng, với băng thông tăng gấp đôi mỗi năm nhờ vào việc sử dụng cáp quang và triển khai nhiều phần cứng chuyển mạch.

Các công nghệ phát triển nhanh chóng đang ảnh hưởng đến thiết kế bộ vi xử lý, với tốc độ và công nghệ ngày càng nâng cao, có thể kéo dài tuổi thọ lên đến năm năm hoặc hơn Sự gia tăng tổng số transistor theo cấp số nhân và hiệu suất cải thiện theo tuyến tính tạo ra cả thách thức lẫn cơ hội cho kiến trúc máy tính Gần đây, mật độ transistor đã được cải thiện đáng kể, dẫn đến sự chuyển mình của các bộ xử lý từ 4 bit lên 8 bit, 16 bit, 32 bit và mới đây là 64 bit, nhờ vào các công nghệ tiên tiến như Pipeline và Cache.

Kiến trúc CISC (Complex Instruction Set Computing) có đặc điểm là tập lệnh lớn và phức tạp, ra đời từ những năm 1960 nhằm giảm độ dài chương trình và cải thiện hiệu suất thực thi Với định hướng thiết kế này, các lệnh thường có chiều dài thay đổi và có thể thực hiện nhiều chức năng khác nhau, giúp chương trình ngắn hơn và số lệnh cần thiết ít hơn so với kiến trúc RISC CISC hỗ trợ tốt hơn cho các ngôn ngữ lập trình cao cấp nhờ vào tập lệnh phong phú, đồng thời cho phép truy cập bộ nhớ dễ dàng hơn Tuy nhiên, kiến trúc này cũng tồn tại một số nhược điểm như kích thước bộ điều khiển lớn, hạn chế khả năng tích hợp vào vi xử lý, tốc độ tính toán chậm hơn và thời gian xây dựng vi xử lý kéo dài do sự phức tạp của các câu lệnh.

Kiến trúc RISC là phương pháp thiết kế bộ vi xử lý với tập lệnh đơn giản hóa, giúp thời gian thực thi lệnh đồng nhất và tăng tốc độ xử lý Thiết kế này tối ưu hóa quy trình thực thi, giảm số lần truy xuất bộ nhớ và giữ lại chỉ những bộ phận thiết yếu của vi xử lý, đồng thời ưu tiên thực hiện các chức năng bằng phần mềm Ưu điểm của RISC bao gồm tốc độ xử lý nhanh hơn so với CISC, chi phí thiết kế thấp hơn và độ tin cậy cao, hỗ trợ ngôn ngữ bậc cao Tuy nhiên, nhược điểm của kiến trúc RISC là các chương trình thường dài hơn so với CISC, cần tính toán địa chỉ hiệu dụng và có ít lệnh hỗ trợ cho ngôn ngữ cấp cao, dẫn đến việc phải sử dụng nhiều lệnh cho một công việc nhất định.

1.2.2 Mô hình máy tính cơ bản

Máy tính bao gồm các khối chức năng chính sau:

1) Bộ nhớ chính (Main Memory): là nơi lưu giữchương trình và dữ liệu trước khi chươngtrình được thực hiện Đây là một tập hợp các ô nhớ, mỗi ô nhớ có một số bit nhất định và chứa một thông tin được mã hoá thành số nhị phân, không quan tâm đến kiểu của dữ liệu mà nó đang chứa Các thông tin này là các lệnh hay số liệu Bộ nhớ chính bao gồm hai loại: RAM và ROM

S ự phát tri ể n c ủ a máy tính

ENIAC, máy tính điện tử số đầu tiên, được thiết kế bởi Giáo sư Mauchly và học trò Eckert tại Đại học Pennsylvania vào năm 1943 và hoàn thành vào năm 1946 Với kích thước khổng lồ dài 20 mét, cao 2,8 mét và rộng vài mét, ENIAC bao gồm 18.000 đèn điện tử, 1.500 công tắc tự động, nặng 30 tấn và tiêu thụ 140KW giờ.

Thiết bị này sở hữu 20 thanh ghi 10 bit, cho phép thực hiện tới 5.000 phép toán cộng mỗi giây Quá trình lập trình được thực hiện thủ công thông qua việc đấu nối các đầu cắm điện và sử dụng các ngắt điện.

Giáo sư toán học John Von Neumann đã phát triển ý tưởng thiết kế máy tính IAS, trong đó chương trình được lưu trữ trong bộ nhớ, bộ điều khiển thực hiện việc lấy lệnh và biến đổi dữ liệu Bộ làm toán và luận lý (ALU) được điều khiển để thực hiện các phép toán trên dữ liệu nhị phân và quản lý hoạt động của các thiết bị vào ra Ý tưởng này đã trở thành nền tảng cho các máy tính hiện đại, được biết đến với tên gọi máy tính Von Neumann.

Công ty Bell đã phát minh ra transistor vào năm 1947, đánh dấu sự chuyển mình của máy tính sang thế hệ thứ hai với việc thay thế đèn điện tử bằng transistor lưỡng cực Đến cuối thập niên 50, máy tính thương mại sử dụng transistor mới xuất hiện, giúp giảm kích thước, chi phí và tiêu tốn năng lượng ít hơn Thời điểm này, mạch in và bộ nhớ bằng xuyến từ được áp dụng, cùng với sự ra đời của các ngôn ngữ lập trình cấp cao như FORTRAN (1956), COBOL (1959) và ALGOL (1960) Hệ điều hành kiểu tuần tự (Batch Processing) cũng được sử dụng, cho phép chạy chương trình của người dùng theo thứ tự lần lượt.

Hình 1.5 Máy tính DEC PDP-1

Thế hệ thứ ba của công nghệ máy tính được đặc trưng bởi sự ra đời của các mạch tích hợp (IC), trong đó mạch tích hợp mật độ thấp (SSI) có khả năng chứa vài chục linh kiện, còn mạch tích hợp mật độ trung bình (MSI) có thể chứa hàng trăm linh kiện Sự xuất hiện của mạch in nhiều lớp và bộ nhớ bán dẫn đã bắt đầu thay thế bộ nhớ bằng xuyến từ Đồng thời, máy tính đa chương trình và hệ điều hành chia thời gian cũng được ứng dụng rộng rãi.

Hình 1.6 Máy tính DEC PDP-8 (1965)

1.3.4 Thế hệ thứ tư (1972 - nay)

Thế hệ thứ tư của công nghệ máy tính được đặc trưng bởi sự phát triển của các IC với mật độ tích hợp cao, bao gồm LSI (Large Scale Integration) và VLSI (Very Large Scale Integration), cho phép chứa hàng triệu linh kiện trên một mạch Sự ra đời của bộ vi xử lý đã tích hợp cả phần thực hiện và điều khiển, đánh dấu bước ngoặt trong việc phát triển máy tính cá nhân Các loại bộ nhớ như bộ nhớ bán dẫn, bộ nhớ cache và bộ nhớ ảo ngày càng được sử dụng phổ biến, cùng với các kỹ thuật cải tiến tốc độ xử lý như kỹ thuật ống dẫn và kỹ thuật vô hướng, góp phần nâng cao hiệu suất của máy tính.

Hình 1.7 Máy tính MITS Altair (1975)

Hình 1.8 Máy vi tính để bàn FPT eLead T7100 (2015)

Hình 1.9 Máy tính bảng iPad Air 2019

Việc chuyển đổi từ thế hệ thứ tư sang thế hệ thứ năm của máy tính vẫn còn nhiều điều chưa rõ ràng Nhật Bản đang dẫn đầu trong nghiên cứu phát triển thế hệ máy tính thông minh, sử dụng các ngôn ngữ trí tuệ nhân tạo như LISP và PROLOG cùng với giao diện người-máy thông minh Đến nay, các nghiên cứu đã cho ra mắt những sản phẩm đầu tiên, trong đó nổi bật nhất là ASIMO (Advanced Step), một robot thông minh gần giống con người, được giới thiệu vào năm 2004.

ASIMO, với hàng trăm nghìn máy móc điện tử tiên tiến, có khả năng di chuyển linh hoạt trên cầu thang, nhận diện người và cử chỉ, cũng như phản ứng với giọng nói và lệnh của con người Nó có thể bắt chước cử động, gọi tên người và cung cấp thông tin một cách thân thiện Sự phát triển không ngừng của mật độ tích hợp trong VLSI đã dẫn đến sự ra đời của các vi xử lý mạnh mẽ hơn, từ 8 bit đến 64 bit, với sự xuất hiện của bộ xử lý RISC vào năm 1986 và bộ xử lý siêu vô hướng vào năm 1990 Những bộ xử lý này đã cho phép phát triển các máy tính song song, dự đoán rằng thế hệ thứ năm sẽ là thời kỳ của các máy tính xử lý song song với hàng ngàn bộ xử lý.

Hi ệu năng máy tính

Để đo đạc và đánh giá hiệu năng của máy tính, cần xác định các yếu tố quyết định đến hiệu suất hoạt động Hiệu năng phần cứng là yếu tố mấu chốt ảnh hưởng đến hiệu quả hoạt động của cả hệ thống, bao gồm phần cứng và phần mềm Điều này khiến hiệu năng trở thành một thuộc tính quan trọng đối với các nhà thiết kế máy tính, cũng như trong quá trình lựa chọn và giao dịch máy tính, thu hút sự quan tâm từ cả người bán và người mua.

Đánh giá hiệu năng máy tính là một nhiệm vụ phức tạp, không chỉ phụ thuộc vào cải tiến phần cứng mà còn vào phần mềm thông minh và cách ứng dụng khác nhau Hiệu năng có thể được đo lường qua nhiều phương pháp và chỉ số khác nhau Đối với các nhà thiết kế phần cứng và phần mềm, việc hiểu rõ các vấn đề liên quan đến đánh giá hiệu năng máy tính là rất quan trọng Trong từng ứng dụng cụ thể, cần xác định phương pháp đánh giá hiệu năng phù hợp.

1.4.1 Hiệu năng máy tính P (Performance)

Ví dụ 1: Máy tính A nhanh hơn máy tính B k lần

Ví dụ 2: Thời gian chạy chương trình trên máy A và B tương ứng là 10s và 15s

Vậy máy A nhanh hơn máy B 1.5 lần

Thời gian là thước đo quan trọng cho hiệu suất máy tính, được định nghĩa theo nhiều cách khác nhau như thời gian theo đồng hồ, thời gian đáp ứng và thời gian trôi qua Các máy tính hoạt động theo nguyên lý chia thời gian, cho phép bộ xử lý làm việc đồng thời với nhiều chương trình Thời gian thực thi chương trình bao gồm cả thời gian xử lý của CPU và các thiết bị khác như bộ nhớ và đĩa cứng Tuy nhiên, trong bài viết này, chúng ta sẽ chỉ tập trung vào thời gian CPU để đánh giá hiệu năng của máy tính.

1.4.2 Tốc độ xung nhịp của CPU

Về mặt thời gian, CPU hoạt động theo một xung nhịp (clock) có tốc độxác định

Hình 1.10 Chu kỳ xung nhịp của CPU

Chu kỳ xung nhịp T0 (Clock period): là thời gian của một chu kỳ

Tốc độ xung nhịp f0 (Clock rate) hay còn gọi là tần số xung nhịp: là số chu kỳ trong một giây

Ví dụ: Bộ xử lý có 𝑓 0 = 4𝐺𝐻𝑧 = 4 ∗ 10 9 𝐻𝑧

1.4.3 Thời gian thực hiện của CPU

Thời gian CPU thực hiện chương trình - CPUtime:

𝑓 0 Trong đó n là số chu kỳ xung nhịp Hiệu năng được tăng lên bằng cách giảm số chu kỳ xung nhịp n, tăng tốc độ xung nhịp f0

Hai máy tính A và B cùng chạy một chương trình, trong đó máy A có tốc độ xung nhịp CPU fA = 2GHz và thời gian thực hiện chương trình tA = 10s Trong khi đó, máy B có thời gian thực hiện chương trình tB = 6s Số chu kỳ xung nhịp khi chạy chương trình trên máy B (nB) nhiều hơn 1.2 lần số chu kỳ xung nhịp trên máy A (nA).

Hãy xác định tốc độ xung nhịp cần thiết cho máy B

Số chu kỳ xung nhịp khi chạychương trình trên máy A:

Số chu kỳ xung nhịp khi chạychương trình trên máy B:

𝑛𝐴 = 1.2 ∗ 𝑛𝐴 = 24 ∗ 10 9 Tốc độ xung nhịp cần thiết cho máy B:

1.4.4 Số chu kỳ cần thiết để thực hiện một lệnh

𝐶𝑃𝐼 =ET ∗ CR Trong đó: EI

EI: số lệnh được thực hiện (executed instructions)

ET: thời gian thực hiện lệnh (execution time)

CR: tần số (clock rate)

Giả sử: Thực hiện lệnh A có CPI = 2

Biết 1 CPI = 2ns (nano giây)  làm hết lệnh trên cần 26s

1.4.5 Số lệnh và số chu kỳ trên một lệnh

Số chu kỳ xung nhịp của chương trình:

𝑛 = 𝐼𝐶 ∗ 𝐶𝑃𝐼 Trong đó: n: số chu kỳ xung nhịp

IC: số lệnh của chương trình (Instruction Count)

CPI: số chu kỳ trên một lệnh (Cycles per Instruction)

Vậy thời gian thực hiện CPU

𝑓 0 Trong trường hợp các lệnh khác nhau có CPI khác nhau cần tính CPI trung bình (làm nốt CPI trung bình)

Nếu các loại lệnh khác nhau, có số chu kỳ khác nhau, ta có tổng số chu kỳ:

1.4.6 Số triệu lệnh được thực hiện trong một giây

MIPs (Million Instruction Per Second):

IF: tần suất xuất hiện lệnh

 : thời gian một chu kỳ máy

Nạp và ghi dữ liệu 30.4 1.5

Cộng trừ số nguyên 10 1 Nhân chia số nguyên 3.8 10

Cộng trừ số thực 9.5 7 Nhân chia số thực 6.5 15

So sánh và dịch ở dữ liệu 16.8 2 Cho  = 10 ns Tính MIPs = ?

Các phương pháp vào ra dữ liệu máy tính

1.5.1 Phương pháp thăm dò trạng thái thiết bị ngoại vi

CPU liên tục gửi tín hiệu để kiểm tra xem có thiết bị nào sẵn sàng gửi dữ liệu hay không Khi một thiết bị ngoại vi muốn trao đổi dữ liệu, nó sẽ phản hồi bằng tín hiệu sẵn sàng Lúc này, CPU tiến hành trao đổi dữ liệu với thiết bị ngoại vi đó.

1.5.2 Phương pháp sử dụng ngắt

CPU hoạt động liên tục cho đến khi một thiết bị ngoại vi hoặc thành phần nào đó của máy tính yêu cầu trao đổi dữ liệu Khi đó, thiết bị ngoại vi sẽ gửi yêu cầu ngắt tới CPU, khiến CPU tạm dừng công việc hiện tại để thực hiện việc trao đổi dữ liệu Sau khi hoàn tất, CPU sẽ trở lại tiếp tục công việc mà nó đang thực hiện trước đó.

1.5.3 Phương pháp truy cập bộ nhớ trực tiếp DMA

Bộ điều khiển truy cập trực tiếp (DMA) thường được sử dụng để xử lý việc trao đổi dữ liệu lớn giữa CPU và thiết bị ngoại vi Khi CPU ủy quyền cho bộ điều khiển này, nó sẽ đảm nhận việc truyền dữ liệu giữa thiết bị ngoại vi và bộ nhớ chính, giúp tăng hiệu suất và giảm tải cho CPU.

1.5.4 Phương pháp sử dụng kênh dữ liệu

Xây dựng các đường bus dữ liệu riêng kết nối trực tiếp thiết bị ngoại vi với bộ nhớ chính, mỗi hệ thống bus đều có một bộ điều khiển riêng gọi là kênh dữ liệu.

Thi ế t k ế m ộ t s ố m ạch logic đơn giả n

Hình 1.11 Cổng Logic cơ sở

Xét một thiết bị với nhiều đường vào (dẫn tín hiệu vào) và một đường ra (phát tín hiệu ra) Các tín hiệu đầu vào x1, x2, …, xn (gọi là input) và tín hiệu đầu ra F (gọi là output) đều có hai trạng thái khác nhau, tương ứng với một bit thông tin, được ký hiệu là 0 và 1.

Một mạch logic là thiết bị có đầu vào và đầu ra mang giá trị 0 và 1, với đầu ra là hàm Boole F dựa trên các đầu vào x1, x2, …, xn Mạch logic thực hiện hàm F và được cấu thành từ các cổng logic cơ bản, thực hiện các hàm như phủ định, hội và tuyển.

Cổng NOT thực hiện hàm phủđịnh Cổng chỉ có một đầu vào Đầu ra F(x) là phủđịnh của đầu vào x

Bảng sự thật hàm phủđịnh NOT: 𝐹 = 𝑥̅

Chẳng hạn, xâu bit 100101011 qua cổng NOT cho xâu bit 011010100

Cổng AND thực hiện hàm hội Đầu ra F(x,y) là hội (tích) của các đầu vào

Bảng sự thật hàm AND: 𝐹(𝑥, 𝑦) = 𝑥 𝑦

Ví dụ: hai xâu bit 101001101 và 111010110 qua cổng AND cho 101000100

Cổng OR thực hiện hàm tuyển (tổng) Đầu ra F(x,y) là tuyển (tổng) của các đầu vào

Bảng sự thật hàm OR: 𝐹(𝑥, 𝑦) = 𝑥 + 𝑦

Ví dụ: hai xâu bit 101001101 và 111010100 qua cổng OR cho 111011101 trong các trường hợp khác

Mạch logic thực hiện hàm Sheffer gọi là cổng NAND, được vẽ như hình dưới đây

Bảng sự thật hàm NAND: 𝐹(𝑥, 𝑦) = 𝑥 𝑦̅̅̅̅̅

Bất kỳ một hàm Boole nào cũng có thể thực hiện được bằng một mạch logic chỉ gồm có cổng NAND

Mạch logic thực hiện hàm Vebb gọi là cổng NOR, được vẽnhư hình dưới đây.

Bảng sự thật hàm NOR: 𝐹(𝑥, 𝑦) = 𝑥 + 𝑦̅̅̅̅̅̅̅

Bất kỳ hàm Boole nào cũng có thể thực hiện được bằng một mạch logic chỉ gồm cổng NOR

Một phép toán logic quan trọng khác là phép tuyển loại:

Mạch logic này là một cổng logic, gọi là cổng XOR, được vẽnhư hình dưới đây

Bảng sự thật hàm XOR: 𝐹 = (𝑥, 𝑦) = 𝑥⨁𝑦

Các cổng logic có thể được lắp ghép để tạo ra các mạch logic thực hiện các hàm Boole phức tạp Mỗi hàm Boole có thể được biểu diễn bằng một biểu thức chứa các toán tử và toán hạng Do đó, việc lắp ghép các cổng NOT, AND, OR, NAND, NOR, XOR một cách thích hợp sẽ cho phép xây dựng một mạch logic thực hiện bất kỳ hàm Boole nào Quy trình thiết kế mạch logic này bao gồm ba bước chính.

Bước 1: xây dựng bảng chân lý gồm các tín hiệu vào và tín hiệu ra

Bước 2: xác định hàm đầu ra theo dạng tổng chuẩn tắc hoàn toàn

Bước 3: vẽ mạch tương ứng với hàm đầu ra x y

Ví dụ: Xây dựng một mạch logic thực hiện hàm Boole cho bởi bảng sau

Theo bảng này, hàm F có dạng tổng (tuyển) chuẩn tắc hoàn toàn là: z y x z xy xyz z y x

Hình dưới đây vẽ mạch logic thực hiện hàm F đã cho.

Biểu thức của F(x, y, z) có thể rút gọn: z y x xy z y x z z xy z y x z xy xyz   (  )  

Hình dưới đây cho ta mạch logic thực hiện hàm xy xyz x y z F(x,y,z)

Hai mạch logic trong hai hình trên thực hiện cùng một hàm Boole, ta nói đó là hai mạch logic tương đương, nhưng mạch logic thứhai đơn giản hơn [1]

Hệ tổ hợp và hệ dãy

1.7.1 Khái niệm hệ tổ hợp và hệ dãy

Hệ tổ hợp là loại hệ thống mà tín hiệu đầu ra chỉ phụ thuộc vào tín hiệu đầu vào tại thời điểm hiện tại, vì vậy nó được gọi là hệ không nhớ Hệ tổ hợp được thực hiện thông qua các phần tử logic cơ bản.

Hệ dãy là hệ thống mà tín hiệu đầu ra không chỉ phụ thuộc vào tín hiệu đầu vào tại thời điểm hiện tại, mà còn bị ảnh hưởng bởi tín hiệu đầu vào trong quá khứ Loại hệ thống này được gọi là hệ có nhớ, và để hoạt động, nó cần có các phần tử nhớ Ngoài ra, có thể bổ sung thêm các phần tử logic cơ bản để tăng cường chức năng của hệ thống.

1.7.2 Xây dựng bộ cộng, bộ trừ

Nhiều bài toán đòi hỏi phải xây dựng những mạch logic có nhiều đường ra, cho các đầu ra F 1 , F 2 , …, F k là các hàm Boole của các đầu vào x1, x2, …, x n

Bộ cộng bán phần HA (Haft Adder)

Chúng ta sẽ xem xét phép cộng hai số tự nhiên thông qua các khai triển nhị phân của chúng Đầu tiên, chúng ta sẽ thiết kế một mạch để tính tổng x+y, trong đó x và y là hai số 1-bit Mạch này sẽ nhận đầu vào là x và y, và đầu ra sẽ là một số 2-bit, bao gồm bit tổng s và bit nhớ c.

Mạch thực hiện hai hàm s = x ⊕ y và c = x y được thể hiện trong hình dưới đây Mạch này được gọi là mạch cộng hai số 1-bit hay mạch cộng bán phần, ký hiệu là HA.

Hình 1.13 Mạch cộng bán phần HA

Bộ cộng toàn phần FA (Full Adder)

Xét phép cộng hai số 2-bit a 2 a 1 và b 2 b 1 ,

Để thực hiện phép cộng, ta bắt đầu từ cột thứ nhất (từ phải sang trái), tính tổng a1 và b1 để có được bit tổng s1 và bit nhớ c1 Tiếp theo, ở cột thứ hai, ta cộng a2, b2 và c1, tức là thực hiện phép cộng ba số 1-bit.

Cho x, y, z là ba số 1-bit, tổng x+y+z tạo thành một số 2-bit cs, trong đó s là bit tổng và c là bit nhớ Các hàm Boole cho s và c được xác định qua bảng biểu diễn dựa trên các biến x, y, z.

Từ bảng này, dễ dàng thấy rằng: z y x s   

Hàm c có thể viết dưới dạng tổng chuẩn tắc hoàn toàn là: z y x z y x z y x z y x c    

Công thức của c có thể rút gọn: y x y x z z z y x y x y x z c (  ) (  ) (  )

Mạch thực hiện hai hàm Boole s = x ⊕ y ⊕ z và c = z (x ⊕ y) + x y được thiết kế như hình dưới đây Mạch này là sự kết hợp của hai mạch cộng bán phần (HA) và một cổng OR, tạo thành mạch cộng ba số 1-bit, hay còn gọi là mạch cộng toàn phần, ký hiệu là FA.

Hình 1.14 Mạch cộng toàn phần FA

Khi thực hiện phép cộng hai số 2-bit a2a1 và b2b1, tổng a2a1 + b2b1 sẽ tạo ra một số 3-bit c2s2s1 Trong đó, s1 là bit tổng của a1 và b1, được tính bằng s1 = a1 ⊕ b1 Bit s2 là tổng của a2, b2 và c1 (bit nhớ từ phép cộng a1 + b1), được xác định bởi công thức s2 = a2 ⊕ b2 ⊕ c1 Cuối cùng, c2 là bit nhớ của phép cộng a2, b2 và c1.

Ta có được mạch thực hiện ba hàm Boole s 1, s 2, c 2như hình dưới đây.

Bộ trừ bán phần HS (Haft Subtractor)

Ta sẽ xem xét phép trừ hai số tự nhiên thông qua các khai triển nhị phân của chúng Đầu tiên, chúng ta sẽ thiết kế một mạch để thực hiện phép trừ a - b, trong đó a và b là hai số 1-bit, với a là số bị trừ.

FA a 2 b 2 s 2 và b là số trừ Đầu vào mạch này sẽ là a và b Đầu ra sẽ là một số 2-bit DB , trong đó D là bit hiệu và B là bit mượn

Từ bảng trên, ta nhận thấy D = a.b + a.b = a ⊕ b và B = a.b Chúng ta có thể vẽ mạch thực hiện hai hàm D = a ⊕ b và B = a.b, được gọi là mạch trừ hai số 1-bit hay mạch trừ bán phần, ký hiệu là HS.

Hình 1.15 Mạch trừ bán phần HS

Bộ trừ toàn phần FS (Full Subtractor)

Trong đó: Bn-1: sốmượn của lần trừtrước đó

Bn: sốmượn của lần trừ hiện tại

Dn: hiệu số hiện tại an: số bị trừ bn: số trừ

Bảng chân lý mô tả hoạt động của mạch: an bn Bn-1 Dn Bn

Từ bảng sự thật của mạch trừ toàn phần FS, ta có hàm đầu ra của 2 bít D và B như sau:

Sơ đồ mạch Logic như sau:

Hình 1.16 Mạch trừ toàn phần FS a n b n B n-1

CÂU H Ỏ I ÔN T Ậ P VÀ BÀI T ẬP CHƯƠNG 1

Câu hỏi hướng dẫn ôn tập, thảo luận

Các loại máy tính có thể được phân loại dựa trên nhiều tiêu chí như kích thước, công suất và mục đích sử dụng Những đặc điểm cơ bản bao gồm máy tính để bàn, máy tính xách tay, máy tính bảng và máy chủ, mỗi loại có những tính năng và ứng dụng riêng biệt Mô hình máy tính cơ bản bao gồm các thành phần chính như bo mạch chủ, bộ xử lý (CPU), bộ nhớ (RAM), ổ cứng (HDD/SSD) và nguồn điện Bo mạch chủ kết nối và điều phối các thành phần, CPU thực hiện các phép toán và xử lý dữ liệu, RAM lưu trữ tạm thời thông tin trong quá trình hoạt động, ổ cứng lưu trữ dữ liệu lâu dài, và nguồn điện cung cấp năng lượng cho toàn bộ hệ thống.

Câu 3 Vẽ mô hình phân lớp máy tính?

Câu 4 Nêu cấu tạo chung và vẽsơ đồ kiến trúc máy tính Von Neumann?

Trong kiến trúc máy tính, có ba loại bus chính: bus dữ liệu, bus địa chỉ và bus điều khiển Bus dữ liệu chịu trách nhiệm truyền tải dữ liệu giữa các thành phần của máy tính, trong khi bus địa chỉ xác định vị trí bộ nhớ mà dữ liệu sẽ được gửi đến hoặc nhận từ Cuối cùng, bus điều khiển truyền các tín hiệu điều khiển cần thiết để điều phối hoạt động của các thành phần khác nhau trong hệ thống Sơ đồ hoạt động của máy tính có thể minh họa các đường bus này, cho thấy cách chúng kết nối và tương tác với nhau để thực hiện các tác vụ xử lý.

Câu 6 Nêu cách tính các thông sốđiển hình đểđánh giá hiệu năng của máy tính?

Câu 7 Nêu các phương pháp vào ra dữ liệu của máy tính?

Câu 8 Kể tên các thông sốcơ bản ảnh hưởng đến hiệu năng của máy tính?

Câu 9 CPI là gì? Nêu các tính thông số CPI?

Câu 10 MIPs là gì? Nêu cách tính MIPs?

Câu 1 Kiến trúc máy tính là gì?

A Là một môn học về việc thiết kế các chức năng của hệ thống Nghiên cứu tính khả thi, giá thành, tốc độ và các yếu tố kỹ thuật khác liên quan đến việc thiết kế

B Nó liên quan đến ngôn ngữ lập trình

C Nó liên quan đến các khía cạnh lý thuyết cao cấp của việc thiết kế máy tính

D Nó là một môn học lý thuyết về máy tính

Câu 2 Cấu trúc máy tính là thuật ngữ:

A Là một môn học về việc thiết kế các chức năng của hệ thống Nghiên cứu tính khả thi, giá thành, tốc độ và các yếu tố kỹ thuật khác liên quan đến việc thiết kế

B Nó liên quan đến ngôn ngữ lập trình máy tính

C Nó liên quan đến các khía cạnh lý thuyết cao cấp của việc thiết kế máy tính

D Quan tâm đến các đơn vị vận hành và sự kết nối giữa chúng nhằm hiện thực hóa những đặc tả về kiến trúc, chẳng hạn như tín hiệu điều khiển, giao diện giữa máy tính với các thiết bị ngoại vi,

Câu 3 Bộ xử lý trung tâm CPU có chức năng:

A Lấy chỉ thị từ bộ nhớ chính, giải mã và điều khiển ALU

B Thi hành các chương trình được chứa trong bộ nhớ chính

C Thực hiện các thao tác đơn giản

D Chứa các kết quả tạm thời và thông tin điều khiển nhất định

Câu 4 Cấu trúc phần cứng của máy tính

A CPU, ALU, Bộ nhớ trong

C CPU, hệ thống vào ra, Bộ nhớ trong

D CPU, CU, Bộ nhớ trong Câu 5 Hệ thống BUS dùng để làm gì?

A Nối các bộ phận của máy tính lại với nhau

B Nối CPU với bộ nhớ ngoài

C Nối bộ nhớ ngoài với bộ nhớ trong

D Nối bộ xử lý với các bộ phận bên ngoài Câu 6 Chức năng của BUS địa chỉ?

A Vận chuyển địa chỉ đểxác định ngăn nhớ hay cổng vào ra

B Vận chuyển lệnh từ bộ nhớ đến CPU

C Vận chuyển các tín hiệu điều khiển

D Vận chuyển dữ liệu giữa CPU, các Modul nhớ và Modul vào ra với nhau

Câu 7 Chức năng của BUS điều khiển?

A Vận chuyển lệnh từ bộ nhớ đến CPU

B Vận chuyển dữ liệu giữa CPU, các Modul nhớ và Modul vào ra với nhau

C Vận chuyển các tín hiệu điều khiển

D Vận chuyển địa chỉ đểxác định ngăn nhớ hay cổng vào ra

Câu 8 Chức năng của BUS dữ liệu?

A Vận chuyển địa chỉ đểxác định ngăn nhớ hay cổng vào ra

B Vận chuyển lệnh từ bộ nhớđến CPU và vận chuyển dữ liệu giữa CPU, các Modul nhớ và Modul vào ra với nhau

C Vận chuyển các tín hiệu điều khiển

D Vận chuyển dữ liệu giữa CPU, các Modul nhớ và Modul vào ra với nhau

Câu 9 CPI (Cycle Per Instruction) là gì?

A Số lệnh được thực hiện

B Thời gian thực hiện lệnh

D Số chu kỳ cần thiết để thực hiện một lệnh

Câu 10 MIPs (Million Instruction Per Second) là gì?

A Tần suất xuất hiện lệnh

C Số lệnh được thực hiện

D Số triệu lệnh được thực hiện trong 1 giây Câu 11 Hãy cho biết hình vẽ sau là của cổng Logic cơ sở nào?

A Cổng NAND B Cổng XOR C Cổng OR D Cổng NOR

Câu 12 Hãy cho biết bảng chân lý sau của cổng logic cơ sở nào?

Câu 1 Tìm hàm đầu ra của các mạch sau: a b c d

Câu 2 Tìm hàm đầu ra của các mạch sau: a b

Câu 3 Xây dựng các mạch logic tương ứng với các hàm đầu ra sau: a (xz)(y z) b (x y)x x y z z t x y z x y z x y z y c x  y  x  z  d (xz yz)x

Câu 4 Xây dựng các mạch logic tương ứng với các hàm đầu ra sau: a (𝑥̅ + 𝑦) + 𝑧̅ 𝑡̅̅̅̅ b 𝑥 + 𝑦̅̅̅̅̅̅̅̅ + 𝑡̅̅̅̅̅̅̅̅̅̅̅̅̅ c (𝑦̅ 𝑧̅) 𝑡̅ d 𝑦̅ + 𝑧̅̅̅̅̅̅̅ + 𝑡̅

Câu 5: Vẽ sơ đồ kiến trúc máy tính tuần tự Von neumann?

Câu 6 Thiết kế bộ cộng bán phần HA và bộ cộng toàn phần FA?

Câu 7 Thiết kế bộ trừ bán phần HS và bộ trừ toàn phần FS?

Câu 8 Vẽ bảng chân lý cho các cổng cơ sở AND, OR, XOR, NOT?

Câu 9 Vẽ bảng chân lý cho các cổng NAND, NOR?

Câu 10 Thiết kế bộ cộng hai số n bit?

THIẾ T K Ế H Ệ L Ệ NH

BỘ X Ử LÝ TRUNG TÂM CPU

THIẾ T K Ế B Ộ NH Ớ

HỆ TH Ố NG VÀO RA

MỘ T S Ố KI Ế N TRÚC HI ỆN ĐẠ I

Ngày đăng: 26/10/2021, 08:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Ti ến sĩ Nguyễ n Kim Khánh: bài gi ả ng Ki ến trúc máy tính trường Đạ i h ọ c Bách Khoa Hà N ộ i. 2015 Sách, tạp chí
Tiêu đề: bài gi ả ng Ki ến trúc máy tính
Tác giả: Nguyễ n Kim Khánh
Nhà XB: Đạ i h ọ c Bách Khoa Hà N ộ i
Năm: 2015
[2] Nguyễn Đình Việt: Kiến trúc máy tính. Nhà xuất bản Đại học Quốc Gia Hà Nội. 2010 [3] Ti ến sĩ Trầ n Công Hùng: Ki ế n trúc máy tính tiên ti ế n. Nhà xu ấ t b ả n Thông tin và truy ề n thông. 2011 Sách, tạp chí
Tiêu đề: Kiến trúc máy tính
Tác giả: Nguyễn Đình Việt
Nhà XB: Nhà xuất bản Đại học Quốc Gia Hà Nội
Năm: 2010
[7] David A. Patterson & Jonhn L. Hennessy. Computer Organization and design: The hardware/Software Interface. 2005 (3th edition).Patterson, Hennessy - Computer Organization and Design; The Hardware-Software Interface, 2E (Morgan Kaufman, 1997).pdf Sách, tạp chí
Tiêu đề: Computer Organization and design: The hardware/Software Interface
Tác giả: David A. Patterson, Jonhn L. Hennessy
Nhà XB: Morgan Kaufman
Năm: 2005
[4] Báo cáo Cấu trúc và bảo trì hệ thống - ĐH Kỹ thuật hậu cần CAND Khác
[5] John L. Henness & David A. Patterson. Computer Architecture. A Quantitative Approach. 2006 (4th edition) Khác
[6] William Stallings. Computer Organization and Architecture. Designing for Performance - 2009 (6th edition) Khác
[8] David Tarnoff: Computer Organization and Design Fundamentals. 2007. Revised First Edition.pdf Khác

HÌNH ẢNH LIÊN QUAN

1.2.3 Mô hình phân lớp máy tính - Giáo trình Kiến trúc máy tính
1.2.3 Mô hình phân lớp máy tính (Trang 24)
Hình 1.4 Máy tính ENIAC (1946) - Giáo trình Kiến trúc máy tính
Hình 1.4 Máy tính ENIAC (1946) (Trang 27)
Hình 1.8 Máy vi tính để bàn FPT eLead T7100 (2015) - Giáo trình Kiến trúc máy tính
Hình 1.8 Máy vi tính để bàn FPT eLead T7100 (2015) (Trang 29)
Hình 1.9 Máy tính bảng iPad Air 2019 - Giáo trình Kiến trúc máy tính
Hình 1.9 Máy tính bảng iPad Air 2019 (Trang 30)
Bảng sự thật hàm OR:  - Giáo trình Kiến trúc máy tính
Bảng s ự thật hàm OR: (Trang 36)
Mạch logic thực hiện hàm Sheffer gọi là cổng NAND, được vẽ như hình dưới đây. - Giáo trình Kiến trúc máy tính
ch logic thực hiện hàm Sheffer gọi là cổng NAND, được vẽ như hình dưới đây (Trang 37)
Mạch logic này làm ột cổng logic, gọi là cổng XOR, được vẽ như hình dưới đây - Giáo trình Kiến trúc máy tính
ch logic này làm ột cổng logic, gọi là cổng XOR, được vẽ như hình dưới đây (Trang 38)
Hình 1.13 Mạch cộng bán phần HA - Giáo trình Kiến trúc máy tính
Hình 1.13 Mạch cộng bán phần HA (Trang 41)
Hình 1.15 Mạch trừ bán phần HS - Giáo trình Kiến trúc máy tính
Hình 1.15 Mạch trừ bán phần HS (Trang 43)
Từ bảng sự thật của mạch trừ toàn phần FS, ta có hàm đầu rac ủ a2 bí tD và B như sau:  - Giáo trình Kiến trúc máy tính
b ảng sự thật của mạch trừ toàn phần FS, ta có hàm đầu rac ủ a2 bí tD và B như sau: (Trang 44)
Bảng 2.1 Các ví dụ về lệnh MOV - Giáo trình Kiến trúc máy tính
Bảng 2.1 Các ví dụ về lệnh MOV (Trang 51)
Hình 2.2 Phương pháp định địa chỉ tức thì - Giáo trình Kiến trúc máy tính
Hình 2.2 Phương pháp định địa chỉ tức thì (Trang 63)
Hình 2.6 Phương pháp định địa chỉ gián tiếp qua ngăn nhớ - Giáo trình Kiến trúc máy tính
Hình 2.6 Phương pháp định địa chỉ gián tiếp qua ngăn nhớ (Trang 65)
Hình 2.9 Sơ đồ quy trình thực hiện lệnh tuần tự và pipeline - Giáo trình Kiến trúc máy tính
Hình 2.9 Sơ đồ quy trình thực hiện lệnh tuần tự và pipeline (Trang 71)
Hình 3.1 CPU và bus hệ thốngALU  - Giáo trình Kiến trúc máy tính
Hình 3.1 CPU và bus hệ thốngALU (Trang 75)
Hình 3.3 Mô hình kết nối ALU - Giáo trình Kiến trúc máy tính
Hình 3.3 Mô hình kết nối ALU (Trang 77)
Hình 3.6 Đơn vịđiều khiển kết nối cứng - Giáo trình Kiến trúc máy tính
Hình 3.6 Đơn vịđiều khiển kết nối cứng (Trang 80)
Hình 3.9 Mô hình xung đột dữ liệu - Giáo trình Kiến trúc máy tính
Hình 3.9 Mô hình xung đột dữ liệu (Trang 88)
Hình 3.11 Chuyển tiếp dữ liệu - Giáo trình Kiến trúc máy tính
Hình 3.11 Chuyển tiếp dữ liệu (Trang 89)
Bước 6: vẽ hình sử dụng bộ giải mã 1 đầu vào, 2 đầu ra - Giáo trình Kiến trúc máy tính
c 6: vẽ hình sử dụng bộ giải mã 1 đầu vào, 2 đầu ra (Trang 110)
Hình 4.9 Hình ảnh vị trí của cache - Giáo trình Kiến trúc máy tính
Hình 4.9 Hình ảnh vị trí của cache (Trang 111)
Hình 4.10 Hình ảnh về dung lượng cache - Giáo trình Kiến trúc máy tính
Hình 4.10 Hình ảnh về dung lượng cache (Trang 112)
Hình 4.15 Sơ đồ thao tác đọc cacheIndext Data  - Giáo trình Kiến trúc máy tính
Hình 4.15 Sơ đồ thao tác đọc cacheIndext Data (Trang 119)
Hình 4.22 Cấu tạo cache ánh xạ liên kết tập hợp - Giáo trình Kiến trúc máy tính
Hình 4.22 Cấu tạo cache ánh xạ liên kết tập hợp (Trang 125)
Hình 5.4 Quá trình xử lý ngắt đơn giản 1.Thi ết bị phát tín hiệu ngắt cho bộ x ử  lý.  - Giáo trình Kiến trúc máy tính
Hình 5.4 Quá trình xử lý ngắt đơn giản 1.Thi ết bị phát tín hiệu ngắt cho bộ x ử lý. (Trang 149)
Hình 5.9 Giao tiếp song song - Giáo trình Kiến trúc máy tính
Hình 5.9 Giao tiếp song song (Trang 156)
Hình 6.1 Mô hình máy tính SISD - Giáo trình Kiến trúc máy tính
Hình 6.1 Mô hình máy tính SISD (Trang 160)
Hình 6.3 Mô hình máy tính MISD - Giáo trình Kiến trúc máy tính
Hình 6.3 Mô hình máy tính MISD (Trang 161)
Hình 6.4 Mô hình máy tính MIMD - Giáo trình Kiến trúc máy tính
Hình 6.4 Mô hình máy tính MIMD (Trang 162)
Hình 6.11 Định dạng lệnh trong kiến trúc IA-64 - Giáo trình Kiến trúc máy tính
Hình 6.11 Định dạng lệnh trong kiến trúc IA-64 (Trang 173)

TỪ KHÓA LIÊN QUAN

w