Thứ Sáu, 21 tháng 3, 2008

Bên trong bộ xử lý

Bên trong bộ xử lý

Theo PC World VN

Bộ vi xử lý là trái tim của máy tính hiện đại; đây là một loại chip được tạo thành từ hàng triệu transistor và những thành phần khác được tổ chức thành những khối chức năng chuyên biệt, bao gồm đơn vị xử lý số học, khối quản lý bộ nhớ và bộ nhớ đệm, khối luân chuyển dữ liệu và phép toán luận lý suy đoán.

Bộ vi xử lý của máy tính hiện nay đã phát triển cực mạnh về khả năng, tốc độ và tính phức tạp so với thập niên trước đây. Tốc độ cao, kích thước nhỏ, số lượng transistor khổng lồ. Nếu bộ xử lý năm 1983 chỉ có 30.000 transistor thì hiện nay với một số bộ xử lý con số này là trên 40 triệu.

Bất kỳ chương trình máy tính nào cũng bao gồm rất nhiều lệnh để thao tác với dữ liệu. Bộ xử lý sẽ thực hiện chương trình qua bốn giai đoạn xử lý: nạp, giải mã, thực thi và hoàn tất.

Giai đoạn nạp (lấy lệnh và dữ liệu) đọc các lệnh của chương trình và dữ liệu cần thiết vào bộ xử lý.

Giai đoạn giải mã xác định mục đích của lệnh và chuyển nó đến phần cứng tương ứng.

Giai đoạn thực thi là lúc có sự tham gia của phần cứng, với lệnh và dữ liệu đã được nạp sẵn, các lệnh sẽ được thực hiện. Quá trình này có thể gồm các tác vụ như cộng, chuyển bít hay nhân thập phân động.

Giai đoạn hoàn tất sẽ lấy kết quả của giai đoạn thực thi và đưa vào thanh ghi của bộ xử lý hay bộ nhớ chính.

Một bộ phận quan trọng của bộ vi xử lý là đồng hồ xung nhịp được thiết kế sẵn, xác định tốc độ làm việc tối đa của những bộ phận khác và giúp đồng bộ hoá những hoạt động liên quan. Hiện nay tốc độ nhanh nhất của bộ xử lý có trên thị trường là trên 2 GHz hay hơn hai tỷ xung nhịp mỗi giây. Một số người thích sử dụng thủ thuật "ép" xung để chạy ở tốc độ cao hơn, nhưng nên nhớ là khi đó nhiệt độ làm việc của chip sẽ cao hơn và có thể gây trục trặc.

Các bộ phận của CPU

Mạch của bộ xử lý được thiết kế thành những phần luận lý riêng biệt - khoảng hơn một chục bộ phận - được gọi là những đơn vị thực thi. Chúng có nhiệm vụ thực hiện bốn giai đoạn trên và có khả năng xử lý gối đầu. Dưới đây là một số đơn vị thực thi phổ biến nhất.

Bộ luận lý số học: Xử lý tất cả những phép toán số học. Đôi lúc đơn vị này được chia thành những phân hệ, một chuyên xử lý các lệnh cộng và trừ số nguyên, phân hệ khác chuyên tính toán các phép nhân và chia số phức.

Bộ xử lý dấu chấm động (FPU): Thực hiện tất cả các lệnh liên quan đến dấu chấm động (không phải là số nguyên). Ban đầu FPU là bộ đồng xử lý gần ngoài nhưng hiện nay nó được tích hợp ngay trên bộ xử lý để tăng tốc độ xử lý.

Bộ phận nạp/lưu: Quản lý tất cả lệnh đọc hay ghi bộ nhớ. Bộ phận quản lý bộ nhớ (MMU): Chuyển đổi địa chỉ của ứng dụng thành địa chỉ bộ nhớ vật lý. Điều này cho phép hệ điều hành ánh xạ mã và dữ liệu của ứng dụng vào những khoảng địa chỉ ảo để MMU có thể thực hiện các dịch vụ theo chế độ bảo vệ bộ nhớ.

Bộ phận xử lý rẽ nhánh (BPU): Dự đoán hướng đi của lệnh rẽ nhánh nhằm giảm sự ngắt quãng của dòng chuyển dữ liệu và lệnh vào bộ xử lý khi có một luồng xử lý nhảy đến một địa chỉ bộ nhớ mới, thường gặp trong các phép toán so sánh hay kết thúc vòng lặp.

Bộ phận xử lý vector (VPU): Xử lý các lệnh đơn, đa dữ liệu (single instruction multiple data-SIMD) để tăng tốc các tác vụ đồ hoạ. Những lệnh theo kiểu vector này gồm các tập lệnh mở rộng cho multimedia của Intel, 3DNow của AMD, AltiVec của Motorola. Trong một vài trường hợp không có bộ phận VPU riêng, chẳng hạn Intel và AMD tích hợp những tính năng này vào trong FPU của Pentium 4 và Athlon.

Không phải tất cả các bộ phận này đều thực thi lệnh. Người ta đã có những nỗ lực to lớn để bảo đảm cho bộ xử lý lấy lệnh và dữ liệu ở tốc độ nhanh nhất. Tác vụ nạp truy cập bộ nhớ chính (không nằm ngay trên CPU) sẽ chiếm nhiều chu kỳ xung nhịp, trong khi đó CPU lại không làm gì cả. Tuy nhiên, BPU sẽ phải làm việc rất nhiều để lấy sẵn dữ liệu và lệnh.

Một cách giảm thiểu tình trạng không hoạt động của CPU là trữ sẵn mã và dữ liệu thường được truy cập trong bộ nhớ ngay trên chip, như vậy CPU có thể truy cập mã và dữ liệu trên bộ nhớ đệm chỉ trong một chu kỳ xung nhịp. Bộ nhớ đệm chính ngay trên CPU (còn gọi là Level1 hay L1) thường chỉ có dung lượng khoảng 32KB và chỉ có thể lưu được một phần chương trình hay dữ liệu. Thủ thuật để thiết kế bộ nhớ đệm là tìm giải thuật để lấy thông tin quan trọng vào L1 khi cần đến. Điều này có ý nghĩa hết sức quan trọng đối với tốc độ nên hơn một nửa số lượng transistor của bộ xử lý có thể dành cho bộ nhớ đệm.

Tuy nhiên, hệ điều hành đa nhiệm và một loạt các ứng dụng chạy đồng thời có thể làm quá tải ngay cả với bộ nhớ đệm L1 được thiết kế tốt nhất. Để giải quyết vấn đề này, cách đây nhiều năm, các nhà sản xuất đã bổ sung đường truyền tốc độ cao để bộ xử lý có thể giao tiếp với bộ nhớ đệm thứ cấp (Level2, L2) với tốc độ khoảng 1/2 hay 1/3 tốc độ của bộ xử lý. Hiện nay trong những bộ xử lý mới nhất như Pentium 4 hay PowerPC 7450 còn tiến xa hơn khi đưa bộ nhớ đệm L2 vào ngay trong CPU và hỗ trợ giao tiếp tốc độ cao với bộ nhớ đệm ngoài L3. Trong tương lai, các nhà sản xuất thậm chí còn tích hợp bộ điều khiển bộ nhớ ngay trên CPU để tăng tốc độ lên cao hơn nữa.

Thứ Hai, 14 tháng 1, 2008

Tạo bản in trong VB6

Đó hỏi: Làm thế nào để tạo bản in trong VB6? Em đang viết chương trình quản lý điện thoại mà không biết tạo bản in. <840976931930@>

Đây trả lời: Để tạo bản in trong VB6, bạn có thể sử dụng công cụ Data Report có sẵn của VB6 hoặc công cụ của hãng khác như Crystal Report chẳng hạn (tính năng của Data Report không nhiều bằng Crystal Report). Ví dụ sau đây giúp bạn sử dụng dễ dàng Data Report để in danh sách khách hàng từ table Customers trong NWIND.MDB có sẵn ở thư mục C:\Program Files\Microsoft Visual Studio\VB98. Trong VB6, bạn tạo một project kiểu Standard EXE. Vì một report cần sử dụng dữ liệu từ một table nên bạn cần chọn Project > Add Data Environment để thêm đối tượng DataEnvironment có tên DataEnvironment1. (Nếu trên trình đơn Project không thấy mục Add Data Environment, bạn chọn Project > Components để mở hộp thoại Components, chọn thẻ Designers và chọn Data Environment.) Trong cửa sổ DataEnvironment, chọn đối tượng Connection1. Đây là đối tượng dùng để kết nối với một database Access (hoặc loại khác). Để kết nối, bấm-phải vào đối tượng Connection1, chọn Properties để mở hộp thoại Data Link properties: - Trong thẻ Provider chọn mục Microsoft Jet 4.0 OLE DB Provider. - Trong thẻ Connection gõ tên tập tin .MDB cần kết nối (với đầy đủ đường dẫn), hoặc bấm nút <…> để chọn. Bấm Test Connection để kiểm tra, nếu nhận được thông báo Test Connection Succeeded thì mới làm tiếp được. Bạn bấm OK để tạo kết nối (mở NWIND.MDB). Để mở một table đưa vào report, bạn phải tạo một Command thuộc kết nối Connection1: bấm-phải vào đối tượng Connection1, chọn Add Command để tạo đối tượng Command1. Bấm-phải vào đối tượng Command1, chọn Properties để mở hộp thoại Command1 Properties. Trong thẻ General, chọn Table trong danh sách Database Object, rồi chọn Customers trong danh sách Object Name. Hình 1 minh họa việc mở thành công table Customers.

Hình 1: Data Environment

Để thêm một Report, chọn Project > Add Data Report, một đối tượng DataReport1 được tạo ra như hình 2. Để quy định report này sử dụng table Customers, bạn đặt thuộc tính của DataReport1 như sau: DataSource là DataEnvironment1; DataMember là Command1. Trên hộp công cụ DataReport bên trái, bạn có thể sử dụng công cụ RptLabel để vẽ các label (như “DANH SACH KHACH HANG” trong hình 2), RptTextBox để vẽ các text box dùng hiển thị dữ liệu từ một field trong table. Trong ví dụ này, bạn vẽ một text box để in nội dung field ContactName bằng cách đặt thuộc tính của text box như sau: DataMember là Command1; DataField là ContactName.

Hình 2: Đối tượng Data Report

Ngoài ra, công cụ RptImage dùng để đặt một hình ảnh lên report, công cụ RptLine dùng để vẽ các đường kẻ, công cụ RptShape dùng để vẽ các hình (hình chữ nhật, tròn, tam giác,...), công cụ RptFunction dùng để đặt các hàm tính toán (như Sum, Count, AVG, Min, Max,...) vào cuối report (phần Report Footer). Sau khi thiết kế xong report, để in report ra giấy, bạn dùng các lệnh:

‘ Có hiển thị hộp thoại chọn thông số máy in DataReport1.PrintReport True ‘ Không hiển thị hộp thoại chọn thông số máy in DataReport1.PrintReport False Để hiển thị report lên màn hình, bạn dùng lệnh: DataReport1.Show

Từng bước làm chủ Ubuntu

Qua bài viết này, các bạn có thể thấy rằng không có gì khó khăn lắm trong việc sử dụng hệ điều hành miễn phí, mã nguồn mở Ubuntu - một giải pháp thay thế cho Windows khi vấn đề bản quyền và chi phí được đặt ra, nhất là đối với các doanh nghiệp. Mã nguồn mở và miễn phí, dễ dàng cài đặt và sử dụng, giao diện thân thiện và gần gũi, ứng dụng tích hợp phong phú và thao tác đơn giản, đó là những đặc điểm mà người sử dụng đã và đang nhận ra trong quá trình khai thác hệ điều hành ưu việt này.

Bài viết sẽ hướng dẫn bạn đọc làm quen với hệ điều hành Ubuntu, khai thác các ứng dụng sẵn có. Đồng thời, bạn đọc cũng sẽ hiểu rõ và thực thi được các thao tác quản trị hệ thống như cập nhật, cài đặt, cấu hình... nhằm tối ưu hoá Ubuntu để đạt hiệu quả cao trong công việc của mình.

1. Làm quen với Ubuntu

- Thay đổi background: sau khi đăng nhập, bạn có thể thay đổi background của màn hình làm việc bằng cách bấm chuột phải lên desktop, chọn Change Desktop Background. Trong hộp thoại hiện ra, bạn chọn một background phù hợp trong danh sách. Bạn cũng có thể chọn các background khác trên đĩa cứng của mình bằng cách bấm nút Add Wallpaper, trỏ đến vị trí lưu background mong muốn. Cuối cùng, bấm nút Finish để hoàn thành thao tác này.

- Tạo file và thư mục: bạn có thể tạo file hoặc thư mục ngay trên desktop bằng cách bấm chuột phải, chọn Create Folder hoặc Create Document > Empty File. Thao tác này cũng được thực hiện một cách tương tự khi bạn di chuyển vào các thư mục của hệ thống.

- Hiệu chỉnh số lượng workspace: không giống như Windows, bạn có thể làm việc với máy tính Ubuntu trên nhiều màn hình làm việc khác nhau (virtual screen - workspace). Theo mặc định, Ubuntu có sẵn 2 workspace dành cho bạn. Nếu muốn tăng hoặc giảm số lượng, bạn kích chuột phải vào biểu tượng Workspace Switcher ở góc phải bên dưới của màn hình làm việc, chọn Preferences. Tại màn hình Workspace Switcher Preferences, bạn thay đổi số lượng workspace ở mục Number of workspaces. Nếu muốn di chuyển qua lại giữa các workspace, bạn bấm tổ hợp phím Ctrl-Alt-Allow Key.

- Thiết lập screensaver: để thiết lập screensaver nhằm hiển thị các hình ảnh chuyển động khi máy tính ở trong thời gian không sử dụng, bạn vào menu System > Preferences, chọn Screensaver. Trong màn hình Screensaver Preferences, bạn chọn một hình ảnh phù hợp, điều chỉnh thời gian để screen xuất hiện (mặc định là 10 phút). Nếu muốn Ubuntu khóa màn hình khi screensaver có hiệu lực, bạn đánh dấu chọn vào mục Lock screen when screensaver is active. Sau khi đã hoàn thành, bấm nút Close để lưu lại những thay đổi vừa mới thiết lập.

- Làm việc với file và thư mục: Ubuntu cung cấp công cụ Nautilus giúp chúng ta quản lý hệ thống file và thư mục. Với công cụ này, bạn có thể tạo, sửa, xóa và thực hiện mọi thao tác truy cập tài nguyên nội bộ và trong mạng một cách đơn giản. Trên cửa sổ chính của Nautilus, bạn có thể duyệt toàn bộ hệ thống file cục bộ bằng cách bấm vào biểu tượng Computer. Nếu muốn truy cập tài nguyên trong mạng, bạn vào menu Go, chọn Network.

2. Khai thác ứng dụng trên Ubuntu

Tất cả các ứng dụng sẵn có trên Ubuntu và những ứng dụng được cài đặt bổ sung đều được sắp xếp vào các mục trong menu Applications. Cụ thể:

- Accessories: chứa những ứng dụng cơ bản thường dùng trên Ubuntu như Calculator, Terminal (cửa sổ dòng lệnh), Text Editor (tương tự Notepad). Mục này cũng chứa tiện ích chụp màn hình Take Screenshot.

Take Screenshot có 2 cách để chụp màn hình. Với tùy chọn Grab the whole desktop, bạn chụp toàn bộ màn hình; với Grab the current window, bạn có được cửa sổ đang tương tác hiện tại. Sau khi nhấn nút Task Screenshot, bạn nhập tên của ảnh và chọn vị trí để lưu.

- Graphics: chứa những ứng dụng tương tác với ảnh như F-Spot với khả năng tổ chức và chia sẻ hình ảnh, GIMP được xem như trình xử lý ảnh tương tự Photoshop, gThumb với tính năng tổ chức lưu trữ và xem ảnh, XSane được dùng để scan.

- Internet: bao gồm các ứng dụng được dùng để khai thác và trao đổi thông tin trên Internet. Tiêu biểu với trình duyệt Firefox, tiện ích gửi nhận email Evolution và công cụ chat Gaim Internet Messenger.

Bên cạnh đó, Ubuntu còn cài sẵn tiện ích Terminal Server Client cho phép quản trị server từ xa. Nếu muốn sử dụng Ubuntu để quản trị một server chạy hệ điều hành Windows 2003 Server từ xa, bạn vào menu Applications > Internet, chọn Terminal Server Client. Trong cửa sổ hiện ra, bạn nhập tên hoặc địa chỉ IP của máy Windows, username, password và domain mà máy Windows đã kết nối vào. Sau khi nhập xong, bấm nút Connect. Sau một vài giây, màn hình đăng nhập của Windows sẽ xuất hiện, bạn nhập mật khẩu của account đã tạo ra trên Windows để bắt đầu quản trị hệ thống của mình.

Theo mặc định, trình Terminal Server Client sử dụng chế độ hiển thị được thiết lập sẵn khi kết nối đến hệ thống từ xa để quản trị. Chế độ này gây khó khăn cho người quản trị khi thực hiện các thao tác từ xa vì không gian của màn hình bị thu hẹp lại.

Để khắc phục, trên cửa sổ Terminal Server Client, bạn chọn tab Display, thay đổi tùy chọn Use default screen size thành Operate in full screen mode. Với tùy chọn mới này, bạn có thể điều chỉnh kích cỡ của màn hình làm việc từ xa theo ý mình bằng tổ hợp phím Ctrl-Alt-Enter.

- Office: bao gồm những ứng dụng xử lý văn bản (Word Processor), thao tác với bảng tính điện tử (Spreadsheet), tạo trang trình chiếu (Presentation) và tạo lập cơ sở dữ liệu (Database).

- Sound & Video: gồm các tiện ích hỗ trợ giải trí. Bạn có thể tham khảo bài viết Giải trí đa phương tiện trên Ubuntu đăng trên LBVMVT số 231 để biết chi tiết các bước cài đặt và sử dụng các tiện ích này.

3. Quản trị Ubuntu

Các thao tác quản trị hệ thống Ubuntu bao gồm cài đặt, cấu hình và cập nhật các phần mềm; thiết lập các thông số mạng; quản lý máy in; quản trị tài khoản... Những chức năng chính mà bạn thường sử dụng sẽ là:

- Add/Remove: chức năng này được tổ chức trong menu Applications. Bạn sử dụng để cài đặt và loại bỏ các phần mềm trong Ubuntu và trên danh sách sẵn có.

Để cài đặt một phần mềm, chẳng hạn trình gửi nhận email Thunderbird, bạn đánh dấu chọn vào ô ngay trước tên của phần mềm này, tiếp đến bấm nút OK, chọn Apply và nhập mật khẩu quản trị hệ thống. Sau bước này, Ubuntu sẽ download và cài đặt phần mềm lên hệ thống của bạn. Để hoàn thành, bạn bấm nút Close trong hộp thoại Changes applied.

Thao tác loại bỏ cũng được thực hiện một cách tương tự. Bạn bỏ dấu chọn tại ô ngay trước tên phần mềm và thực hiện các bước như đã nêu ở trên.

- Places: menu này bao gồm các chức năng cho phép bạn khai thác tài nguyên trên máy tính Ubuntu như Home Folder, Desktop, Computer, Search for Files... Bạn cũng có thể khai thác tài nguyên trên mạng với chức năng Network.

- Preferences: nằm trong menu System, chức năng này cho phép bạn thực hiện các thay đổi trên hệ thống như thiết lập lại các phím nóng đối với các chức năng trên Ubuntu, đổi cấu hình hoạt động của chuột. Bạn cũng có thể điều chỉnh độ phân giải, tạo lập các session để các ứng dụng có thể khởi động cùng lúc với Ubuntu. Ngoài ra, nếu muốn cho phép các máy tính khác quản trị hệ thống Ubuntu từ xa, bạn chọn Remote Desktop.

Trong màn hình Remote Desktop Preferences, bạn đánh dấu chọn vào ô Allow other users to control your desktop để cấp phép quản trị từ xa. Các máy tính thực hiện thao tác quản trị Ubuntu từ xa bằng cách sử dụng tiện ích VNC Viewer, nhập mật khẩu mà bạn đưa vào ở mục Password.

- Administration: bao gồm các chức năng được dùng để tương tác với hệ thống. Tại menu này, chúng ta có thể cấu hình các thông số mạng (Network), cấu hình máy in (Printing); bật/tắt các dịch vụ hệ thống (Service).

Chức năng System Monitor cho phép bạn theo dõi trạng thái hoạt động của bộ vi xử lý. Tương tự như Task Manager trên Windows, bạn có thể xem và tương tác với các tiến trình đang hoạt động trên hệ thống Ubuntu.

Cũng từ menu này, bạn có thể quản lý file log của hệ thống (System Log); quản lý tài khoản đăng nhập (Users and Groups); cấu hình ngày giờ (Time and Date) và chia sẻ tài nguyên (Shared Sources).

Ngoài ra, còn phải kể đến Synaptic Package Manager. Phần mềm này cho phép bạn quản lý tất cả các gói cài đặt trên Ubuntu. Với các tính năng hoàn toàn tương tự công cụ apt-get (tham khảo ở phần sau), Synaptic cho phép bạn cài đặt, cập nhật và loại bỏ các phần mềm. Đồng thời, Synaptic cũng giúp bạn bổ sung các nguồn cài đặt mới (repositories) vào hệ thống.

4. Một số lệnh thường dùng

Dưới đây là một số lệnh được sử dụng phổ biến trên Ubuntu trong quá trình các bạn tương tác với hệ thống.

# wget <địa-chỉ-download>: lệnh này sẽ download các gói cài đặt về thư mục hiện thời. Đây là tiện ích có thể download file từ các HTTP và FTP server, rất thích hợp với những kết nối chậm hoặc không ổn định. Wget có khả năng resume gói download ngay tại vị trí bị ngắt. Để resume, bạn bổ sung REST với FTP server và Range với HTTP server, với điều kiện các server này có hỗ trợ. Nếu muốn wget chạy ở background, chúng ta bổ sung tuỳ chọn -b. Bạn có thể tham khảo đầy đủ các tuỳ chọn bằng cách gõ lệnh man wget tại cửa sổ Terminal.

# aptitude update: aptitude là công cụ quản lý các gói cài đặt thuộc dòng Debian (.deb) ở cấp độ high-level. Chúng ta có thể sử dụng công cụ này để cập nhật danh sách phần mềm; thực hiện các thao tác cài đặt, cập nhật và loại bỏ các phần mềm trên hệ thống.

Chúng ta thường sử dụng aptitude update trước khi cài đặt để cập nhật danh sách các gói từ apt sources (/etc/apt/source.list). Lệnh này tương đương với apt-get update. Bạn có thể tham khảo đầy đủ các tùy chọn bằng cách gõ lệnh man aptitude tại cửa sổ Terminal.

# apt-get install : apt-get cũng là một tiện ích được dùng để tương tác với tất cả các gói cài đặt trên Ubuntu, đặc biệt là chức năng cài đặt phần mềm với apt-get install. Bạn có thể tham khảo đầy đủ các tuỳ chọn bằng cách gõ lệnh man apt-get tại cửa sổ Terminal.

# dpkg -i & # dpkg -e : dpkg (Debian medium-level Package Manager) là công cụ được sử dụng để quản lý các gói cài đặt có phần mở rộng .deb (gói cài đặt nhị phân của các hệ điều hành Debian Linux). Chúng ta có thể dùng dpkg để cài đặt, loại bỏ, cập nhật các phần mềm trên Ubuntu. Bạn có thể tham khảo đầy đủ các tùy chọn bằng cách gõ lệnh man dpkg tại cửa sổ Terminal.

(Theo KHPT)