Nguyên lý làm việc của máy tính

7 2.3K 15
Nguyên lý làm việc của máy tính

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

Thông tin tài liệu

BÀI 1. THÔNG TIN VÀ XỬ LÝ THÔNG TIN Mô đun 4. Nguyên lý hoạt động của máy tính 1. Bộ xử lí Bộ xử lý (Central Processing Unit - viết tắt là CPU ) có chức năng điều khiển máy tính và xử lý thông tin theo chương trình đã được lưu trữ trong bộ nhớ. CPU gồm các thành phần: Đồng hồ (clock) tạo các xung điện áp chính xác, đều đặn để sinh ra các tín hiệu cơ bản để điều chế thông tin và đồng bộ hoá các thành phần của máy tính. Khối điều khiển (CU: control unit) là khối chức năng điều khiển sự hoạt động của MTĐT theo chương trình định sẵn. Khối số học và logic (ALU: arithmetic and logic unit) là khối chức năng thực hiện các phép toán cơ sở của máy như các phép toán số học, các phép toán logic, phép tạo mã v. v. Khối số học và logic bao gồm những mạch chức năng để thực hiện các phép toán đó. Các thanh ghi (registers) được CPU dùng như là những bộ nhớ nhanh, có thể tương tác trực tiếp với các mạch xử lý của dùng trong khi thực hiện các lệnh như địa chỉ lệnh sắp thực hiện, dữ liệu, kết quả xử lý, lệnh đang thực hiện v. v. Nhờ công nghệ vi mạch, người ta có khả năng chế tạo toàn bộ bộ xử lý trong một chíp (một mạch vi điện tử được đóng trong một vỏ duy nhất). Những bộ xử lý như vậy gọi là bộ vi xử lý (micro processor ) viết tắt là P. Máy vi tính chính là máy tính sử dụng các bộ vi xử lý. 2. Quá trình thực hiện lệnh và nguyên lý Von Neumann 2.1 Cấu trúc lệnh và quá trình thực hiện lệnh Để hiểu rõ quá trình này ta cần tìm hiểu thêm về lệnh máy. Mỗi lệnh máy là một yêu cầu bộ số học và logic thực hiện một phép xử lý cơ sở như cộng, nhân, nhân logic, cộng logic, chọn lệnh cần thực hiện tiếp theo v.v. Các lệnh này phải chỉ ra đầy đủ các thông tin sau: - Phép xử lý cần thực hiện. Trong lệnh máy nó cho bằng một số bit gọi là mã lệnh. - Nơi đặt dữ liệu của lệnh. Thông tin này có thể là địa chỉ trong Bộ nhớ trong. Nếu dữ liệu đặt ở thanh ghi thì chính mã lệnh sẽ quyết định ALU chọn dữ liệu từ thanh ghi mà không phải tải về từ Bộ nhớ trong. - Nơi đặt kết quả xử lý. Nếu kết quả xử lý đặt tại Bộ nhớ trong thì thông tin về địa chỉ cũng phải đặt vào lệnh và sau khi thực hiện kết quả được trả về Bộ nhớ trong. Mặc định, các máy tính đều có một thanh ghi để kết quả thực hiện của các lệnh. Như vậy một lệnh có cấu trúc như sau: Mã lệnh Các thành phần địa chỉ Trước đây, có các máy mà lệnh của nó có nhiều thành phần địa chỉ. Ngày nay, hầu hết máy tính chỉ còn hệ lệnh chỉ gồm tối đa một thành phần địa chỉ. Có những lệnh không có thông tin địa chỉ vì không xử lý dữ liệu ở bộ nhớ trong. Các lệnh có thể có độ dài tính theo byte khác nhau. Một chương trình máy là một dãy các lệnh. Do chương trình cũng nằm trong bộ nhớ nên chính các lệnh cũng có địa chỉ, đó chính là địa chỉ byte đầu tiên của lệnh. Quá trình thực hiện một chương trình là một quá trình thực hiện liên tiếp từng lệnh. Để quản lý thứ tự thực hiện các lệnh, CU sử dụng một thanh ghi gọi là thanh đếm địa chỉ (Program Counter - PC) ghi địa chỉ của lệnh sẽ thực hiện tiếp theo. Giá trị khởi tạo của PC là địa chỉ lệnh đầu tiên chương trình. MTĐT được điều khiển bởi các lệnh của chương trình. Chu kỳ thực hiện một lệnh bao gồm các bước sau: - Đọc lệnh (Instruction Fetch). Trong chu kì đọc lệnh, bộ điều khiển gửi nội dung PC vào bộ giải mã địa chỉ để đọc byte đầu tiên của lệnh lên một thanh ghi khác là thanh ghi lệnh. PC sẽ tăng lên một đơn vị để bộ điều khiển chuẩn bị đọc byte tiếp theo. Độ dài các lệnh có thể khác nhau nhưng byte đầu tiên bao giờ cũng là nơi chứa mã lệnh. - Giải mã lệnh. Bộ điều khiển căn cứ vào mã lệnh để biết lệnh sẽ dài bao nhiêu byte để đọc nốt các thông tin địa chỉ của lệnh và hoàn thành việc đọc lệnh, PC tiếp tục tăng theo số lượng byte đã đọc vào. - Thực hiện lệnh. Bước này có thể chia thành 2 bước nhỏ là đọc dữ liệu từ bộ nhớ và thực hiện lệnh. Nếu lệnh có liên quan đến dữ liệu trong bộ nhớ thì bộ điều khiển gửi địa chỉ dữ liệu vào bộ giải mã địa chỉ để đọc nội dung dữ liệu đưa lên thanh ghi. Tiếp theo đó phát tín hiệu điều khiển cho mạch chức năng của ALU thực hiện phép toán mà mã lệnh xác định. Sau đó quay lại chu kì đọc lệnh với nội dung mới của PC thông thường là địa chỉ byte đầu tiên của lệnh tiếp theo. Tuy nhiên không phải lúc nào lệnh thực hiện tiếp theo cũng nằm ở byte tiếp theo lệnh đã thực hiện. Trong trường hợp đó bộ điều khiển sẽ đặt trực tiếp địa chỉ của lệnh sẽ thực hiện tiếp theo vào PC. Như vậy để thực hiện một lệnh có thể phải đọc/ghi bộ nhớ nhiều lần. 2.2. Kiến trúc Von Neumann Kiến trúc phần cứng của máy tính được nêu trên được gọi là kiến trúc Von Neumann mang tên của nhà khoa học lỗi lạc người Mỹ gốc Đức. Ông đã nêu những ý tưởng về kiến trúc cơ bản của một máy tính, có ảnh hưởng rất lớn đến hầu hết các máy tính sản xuất sau nay. Những đặc điểm chính của kiến trúc này như sau: - Máy tính gồm có các khối chức năng: bộ số học và logic, bộ nhớ (trong), các thiết bị ngoại vi và bộ điều khiển mà sau này để phân biệt người ta nói rõ là bộ điều khiển theo kiểu Von Neumann (Von Neumann Control Unit ) vì sau này còn có một số bộ điều khiển cho máy tính có nguyên lý làm việc khác. - Dữ liệu cùng với lệnh đều lưu trữ trên cùng bộ nhớ. Chính bộ điều khiển sẽ có các ứng xử riêng với lệnh và dữ liệu theo cách xử lý đã nêu ở trên. Đây là điều rất quan trọng để đảm bảo khả năng tự điều khiển. - Kiểu xử lý là tuần tự. Tại mỗi thời điểm chỉ thực hiện một lệnh. Hơn nữa chính mỗi công đoạn của một lệnh: nạp lệnh, giải mã lệnh, thực hiện lệnh cũng được thực hiện tuần tự. Điều này đã làm hạn chế tốc độ xử lý của các máy tính. Kiến trúc các máy tính hiện đại về cơ bản tuân theo nguyên lý Von Neumann nhưng đều có những thay đổi để khắc phục nhược điểm này. Một số đặc điểm của kiến trúc Von Neumann đã trở thành các nguyên lý đảm bảo cho khả năng xử lý tự động của máy tính được biết dưới tên “nguyên lý Von Neumann” như sau: - Nguyên lý điều khiển bằng chương trình: máy tính hoạt động theo chương trình lưu trữ sẵn trong bộ nhớ của nó. Nguyên lý này đảm bảo cho máy tính có khả năng tự điều khiển không cần có sự can thiệp của người trong quá trình xử lý vì quá trình xử lý đã được xác định qua một kịch bản. - Nguyên lý truy cập theo địa chỉ: dữ liệu theo nghĩa rộng (dữ liệu ban đầu, kết quả trung gian, kết quả cuối cùng, chương trình ) được đưa vào bộ nhớ trong những vùng nhớ được chỉ định bằng địa chỉ. Trong chương trình, dữ liệu được chỉ định thông qua địa chỉ. Như vậy, việc truy cập tới dữ liệu là gián tiếp thông qua địa chỉ của nó trong bộ nhớ. Nguyên lý này đảm bảo tính mềm dẻo trong xử lý thông tin. Người lập trình có thể viết yêu cầu một cách tổng quát theo vị trí các đối tượng đó nằm ở đâu mà không cần biết giá trị cụ thể của chúng. Bài đọc thêm. Máy tính tương tự (analog computer) Trong chương 1, chúng ta đã nói tới loại thông tin liên tục. Nếu thông tin liên tục có giá trị biến thiên theo thời gian thì thực tế nó có thể thể hiện một hàm số. Người ta cũng gọi thông tin liên tục là thông tin tương tự (analog) để đối lập với thông tin số (digital) là dạng mã hóa của thông tin rời rạc. Máy tính điện tử hoạt động theo nguyên lý Von Neumann nói trên là máy tính số, chúng xử lý các thông tin được mã hóa dưới dạng số và kết quả đưa ra cũng là các thông tin được mã hóa dưới dạng số. Còn có một loại máy tính khác gọi là máy tính tương tự, hoạt động theo nguyên lý khác hẳn, xử lý thông tin liên tục. Thông tin vào và thông tin ra không biểu diễn dưới mã nhị phân mà thể hiện bằng một dòng điện có điện áp biến thiên theo thời gian. Kết quả đưa ra thường là các đồ thị có thể in trên giấy hay hiển thị dưới dạng đồ thị của hàm số trên màn hình. Trong máy tính số, có các mạch điện thực hiện các phép xử lý số (xem chương 4 để biết thêm về nguyên lý). Còn trong máy tính tương tự có những khối chức năng là các mạch điện biểu diễn và xử lý các thông tin tương tự, chẳng hạn có những mạch dùng để cộng điện áp, đảo chiều điện áp, thực hiện việc tích phân hay lấy đạo hàm một hàm điện áp biến thiên theo thời gian. Thậm chí có những mạch có thể tạo ra dòng điện có điện áp biến thiên theo những quy luật xác định (thực chất là tạo một hàm điện áp theo thời gian).Việc cắm nối các khối này với nhau có thể tạo ra các mạch điện có thể giải được một số bài toán đặc biệt là các phương trình vi phân một cách tức thời. Xét một ví dụ đơn giản để làm rõ cách vận hành của loại máy tính này. Giả sử ta phải giải phương trình vi phân y(x) = y'(x) mà hầu hết chúng ta đã biết nghiệm là hàm số có dạng Ce x với C là một hằng số nào đó. Có 3 cách giải bài toán này. 1. Giải trực tiếp bằng cách tích phân phương trình này (đây là công việc của người làm toán). Cách làm như sau: Từ biểu thức y'= y ta suy ra y'/y = 1. Thay y'/y = (ln(y))' và tích phân hai vế ta nhận được ln(y) = x + C' với C' là một hằng số bất kỳ. Từ đó suy ra y = C. e x trong đó C chính là e C' 2. Giải bằng máy tính số với các phương pháp tính gần đúng. Nhiều phương trình vi phân phức tạp không thể tìm nghiệm dưới dạng một hàm hiển, có biểu diễn đẹp đẽ như thế, thậm chí không thể tìm được một cách biến đổi khéo léo nào để dự đoán được dáng điệu của hàm số. Người ta có các phương pháp tính xấp xỉ cho phép tìm ra các giá trị của hàm số trên một tập các đối số với một sai số đủ nhỏ. Còn để quan sát hàm, người ta dựng đồ thị của hàm thông qua việc nối các điểm rời rạc tính được trên mặt phẳng của hệ tọa độ đề- các. 3. Giải bằng máy tính tương tự Với khối lấy đạo hàm, nếu điện áp vào là y(t) thì dòng ra sẽ là y'(t) Để thể hiện phương trình vi phân y=y', ta chỉ cần nối ngược đầu ra của khối lấy đạo hàm (đầu ra y') vào đầu vào (y). Bình thường trên màn hình hiển thị sẽ thấy đồ thị của hàm điện áp theo thời gian y(t). Khi nối vào trên màn hình hiển thị sẽ thấy chính đồ thị của hàm Ce x . Độ chính xác của các hệ thống tương tự thường không cao nhưng dáng điệu hàm số (sự biến thiên) có thể quan sát một cách trực tiếp. Đặc biệt, kết quả có ngay lập tức. Với các phương trình vi phân phức tạp, ta phải nối nhiều khối chức năng với nhau. Cách tính này rất có ích trong thí nghiệm.Ví dụ khi thiết kế hình dáng vỏ máy bay với những tương tác khí động phức tạp, người ta có thể mô phỏng ngay các điều kiện khác nhau và quan sát ngay kết quả trên màn hình. Sau này người ta còn chế tạo các máy tính lai (hybrid computer) có cả cách thành phần xử lý tương tự và phần xử lý số. Khối lấy đ ạo h àm y y' Màn hình hiển thị Hình 2.14. Máy tính tương tự AKAT-1 của Ba Lan với rất nhiều đầu cắm để ghép nối các mạch phù hợp với các phương trình khác nhau . đã trở thành các nguyên lý đảm bảo cho khả năng xử lý tự động của máy tính được biết dưới tên nguyên lý Von Neumann” như sau: - Nguyên lý điều khiển bằng chương trình: máy tính hoạt động theo. THÔNG TIN VÀ XỬ LÝ THÔNG TIN Mô đun 4. Nguyên lý hoạt động của máy tính 1. Bộ xử lí Bộ xử lý (Central Processing Unit - viết tắt là CPU ) có chức năng điều khiển máy tính và xử lý thông tin. tốc độ xử lý của các máy tính. Kiến trúc các máy tính hiện đại về cơ bản tuân theo nguyên lý Von Neumann nhưng đều có những thay đổi để khắc phục nhược điểm này. Một số đặc điểm của kiến trúc

Ngày đăng: 12/08/2015, 23:48