CPU hoạt động như thế nào?

Thảo luận trong 'Hỏi - Đáp về phần cứng' bắt đầu bởi AMC, 16/9/05.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. AMC
    Offline

    AMC User Was Banned

    123
    0
    28
    Để hiểu được CPU hoạt động như thế nào, chúng ta hãy cũng nhìn vào bên trong và tìm hiểu cơ chế luận lý được dùng để tạo ra CPU. Ngoài ra, để có cái nhìn sâu hơn về CPU, bạn cũng cần phải tìm hiểu thêm về ngôn ngữ hợp ngữ (hay nôm na là ngôn ngữ máy) cũng như một số việc mà các kỹ sư chế tạo đã làm, để gia tăng tốc độ cho CPU.

    CPU thực hiện một tập hợp các chỉ lệnh máy để bảo bộ xử lý (BXL) phải làm gì. Và dựa trên nền tảng các chỉ lệnh, CPU thực hiện ba việc cơ bản sau:

    Bằng cách sử dụng đơn vị ALU của mình, CPU có thể thực hiện các phép toán số học như cộng, trừ, nhân hoặc chia. Các CPU mới hiện nay chứa thêm các BXL dấu chấm động cho phép nó có thể thực hiện các tính toán cực kỳ phức tạp trên các số dấu chấm động lớn.

    CPU có thể di chuyển dữ liệu từ một vị trí bộ nhớ này đến một vị trí khác.

    CPU có thể đưa ra các quyết định và nhảy đến một tập hợp các chỉ lệnh mới dựa trên các quyết định này.



    Tuy CPU có thể thực hiện nhiều tính toán rất phức tạp nhưng tất cả đều quy lại ba việc cơ bản trên. Biểu đồ sau sẽ cho thấy khả năng thực hiện ba việc này của một CPU đơn giản:



    Nhìn vào sơ đồ khối mô phỏng kiến trúc CPU trên, ta có thể thấy CPU này có:

    Một tuyến địa chỉ - address bus (độ rộng có thể là 8, 16 hoặc 32 bit) để gửi địa chỉ đến bộ nhớ.

    Một tuyến dữ liệu – data bus (độ rộng có thể là 8, 16 hoặc 32 bit) để có thể gửi dữ liệu đến bộ nhớ hoặc nhận dữ liệu lại từ bộ nhớ.

    Một đường đọc – RD và ghi – WR để CPU “nói chuyện” với bộ nhớ nếu nó muốn thiết lập hoặc lấy vị trí địa chỉ.

    Một đường đồng hồ - clock line cho phép bộ xử lý nhận các xung đồng hồ tuần tự.

    Một đường reset – reset line để reset bộ đếm của chương trình về zero và khởi động lại sự thi hành.

    Đây là các thành phần của một CPU đơn giản: (Giả sử ở ví dụ này, độ rộng của tuyến địa chỉ và dữ liệu là 8 bit)

    Thanh ghi A, B và C là các chốt đơn giản để đặt các con lật (flip-flop)

    Chốt địa chỉ giống như các thanh ghi A, B và C.

    Bộ đếm chương trình là một chốt với khả năng phụ dùng để tăng 1 và cũng để reset về zero khi được yêu cầu.

    ALU chỉ đơn giản là một bộ cộng 8 bit, hoặc nó có thể cộng, trừ, nhân và chia các giá trị 8-bit.

    Thanh ghi kiểm tra là một chốt đặc biệt có thể giữ các giá trị từ các phép so sánh trong ALU. Một ALU có thể so sánh hai số một cách bình thường và xác định xem chúng bằng nhau, số này nhỏ hơn số kia hay lớn hơn… Nó lưu trữ các giá trị này trong các con lật và sau đó bộ giải mã chỉ lệnh có thể sử dụng các giá trị này để đưa ra quyết định.

    Có tất cả 6 khối được ghi là "3-State" trong biểu đồ trên. Chúng là các bộ đệm 3 trạng thái (tri-state). Một bộ đệm 3 trạng thái có thể cho qua trạng thái 1, 0 hoặc nó có thể ngắt kết nối đầu ra (bạn hãy tưởng tượng đến một khoá chuyển có thể ngắt hoàn toàn đường ra từ một đường dây mà đầu ra đang hướng về phía trước). Bộ đệm 3 trạng thái cho phép nhiều đầu ra để nối kết với đường dây, nhưng bạn cần lưu ý là chỉ một trong số chúng mới thực sự mang giá trị 1 hoặc 0 trên đường đi.

    Thanh ghi chỉ lệnh và bộ giải mã chỉ lệnh chịu trách nhiệm điều khiển tất cả các thành phần khác.

    Mặc dù chúng không được biểu diễn trên sơ đồ khối, nhưng sẽ có các đường điều khiển từ bộ giải mã chỉ lệnh bảo:

    Thanh ghi A chốt giá trị hiện tại trên tuyến dữ liệu.

    Thanh ghi B chốt giá trị hiện tại trên tuyến dữ liệu.

    Thanh ghi C chốt giá trị hiện tại ra ngoài, bởi ALU.

    Thanh ghi bộ đếm chương trình chốt giá trị hiện tại trên tuyến dữ liệu .

    Thanh ghi địa chỉ chốt giá trị hiện tại trên tuyến dữ liệu.

    Thanh ghi chỉ lệnh chốt giá trị hiện tại trên tuyến dữ liệu.

    Bộ đếm chương trình tăng.

    Bộ đếm chương trình reset về 0.

    Kích hoạt một trong sáu bộ đệm 3 trạng thái (6 đường riêng biệt).

    ALU thực hiện các tính toán gì.

    Thanh ghi kiểm tra chốt các bit kiểm tra của ALU.

    Kích hoạt đường RD.

    Kích hoạt đường WR.

    Các bit sẽ đến bộ giải mã chỉ lệnh từ các thanh ghi kiểm tra và đường đồng hồ cũng như từ các thanh ghi chỉ lệnh.
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này