You are on page 1of 119

BỘ TÀI CHÍNH

TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING


KHOA CÔNG NGHỆ THÔNG TIN


GIÁO TRÌNH
KIẾN TRÚC MÁY TÍNH
VÀ HỆ ĐIỀU HÀNH

LƯU HÀNH NỘI BỘ


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG I. GIỚI THIỆU CHUNG VỀ MÁY TÍNH


1. Máy tính và phân loại
1.1. Máy tính
• Máy tính (Computer) là thiết bị điện tử thực hiện các công việc sau:
o Nhận thông tin vào
o Xử lý thông tin theo dãy các lệnh được nhớ sẵn bên trong,
o Đưa thông tin ra.
• Dãy các lệnh nằm trong bộ nhớ để yêu cầu máy tính thực hiện công việc cụ thể gọi
là chương trình (program)
 Máy tính hoạt động theo chương trình.
Máy tính ....

Mô hình phân lớp của máy tính:

Người
Người
sử dụng
Lập trình

Phần cứng (Hardware): hệ thống vật lý của máy tính.


Phần mềm (Software): các chương trình và dữ liệu.
1.2. Phân loại máy tính
• Phân loại truyền thống:
o Máy vi tính (Microcomputers)

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 1


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

o Máy tính nhỏ (Minicomputers)


o Máy tính lớn (Mainframe Computers)
o Siêu máy tính (Supercomputers)
• Phân loại máy tính hiện đại
o Máy tính cá nhân (Personal Computers)
o Máy chủ (Server Computers)
o Máy tính nhúng (Embedded Computers)
Máy tính cá nhân PC
Là loại máy tính phổ biến nhất
• Các loại máy tính cá nhân:
Máy tính để bàn (Desktop)
Máy tính xách tay (Laptop)
• 1981  IBM giới thiệu máy tính IBM-PC sử dụng bộ xử lý Intel 8088
• 1984  Apple đưa ra Macintosh sử dụng bộ xử lý Motorola 68000
• Giá thành: hàng trăm đến hàng nghìn USD
Máy chủ (Server)
Thực chất là máy phục vụ
• Dùng trong mạng theo mô hình Client/Server (Khách hàng/Người phục vụ)
• Tốc độ và hiệu năng tính toán cao
• Dung lượng bộ nhớ lớn
• Độ tin cậy cao
• Giá thành: hàng nghìn đến hàng chục triệu USD.
Máy tính nhúng (Embedded Computer)
Được đặt trong thiết bị khác để điều khiển thiết bị đó làm việc
• Được thiết kế chuyên dụng
• Ví dụ:
o Điện thoại di động
o Máy ảnh số
o Bộ điều khiển trong máy giặt, điều hoà nhiệt độ
o Router – bộ định tuyến trên mạng
• Giá thành: vài USD đến hàng trăm nghìn USD.
2. Kiến trúc máy tính
Kiến trúc máy tính bao gồm hai khía cạnh:
• Kiến trúc tập lệnh (Instruction Set Architecture): nghiên cứu máy tính theo cách nhìn
của người lập trình
• Tổ chức máy tính (Computer Organization): nghiên cứu cấu trúc phần cứng máy tính
 Kiến trúc tập lệnh thay đổi chậm, tổ chức máy tính thay đổi rất nhanh.
Ví dụ:
Các máy tính PC dùng các bộ xử lý Pentium III và Pentium 4:
• cùng chung kiến trúc tập lệnh (IA-32)
• có tổ chức khác nhau
Kiến trúc tập lệnh
Kiến trúc tập lệnh của máy tính bao gồm:
• Tập lệnh: tập hợp các chuỗi số nhị phân mã hoá cho các thao tác mà máy tính có thể
thực hiện
• Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý
Cấu trúc cơ bản của máy tính

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 2


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Các thành phần cơ bản của máy tính


• Bộ xử lý trung tâm (Central Processing Unit): Điều khiển hoạt động của máy tính và
xử lý dữ liệu.
• Bộ nhớ chính (Main Memory): Chứa các chương trình và dữ liệu đang được sử dụng.
• Hệ thống vào ra (Input/Output System): Trao đổi thông tin giữa máy tính với bên
ngoài.
• Liên kết hệ thống (System Interconnection): Kết nối và vận chuyển thông tin giữa các
thành phần với nhau.
3. Lịch sử phát triển và hiệu suất của máy tính
• Thế hệ thứ nhất: Máy tính dùng đèn điện tử chân không (1950s)
• Thế hệ thứ hai: Máy tính dùng transistor (1960s)
• Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI và LSI (1970s)
• Thế hệ thứ tư: Máy tính dùng vi mạch VLSI (1980s)
• Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC (1990s)
3.1. Máy tính dùng đèn điện tử
• ENIAC- Máy tính điện tử đầu tiên
o Electronic Numerical Intergator And Computer
o Dự án của Bộ Quốc phòng Mỹ
o Do John Mauchly và John Presper Eckert ở Đại học Pennsylvania thiết kế.
o Bắt đầu từ năm 1943, hoàn thành năm 1946
o Nặng 30 tấn
o 18000 đèn điện tử và 1500 rơle
o 5000 phép cộng/giây
o Xử lý theo số thập phân
o Bộ nhớ chỉ lưu trữ dữ liệu
o Lập trình bằng cách thiết lập vị trí của các chuyển mạch và các cáp nối.
Đèn điện tử

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 3


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

ENIAC

Máy tính von Neumann


• Đó là máy tính IAS:
o Princeton Institute for Advanced Studies
o Được bắt đầu từ 1947, hoàn thành1952
o Do John von Neumann thiết kế
o Được xây dựng theo ý tưởng “chương trình được lưu trữ” (stored-program
concept) của von Neumann/Turing (1945)
Đặc điểm chính của máy tính IAS:
Bao gồm các thành phần: đơn vị điều khiển, đơn vị số học và logic (ALU), bộ nhớ chính và
các thiết bị vào-ra.
o Bộ nhớ chính chứa chương trình và dữ liệu
o Bộ nhớ chính được đánh địa chỉ theo từng ngăn nhớ, không phụ thuộc vào nội
dung của nó.
o ALU thực hiện các phép toán với số nhị phân
o Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã và thực hiện lệnh một cách
tuần tự.
o Đơn vị điều khiển điều khiển hoạt động của các thiết bị vào-ra
o Trở thành mô hình cơ bản của máy tính
John von Neumann và máy tính IAS:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 4


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Alan Turing

Các máy tính thương mại ra đời


• 1947 - Eckert-Mauchly Computer Corporation
• UNIVAC I (Universal Automatic Computer)
• 1950s - UNIVAC II
o Nhanh hơn
o Bộ nhớ lớn hơn
UNIVAC I:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 5


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

UNIVAC II:

Hãng IBM
• IBM - International Business Machine
• 1953 - IBM 701
o Máy tính lưu trữ chương trình đầu tiên của IBM
o Sử dụng cho tính toán khoa học
• 1955 – IBM 702
o Các ứng dụng thương mại
IBM 701:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 6


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

3.2. Máy tính dùng transistor


• Máy tính PDP-1 của DEC (Digital Equipment Corporation) máy tính mini đầu tiên
• IBM 7000
• Hàng trăm nghìn phép cộng trong một giây.
• Các ngôn ngữ lập trình bậc cao ra đời.
Máy tính DEC PDP-1 (1960):

IBM 7030 (1961):

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 7


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

3.3. Máy tính dùng vi mạch SSI, MSI và LSI


• Vi mạch (Integrated Circuit - IC): nhiều transistor và các phần tử khác được tích hợp
trên một chip bán dẫn.
o SSI (Small Scale Integration)
o MSI (Medium Scale Integration)
o LSI (Large Scale Integration)
o VLSI (Very Large Scale Integration) (thế hệ thứ tư)
o ULSI (Ultra Large Scale Integration) (thế hệ thứ năm)
o SoC (System on Chip)
• Siêu máy tính xuất hiện: CRAY-1, VAX
• Bộ vi xử lý (microprocessor) ra đời
o Bộ vi xử lý đầu tiên  Intel 4004 (1971).
Luật Moore:
• Gordon Moore – người đồng sáng lập Intel
• Số transistors trên chip sẽ gấp đôi sau 18 tháng
• Giá thành của chip hầu như không thay đổi
• Mật độ cao hơn, do vậy đường dẫn ngắn hơn
• Kích thước nhỏ hơn dẫn tới độ phức tạp tăng lên
• Điện năng tiêu thụ ít hơn
• Hệ thống có ít các chip liên kết với nhau, do đó tăng độ tin cậy
Tăng trưởng số transistor trong chip CPU:

IBM 360 Family:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 8


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

PDP-11 (1973):

VAX-11 (1981):

Micro VAX:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 9


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Siêu máy tính CRAY-1:

3.4. Máy tính dùng vi mạch VLSI/ULSI


Các sản phẩm chính của công nghệ VLSI/ULSI:
• Bộ vi xử lý (Microprocessor): CPU được chế tạo trên một chip.
• Vi mạch điều khiển tổng hợp (Chipset): một hoặc một vài vi mạch thực hiện được
nhiều chức năng điều khiển và nối ghép.
• Bộ nhớ bán dẫn (Semiconductor Memory): ROM, RAM
• Các bộ vi điều khiển (Microcontroller): máy tính chuyên dụng được chế tạo trên 1
chip.
Intel 4004 - bộ vi xử lý 4-bit :

Intel 8080 - bộ vi xử lý 8-bit :

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 10


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Intel 80286 - bộ vi xử lý 16-bit :

80386 - bộ vi xử lý 32-bit đầu tiên của Intel :

Intel Pentium (32-bit):

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 11


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Pentium III và Pentium 4 (32-bit):

Pentium III Pentium 4


Itanium (64-bit):

Các hệ thống máy tính hiện đại:


• Máy tính nhúng
• Máy tính cá nhân (PC)
• Máy trạm làm việc
• Máy chủ (Servers)
• Mạng máy tính
• Internet - Mạng máy tính toàn cầu
Ví dụ máy chủ HP:

Ví dụ máy chủ Sun:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 12


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

4. Các dòng Intel


Do ở thị trường Việt Nam chủ yếu sử dụng bộ vi xử lý của hãng này, nên ở phần
này sẽ trình bày kỹ hơn về quá trình phát triển các bộ xử lý của Intel.
Intel là nhà tiên phong trong việc sản xuất bộ vi xử lý (BVXL) khi tung ra Intel
4004 vào năm 1971. Khả năng tính toán của Intel 4004 chỉ dừng lại ở hai phép toán: cộng
hoặc trừ và nó chỉ có thể tính toán được 4 bits tại một thời điểm. Điều đáng kinh ngạc ở
đây là toàn bộ "cỗ máy" tính toán được tích hợp "nằm" gọn trên một chip đơn duy nhất.
Trước khi cho ra đời Intel 4004, các kỹ sư đã chế tạo ra máy tính hoặc là từ một tổ hợp
nhiều chip hoặc là từ các thành phần linh kiện rời rạc.
Thế nhưng BVXL đầu tiên "đặt chân" vào ngôi nhà số của chúng ta hiện nay lại
không phải là Intel 4004 mà là BVXL thế hệ kế tiếp của nó - Intel 8080, một máy tính 8-bit
hoàn hảo trên một chip duy nhất, đ ược giới thiệu vào năm 1974. Trong khi đ ó, Intel 8088
mới là thế hệ BVXL đầu tiên "loé sáng" thực sự trên thị trường. Được giới thiệu năm 1979
và sau đó được tích hợp vào các máy tính cá nhân IBM xuất hiện trên thị trường vào
năm 1982, Intel 8088 có thể được xem như "người tiền nhiệm chính" của các bộ xử lý
thế hệ tiếp theo: Intel 80286, 80386, 80486 rồi đến Intel Pentium, Pentium Pro, Pentium II,
III và IV. Do tất cả đều được cải tiến dựa trên thiết kế cơ bản của Intel 8088. Ngày nay,
BVXL Intel Pentium 4 có thể thực hiện bất kỳ đoạn mã nào đã chạy trên BVXL Intel 8088
nguyên thuỷ nhưng với tốc đ ộ nhanh hơn gấp nhiều nghìn lần.

Bộ vi xử lý 4004 đầu tiên của Intel

Để có cái nhìn bao quát hơn, chúng ta xem quá trình phát triển của CPU Intel
trong các thời kỳ như sau:
Năm 1971: Bộ vi xử lý 4004
4004 là bộ vi xử lý đ ầ u tiên của Intel. Phát minh đ ột phá này nhằm tăng sức
mạnh cho máy tính Busicom và dọn đường cho khả năng nhúng trí thông minh của con
người vào trong các thiết bị vô tri cũng như các hệ thống máy tính cá nhân.
Số lượng bóng bán dẫn: 2.300

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 13


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Tốc độ: 108KHz


Năm 1972: Bộ vi xử lý 8008
Bộ vi xử lý 8008 mạnh gấp đôi bộ vi xử lý 4004. Thiết bị Mark-8 đ ược biết đ ến
như là một trong những hệ thống máy tính đầu tiên dành cho người sử dụng gia đình –
một hệ thống mà theo các tiêu chuẩn ngày nay thì rất khó để xây dựng, bảo trì và vận
hành.
Số lượng bóng bán dẫn: 3.500
Tốc độ: 200KHz
Năm 1974: Bộ vi xử lý 8080
Bộ vi xử lý 8080 đã trở thành bộ não của hệ thống máy tính cá nhân đầu tiên –
Altair.
Số lượng bóng bán dẫn: 6.000
Tốc độ: 2MHz
Năm 1978: Bộ vi xử lý 8086-8088
Một hợp đồng cung cấp sản phẩm quan trọng cho bộ phận máy tính cá nhân mới
thành lập của IBM đã biến bộ vi xử lý 8088 trở thành bộ não của sản phẩm chủ đạo mới của
IBM - máy tính IBM PC.
Số lượng bóng bán dẫn: 29.000
Tốc độ: 5MHz, 8MHz, 10MHz
Năm 1982: Bộ vi xử lý 286
Bộ vi xử lý 286, còn được biết đến với cái tên là 80286, là bộ vi xử lý Intel đầu tiên
có thể chạy tất cả các phần mềm được viết cho những bộ vi xử lý trước đó. Tính tương thích
về phần mềm này vẫn luôn là một tiêu chuẩn bắt buộc trong họ các bộ vi xử lý của Intel
Số lượng bóng bán dẫn: 134.000
Tốc độ: 6MHz, 8MHz, 10MHz, 12,5MHz
Năm 1985: Bộ vi xử lý Intel 386
Bộ vi xử lý Intel 386 có 275.000 bóng bán dẫn – nhiều hơn 100 lần so với bộ vi xử
lý 4004 ban đầu. Đây là một chip 32 bit và có khả năng xử lý “đa tác vụ”, nghĩa là nó có thể
chạy nhiều các chương trình khác nhau cùng một lúc.
Số lượng bóng bán dẫn: 275.000
Tốc độ: 16MHz, 20MHz, 25MHz, 33MHz
Năm 1989: Bộ vi xử lý CPU Intel 486 DX
Thế hệ bộ vi xử lý 486 thực sự có ý nghĩa khi giúp chúng ta thoát khỏi một máy tính
phải gõ lệnh thực thi và chuyển sang điện toán chỉ và nhấn (point-and-click).
Số lượng bóng bán dẫn: 1,2 triệu
Tốc độ: 25MHz, 33MHz, 50MHz
Năm 1993: Bộ vi xử lý Pentium®
Bộ vi xử lý Pentium® cho phép các máy tính dễ dàng hơn trong việc tích hợp
những dữ liệu “thế giới thực” như giọng nói, âm thanh, ký tự viết tay và các ảnh đồ họa
Số lượng bóng bán dẫn: 3,1 triệu
Tốc độ: 60MHz, 66MHz
Năm 1997: Bộ vi xử lý Pentium® II

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 14


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Bộ vi xử lý Pentium® II có 7,5 triệu bóng bán dẫn này được tích hợp công nghệ Intel
MMX, một công nghệ được thiết kế đặc biệt để xử lý các dữ liệu video, audio và đồ họa một
cách hiệu quả.
Số lượng bóng bán dẫn: 7,5 triệu
Tốc độ: 200MHz, 233MHz, 266MHz, 300MHz
Năm 1999: Bộ vi xử lý Pentium® III
Bộ vi xử lý Pentium® III có 70 lệnh xử lý mới – những mở rộng Internet Streaming
SIMD – giúp tăng cường mạnh mẽ hiệu suất hoạt động của các ứng dụng xử lý ảnh tiên
tiến, 3-D, streaming audio, video và nhận dạng giọng nói. Bộ vi xử lý này được giới thiệu
sử dụng công nghệ 0,25 micron.
Số lượng bóng bán dẫn: 9,5 triệu
Tốc độ: 650MHz tới 1,2GHz
Năm 2000: Bộ vi xử lý Pentium® 4
Bộ vi xử lý này đ ược giới thiệu với 42 triệu bóng bán dẫn và các mạch 0,18
micron. Bộ vi xử Pentium® 4 có tần số hoạt động là 1,5 gigahertz (1,5 tỷ hertz), nhanh
hơn gấp 10 nghìn lần so với bộ vi xử lý đầu tiên của Intel, bộ vi xử lý 4004, chạy ở tốc độ
108 kilohertz (108.000 hertz).
Số lượng bóng bán dẫn: 42 triệu
Tốc độ: 1.30GHz, 1.40GHz, 1.50GHz, 1.70GHz, 1.80Ghz
Tháng 8 năm 2001: Bộ vi xử lý Pentium 4 đạt mốc 2 GHz
Tháng 11 năm 2002: Bộ vi xử lý Intel Pentium 4 hỗ trợ Công nghệ Siêu phân luồng
Intel giới thiệu Công nghệ Siêu phân luồng đột phá cho bộ vi xử lý Intel®
Pentium® 4 mới có tốc độ 3,06 GHz. Công nghệ Siêu phân luồng có thể tăng tốc hiệu
suất hoạt đ ộng của máy tính lên tới 25%. Intel đạt mốc tốc độ mới cho máy tính với việc
giới thiệu bộ vi xử lý Pentium 4 tốc độ 3,06 GHz. Đây là bộ vi xử lý thương mại đầu tiên
có thể xử lý 3 tỷ chu trình một giây và được hiện thực hóa thông qua việc sử dụng công
nghệ sản xuất 0,13 micron tiên tiến nhất của ngành công nghiệp.
Tháng 11 năm 2003: Bộ vi xử lý Intel® Pentium® 4 Extreme Edition hỗ trợ Công nghệ
Siêu phân luồng tốc độ 3,20 GHz được giới thiệu. Sử dụng công nghệ xử lý 0,13 micron
của Intel, bộ vi xử lý Intel Pentium 4 Extreme Edition có bộ nhớ đệm L2 dung lượng 512
kilobyte, một bộ nhớ đệm L3 dung lượng 2 megabyte và một kênh truyền hệ thống tốc độ
800 Mhz. Bộ vi xử lý này tương thích với họ chipset hiện tại Intel® 865 và Intel® 875
cũng như bộ nhớ hệ thống chuẩn.
Tháng 6 năm 2004: Bộ vi xử lý Intel Pentium 4 hỗ trợ Công nghệ Siêu phân luồng đạt
mốc 3,4 GHz
Tháng 4 năm 2005: Giới thiệu nền tảng sử dụng bộ vi xử lý hai nhân đầu tiên của Intel
gồm bộ vi xử lý Intel® Pentium® Extreme Edition 840 chạy ở tốc độ 3,2 GHz và một
chipset Intel® 955X Express. Các bộ vi xử lý hai nhân hoặc đa nhân được phát triển bằng
cách đưa hai hay nhiều nhân xử lý hoàn chỉnh vào trong một bộ vi xử lý đơn nhất giúp
quản lý đồng thời nhiều tác vụ.
Tháng 5 năm 2005: Bộ vi xử lý Intel® Pentium® D với hai nhân xử lý – hay còn gọi là
“các bộ não” – được giới thiệu cùng với họ chipset Intel® 945 Express có khả năng hỗ trợ
những tính năng của các thiết bị điện tử tiêu dùng như âm thanh vòm, video có độ phân giải
cao và các khả năng xử lý đồ họa tăng cường.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 15


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Tháng 5 năm 2006: Nhãn hiệu Intel Core 2 Duo được công bố ra thế giới và sau đó 5
tháng chính hãng Intel đã đến Việt Nam để quảng bá cho sản phẩm mới này.
Tháng 7 năm 2006: Tập đoàn Intel công bố 10 bộ vi xử lý mới Intel Core 2 Duo và
Core Extreme cho các hệ thống máy tính đ ể bàn và máy tính xách tay. Những bộ vi xử
lý mới này nâng cao tới 40% hiệu suất hoạt động và nhiều hơn 40% hiệu quả tiết kiệm
điện năng so với bộ vi xử lý Intel® Pentium® tốt nhất. Các bộ vi xử lý Core 2 Duo có 291
triệu bóng bán dẫn.
Bảng dưới đây sẽ giúp chúng ta hiểu được sự khác biệt giữa các bộ xử lý mà Intel
đã giới thiệu qua các năm:

Bảng Tổng quan về CPU Intel


Micros: là chiều rộng, tính bằng Microns, của dây dẫn nhỏ nhất trên chip. Để dễ hình
dung, chúng ta hãy liên tưởng đến tóc người có độ dày là 100 microns. Và như chúng ta
thấy thì kích thước đặc trưng của các phần tử giảm xuống thì số lượng transistor sẽ được tăng
lên.
Data Width: là chiều rộng của bộ tính toán Logic-Số học ALU. Một ALU 8 bit có thể
cộng/trừ/nhân/… 2 số 8 bit, trong khi một ALU 32 bit có thể tính toán các số 32 bit. Một
ALU 8 bit sẽ phải thực hiện 4 chỉ lệnh để cộng hai số 32 bit, trong khi một ALU 32 bit có
thể làm việc này chỉ với một chỉ lệnh duy nhất. Trong đa số trường hợp, tuyến dữ liệu ngoại
có cùng độ rộng với ALU, nhưng không phải lúc nào cũng vậy. Trong khi các CPU Pentium
mới tìm nạp dữ liệu 64 bit tại cùng một thời điểm cho các ALU 32 bit của chúng
MIPS: viết tắt của cụm "millions of instructions per second", là thước đo tương đối cho
hiệu năng của CPU. Các CPU thế hệ mới hiện nay có thể làm rất nhiều việc khác nhau khiến
việc đánh giá bằng các giá trị MIPS mất dần ý nghĩa của chúng. Thay thế bằng MIPS, ngày

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 16


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

nay người ta dùng MFLOPS (Mera Floating Point Operations Per Second) hoặc TFLOPS
(Tera Floating Point Operations Per Second) để đánh giá hiệu năng của máy tính. Tuy
nhiên, chúng ta có thể có đ ược phán đoán chung về sức mạnh tương đối của các CPU
từ cột cuối trong bảng trên.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 17


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG II. HỆ THỐNG MÁY TÍNH


1. Các thành phần cơ bản của máy tính
• Bộ xử lý trung tâm (Central Processing Unit)
• Bộ nhớ (Memory)
• Hệ thống vào ra (Input/Output System)
• Liên kết hệ thống (System Interconnection)
1.1. Bộ xử lý trung tâm (CPU)
• Chức năng:
o điều khiển hoạt động của máy tính
o xử lý dữ liệu
• Nguyên tắc hoạt động cơ bản:
CPU hoạt động theo chương trình nằm trong bộ nhớ chính.
Cấu trúc cơ bản của CPU

Các thành phần cơ bản của CPU:


• Đơn vị điều khiển (Control Unit - CU): điều khiển hoạt động của máy tính theo
chương trình đã định sẵn.
• Đơn vị số học và logic (Arithmetic and Logic Unit - ALU): thực hiện các phép toán
số học và phép toán logic.
• Tập thanh ghi (Register File - RF): lưu giữ các thông tin tạm thời phục vụ cho hoạt
động của CPU.
• Đơn vị nối ghép bus (Bus Interface Unit - BIU) kết nối và trao đổi thông tin giữa bus
bên trong (internal bus) và bus bên ngoài (external bus).
Tốc độ của bộ xử lý:
• Tốc độ của bộ xử lý:
• Số lệnh được thực hiện trong 1 giây
• MIPS (Million of Instructions per Second)
• Khó đánh giá chính xác
• Tần số xung nhịp của bộ xử lý:
• Bộ xử lý hoạt động theo một xung nhịp (Clock) có tần số xác định
• Tốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số của xung nhịp

• Dạng xung nhịp

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 18


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• T0: chu kỳ xung nhịp


• Tần số xung nhịp: f0 = 1/T0
• Mỗi thao tác của bộ xử lý cần kT0
• T0 càng nhỏ  bộ xử lý chạy càng nhanh
• Ví dụ: Máy tính dùng bộ xử lý 2GHz
• Ta có f0 = 2GHz = 2x109Hz
 T0 = 1/f0 = 1/(2x109) = 0,5 ns.
1.2. Bộ nhớ máy tính (Memory)
• Chức năng: lưu trữ chương trình và dữ liệu.
• Các thao tác cơ bản với bộ nhớ:
o Thao tác ghi (Write)
o Thao tác đọc (Read)
• Các thành phần chính:
o Bộ nhớ trong (Internal Memory)
o Bộ nhớ ngoài (External Memory)
Các thành phần của bộ nhớ máy tính:

Bộ nhớ trong:
• Chức năng và đặc điểm:
o Chứa các thông tin mà CPU có thể trao đổi trực
tiếp
o Tốc độ rất nhanh
o Dung lượng không lớn
o Sử dụng bộ nhớ bán dẫn: ROM và RAM
• Các loại bộ nhớ trong:
o Bộ nhớ chính
o Bộ nhớ cache (bộ nhớ đệm)
Bộ nhớ chính (Main Memory):
• Chứa các chương trình và dữ liệu đang được CPU sử
dụng.
• Tổ chức thành các ngăn nhớ được đánh địa chỉ.
• Ngăn nhớ thường được tổ chức theo byte.
• Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ
vật lý của ngăn nhớ luôn cố định
Bộ nhớ cache:
• Bộ nhớ có tốc độ nhanh được đặt đệm giữa CPU và bộ

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 19


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

nhớ chính nhằm tăng tốc độ CPU truy cập bộ nhớ


• Dung lượng nhỏ hơn bộ nhớ chính
• Tốc độ nhanh hơn
• Cache thường được chia thành một số mức
• Cache có thể được tích hợp trên chip vi xử lý.
• Cache có thể có hoặc không
Bộ nhớ ngoài (External Memory):
• Chức năng và đặc điểm
o Lưu giữ tài nguyên phần mềm của máy tính
o Được kết nối với hệ thống dưới dạng các thiết bị vào-ra
o Dung lượng lớn
o Tốc độ chậm
• Các loại bộ nhớ ngoài
o Bộ nhớ từ: đĩa cứng, đĩa mềm
o Bộ nhớ quang: đĩa CD, DVD
o Bộ nhớ bán dẫn: Flash disk, memory card
1.3. Hệ thống vào-ra (Input-Output)
• Chức năng: Trao đổi thông tin giữa máy tính với thế giới bên ngoài.
• Các thao tác cơ bản:
o Vào dữ liệu (Input)
o Ra dữ liệu (Output)
• Các thành phần chính:
o Các thiết bị ngoại vi (Peripheral Devices)
o Các mô-đun vào-ra (IO Modules)
Cấu trúc cơ bản của hệ thống vào-ra:

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


• Chức năng: chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính
• Các loại thiết bị ngoại vi cơ bản
o Thiết bị vào: bàn phím, chuột, máy quét ...
o Thiết bị ra: màn hình, máy in ...
o Thiết bị nhớ: các ổ đĩa ...
o Thiết bị truyền thông: MODEM ...
Mô-đun vào-ra:
• Chức năng: nối ghép các thiết bị ngoại vi với máy tính
• Mỗi mô-đun vào-ra có một hoặc một vài cổng vào-ra (I/O Port).

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 20


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• Mỗi cổng vào-ra được đánh một địa chỉ xác định.
• Các thiết bị ngoại vi được kết nối và trao đổi dữ liệu với máy tính thông qua các cổng
vào-ra.
2. Các hoạt động cơ bản của máy tính
2.1. Nhận lệnh và thực hiện lệnh
Thực hiện chương trình:
• Là hoạt động cơ bản của máy tính
• Máy tính lặp đi lặp lại hai bước:
Nhaän leänh 
 chu trình leänh
Thöïc hieän leänh 
• Thực hiện chương trình bị dừng nếu thực hiện lệnh bị lỗi hoặc gặp lệnh dừng.
Chu trình lệnh:

Nhận lệnh:
• Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính.
• Bộ đếm chương trình PC (Program Counter) của CPU giữ địa chỉ của lệnh sẽ được
nhận.
• CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC.
• Lệnh được nạp vào thanh ghi lệnh IR (Instruction Register).
• Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp.

Minh họa quá trình nhận lệnh:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 21


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Thực hiện lệnh:


• Bộ xử lý giải mã lệnh đã được nhận và phát tín hiệu điều khiển thực hiện thao tác mà
lệnh yêu cầu.
• Các kiểu thao tác của lệnh:
• Trao đổi dữ liệu giữa CPU và bộ nhớ chính
• Trao đổi dữ liệu giữa CPU và mô-đun vào-ra
• Xử lý dữ liệu: thực hiện các phép toán số học hoặc phép toán logic với các dữ liệu.
• Điều khiển rẽ nhánh
• Kết hợp các thao tác trên.
2.2. Ngắt (Interrupt)
• Khái niệm chung về ngắt: Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang
thực hiện để chuyển sang thực hiện một chương trình khác, gọi là chương trình con
phục vụ ngắt.
• Các loại ngắt:
o Ngắt do lỗi khi thực hiện chương trình, ví dụ: tràn số, chia cho 0.
o Ngắt do lỗi phần cứng, ví dụ lỗi bộ nhớ RAM.
o Ngắt do mô-đun vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.
Hoạt động ngắt:
• Sau khi hoàn thành mỗi một lệnh, bộ xử lý kiểm tra tín hiệu ngắt
• Nếu không có ngắt  bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại
• Nếu có tín hiệu ngắt:
o Tạm dừng chương trình đang thực hiện
o Cất ngữ cảnh (các thông tin liên quan đến chương trình bị ngắt)
o Thiết lập PC trỏ đến chương trình con phục vụ ngắt
o Chuyển sang thực hiện chương trình con phục vụ ngắt
o Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh và tiếp tục chương
trình đang bị tạm dừng

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 22


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Chu trình lệnh với ngắt:

Xử lý với nhiều tín hiệu yêu cầu ngắt:


• Xử lý ngắt tuần tự
o Khi một ngắt đang được thực hiện, các ngắt khác sẽ bị cấm.
o Bộ xử lý sẽ bỏ qua các ngắt tiếp theo trong khi đang xử lý một ngắt
o Các yêu cầu ngắt vẫn đang đợi và được kiểm tra sau khi ngắt đầu tiên được xử
lý xong
o Các ngắt được thực hiện tuần tự
• Xử lý ngắt ưu tiên
o Các ngắt được định nghĩa mức ưu tiên khác nhau
o Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt ưu tiên cao hơn
o Xảy ra ngắt lồng nhau
2.3. Hoạt động vào-ra
• Hoạt động vào-ra: là hoạt động trao đổi dữ liệu giữa mô-đun vào-ra với bên trong máy
tính.
• Các kiểu hoạt động vào-ra:
o CPU trao đổi dữ liệu với mô-đun vào-ra
o Mô-đun vào-ra trao đổi dữ liệu trực tiếp với bộ nhớ chính (DMA- Direct
Memory Access).

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 23


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

3. Liên kết hệ thống


3.1. Luồng thông tin trong máy tính
• Các mô-đun trong máy tính:
o CPU
o Mô-đun nhớ
o Mô-đun vào-ra
 cần được kết nối với nhau
Kết nối mô-đun nhớ:

• Địa chỉ đưa đến để xác định cổng vào-ra


• Ra dữ liệu (Output)
o Nhận dữ liệu từ CPU hoặc bộ nhớ chính
o Đưa dữ liệu ra thiết bị ngoại vi
• Vào dữ liệu (Input)
o Nhận dữ liệu từ thiết bị ngoại vi
o Đưa dữ liệu vào CPU hoặc bộ nhớ chính
• Nhận các tín hiệu điều khiển từ CPU
• Phát các tín hiệu điều khiển đến thiết bị ngoại vi
• Phát các tín hiệu ngắt đến CPU
Kết nối CPU:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 24


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• Phát địa chỉ đến các mô-đun nhớ hay các mô-đun vào-ra
• Đọc lệnh và dữ liệu
• Đưa dữ liệu ra (sau khi xử lý)
• Phát tín hiệu điều khiển đến các mô-đun nhớ và các mô-đun vào-ra
• Nhận các tín hiệu ngắt
3.2. Cấu trúc bus cơ bản
• Bus: tập hợp các đường kết nối dùng để vận chuyển thông tin giữa các mô-đun của
máy tính với nhau.
• Các bus chức năng:
o Bus địa chỉ
o Bus dữ liệu
o Bus điều khiển
• Độ rộng bus: là số đường dây của bus có thể truyền các bit thông tin đồng thời (chỉ
dùng cho bus địa chỉ và bus dữ liệu)
Sơ đồ cấu trúc bus cơ bản:

Bus địa chỉ:


Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào-ra
• Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đánh địa chỉ.
N bit: AN-1, AN-2, ... A2, A1, A0
 có thể đánh địa chỉ tối đa cho 2N ngăn nhớ (không gian địa chỉ bộ nhớ)
• Ví dụ:
o Bộ xử lý Pentium có bus địa chỉ 32 bit
 có khả năng đánh địa chỉ cho 232 bytes nhớ (4GBytes) (ngăn nhớ tổ chức theo
byte)
Bus dữ liệu:
• Chức năng:
o vận chuyển lệnh từ bộ nhớ đến CPU
o vận chuyển dữ liệu giữa CPU, mô đun nhớ, mô đun vào-ra với nhau
• Độ rộng bus dữ liệu: Xác định số bit dữ liệu có thể được trao đổi đồng thời.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 25


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

o M bit: DM-1, DM-2, ... D2, D1, D0


o M thường là 8, 16, 32, 64,128 bit.
• Ví dụ: Các bộ xử lý Pentium có bus dữ liệu 64 bit
Bus điều khiển:
• Chức năng: vận chuyển các tín hiệu điều khiển
• Các loại tín hiệu điều khiển:
o Các tín hiệu điều khiển đọc/ghi
o Các tín hiệu điều khiển ngắt
o Các tín hiệu điều khiển bus
Một số tín hiệu điều khiển điển hình:
• Các tín hiệu (phát ra từ CPU) điều khiển đọc-ghi:
o Memory Read (MEMR): điều khiển đọc dữ liệu từ một ngăn nhớ có địa chỉ
xác định lên bus dữ liệu.
o Memory Write (MEMW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu đến
một ngăn nhớ có địa chỉ xác định.
o I/O Read (IOR): điều khiển đọc dữ liệu từ một cổng vào-ra có địa chỉ xác định
lên bus dữ liệu.
o I/O Write (IOW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu ra một cổng có
địa chỉ xác định.
• Các tín hiệu điều khiển ngắt:
o Interrupt Request (INTR): Tín hiệu từ bộ điều khiển vào-ra gửi đến yêu cầu
ngắt CPU để trao đổi vào- ra. Tín hiệu INTR có thể bị che.
o Interrupt Acknowledge (INTA): Tín hiệu phát ra từ CPU báo cho bộ điều
khiển vào-ra biết CPU chấp nhận ngắt để trao đổi vào-ra.
o Non Maskable Interrupt (NMI): tín hiệu ngắt không che được gửi đến ngắt
CPU.
o Reset: Tín hiệu từ bên ngoài gửi đến CPU và các thành phần khác để khởi
động lại máy tính.
• Các tín hiệu điều khiển bus:
o Bus Request (BRQ) hay là Hold: Tín hiệu từ mô-đun điều khiển vào-ra gửi
đến yêu cầu CPU chuyển nhượng quyền sử dụng bus.
o Bus Grant (BGT) hay là Hold Acknowledge (HLDA): Tín hiệu phát ra từ CPU
chấp nhận chuyển nhượng quyền sử dụng bus.
o Lock/ Unlock: Tín hiệu cấm/cho-phép xin chuyển nhượng bus
Đặc điểm của cấu trúc đơn bus:
• Bus hệ thống chỉ phục vụ được một yêu cầu trao đổi dữ liệu tại một thời điểm
• Bus hệ thống phải có tốc độ bằng tốc độ bus của mô-đun nhanh nhất trong hệ thống
• Bus hệ thống phụ thuộc vào cấu trúc bus (các tín hiệu) của bộ xử lý  các mô-đun
nhớ và các mô-đun vào-ra cũng phụ thuộc vào bộ xử lý.
• Khắc phục: phân cấp bus  cấu trúc đa bus
3.3. Phân cấp bus trong máy tính
• Tổ chức thành nhiều bus trong hệ thống máy tính
o Cho các thành phần khác nhau:
 Bus của bộ xử lý
 Bus của bộ nhớ chính
 Các bus vào-ra
o Các bus khác nhau về tốc độ

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 26


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• Bus bộ nhớ chính và các bus vào-ra không phụ thuộc vào bộ xử lý cụ thể.
Một số bus điển hình trong PC:
• Bus của bộ xử lý (Front Side Bus - FSB): có tốc độ nhanh nhất
• Bus của bộ nhớ chính (nối ghép với các mô-đun RAM)
• AGP bus (Accelerated Graphic Port) - Bus đồ họa tăng tốc: nối ghép card màn hình
tăng tốc.
• PCI bus(Peripheral Component Interconnect): nối ghép với các thiết bị ngoại vi có tốc
độ trao đổi dữ liệu nhanh.
• IDE (Integrated Device Electronics): Bus kết nối với ổ đĩa cứng hoặc ổ đĩa CD, DVD
• USB (Universal Serial Bus): Bus nối tiếp đa năng
Máy tính Pentium 4 dùng Chipset 845:

Chipset 865:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 27


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Chipset 955:

Ví dụ về bo mạch chính:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 28


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 29


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

3.4. Các vấn đề liên quan của thiết kế bus


• Các kiểu bus
• Phân xử bus
• Định thời bus
Các kiểu bus:
• Bus dành riêng (Dedicated):
o Các đường địa chỉ và dữ liệu tách rời
o Ưu điểm: điều khiển đơn giản
o Nhược điểm: có nhiều đường kết nối
• Bus dồn kênh (Multiplexed)
o Các đường dùng chung cho địa chỉ và dữ liệu
o Có đường điều khiển để phân biệt có địa chỉ hay có dữ liệu
o Ưu điểm: có ít đường dây
o Nhược điểm:
 Điều khiển phức tạp hơn
 Hiệu năng hạn chế
Phân xử bus:
• Có nhiều mô-đun điều khiển bus
o ví dụ: CPU và bộ điều khiển vào-ra
• Chỉ cho phép một mô-đun điều khiển bus ở một thời điểm.
• Phân xử bus có thể là tập trung hay phân tán.
• Phân xử bus tập trung
o Có một Bộ điều khiển bus (Bus Controller) hay còn gọi là Bộ phân xử bus
(Arbiter)
o Có thể là một phần của CPU hoặc mạch tách rời.
• Phân xử bus phân tán
o Mỗi một mô-đun có thể chiếm bus
o Có đường điều khiển đến tất cả các mô-đun khác
Định thời bus (Timing):
• Phối hợp các sự kiện trên bus
• Bus đồng bộ
o Các sự kiện trên bus được xác định bởi một tín hiệu xung nhịp xác định
(clock)
o Bus Điều khiển bao gồm cả đường Clock
o Tất cả các mô-đun có thể đọc đường clock

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 30


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• Bus không đồng bộ


o Không có đường tín hiệu Clock
o Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo
Giản đồ định thời Bus đồng bộ:

Giản đồ định thời thao tác đọc của Bus không đồng bộ:

Giản đồ định thời thao tác ghi của Bus không đồng bộ:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 31


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

4. Sơ lược về các bộ phận cơ bản của máy tính


4.1. Bộ xử lý (CPU)
Bộ vi xử lý CPU (Central Processing Unit) là cốt lõi của một máy vi tính.
Những bộ vi xử lý tương thích của các hãng như AMD và Cyrix có cách phân bố chân vi
mạch và hoạt động tương thích với xử lý của Intel, vì thế chúng ta sẽ chỉ nói dến vi xử lý
của Intel, hãng chiếm thị phần lớn nhất thế giới về CPU.
Trong hình 2.1 minh họa tổ chức máy tính theo hướng BUS đơn giản. CPU là bộ não
của máy tính, nó đóng vai trò thi hành chương trình lưu trong bộ nhớ chính bằng cách nạp
lệnh, kiểm tra chúng rồi thi hành lần lượt từng lệnh.
Bộ điều khiển (control block) chịu trách nhiệm tìm nạp lệnh từ bộ nhớ chính và
định loại.
CPU chứa bộ nhớ nhỏ có tốc độ cao, dùng để lưu trữ kết quả tạm thời và thông tin
điều khiển. Bộ nhớ này gồm các thanh ghi (register), mỗi thanh ghi có một chức năng cụ
thể. Thanh ghi quan trọng nhất là bộ đếm chương trình (PC- program counter) chỉ đến lệnh
sẽ thi hành tiếp theo.
ALU-bộ xử lý logic-số học, thực hiện các phép tính số học như phép cộng (+) và
các luận lý logic như logic AND, OR.
Central Processing Unit - CPU

Control
Block

ALU I/O devices

Registers Main Disk Printer


memory

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 32


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Bus

Tổ chức máy tính theo hướng BUS đơn giản


Phụ thuộc vào số bit trong các thanh ghi mà ta có CPU 8 bit, 16 bit, 32 bit, 64 bit. Các
máy tính hiện đại ngày nay là loại CPU 64 bit.
Một thông số quan trong khi lựa chọn mua CPU là tốc độ đựơc đo bằng MOPS
(Millions of Operations Per Second) hay ngày nay hay dùng là TFOPS (Tera Floating Point
Operations Per Second), tuy nhiên trong thực tế chúng ta lại hay dựa vào tần số ghi kèm để
nói đến tốc độ tương đối của CPU. Hình dáng bên ngoài của các CPU hiện đại ngày nay đều
có dạng như hình 2.2.

AMD Athlon 64 Intel Pentium 4


Hình dáng bên ngoài CPU.
Các thông số quan trọng của bộ vi sử lý:
a) Hãng sản xuất và model (Processor make and model)
Trên thị trường máy tính cá nhân hiện nay chủ yếu có 2 hãng sản xuất CPU
chiếm hầu hết thị phần là AMD và Intel. Tuy các CPU của 2 hãng này có
những đặc tính và tốc độ gần như nhau, nhưng không thể cài đặt một AMD-CPU
vào một bo mạch chính (Motherboard) dùng cho Intel-CPU và ngược lại.
b) Dạng Socket (Socket type)
Tính chất này xác định số lượng, hình dạng, cũng như cách sắp xếp các chân và
như vậy mỗi loại CPU phải được gắn vào bo mạch chính có socket loại đó hay
nói cách khác là loại khe cắm của CPU. Trong bảng sau cho thấy các loại CPU nào
dùng với loại Socket nào và loại nào có thể nâng cấp (upgrade) được, còn hình cho
thấy một số bộ vi xử lý với các dạng Socket khác nhau.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 33


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Socket 370 Socket 478 Socket 775


Hình Một số loại Socket
c) Tốc độ đồng hồ xung (Clock Speed - CS)
Tốc độ đồng hồ xung của CPU thường được tính bằng megahertz (MHz)
hoặc gigahertz (GHz). Chúng ta thường dùng thông số này để nói đến tốc độ xử lý
của CPU. Tuy nhiên, không phải lúc nào CS của CPU nào lớn hơn thì CPU đó cũng
mạnh hơn. Ví dụ, một 3.0 GHz Celeron CPU sẽ chậm hơn 2.6 GHz Pentium 4, bởi vì
Celeron có bộ nhớ đệm cache L2 nhỏ hơn và tốc độ của kênh truyền chủ (host-bus)
thấp hơn.
Đặc biệt là giữa AMD và Intel có sự khác biệt lớn, AMD- CPU chạy với CS thấp
hơn Intel, nhưng làm khoảng 50% công việc nhiều hơn Intel trong một xung đồng hồ
(clock tick). Do đó một AMD Athlon 64 chạy ở 2.0 GHz sẽ tương đương với Intel P4 chạy
ở 3.0 GHz. Chính vì CS của AMD-CPU luôn thấp hơn của intel, nên AMD mới có các ký
hiệu model như 3000+ để chỉ ra rằng tốc độ của nó tương đương với 3.0 GHz của Intel.

Khả năng CPU có thể nâng cấp


Socket nâng cấp CPU gốc

Pentium II/III, Celeron


Slot 1 không không có

Slot A không Athlon không có

có, nhưng rất Celeron, Pentium


370 hạn chế III, VIA Celeron, Pentium III

423 không Pentium 4 không có

Athlon, Athlon XP, Sempron


462 có Sempron

Celeron, Celeron D, Pentium 4 Celeron D, Pentium 4


478 có

754 tốt Sempron, Athlon 64 Sempron, Athlon 64


Celeron D, Pentium 4 Celeron D, Pentium
775 rất tốt 4, Pentium D

Athlon 64, Athlon Athlon 64, Athlon


939 rất tốt 64/FX 64/FX, Athlon 64 X2

Athlon 64 FX, Opteron Athlon 64 FX,


940 rất tốt Opteron

Các loại socket và CPU tương ứng

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 34


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

d) Tốc độ đường truyền chủ (host-bus speed)


Hay còn gọi là front-side bus (FSB) speed, hay FSB speed, hay chỉ đơn giản là FSB
để chỉ ra tốc độ truyền dữ liệu giữa CPU và các vi mạch (chipset). Tốc độ FSB giúp tăng
hiệu suất của CPU ngay cả khi CPU có cùng một CS. AMD và intel thực hiện truyền dữ liệu
giữa bộ nhớ và cache khác nhau, nhưng bản chất đều là số lượng lớn nhất của một gói dữ
liệu có thể được truyền trong một giây. Theo cách tính này thì một máy tính với FSB là 100
MHz, nhưng trong một chu kỳ xung đồng hồ lại truyền được 4 lần thì tương đương với một
máy tính cùng CPU nhưng FSB họat động ở FSB là 400 MHz.

e) Kính thước bộ nhớ đệm (Cache size)


Cache là một loại bộ nhớ có tốc độ cao hơn rất nhiều so với bộ nhớ chính (main
memory). Các CPU dùng hai loại bộ nhớ cache L1 (Level 1) và L2 (Level 2) để tăng hiệu
suất của CPU bằng cách tạm thời lưu trữ các dữ liệu cần truyền giữa CPU và bộ nhớ chính
vào trong cache. Cache L1 là cache nằm trong CPU và nó không thể thay đổi nếu không
thiết kế lại CPU. Cache L2 là cache nằm ngoài nhân CPU, có nghĩa là có thể chế tạo CPU
với kích thước L2 khác nhau. Như vậy cache càng lớn thì càng tốt, càng giúp cho tốc độ xử
lý chung của máy tính nhanh hơn.
Ví dụ:
P4 2.8Ghz (511)/Socket 775/ Bus 533/ 1024K/ Prescott CPU có
nghĩa là:
- P4, viết tắc của từ Pentium 4, tức là tên của loại CPU. đây là CPU của hãng Intel. 2.8 Ghz,
chỉ tốc độ xung đồng hồ của vi xử lý. Con số này là một trong những thước đo sức mạnh
của vi xử lý, tuy vậy nó không phải là tất cả. đôi lúc chỉ là một con số nhằm so sánh
tương đối sức mạnh của CPU. Con số 511 phía sau con số thể hiện chất lượng và vị thế của
con CPU trong toàn bộ các sản phẩm thuộc cùng dòng. Con số này là một quy ước của hãng
Intel. Số càng cao chứng tỏ CPU càng tốt.
- Socket 775, chỉ loại khe cắm của CPU. Đây là đặc tính để xét sự tương hợp giữa vi xử lý và
mainboard. Bo mạch chủ phải hỗ trợ loại socket này thì vi xử lý mới có thể hoạt động được.
- Bus 533, chỉ tốc độ "lõi" của đường giao tiếp giữa CPU và mainboard. Một CPU được
đánh giá nhanh hay chậm tuỳ thuộc khá lớn vào giá trị này. Vi xử lý chạy được bus 533 thì
đương nhiên hơn hẳn so với vi xử lý chỉ chạy được bus 400 Mhz.
- 1024K, chỉ bộ nhớ đệm của vi xử lý. Đây là vùng chứa thông tin trước khi đưa vào cho vi
xử lý trung tâm (CPU) thao tác. Thường thì tốc độ xử lý của CPU sẽ rất nhanh so với việc
cung cấp thông tin cho nó xử lý, cho nên, không gian bộ nhớ đệm (cache) càng lớn càng tốt
vì CPU sẽ lấy dữ liệu trực tiếp từ vùng này. Một số Vi xử lý còn làm bộ nhớ đệm nhiều cấp.
Số 1024 mà bạn thấy đó chính là dung lượng bộ nhớ đệm cấp 2, 1024 KB = 1 MB.
- Prescott chính là tên một dòng vi xử lý của Intel. Dòng vi xử lý này có khả năng xử lý
video siêu việt nhất trong các dòng vi xử lý cùng công nghệ của Intel. Tuy nhiên, đây là
dòng CPU tương đối nóng, tốc độ xung đồng hồ tối đa đạt 3.8 Ghz.
Sự khác biệt cơ bản giữa AMD và Intel
a) Cách đặt tên
AMD
được gọi theo tên và không hề xuất hiện xung nhịp thực của CPU, thay vào đó là các con số
để so sánh nó tương đương với thế hệ Intel Pentium tương ứng. Ví dụ trong tên gọi của CPU
AMD Athlon 64 3000+, không hề xuất hiện xung nhịp thực của CPU. Đây là điều hơi khác
lạ đối với người Việt Nam vì thường quen
đánh giá khả năng của CPU theo tên gọi “có xung nhịp kèm theo”, ví dụ như 1 mẫu đối thoại
sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 35


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

A: Máy nhà B dùng CPU gì vậy ? Máy tôi dùng Pentium 4 2GHz. B: Máy của tôi dùng CPU
Pentium 4 3GHz.
A: Vậy là máy bạn nhanh hơn máy tôi rồi.
Cách nghĩ và gọi tên như vậy là do thói quen dùng CPU Intel . Cách so sánh hiệu năng như
trên sẽ đúng nếu 2 CPU đó được sản xuất theo cùng 1 công nghệ , vì khi đó, CPU nào có
xung nhịp cao hơn sẽ có hiệu năng tốt hơn. Nhưng nếu ta so sánh 2 CPU của 2 hãng khác
nhau, công nghệ chế tạo khác nhau thì hiệu năng không còn đi đôi với xung nhịp.
Ví dụ như khi so sánh 2 CPU AMD và Intel có cùng tốc độ 1,8GHz, CPU AMD có
hiệu năng vượt trội hoàn toàn so với CPU Intel. Chính từ điều trên mà hãng AMD đã không
còn đặt tên CPU của mình dựa theo xung nhịp nữa. Bắt đầu từ dòng Athlon XP của thế hệ
K7 trở đi, AMD đã đặt tên sản phẩm của mình là tên sản phẩm cộng với 1 con số phía sau.
Vd: AMD Athlon XP 2500+ : con số 2500+ có ý nghĩa là CPU Athlon XP này có hiệu năng
tương đương 1 CPU 2500MHz cùng cấp của Intel.
Tương tự như vậy, CPU Athlon 64 3000+ 1800MHz được AMD xác định là có hiệu năng
tương đương CPU 3000MHz của Intel. Sự tương đương ở đây được đánh giá trên nhiều mặt
và có giá trị tương đối.
Intel
Sau một thời gian AMD đưa ra cách đặt tên mới cho dòng CPU để bàn, Intel cũng đã nhận ra
khuyết điểm về tên gọi CPU có kèm theo xung nhịp. Khuyết điểm đó là họ không thể đưa ra
thị trường các CPU có tốc độ ngày càng cao được. Vi kiến trúc NetBurst được Intel áp dụng
cho dòng CPU Pentium 4 có thể áp dụng để sản xuất các CPU có xung nhịp cao như 4-5GHz
hoặc hơn nữa nhưng xung nhịp cao luôn đi đôi với vấn đề như lượng điện năng tiêu thụ, hiệu
năng không tỉ lệ thuận với mức xung tăng thêm, và đặc biệt là vấn đề tản nhiệt.
Khi tung ra dòng CPU Pentium 4 dùng đế cắm LGA 775, Intel đã không còn kèm theo xung
nhịp trong tên gọi CPU nữa. Họ đặt tên CPU theo từng serie như hãng xe hơi BMW thường
làm. Ví dụ như Pentium 4 630. 630 là tên 1 model CPU thuộc serie 6xx.
b)Các công nghệ tiêu biểu
AMD
- Tích hợp Memory Controller (Hình 2.4): Trong hầu hết các CPU mới, Memory Controller
nằm trong nhân CPU, có cùng xung nhịp với CPU (CPU có tốc độ 1,8GHz thì Memory
Controller cũng có tốc độ 1,8GHz). Dữ liệu từ RAM sẽ được truyền trực tiếp vào CPU, độ
trễ thấp, không còn hiện tượng thắt cổ chai nữa. Lúc này người dùng càng sử dùng RAM tốc
độ cao thì càng có lợi.

Bố trí memory kiểu AMD


- Công nghệ HyperTransport : đây là công nghệ kết nối trực tiếp theo kiểu điểm-điểm, kết
nối với RAM và chipset bằng HyperTransport bus (HTT) có băng thông rất lớn và được mở
đồng thời 2 chiều.
Intel

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 36


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

- Intel vẫn sử dụng kiểu thiết kế Memory Controller nằm tại chipset (Hình 2.5), Memory
Controller này có tốc độ nhất định ,có tên là Front Side Bus. Dữ liệu từ RAM bắt buộc phải
đến chipset rồi mới vào được CPU. Độ trễ của thiết kế này lớn và luôn tồn tại nút thắt cổ
chai tại chipset.

Bố trí memory kiểu Intel

- Công nghệ Hyper Threading Sử dụng công nghệ này giúp tận dụng hiệu quả hơn
tài nguyên dư thừa của CPU, CPU Intel có Hyper Threading sẽ chạy nhanh hơn CPU
Intel không có Hyper Threading khoảng từ 10%-20%. CPU 1 nhân có Hyper Threading
sẽ được hệ điều hành nhận diện thành 2 CPU (1 physical, 1 logical) nhưng đó vẫn là 1 CPU
đơn luồng, tại 1 thời điểm thì CPU chỉ thực hiện được duy nhất 1 tác vụ.
c) Tỏa nhiệt
Đây là một thông số mà ở Việt Nam đáng được quan tâm vì điều kiện khí hậu nước
ta rất nóng. Các bộ CPU của AMD trước đây thường tỏa nhiệt nhiều hơn và không thích
hợp cho khí hậu nóng như ở nước ta. Có thể chính vì diểm này mà AMD không có đầu tư
quảng bá sản phẩm ở Việt Nam. Tuy nhiên từ AMD K8 với công nghệ 90nm hiện nay rất
mát, không còn nóng như thế hệ K6, K7. CPU Athlon 64 3000+ cũng không là ngoại lệ.
Trong khi đó do Intel chú trọng việc tăng xung tần đã làm cho các CPU của mình tỏa
ra một nhiệt độ không thể chấp nhận được. Trong thời gian gần đây Intel cũng đã nhận ra
điều này và đang đầu tư nhiều vào giải quyết vấn đề này.
Trong điều kiện khí hậu nhiệt đới Việt Nam, 360C của AMD là một nhiệt độ rất lí
tưởng, CPU tỏa nhiệt ít, người dùng không phải lo lắng về tiếng ồn, về vấn đề quạt tản nhiệt
một khi sử dụng CPU AMD. Lúc nào hệ thống dùng AMD cũng mát và tĩnh lặng.
Còn đối với Intel, nhiệt độ CPU cao góp phần làm nhiệt độ thùng máy và môi trường
tăng lên. Người sử dụng cũng phải lưu ý đến vấn đề quạt tản nhiệt vì quạt tản nhiệt của Intel
quay với tốc độ cao, đặc biệt là khi hoạt động vào ban đêm, tiếng ồn do hệ thống dùng Intel
phát ra sẽ gây khó chịu đối với người dùng.
Tóm lại khi mua CPU thì ngoài việc cần chú ý các thông số về giá cả, công nghệ, tốc
độ xử lý thì còn cần lưu ý đến loại socket để đảm bảo sự tương thích của các thiết bị khi lắp
ráp. Vấn đề tỏa nhiệt ở Việt Nam là quan trọng cho nên cũng cần chú ý.
4.2. Bản mạch chính (Mainboard)
Mainboard là trung tâm điều khiển mọi hoạt động của một máy tình và đóng vai trò
là trung gian giao tiếp giữa CPU và các thiết bị khác của máy tính. Bản mạch chính là nơi
để chứa đựng (cắm) những linh kiện điện tử và những chi tiết quan trọng nhất của một máy
tính cá nhân như: bộ vi xử lý CPU (central processing unit), các thành phần của CPU, hệ
thống bus, bộ nhớ, các thiết bị lưu trữ (đĩa cứng, ổ CD,…), các card cắm (card màn hình,

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 37


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

card mạng, card âm thanh) và các vi mạch hỗ trợ.


Form factor
Đặc tính này qui định kích thước của mainboard cũng như cách bố trí nó trong
thân máy tính (case). Chuẩn thống trị hiện nay trên máy tính để bàn nói chung chính là
ATX (Advanced Technology Extended) 12V, được thiết kế bởi Intel vào năm 1995 và
đã nhanh chóng thay thế chuẩn AT cũ bởi nhiều ưu điểm vượt trội. Nếu như với nguồn
AT, việc kích hoạt chế độ bật được thực hiện qua công tắc có bốn điểm tiếp xúc điện thì
với bộ nguồn ATX bạn có thể bật tắt bằng phần mềm hay chỉ cần nối mạch hai chân cắm
kích nguồn (dây xanh lá cây và một trong các dây Ground đen). Các nguồn ATX chuẩn
luôn có công tắc tổng để có thể ngắt hoàn toàn dòng điện ra khỏi máy tính. Ngoài ra còn có
microATX có kích thước nhỏ hơn ATX. Hình 2.6 cho thấy một dạng của 2 loại mainboard
này.

Mainboard microATX (bên trái) và ATX (bên phải)


+ BTX – Vào năm 2004, Intel bắt đầu sản xuất loại mainboard BTX (Balanced
Technology eXtended). BTX và thùng máy mới sẽ sử dụng ít quạt hơn nên máy tính
chạy êm hơn và có khả năng nhiệt độ cũng thấp hơn những hệ thống dùng chuẩn
ATX (Advanced Technology Extended) hiện nay. Do vậy, bo mạch BTX có nhiều thay
đổi đáng kể trong cách bố trí các thành phần và thiết kế tản nhiệt.
> Ví dụ
Mainboard :ASUS Intel 915GV P5GL-MX, Socket 775/ s/p
3.8Ghz/ Bus 800/ Sound& Vga, Lan onboard/PCI Express 16X/ Dual 4DDR400/ 3
PCI/ 4 SATA/ 8 USB 2.0. có nghĩa là:
- ASUS Intel 915GV P5GL-MX, đơn giản, đây chỉ là tên của loại bo mạch chủ của
hãng Asus.
- Socket 775 như đã nói ở trên, là loại khe cắm cho CPU
- s/p 3.8 Ghz đó chính là tốc độ xung đồng hồ tối đa của CPU
mà bo mạch chủ hỗ trợ.
- Bus 800, chỉ tần số hoạt động tối đa của đường giao tiếp dữ liệu của CPU mà bo
mạch chủ hỗ trợ. Thường thì bus tốc độ cao sẽ hỗ trợ luôn các CPU chạy ở bus thấp
hơn.
- PCI Express 16X là tên của loại khe cắm card màn hình và bo mạch chủ. Khe PCI
Express là loại khe cắm mới nhất, hỗ trợ tốc độ giao tiếp dữ liệu nhanh nhất hiện nay
giữa bo mạch chủ và Card màn hình. Con số 16X thể hiện một cách tương đối băng

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 38


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

thông giao tiếp qua khe cắm, so với AGP 8X, 4X mà bạn có thể thấy trên một số bo mạch
chủ cũ. Tuy băng thông giao tiếp trên lý thuyết là gấp X lần, thế nhưng tốc độ hoạt động
thực tế không phải như vậy mà còn phụ thuộc vào rất nhiều yếu tố khác như lượng RAM
trên card, loại GPU (CPU trung tâm của card màn hình).
- Sound& Vga, Lan onboard: bo mạch chủ này đã được tích hợp sẵn card âm
thanh, card màn hình và card mạng phục vụ cho việc kết nối giữa các máy tính với nhau.
- Dual 4DDR400: trên bo mạch chủ này có 4 khe cắm Bộ nhớ (RAM), hỗ trợ tốc
độ giao tiếp 400 Mhz. Dựa vào thông số này, bạn có thể lựa chọn loại bộ nhớ
(RAM) với tốc độ thích hợp để nâng cao tính đồng bộ và hiệu suất của máy tính. Chữ
Dual là viết tắc của Dual Chanel, tức là bo mạch chủ hỗ trợ chế độ chạy 2 thanh RAM
song song. Với công nghệ này, có thể nâng cao hiệu suất và tốc độ chuyển dữ liệu của
RAM.
- 3PCI, 4SATA, 8 USB 2.0: trên bo mạch chủ có 3 khe cắm PCI dành để lắp thêm
các thiết bị giao tiếp với máy tính như card âm thanh, modem gắn trong... 4SATA là 4
khe cắm SATA, một loại chuẩn giao tiếp dành cho đĩa cứng. SATA thì nhanh hơn và ổn
định hơn so với chuẩn IDE. 8 cổng cắm USB 2.0 được hỗ trợ trên bo mạch chủ. USB 2.0
thì nhanh hơn USB 1.1. USB 2.0 thì tương thích luôn với các thiết bị chỉ có USB 1.1.
4.3. Ổ đĩa mềm (FDD)
Cùng với sự xuất hiện của máy tính cá nhân thì một vấn đề nan giải cũng xuất hiện.
Đó là làm thế nào để phổ biến những chương trình ứng dụng đến người dùng? để giải quyết
vấn đề này, đầu tiên con người đã phát minh ra đĩa mềm (floppy disk).

ổ đĩa FDD
Hãng IBM đã nghĩ ra công nghệ này đầu tiên. ổ đĩa mềm bao gồm phần cơ khí
và phần điện tử điều khiển tự động cũng như bộ phận đọc/ghi và giải mã. Ổ đĩa phải đảm
bảo độ quay chính xác (300 hoặc 360 vòng/phút với sai số 1 đến 2%). Khả năng định vị
của đầu từ cũng rất chính xác đến vài micromet chỉ trong thời gian vài miligiây rất ngắn.
Đĩa mềm có các tính chất chung rất giống với HDD. Điểm khác nhau đặc biệt là đầu từ
của HDD di chuyển trên bề mặt đĩa nhờ một đệm không khí, trong khi trên đĩa mềm thì đầu
từ trực tiếp trượt trên bề mặt đĩa. Kết quả là cả đầu từ và đĩa bị ma sát làm cho nhanh
chóng bị hỏng. Chính vì thế nên khi không có đòi hỏi đọc/ghi lên đĩa thì đầu từ được cất
đi và đĩa dừng lại không quay như trong trường hợp HDD. Điều này làm ảnh hưởng lớn đến
tốc độ của đĩa vì phải mất một khoảng thời gian để kích hoạt đĩa quay trở lại khi cần thiết.
Có 2 loại đĩa mềm: 5,25 inch và 3,5 inch. Cả hai đều có thể tích hợp mật độ ghi thấp
(Low Density - LD), hoặc cao (High Density - HD). Những thông số chính của 4 loại đĩa
mềm đưa ra trong bảng 2.2.

đặc tính LD 5,25 HD 5,25 LD 3,5 HD 3,5

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 39


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Kính thước 5,25 5,25 3,5 3,5


Dung lượng 360Kbyte 1,2 MB 720 1,44MB
Kbyte
Số đường 40 80 80 80
Số sector trong 1 9 15 9 18
đường
Số đầu đọc 2 2 2 2
Số vòng quay/ 1 300 300 300 300
phút
Tốc độ truyền 250 500 250 500
dữ liệu Kbit/s
Các đặc tính của đĩa mềm

4.4. Ổ đĩa cứng (HDD)


Nguyên tắc hoạt động của đĩa cứng hoàn toàn tương tự đĩa mềm. Ðiểm khác nhau
căn bản là đĩa cứng được cài đặt ngay trong ổ đĩa, có cấu tạo bền và có dung lượng lưu trữ
lớn hơn nhiều so với đĩa mềm.

Bên ngoài và bên trong HDD


Ðĩa cứng được làm từ vật liệu nền cứng như nhôm, thủy tinh hay gốm. Lớp vật
liệu nền được phủ một lớp tiếp xúc bám (nickel) phía trên lớp tiếp xúc bám là màng từ lưu
trữ dữ liệu (Cobalt). Bề mặt trên cùng được phủ một lớp chống ma sát (graphit hay saphia).
Do cấu tạo cơ học bền, đĩa cứng có thể quay với tốc độ lớn (7200 vòng/phút), nhanh
gấp 20 lần đĩa mềm. Một ổ đĩa cứng thường có hai hay nhiều đĩa. Tốc độ máy
nhập đĩa cứng nhanh hơn nhiều lần so với đĩa mềm, thời gian truy nhập được phân loại như
sau:
- Chậm: t > 40ms,
- Trung bình: 28ms < t < 40ms.
- Nhanh: 18ms < t <28ms.
- Cực nhanh: t < 18ms.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 40


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Mật độ lưu trữ trên đĩa cứng rất lớn (10000 bit/inch), vì thế vật liệu từ như ôxyt sắt
không dùng được cho đĩa cứng và được thay thế bởi một lớp kim loại từ như cobalt hay
Nicken. Các ổ đĩa cứng hiện đại ngày nay có mật độ thông tin vào khoảng 100 đến 300
Mbit trong một inch vuông. Hai yếu tố quan trọng quyết định đến mật độ lưu trữ cao là:
- Cấu trúc hạt của vật liệu từ thật nhỏ,
- Bề mặt đĩa thật phẳng để giữ khoảng cách giữa đầu đọc và mặt đĩa tại giá trị tối
thiểu.
Khác với đĩa mềm, do tốc độ quay nhanh, đầu đọc/ghi không được tiếp xúc
với bề mặt đĩa cứng. Ðầu đọc được giữ cách xa mặt đĩa qua một lớp đệm không khí. Lớp
đệm không khí này được hình thành khi dĩa quay với tốc độ cao.
Khoảng cách giữa đầu từ và mặt đĩa chỉ vào khoảng vài micrômét, nhỏ hơn rất
nhiều một hạt bụi khói trung bình. Vì thế phía bên trong ổ đĩa cứng cần được giữ thật
sạch. Người sử dụng không được phép mở ổ đĩa trong môi trường bình thường. Ðể sản
xuất hoặc sửa chữa đĩa cứng người ta cần đến môi trường siêu sạch như thường gặp trong
công nghiệp vi điện tử.
HDD đựơc làm từ một hay nhiều đĩa nhôm (platter) với một lớp từ (hình 2.9). Ban
đầu nó có kích thước 50cm, còn bây giờ từ 3 đến 12 cm, còn ở máy sách tay thì nhỏ hơn
3cm, kích thước này vẫn ngày càng được thu nhỏ. Mỗi platter được chia thành từng rãnh
(track), mỗi rãnh lại được chia thành từng sector.

Cấu tạo HDD


Khi mua đĩa cứng ta cần xem xét các thông số chính:
- Tốc độ quay: hiện nay thông dụng loại 7200 vòng/1 phút
(loại chậm hơn - 5400 vòng hoặc 3600 vòng)
- Dung lượng: đ ối với máy tính để bàn thì thông dụng loại
80-160 GB, tuy nhiên nếu muốn lưu trữ thông tin nhiều thì có thể dùng ổ >
200GB (loại 250 GB hiện nay cũng đang bán rất chạy)
- Tốc độ đọc/ghi: tính bằng MB/s, ngày nay khoảng trên
12MB/s

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 41


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Ví dụ những thông số chính của 1 đĩa cứng như trong bảng sau.

Bảng các thông số cơ bản của HDD


Các chuẩn giao tiếp đĩa cứng thông dụng
> Intergrated Drive Electronics (IDE): giao diện bộ điều khiển ổ cứng kết hợp với bộ
điều khiển điện tử trên board của ổ cứng. Giao tiếp EIDE là một phát triển gần nhất
của IDE.
> Small Computer System Interface (SCSI):. Là một loại chuẩn giao tiếp thường
được dùng để kết nối PC đến thiết bị khác như là ổ cứng, máy in, scanner và CD-
ROM.
> Serial ATA (SATA) là một bước phát triển của giao diện lưu trữ vật lý song song
ATA, thay thế cáp chuẩn 40 sợi và đầu kết nối IDE thành cáp 7 sợi và đầu kết nối
SATA. HDD SATA có tốc độ truyền dữ liệu rất cao (hiện nay là 150 Mbyte/s và còn
sẽ được nâng lên cao hơn nữa) và có giá cũng tương đương với HDD IDE.
4.5. Ổ CD và DVD
Tương tự như đĩa từ, đĩa quang là môi trường lưu trữ dữ liệu ngay cả khi mất nguồn
điện. Ðiểm khác nhau giữa đĩa quang và đĩa từ nằm ở phương pháp lưu trữ vật lý. Thông
tin dược lưu trữ trên đĩa quang dưới dạng thay đổi tính chất quang trên bề mặt đĩa. Tính
chất này được phát hiện qua chất lượng phản xạ một tia sáng của bề mặt đĩa. Tia sáng này
thường là một tia LASER với bước sóng cố định (790nm đến 850nm). Bề mặt đĩa được
thay đổi khi ghi để có thể phản xạ tia laser tốt hoặc kém. Tia laser được hội tụ vào một
điểm rất nhỏ trên mặt đĩa, vì thế đĩa quang có dung tích lưu trữ lớn hơn nhiều lần so với
đĩa từ. Hai nhược điểm chính của đĩa quang là:
• Chỉ ghi dược một lần (nay đã dược khắc phục với đĩa CD- WR),

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 42


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• Tốc độ đọc chậm hơn đĩa từ.


đĩa quang được chia ra thành bốn loại chính:
• CD-ROM (compact disk read only memory): thông tin được lưu trữ ngay khi sản
xuất đĩa. Dữ lệu tồn tại dưới dạng mặt phẳng (land) và lỗ (pit). Người sản xuất
dùng khuôn để đúc ra nhiều phiên bản CD-ROM.
• CD-R (RECORDABLE COMPACT DISK) được đọc từ ổ đĩa CD-ROM bình
thường. Ðĩa này có đặc điểm là ghi được. Ðĩa trống được phủ một lớp chất
nhạy màu. Dưới tác dụng của tia laser, lớp này đổi màu và dùng đặc điểm đó dể
lưu trữu dữ liệu. Loại đĩa này còn có tên là WORM (write once read many).
• CD-WR (writeable/readable compact disk) cũng dùng laser để đọc và ghi dữ liệu.
Ðiểm khác nhau cơ bản là bề mặt đĩa được phủ một lớp kim loại mỏng. Trạng
thái lớp kim loại được thay đổi dưới tác dụng tia laser.
• DVD (Digital Versatile Disc hay Digital Video Disc) cũng giống như CD
nhưng có mật độ ghi cao hơn rất nhiều do đó lưu trữ được nhiều thông tin hơn.
Đặc biệt là ở một số định dạng có khả năng ghi được nhiều lớp và dùng được cả
hai mặt. DVD cũng có nhiều loại như DVD-ROM, DVD-R (Digital
Versatile Disc – Recordable), DVD-RAM (Digital Versatile Disc - Random
Access Memory), DVD-RW,..
Laser dùng để đọc và ghi đĩa quang là laser bán dẫn. Năng lượng của tia laser
rất thấp, khoảng 5 mw. Với năng lượng này, tia laser không nguy hiểm đến mắt. Mặc dù
vậy cần tránh nhìn trực tiếp vào tia laser khi sửa chữa và bảo trì ổ đĩa CD-ROM. Nguồn
laser luôn được tắt khi đưa đĩa vào ổ, vì thế ổ đĩa laser rất an toàn cho người sử dụng. Ðể
đọc được thông tin phản xạ từ tia laser, Ổ đĩa quang còn được trang bị điốt cảm quang:
1. Ðiốt kiểm tra cường độ tia laser. Ðiốt này đo cường độ laser để hiệu chỉnh nếu
công suất phát sáng giảm theo thời gian.
2. Ðiốt đọc dùng để hiện tín hiệu quang thành tín hiệu điện để xử lý tiếp. Ðĩa quang
áp dụng nguyên tắc mã hoá tương tự như đĩa từ. Mã hay dùng nhất là mã RLL
vì nó tiết kiệm điện tích và tự định thời. Ðiểm khác nhau duy nhất giữa đĩa
quang và đĩa từ là đĩa quang cần kiểm tra và sửa lỗi nhiều hơn. Thông tin rất dễ
bị nhiễu chẳng hạn khi một hạt bụi nằm giữa nguồn laser và nơi cần đọc trên
đĩa. Ðĩa quang vì thế cần nhiều thông tin CRC hơn đĩa từ. Lỗi đọc phải được phát
hiện và sửa lại dùng mã CRC đi kèm theo dữ liệu.
Một đặc tính quan trọng của các ổ đĩa quang mà khi mua đĩa cần biết là tốc độ
đọc/ghi. Các tốc độ đọc ghi dữ liệu thông dụng ngày nay là 24X, 32X, 48X, 52X.
4.6. Bộ nhớ RAM và ROM
a)Các khái niệm về bộ nhớ
> Các tế bào nhớ (storage cell):
Bộ nhớ lưu giữ thông tin dưới dạng một dãy các con số nhị phân 1 và 0, trong
đó 1 là đại diện cho sự có mặt của điện áp tín hiệu, và 0 đại diện cho sự vắng mặt. Vì mỗi
bit được đại diện bởi một mức điện áp, nên điện áp đó phải được duy trì trong mạch điện tử
nhớ, gọi là tế bào nhớ. Nội dung lưu giữ trong tế bào nhớ có thể được sao chép ra bus hoặc
các linh kiện chờ khác, gọi là đọc ra (reading). Một số tế bào nhớ cũng cho phép sao chép
vào bản thân mình những mức tín hiệu mới lấy từ bus ngoài, gọi là ghi vào (writing). Bằng
cách sắp xếp liên kết tế bào nhớ thành các hàng và cột (ma trận), người ta có thể xây
dựng nên các mạch nhớ nhiều triệu bit. Các ma trận tế bào nhớ được chế tạo trên một
chip silic nhỏ giống như các mạch tích hợp.
> RAM slot: Dùng để cắm RAM vào main mà ta có thể nhận dạng ở đầu khe cắm

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 43


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

RAM luôn có cần gạt ở 2 đầu. Tùy loại RAM (SDRAM, DDRAM, RDRAM) mà giao diện
khe cắm khác nhau => Mua RAM cho máy thì phải biết máy có slot cho loại nào.

Hình Slot để cắm RAM


> Interface: là cấu trúc bên ngoài của memory. Khi mua RAM chúng ta cần
phải xem nó có phù hợp với (ăn khớp) RAM slot của máy mình không. Hình 2.11 là hình
dạng của một vài loại RAM

Hình dáng bên ngoài một số loại RAM


> RAM và ROM:
Có hai dòng bộ nhớ phổ biến có tên gọi tắt là RAM và ROM. Mạch nhớ truy cập
ngẫu nhiên (random - access memory - RAM) là bộ nhớ chính (main memory) bên trong
máy tính, nơi lưu trữ tạm thời các dữ liệu và lệnh chương trình để Bộ xử lý (BXL) có thể
truy cập nhanh chóng. Thuật ngữ "truy cập ngẫu nhiên" có ý nhấn mạnh một tính chất kỹ
thuật quan trọng: mỗi vị trí lưu trữ trong RAM đều có thể truy cập trực tiếp. Nhờ đó các
thao tác truy tìm và cất trữ có thể thực hiện nhanh hơn nhiều so với các thiết bị lưu trữ
tuần tự như ổ điã hay ổ băng từ. Nội dung lưu giữ trong RAM là không cố định - có
nghĩa phải luôn có nguồn nuôi để duy trì nội dung nhớ đó, mất điện là mất thông tin.
Kích thước của RAM thường đo bằng đơn vị megabyte (MB). Bao nhiêu RAM thì
đủ? Ðây là câu hỏi chắc chắn ta sẽ đặt ra khi mua sắm hay nâng cấp máy tính. Windows
XP SP2 chỉ chạy với 128MB RAM, nhưng đạt được hiệu năng tốt nhất với 256MB RAM
trở đi.
Dòng thứ hai là bộ nhớ chỉ đọc ra (read-only memory - ROM). Nội dung trong
ROM chỉ có thể được đọc ra trong quá trình hoạt động bình thường của máy tính. Bộ nhớ
ROM là loại cố định (nonvolatile), nên nó vẫn duy trì nội dung nhớ khi không có điện.
Nhờ tính năng này, người ta dùng ROM để lưu giữ các chương trình BIOS không
thay đổi.

b) Các loại bộ nhớ :


• RAM tĩnh (static RAM - SRAM) lưu giữ các bit trong những tế bào của mình dưới
dạng chuyển mạch điện tử. Tế bào SRAM mở mạch điện (logic 1) hoặc tắt mạch (logic
0) để phản ánh trạng thái của tế bào. Thực tế đó là các mạch flip-flop trong tình trạng
set hoặc reset. Mạch flip-flop sẽ giữ nguyên mẫu trạng thái cho đến khi được thay đổi
bởi thao tác ghi tiếp theo hoặc ngắt điện. Tuy nhiên SRAM có kích thước lớn và tốn
điện, hiện nay thường được chế tạo sẵn trong giới hạn 512K. Mặc dù có tốc độ nhanh,
nhưng phức tạp và đắt tiền, SRAM chỉ được sử dụng trong các bộ phận cần tốc độ như
bộ nhớ cache chẳng hạn.
• RAM động (dynamic RAM - DRAM) lưu giữ các bit dưới dạng điện tích chứa
trong các tụ điện cực nhỏ, đó là các điện dung của bản thân transistor MOS đóng vai
trò chuyển mạch hoặc phần tử điều khiển. Có hoặc không có điện tích trong tụ điện

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 44


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

này tương ứng với logic 1 hoặc logic 0. Do tụ điện nhỏ nên điện tích được nạp và
phóng rất nhanh, cỡ chục nanô giây. Bởi kích thước nhỏ và hầu như không tiêu thụ
điện nên DRAM có mật độ lưu trữ khá cao và giá rẻ. Nhược điểm duy nhất của DRAM
là không giữ được thông tin lâu quá vài miligiây, nên phải thường xuyên nạp lại năng
lượng cho nó gọi là làm tươi hay hồi phục (refresh), thực chất là làm đầy lại điện tích
cho các tụ điện nhớ tí hon.
• DDR SDRAM (Double Data Rate SDRAM) SDRAM là tên gọi chung của một dòng
bộ nhớ máy tính, nó được phân ra SDR (Single Data Rate) và DDR (Double Data
Rate). Do đó nếu gọi một cách chính xác, chúng ta sẽ có hai loại RAM chính là SDR
SDRAM và DDR SDRAM. Cấu trúc của hai loại RAM này tương đối giống nhau,
nhưng DDR có khả năng truyền dữ liệu ở cả hai điểm lên và xuống của tín hiệu nên tốc
độ nhanh gấp đôi. Trong thời gian gần đây xuất hiện chuẩn RAM mới dựa trên nền
tảng DDR là DDR-II, DDR-II có tốc độ cao hơn nhờ cải tiến thiết kế.
• Bộ nhớ ROM thực chất là một tổ chức ghép nối sẵn các mạch điện để thể hiện các
trạng thái có nối (logic 0) hoặc không nối (logic 1). Cách bố trí các trạng thái 1 và 0
như thế nào là tùy yêu cầu, và được chế tạo sẵn trong ROM khi sản xuất. Khi vi
mạch ROM được chế tạo xong thì nội dung của nó không thể thay đổi nữa. ROM
dùng trong hệ BIOS cũ thuộc loại này cho nên khi bật máy tính là các chương
trình chứa sẵn trong đó
được lấy ra để chạy khởi động máy (bao gồm các bước kiểm tra chẩn đoán, hỗ trợ
phần mềm cơ sở và hợp nhất các bộ phận trong hệ thống máy). Ta không muốn
và cũng không thể thay đổi bất cứ điều gì đối với các chương trình cốt tử này.
Tuy nhiên khi phát hiện có một lỗi trong ROM hoặc cần đưa vào một thông số
BIOS mới để phù hợp với thiết bị ngoại vi mới thì thật là tai họa. Gần đây có một giải
pháp là dùng flash BIOS, nó thay một phần ROM bằng loại EEPROM, đó là vi mạch
ROM có thể lập trình và xóa bằng điện (Electrically Erasable Programmable
ROM). Phương pháp này cho phép chỉ xóa ở một số địa chỉ, không phải toàn bộ
trong khi vi mạch vẫn giữ nguyên trên board.
• SIMM (single in-line memory module). Ðây là loại mô đun nhớ một hàng chân ra
để dễ cắm vào các ổ cắm thích hợp trên board mẹ. SIMM gồm nhiều vi mạch nhỏ
DRAM được gắn trên một tấm mạch in nhỏ, để tổ chức thành các loại môđun từ 1MB
đến 16MB hoặc hơn. SIMM loại cũ có 30 chân, phổ biến hiện nay là 72 chân nên
các nhà thiết kế có nhiều phương án cấu hình hơn. Ðây là loại thuận lợi nhất cho
việc nâng cấp bộ nhớ của ta.
Cần lưu ý là có rất nhều loại RAM khác nhau, do đó khi mua RAM thì phải biết
loại nào có thể dùng được cho máy của mình và tốc độ BUS tối đa cho RAM mà
mainboard hỗ trợ là bao nhiêu thì chỉ nên lựa loại RAM có tốc độ đó là đủ.
c)Thời gian truy cập:
Một bộ nhớ lý tưởng phải đưa dữ liệu được chọn ngay tức khắc lên các đường dữ
liệu của vi mạch nhớ đó. Tuy nhiên trong thực tế luôn tồn tại một thời gian trễ giữa thời
điểm tín hiệu địa chỉ lối vào có hiệu lực và thời điểm dữ liệu có mặt trên các đường dữ liệu,
gọi là thời gian truy cập (access time). Mặc dù thời gian này được tính bằng nanô giây
nhưng cũng làm chậm tốc độ hoạt động chung của toàn hệ thống, nên bộ xử lý phải đợi, có
khi đến 4 hoặc 5 xung nhịp.
Các máy PC loại cũ có thể sử dụng các chip DRAM có thời gian truy cập trong vòng
60-80 nanôgiây. Các máy tính hiện nay dùng loại nhanh hơn 60 nanôgiây. Thời gian truy
cập càng nhanh thì DRAM càng đắt.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 45


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

4.7. Bàn phím (Keyboard)


Thành phần cơ bản của bàn phím là phím ấn. Phím ấn có tác dụng như một cảm
biến lực và được dùng để chuyển lực ấn thành một đại lượng điện. Ðại lượng điện này sẽ
được xử lý tiếp thành một tín hiệu số để truyền đến máy vi tính cá nhân. Vì vậy phím ấn
được phân loại tùy theo nguyên tắc cảm biến như sau:

• Phím cảm biến điện trở (thay đổi về điện trở),


• Phím cảm biến điện dung (thay đổi về điện dung),
• Phím cảm biến điện từ (thay đổi về dòng điện theo hiệu ứng Hall),
Bàn phím thông dụng nhất cho các loại máy vi tính cá nhân tương thích IBM là
loại MF101 hay MF102. Số 101 và 102 chỉ ra số phím trên bàn, số phím này thường giao
động trong khoảng 90-104. tuy nhiên cũng có những bàn phím trên 130 nút.
Bàn phím hiện đại ngày nay cho ngôn ngữ tiếng Anh lại theo một loại mới gọi
là QWERTY, được lấy từ 6 ký tự đầu tiên trên bàn phím.
4.8. Chuột (Mouse)
Thiết bị nhận dữ liệu vào dưới dạng vị trí điểm tương đối được gọi là con chuột
(mouse). Ta gọi cách xác định toạ độ của con chuột là tương đối vì chuột là một thiết bị đo
vận tốc di chuyển con trỏ .Từ giá trị vận tốc tương đối này, hàm ngắt của hệ điều hành sẽ
tính ra vị trí mới của con trỏ (cursor) trên màn hình. Nguyên tắc này hoàn toàn khác
phương pháp xác định vị trí tuyệt đối của bút quang hay một điểm vẽ trong bảng vẽ vectơ.
Mỗi chuột có từ hai đến năm phím nhấn để đưa tín hiệu chọn vị trí hiện hành.
Có hai cách phân loại chuột:
• Theo giao diện với máy tính
• Theo nguyên tắc đo vận tốc chuyển động.
Theo loại giao diện chuột ta có:
• Chuột song song (nối với máy vi tính qua cổng song song
LPT1 hoặc LPT2),
• Chuột nối tiếp (nối hữu tuyến với cổng COM1 hoặc COM2,
nối vô tuyến với cổng tia hồng ngoại hay nối qua vi điều
khiển 8042 như chuột PS/2)
Theo nguyên tắc đo vận tốc chuyển động ta có:
• Chuột cơ (dùng viên bi sắt phủ cao su để đo chuyển động)
• Chuột quang (dùng tín hiệu ánh sáng phản xạ từ bàn chuột
(mouse pad) để đo chuyển động)
4.9. Card màn hình (VGA Card)
Trong máy tính cá nhân thế hệ trước, nội dung màn hình được bộ vi xử lý trực tiếp
quản lý. Nội dung màn hình được truy nhập trực tiếp qua địa chỉ bộ nhớ. Tài nguyên xử lý
không bị ảnh hưởng nhiều nếu máy làm việc trong chế độ văn bản (ví dụ như trên hệ
điều hành MS-DOS). Máy tính hiện đại làm việc trong chế độ đồ họa (ví dụ như hệ diều
hành Windows). Số điểm ảnh và số màu trong chế độ này rất lớn và đòi hỏi được truy nhập
nhanh. Nếu không có trợ giúp từ bên ngoài, bộ vi xử lý sẽ phải dùng phần lớn tài nguyên
của nó để điều hợp hiển thị đồ họa. Bảng 2.4 cho thấy lịch sử phát triển của các chuẩn thẻ

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 46


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

điều hợp hiển thị.

Năm Chuẩn Ý nghĩa Kích thước Số màu


1981 CGA Colour Graphics Adaptor 640 x 200 Không
160 x 200 16

1984 EGA Enhanced Graphics Adaptor 640 x 350 64


VGA Video Graphics Array 640 x 480 262144
320 x 200 256

XGA 800 x 600 16.7 triệu


1987 Extended Graphics Array
1024x768 65536

SXGA 1280x 1024 65,536


1990 UXGA Super Extended Graphics
1600 x 65,536
Array
1200
Ultra XGA

Quá trình phát triển thẻ điều hợp hiển thị

Ðể giải quyết vấn đề này, nhiều nhà sản xuất cho ra thị trường thẻ điều hợp hiển thị
có tên là bộ gia tốc (accelerator). Những thẻ này có bộ vi điều khiển của nó, các phép tính
liên quan đến điều hợp hiển thị được tiến hành trên thẻ, giảm gánh nặng cho bộ vi xử lý.
Thay vì phải tính toàn bộ các điểm ảnh cần hiển thị, bộ vi xử lý chỉ cần gửi một lệnh ngắn
về thẻ điều hợp hiển thị, phần còn lại được bộ vi xử lý đồ họa GPU(Graphics Processing
Unit) của thẻ thực hiện. Vi xử lý của thẻ điều hợp hiển thị được thiết kế đặc biệt cho nhiệm
vụ này nên làm việc hiệu quả hơn nhiều bộ vi xử lý
> Bộ nhớ video
Bộ nhớ video (VRAM) chứa nội dung hình ảnh được hiển thị và các thông tin liên
quan đến nó. Chỉ riêng các điểm ảnh một màn hình 1600x1200 màu thực đã cần đến 8MB
bộ nhớ (xem bảng 2.5). Nhu cầu về bộ nhớ hiển thị khiến phải cắm thêm bộ nhớ video dành
riêng cho mục đích này.

Dung lượng bộ Kích thước màn Chiều sâu số màu


nhớ hình màu
1 Mb 1024x768 8-bit 256
800 x 600 16-bit 65,536
2Mb 1024 x 768 8-bit 256
1284 x 1024 16-bit 65,536
800x600 24-bit 16.7
million

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 47


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

4Mb 1024x768 24-bit 16.7


million
6Mb 1280x1024 24-bit 16.7
million
8Mb 1600x1200 32-bit 16.7
million
Dung lượng bộ nhớ video và khả năng hiển thị màn hình
Bộ nhớ video còn được gọi là bộ đệm khung (frame buffer). Môt số máy vi
tính có vi mạch Chipset trên bản mạch chính và dùng một phần bộ nhớ chính làm bộ
nhớ video, phương pháp này làm giảm đáng kể khả năng hiển thị nhưng rẻ hơn thẻ
cắm đồ họa. Từ thế hệ Pentium, bộ vi xử lý có cổng gia tốc đồ họa AGP (accelerated
graphics port). Cổng này cho phép bộ vi xử lý đồ họa truy nhập trực tiếp bộ nhớ hệ thống
cho các phép tính đồ họa nhưng vẫn có bộ nhớ video riêng để lưu trữ nội dung các điểm
ảnh màn hình. Phương pháp này cho phép sử dụng bộ nhớ hệ thống mềm dẻo hơn mà
không làm ảnh hưởng đến tốc độ máy tính. Cổng AGP ngày nay trở thành chuản trong các
máy vi tính hiện đại.
Ngoài ra công nghệ sản xuất bộ nhớ video khác nhau cũng sẽ cho các đặc tính của
bộ nhớ khác nhau. Bảng s a u cho ta thấy một số khác biệt giữa các bộ nhớ video.

Loại bộ nhớ EDO VRAM WRAM SDRAM SGRAM RDRAM

Tốc độ 400 400 960 800 800 600


truyền cao
nhất (MBps)

Cổng kép Sing dual dual single single single


hay đơn
Chiều rộng 64 64 64 64 64 8
dữ liệu
Thời gian 50- 50- 50- 10- 8-10ns 3ns
truy cập 60ns 60ns 60ns 15ns
So sánh các loại bộ nhớ dành cho bộ nhớ video
4.10. Màn hình (Monitor)
Cùng với bàn phím và chuột, màn hình là một thiết bị không thể thiếu được
trong máy vi tính. Công nghệ chế tạo và ứng dụng của màn hình rất đa dạng.Chương trình
này chỉ đề cập kỹ đến các loại màn hình thông dụng:
• Màn hình tia âm cực (cathode ray tube),

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 48


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

• Màn hình tinh thể lỏng (liquid crystal display),


• Màn hình plasma (plasma display),
Phần tử nhỏ nhất của một ảnh hay một thiết bị hiển thị ảnh gọi là điểm ảnh pixel
(picture element). Khái niệm này xuất hiện trong quá trình nghiên cứu và phát triển màn
hình ống tia âm cực. Kích thước một điểm ảnh trên màn hình CRT phụ thuộc vào các tham
số
• Kích thước chùm tia điện tử,
• Kích thước hạt photpho,
• Chiều dày lớp photpho.
Kích thước ngang và dọc với đơn vị là một điểm ảnh được gọi là kích thước màn
hình. Màn hình VGA cơ bản có kích thước 640x480 điểm ảnh.
Ðộ phân giải được định nghĩa là kích thước chi tiết nhỏ nhất và đo được của một
thiết bị hiển thị. Một tham số để đo độ phân giải là số điểm ảnh trên một đơn vị chiều dài
(inch hay centimet), được gọi là mật độ điểm ảnh. Mật độ điểm ảnh thường gặp được tính
theo số điểm ảnh trên một inch, viết tắt là dpi (dot per inch). Ta cần tránh nhầm lẫn
giữa kích thước màn hình và độ phân giải. Ðộ phân giải được phân loại như sau:
• Phân giải thấp (<50 dpi).
• Phân giải trung bình (51dpi - 70dpi).
• Phân giải cao (71dpi - 120dpi ).
• Phân giải siêu cao (>l20 dpi)
Kích thước điểm ảnh không còn là tham số đối với loại màn hình ma trận điểm (dot
matrix display) như màn hình LCD ngày nay. Ðiểm ảnh ủa các màn hình này luôn là hình
vuông và kích thước màn hình thường là 640x480, 800x600 hay 1024x768. Kích thước
điểm ảnh cần được thiết kế để tỷ lệ chiều ngang và chiều dọc của màn hình là 4:3.
Một màu bất kỳ có thể biểu diễn qua ba màu cơ bản: đỏ, xanh lục, xanh nước biển
tuỳ theo độ đậm nhạt (gray scale). Ðộ sâu màu (color depth) là số màu có thể hiển thị được
cho một điểm ảnh. Tuỳ theo số bit được dùng để hiển thị màu ta phân loại màn hình theo
mầu như sau:
• Ðen trắng 1 bit (2 màu),
• Màu CGA 4 bit (16 màu),
• Màu giả (pseudo color) 8 bit (256 màu),
• Màu (high color) 16 bit,
• Màu thật (true color) 24 bit
• Màu siêu thật (highest color) 32 bit
Tốc độ quét màn hình còn gọi là tần số làm tươi (refresh rate) là một tham số
quan trọng và đòi hỏi nhiều vấn đề khó giải quyết từ công nghệ màn hình cũng như công
nghệ bộ điều khiển màn hình. Ðể mắt thường phân biệt được thay đổi tự nhiên trên
màn hình, toàn bộ màn hình ít nhất phải được thể hiện lại ít nhất 30 lần một giây. Ðiều này
có nghĩa là màn hình cần có tần số làm tươi tối thiểu là 30Hz. Tần số làm tươi của màn
hình VGA nằm trong khoảng 30 đến 60Hz, thời gian tồn tại một ảnh nhỏ hơn 33 ms. Tần số
này không cao lắm nhưng đã là thách thức lớn cho màn hình, nhất là các loại chậm như
LCD. Một điểm ảnh LCD cần từ 50 đến 250 ms để thay đổi trạng thái
MÀN HÌNH TINH THỂ LỎNG
Tinh thể lỏng được một nhà thực vật học người ÁO, Friedrich Reinitzer, phát hiện

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 49


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

vào cuối thế kỷ 1 9 . Một thời gian ngắn sau, khái niệm tinh thể lỏng được nhà vật lý
học người Ðức Otto Lehmann nhắc đến lần đầu tiên.
Từ năm 1971, màn hình tinh thể lỏng được ứng dụng trong nhiều lĩnh vực: TV, máy
ảnh số, màn hình máy tính v.v... Ngày nay, màn hình tinh thể lỏng để bàn hay màn hình máy
tính xách tay được chế tạo từ hai nguyên tắc chính:
• DSTN (dual-scan twisted nematic)
• TFT (thin film transistor)
Tinh thể lỏng LCD (liquid crystal display) là chất lỏng hữu cơ mà phân tử của nó có
khả năng phân cực ánh sáng dẫn đến thay đổi cường độ sáng. Trường tĩnh điện được dùng
để điều khiển hướng phân tử tinh thể lỏng.
MÀN HÌNH TFT
Màn hình LCD màu hay còn gọi là màn hình ma trận chấm (dot matrix display) có
điện cực và bộ lọc màu riêng cho từng điểm tinh thể lỏng. Mỗi điểm ảnh sẽ bao gồm ba
điểm màu riêng biệt. Màn hình ma trận chủ động (active matrix display) tối ưu hoá quá trình
định địa chỉ và nạp từng điểm ảnh. Màn hình ma trận chủ động dùng một transistor
màng mỏng TFT (thin-film transistor) làm công tắc chuyển mạch cho từng điểm màu.
Transistor đóng mạch rất nhanh (trong vài micrô giây), tụ điện mắc song song với nó sẽ
giữ trạng thái dòng mạch lâu hơn trong khi transistor của các dòng khác tiếp tục đóng mạch.
Màn hình TFT được sản xuất theo công nghệ vi điện tử và chứa vi mạch điều khiển ngay
trên màn hình.
MÀN HÌNH PLASMA
Nguyên tắc màn hình plasma giống nguyên tắc đèn Neon. Màn hình plasma thường
có màu đặc trưng là xanh hay vàng đỏ. Màn hình plasma gồm nhiều ô khí trơ được hàn kín
tương ứng với các điểm ảnh. Mỗi Ô khí trơ có hai điện cực. Khi hiệu điện thế vượt quá một
giới hạn nhất định, khí trơ sẽ ion hóa và phát sáng. Nguyên tắc điều khiển màn hình loại này
đơn giản hơn màn hình LCD. Nhược điểm của màn hình loại này là thời gian làm việc ngắn,
tiêu thụ nhiều năng lượng. Ðộ tương phản vào khoảng 10:1. Màn hình plasma từng được
dùng cho máy tính xách tay của Toshiba và Compaq. Ngày nay chúng hầu như không thể
cạnh tranh được với màn hình tinh thể lỏng tiên tiến. Màn hình LCD có thể dùng trong máy
chiếu ảnh (có vai trò như phim trong máy chiếu bóng) để có được hình trên màn ảnh rộng.
4.11. Card mạng (Network adapter) và Modem
Thiết bị đầu tiên cần để xây dựng mạng là card mạng (Network Interface – Card
NIC). Mỗi máy tính trong mạng cần một NIC. NIC cùng với driver thực hiện 2 chức năng
chính: truyền và nhậ thông tin ở dạng data frame. Trên NIC phải có một đầu nối với cáp
mạng, thông dụng nhất là loại BNC (viết tắt của bayoner connector) dùng cho cáp
đồng trục và RJ45, dùng cho cáp dạng dây đên thoại. NIC còn phụ thuộc vào loại mạng
dùng mà thông dụng nhất ngày nay là loại Ethernet (10Mbit/s), Fast Ethernet
(100Mbit/s) và Gigabit Ethernet (1000Mbit/s).
Modem
Cùng với đà sử dụng máy tính trong những năm qua, việc máy tính này cần giao tiếp
với máy tính khác là chuyện hiển nhiên xảy ra. Modem ra đời với việc ứng dụng mạng
lưới điện thoại có sẵn để kết nối các máy tính đặt xa nhau. Ví dụ, kết nối một máy tính
cá nhân tại nhà với máy tính đặt tại nơi làm việc, với hệ thống ngân hàng trong nước, hoặc
với bảng thông báo điện tử, mà phổ biến nhất ngày nay là truy cập Internet.
Những modem hiện đại truyền dữ liệu với tốc độ từ 28800 bit/s đến 57600 bit/s, tốc

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 50


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

độ này hiện nay được coi là hơi chậm, do vậy mới ra đời modem với công nghệ ADSL .

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 51


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG III. BIỂU DIỄN DỮ LIỆU VÀ SỐ HỌC MÁY


TÍNH
1. Các hệ đếm cơ bản
• Hệ thập phân (Decimal System)
 con người sử dụng
• Hệ nhị phân (Binary System)
 máy tính sử dụng
• Hệ mười sáu (Hexadecimal System)
 dùng để viết gọn cho số nhị phân
1.1. Hệ thập phân
• Cơ số 10
• 10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• Dùng n chữ số thập phân có thể biểu diễn được 10n giá trị khác nhau:
o 00...000 = 0
o 99...999 = 10n - 1
Dạng tổng quát của số thập phân:
Giá trị của A được hiểu như sau:
A = an an −1 ... a1 a0 , a−1 ...a−m

A = an 10N + an −110n −1 + ... + a1101 + a0 100 + a−110-1+ ... + a− m 10-m


n
A= ∑ a .10
i =−m
i
i

Ví dụ số thập phân:
472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2
Các chữ số của phần nguyên:
472 : 10 = 47 dư 2
47 : 10 = 4 dư 7
4 : 10 = 0 dư 4
Các chữ số của phần lẻ:
0.38 x 10 = 3.8 phần nguyên = 3
0.8 x 10 = 8.0 phần nguyên = 8

1.2. Hệ nhị phân


• Cơ số 2
• 2 chữ số nhị phân: 0 và 1
• chữ số nhị phân gọi là bit (binary digit)
• Bit là đơn vị thông tin nhỏ nhất
• Dùng n bit có thể biểu diễn được 2n giá trị khác nhau:
00...000 = 0
11...111 = 2 - 1
Dạng tổng quát của số nhị phân:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 52


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Có một số nhị phân A như sau:


A = an an −1 ...a1 a0 , a−1 ...a− m
Giá trị của A được tính như sau:
A = an 2N + an −12n −1 + ... + a121 + a0 20 + a−12-1+ ... + a− m 2-m
n
A= ∑ a .2
i =−m
i
i

Ví dụ số nhị phân:
1101001.1011(2) =26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4
6 5 4 3 2 1 0 -1-2-3-4

= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625

= 105.6875(10)
Chuyển đổi số nguyên thập phân sang nhị phân:
• Phương pháp 1: chia dần cho 2 rồi lấy phần dư
• Phương pháp 2: Phân tích thành tổng của các số 2i  nhanh hơn
Phương pháp chia dần cho 2
Ví dụ: chuyển đổi 105(10)
105 : 2 = 52 dư 1
52 : 2 = 26 dư 0
26 : 2 = 13 dư 0
13 : 2 = 6 dư 1
6:2 = 3 dư 0
3:2 = 1 dư 1
1:2 = 0 dư 1
Kết quả: 105(10) = 1101001(2)
Phương pháp phân tích thành tổng của các 2i
Ví dụ 1: chuyển đổi 105(10)
105 = 64 + 32 + 8 +1 = 26 + 25 + 23 + 20
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
0 1 1 0 1 0 0 1

Kết quả: 105(10) = 0110 1001(2)


Ví dụ 2:
17000(10) = 16384 + 512 + 64 + 32 + 8
= 214 + 29 + 26 + 25 + 23

17000(10) = 0100 0010 0110 1000 (2)


15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Chuyển đổi số lẻ thập phân sang nhị phân:
Ví dụ 1: chuyển đổi 0.6875(10)
0.6875 x 2 = 1.375 phần nguyên = 1
0.375 x 2 = 0.75 phần nguyên = 0

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 53


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

0.75 x 2 = 1.5 phần nguyên = 1


0.5 x2 = 1.0 phần nguyên = 1
Kết quả : 0.6875(10)= 0.1011(2)
Ví dụ 2: chuyển đổi 0.81(10)
0.81 x2 = 1.62 phần nguyên = 1
0.62 x2 = 1.24 phần nguyên = 1
0.24 x2 = 0.48 phần nguyên = 0
0.48 x2 = 0.96 phần nguyên = 0
0.96 x2 = 1.92 phần nguyên = 1
0.92 x2 = 1.84 phần nguyên = 1
0.84 x2 = 1.68 phần nguyên = 1
0.81(10) ≈ 0.1100111(2)

Ví dụ 3: chuyển đổi 0.2(10)


0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1

0.2(10) ≈ 0.00110011 (2)

Hệ 10 Hệ 2 Hệ 8 Hệ 16
0 0000 00 0
1 0001 01 1
2 0010 02 2
3 0011 03 3
4 0100 04 4
5 0101 05 5
6 0110 06 6
7 0111 07 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 54


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

1.3. Hệ mười sáu (Hexa) 14 1110 16 E


Cơ số 16 15 1111 17 F
16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
Dùng để viết gọn cho số nhị phân: cứ một nhóm 4-bit sẽ được thay bằng một chữ số Hexa
Quan hệ giữa số nhị phân và số Hexa
Ví dụ chuyển đổi số nhị phân  số Hexa:
1011 00112 = B316
0000 00002 = 0016
0010 1101 1001 10102 = 2D9A16
1111 1111 1111 11112 = FFFF16

2. Mã hoá và lưu trữ dữ liệu trong máy tính


2.1. Nguyên tắc chung về mã hóa dữ liệu
Mọi dữ liệu đưa vào máy tính đều phải được mã hóa thành số nhị phân
Các loại dữ liệu
Dữ liệu nhân tạo: do con người qui ước
Dữ liệu tự nhiên: tồn tại khách quan với con người
Mã hoá dữ liệu nhân tạo:
Mã hóa theo các chuẩn qui ước
Dữ liệu số:
Số nguyên: mã hóa theo một số chuẩn
Số thực: mã hóa bằng số dấu phẩy động
Dữ liệu ký tự: mã hóa theo bộ mã ký tự
Mã hóa và tái tạo tín hiệu vật lý:

Các dữ liệu vật lý thông dụng


Âm thanh
Hình ảnh

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 55


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Độ dài từ dữ liệu:
Độ dài từ dữ liệu là số bit được sử dụng
để mã hóa loại dữ liệu tương ứng
Thường là bội của 8-bit
VD: 8, 16, 32, 64 bit
2.2. Thứ tự lưu trữ các byte trong bộ nhớ chính
Bộ nhớ chính thường tổ chức theo byte
Hai cách lưu trữ dữ liệu nhiều byte:
Đầu nhỏ (Little-endian): Byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ nhỏ,
byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ lớn.
Đầu to (Big-endian): Byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ nhỏ, byte có ý
nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ lớn.
Ví dụ lưu trữ dữ liệu 32-bit:
0001 1010 0010 1011 0011 1100 0100 1101

Lưu trữ của các bộ xử lý điển hình:


• Intel 80x86 và các Pentium: little-endian
• Motorola 680x0, SunSPARC: big-endian
• Power PC, Itanium: big-endian
3. Biểu diễn số nguyên
• Số nguyên không dấu (Unsigned Integer)
• Số nguyên có dấu (Signed Integer)
3.1. Số nguyên không dấu
Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên không dấu A:

a n−1 a n− 2 ...a 2 a1 a 0
Giá trị của A được tính như sau:

n −1
A = ∑ ai 2
i =0
Dải biểu diễn của A: từ 0 đến 2n – 1

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 56


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Các ví dụ:
Ví dụ 1. Biểu diễn các số nguyên không dấu sau đây bằng 8-bit:
A = 41 ; B = 150
Giải:
A = 41 = 32 + 8 + 1 = 25 + 23 + 20
41 = 0010 1001

B = 150 = 128 + 16 + 4 + 2 = 27 + 24 + 22 + 21
150 = 1001 0110
Ví dụ 2. Cho các số nguyên không dấu M, N được biểu diễn bằng 8-bit như sau:
M = 0001 0010
N = 1011 1001
Xác định giá trị của chúng ? Giải:
M = 0001 0010 = 24 + 21 = 16 +2 = 18
N = 1011 1001 = 27 + 25 + 24 + 23 + 20
= 128 + 32 + 16 + 8 + 1 = 185
Với n = 8 bit
Biểu diễn được các giá trị từ 0 đến 255
0000 0000 = 0
0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
...
1111 1111 = 255
Chú ý:
1111 1111
+ 0000 0001
1 0000 0000
Vậy: 255 + 1 = 0 ?
do tràn nhớ ra ngoài
Trục số học với n = 8 bit
Trục số học:

Trục số học máy tính:

Với n = 16 bit, 32 bit, 64 bit


n= 16 bit: dải biểu diễn từ 0 đến 65535 (216 – 1)
0000 0000 0000 0000 = 0
...
0000 0000 1111 1111 = 255
0000 0001 0000 0000 = 256
...
1111 1111 1111 1111 = 65535

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 57


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

n= 32 bit: dải biểu diễn từ 0 đến 232 - 1


n= 64 bit: dải biểu diễn từ 0 đến 264 – 1
3.2. Số nguyên có dấu
3.2.1. Số bù chín và Số bù mười
o Cho một số thập phân A được biểu diễn bằng n chữ số thập phân, ta có:
 Số bù chín của A = (10n-1) – A
 Số bù mười của A = 10n – A
o Số bù mười của A = (Số bù chín của A) +1
Ví dụ: với n=4, cho A = 3265
Số bù chín của A:
9999 (104-1)
- 3265 (A)
6734
Số bù mười của A:
10000 (104)
- 3265 (A)
6735
3.2.2. Số bù một và Số bù hai
Định nghĩa: Cho một số nhị phân A được biểu diễn bằng n bit, ta có:
Số bù một của A = (2n-1) – A
Số bù hai của A = 2n – A
Số bù hai của A = (Số bù một của A) +1
Ví dụ: với n = 8 bit, cho A = 0010 0101
Số bù một của A được tính như sau:
1111 1111 (28-1)
- 0010 0101 (A)
1101 1010
 đảo các bit của A
Số bù hai của A được tính như sau:
1 0000 0000 (28)
- 0010 0101 (A)
1101 1011
 thực hiện khó khăn
Quy tắc tìm Số bù một và Số bù hai:
Số bù một của A = đảo giá trị các bit của A
(Số bù hai của A) = (Số bù một của A) + 1
Ví dụ:
Cho A = 0010 0101
Số bù một = 1101 1010
+ 1
Số bù hai = 1101 1011

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 58


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Nhận xét:
A =
0010 0101
Số bù hai =
+ 1101 1011
1 0000 0000 = 0 (bỏ qua bit nhớ ra ngoài)
Số bù hai của A = -A
3.2.3. Biểu diễn số nguyên có dấu bằng mã bù hai
Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên có dấu A:
an−1an−2 ...a2a1a0
• Với A là số dương: bit an-1 = 0, các bit còn lại biểu diễn độ lớn như số không dấu
• Với A là số âm: được biểu diễn bằng số bù hai của số dương tương ứng, vì vậy bit an-1
=1
Biểu diễn số dương:
• Dạng tổng quát của số dương A:

0a n −2 ...a 2 a1 a0
• Giá trị của số dương A:
n−2
A = ∑ ai 2i
i =0
• Dải biểu diễn cho số dương: 0 đến 2n-1-1
Biểu diễn số âm:
• Dạng tổng quát của số âm A:

1a n −2 ...a 2 a1 a0
• Giá trị của số âm A:
n−2
A = −2 n −1
+ ∑ ai 2i
i =0
• Dải biểu diễn cho số âm: -1 đến -2n-1-1
Biểu diễn tổng quát cho số nguyên có dấu:
• Dạng tổng quát của số nguyên A:
a n−1 a n−2 ...a 2 a1 a 0
• Giá trị của A được xác định như sau:

n−2
A = − an −1 2 n −1
+ ∑ ai 2i
i =0

• Dải biểu diễn: từ -(2n-1) đến +(2n-1-1)


Các ví dụ
Ví dụ 1. Biểu diễn các số nguyên có dấu sau
đây bằng 8-bit:
A = +58 ; B = -80
Giải:
A = +58 = 0011 1010

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 59


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

B = -80
Ta có: + 80 = 0101 0000
Số bù một = 1010 1111
+ 1
Số bù hai = 1011 0000

Vậy: B = -80 = 1011 0000


Các ví dụ
Ví dụ 2. Hãy xác định giá trị của các số nguyên có dấu được biểu diễn dưới đây:
P = 0110 0010
Q = 1101 1011
Giải:
P = 0110 0010 = 64+32+2 = +98
Q = 1101 1011 = -128+64+16+8+2+1 = -37
Với n = 8 bit
Biểu diễn được các giá trị từ -128 đến +127

0000 0000 = 0
0000 0001 = +1
0000 0010 = +2
0000...0011 = +3
0111 1111 = +127
1000 0000 = - 128
1000 0001 = - 127
...
1111 1110 = -2
1111 1111 = -1

Chú ý:
+127 + 1 = -128
-128 - 1 = +127
do tràn xảy ra
Trục số học số nguyên có dấu với n = 8 bit
Trục số học:

Trục số học máy tính:

Với n = 16 bit, 32 bit, 64 bit

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 60


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Với n=16 bit: biểu diễn từ -32768 đến +32767


0000 0000 0000 0000 = 0
0000 0000 0000 0001 = +1
...
0111 1111 1111 1111 = +32767
1000 0000 0000 0000 = -32768
...
1111 1111 1111 1111 = -1

Với n=32 bit: biểu diễn từ -231 đến 231-1


Với n=64 bit: biểu diễn từ -263 đến 263-1
Chuyển đổi từ byte thành word
Đối với số dương:
+19 = 0001 0011 (8 bit)
+19 = 0000 0000 0001 0011 (16 bit)
thêm 8 bit 0 bên trái
Đối với số âm:
- 19 = 1110 1101 (8 bit)
- 19 = 1111 1111 1110 1101 (16bit)
thêm 8 bit 1 bên trái
3.3. Biểu diễn số nguyên theo mã BCD
Binary Coded Decimal Code
Dùng 4 bit để mã hóa cho các chữ số thập phân từ 0 đến 9:
0  0000 5 0101
1  0001 6 0110
2  0010 7 0111
3  0011 8 1000
4  0100 9 1001
còn 6 tổ hợp không sử dụng:
1010, 1011, 1100, 1101, 1110, 1111
Ví dụ số BCD
35  0011 0101BCD
61  0110 0001BCD
1087  0001 0000 1000 0111BCD
9640  1001 0110 0100 0000BCD
Các kiểu lưu trữ số BCD
BCD không gói (Unpacked BCD):Mỗi số BCD 4-bit được lưu trữ trong 4-bit thấp của mỗi
byte.
Ví dụ: Số 35 được lưu trữ như sau:

BCD gói (Packed BCD): Hai số BCD


được lưu trữ trong 1 byte.
Ví dụ: Số 35 được lưu trữ như sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 61


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Phép cộng số BCD


35  0011 0101BCD
+ 61  + 0110 0001BCD
96 Å 1001 0110BCD
kết quả đúng (không phải hiệu chỉnh)
87  1000 0111BCD
+ 96  + 1001 0110BCD
1 83 1 0001 1101  kết quả sai
+ 0110 0110 Å hiệu chỉnh
0001 1000 0011BCD kết quả đúng
1 8 3
Hiệu chỉnh: cộng thêm 6 ở những vị trí có nhớ (>9)
4. Thực hiện các phép toán số học với số nguyên
4.1. Cộng số nguyên không dấu
Bộ cộng n-bit

Khi cộng hai số nguyên không dấu n-bit, kết quả nhận được là n-bit:
Nếu Cout=0  nhận được kết quả đúng.
Nếu Cout=1  nhận được kết quả sai, do tràn nhớ ra ngoài (Carry Out).
Tràn nhớ ra ngoài khi: tổng > (2n – 1)

Ví dụ cộng số nguyên không dấu

57 = 0011 1001
+ 34 = + 0010 0010
91 0101 1011 = 64+16+8+2+1=91  đúng

209 = 1101 0001


+ 73 = + 0100 1001
282 1 0001 1010
0001 1010 = 16+8+2=26  sai
có tràn nhớ ra ngoài (Cout=1)
Để có kết quả đúng ta thực hiện cộng theo 16-bit:
209 = 0000 0000 1101 0001
+ 73 = + 0000 0000 0100 1001

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 62


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

0000 0001 0001 1010 = 256+16+8+2 = 282


Phép đảo dấu
Ta có:
+ 37 = 0010 0101 bù một = 1101 1010
+ 1

bù hai = 1101 1011 = -37


Lấy bù hai của số âm:

- 37 = 1101 1011
bù một = 0010 0100
+ 1
Bù hai = 0010 0101 = +37

Kết luận: Phép đảo dấu trong máy tính thực chất là lấy bù hai
4.2. Cộng và trừ số nguyên có dấu
Khi cộng hai số nguyên có dấu n-bit, kết quả nhận được là n-bit và không cần quan tâm đến
bit Cout
Cộng hai số khác dấu: kết quả luôn luôn đúng.
Cộng hai số cùng dấu:
nếu dấu kết quả cùng dấu với các số hạng thì kết quả là đúng.
nếu kết quả có dấu ngược lại, khi đó có tràn xảy ra
(Overflow) và kết quả bị sai.
Tràn xảy ra khi tổng nằm ngoài dải biểu diễn: [ -(2n-1),+(2n-1-1)]
Ví dụ cộng số nguyên có dấu không tràn

( + 70) = 0100 0110


+ ( + 42) = 0010 1010
+ 112 0111 0000 = +112

(+ 97) = 0110 0001


+ (- 52) = 1100 1100 (+52=0011 0100)
+ 45 1 0010 1101 = +45

„ ( - 90) = 1010 0110 (+90=0101 1010)


+ ( +36) = 0010 0100
- 54 1100 1010 = - 54

„ ( - 74) = 1011 0110 (+74=0100 1010)


+( - 30) = 1110 0010 (+30=0001 1110)
-104 1 1001 1000 = -104
Ví dụ cộng số nguyên có dấu bị tràn
( + 75) = 0100 1011
+( + 82) = 0101 0010
+157 1001 1101
= - 128+16+8+4+1= -99  sai
„ ( - 104) = 1001 1000 (+104=0110 1000)
+ ( - 43) = 1101 0101 (+ 43 =0010 1011)
- 147 1 0110 1101

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 63


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

= 64+32+8+4+1= +109  sai


„ Cả hai ví dụ đều tràn vì tổng nằm ngoài dải biểu diễn [-128, +127]
Nguyên tắc thực hiện phép trừ
Phép trừ hai số nguyên: X-Y = X+(-Y)
Nguyên tắc: Lấy bù hai của Y để được –Y, rồi cộng với X

4.3. Nhân số nguyên không dấu

1011 Số bị nhân (11)


x 1101 Số nhân (13)
1011
0000 Các tích riêng phần
1011
1011
10001111 Tích (143)
Bộ nhân số nguyên không dấu

Lưu đồ nhân số nguyên không dấu

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 64


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Ví dụ nhân số nguyên không dấu


Số bị nhân M = 1011 (11)
Số nhân Q = 1101 (13)
Tích = 1000 1111 (143)

4.4. Nhân số nguyên có dấu


Sử dụng thuật giải nhân không dấu
Sử dụng thuật giải Booth

Sử dụng thuật giải nhân không dấu


Bước 1. Chuyển đổi số bị nhân và số
nhân thành số dương tương ứng
Bước 2. Nhân hai số dương bằng thuật giải nhân số nguyên không
dấu, được tích của hai số dương.
C A Q
Bước 3. Hiệu chỉnh dấu của tích:
0 0000 1101 Các giá trị khởi đầu Nếu hai thừa số ban đầu cùng dấu thì giữ
+ 1011 nguyên kết quả ở bước 2.
0 1011 1101 A ← A + M
0 0101 1110 Dịch phải Nếu hai thừa số ban
0 0010 1111 Dịch phải đầu là khác dấu thì đảo
+ 1011 dấu kết quả của bước 2.
0 1101 1111 A ← A + M
0 0110 1111 Dịch phải Thuật giải Booth
+ 1011
1 0001 1111 A ← A + M
0 1000 1111 Dịch phải

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 65


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

4.5. Chia số nguyên không dấu


Số bị chia 10010011 1011 Số chia
1011 00001101 Thương
001110
1011
001111
1011
100 Phần dư
Bộ chia số nguyên không dấu

Lưu đồ chia số nguyên không dấu

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 66


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

4.6. Chia số nguyên có dấu


Bước 1. Chuyển đổi số bị chia và số chia về thành số dương tương ứng.
Bước 2. Sử dụng thuật giải chia số nguyên không dấu để chia hai số dương, kết quả nhận được là thương Q và
phần dư R đều là dương
Bước 3. Hiệu chỉnh dấu của kết quả như sau:
(Lưu ý: phép đảo dấu thực chất là thực hiện phép lấy bù hai)

Số bị chia Số chia Thương Số dư


dương dương giữ nguyên giữ nguyên
dương âm đảo dấu giữ nguyên
âm dương đảo dấu đảo dấu
âm âm giữ nguyên đảo dấu

5. Số dấu phẩy động


5.1. Nguyên tắc chung
Floating Point Number  biểu diễn cho số thực
Tổng quát: một số thực X được biểu diễn theo kiểu số dấu phẩy
động như sau:
X = M * RE
M là phần định trị (Mantissa),
R là cơ số (Radix),
E là phần mũ (Exponent).
5.2. Chuẩn IEEE 754
Cơ số R = 2
Các dạng:
Dạng 32-bit
Dạng 44-bit
Dạng 64-bit
Dạng 80-bit
Các dạng biểu diễn chính:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 67


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Dạng 32 bit
S là bit dấu:
S = 0  số dương
S = 1  số âm
e (8 bit) là mã excess-127 của phần mũ E:
e = E+127  E = e – 127
giá trị 127 gọi là là độ lệch (bias)
m (23 bit) là phần lẻ của phần định trị M:
M = 1.m
Công thức xác định giá trị của số thực:
* X = (-1)S 1.m* 2e-127
Ví dụ 1
Xác định giá trị của số thực được biểu diễn bằng 32-bit như sau:
1100 0001 0101 0110 0000 0000 0000 0000
S = 1  số âm
e = 1000 00102 = 130  E = 130-127=3
Vậy
X = -1.10101100 * 23 = -1101.011 = -13.375
0011 1111 1000 0000 0000 0000 0000 0000 = ?
= +1.0

Ví dụ 2
Biểu diễn số thực X= 83.75 về dạng số dấu phẩy
động IEEE754 32-bit
Giải:
X = 83.75(10) = 1010011.11(2) = 1.01001111 x 26
Ta có:
S = 0 vì đây là số dương
E = e-127 = 6  e = 127 + 6 = 133(10) = 1000 0101(2)
Vậy:
X = 0100 0010 1010 0111 1000 0000 0000 0000
Ví dụ 3
Biểu diễn số thực X= -0,2 về dạng số dấu phẩy
động IEEE754 32-bit
Giải:
X = -0,2(10) = - 0.00110011...0011...(2) =
= - 1.100110011..0011... x 2-3
Ta có:
S = 1 vì đây là số âm
E = e-127 = -3  e = 127 -3 = 124(10) = 0111 1100(2)
Vậy:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 68


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

X = 1011 1110 0100 1100 1100 1100 1100 1100


Bài tập
Biểu diễn các số thực sau đây về dạng số
dấu phẩy động IEEE754 32-bit:
X = - 27.0625; Y = 1/32
Các qui ước đặc biệt
Các bit của e bằng 0, các bit của m bằng 0, thì X = ± 0 x000 0000 0000 0000 0000
0000 0000 0000 Æ X = ± 0

Các bit của e bằng 1, các bit của m bằng 0, thì X = ± ∞


x111 1111 1000 0000 0000 0000 0000 0000 Æ X =± ∞

Các bit của e bằng 1, còn m có ít nhất một bit bằng 1, thì nó không biểu diễn cho số nào
cả (NaN - not a number)
Dải giá trị biểu diễn
2-127 đến 2+127
10-38 đến 10+38

Dạng 64-bit
S là bit dấu
e (11 bit): mã excess-1023 của phần mũ E  E = e – 1023
m (52 bit): phần lẻ của phần định trị M
Giá trị số thực:
X = (-1)S 1.m* 2e-1023
Dải giá trị biểu diễn: 10-308 đến 10+308
Dạng 80-bit
S là bit dấu
e (15 bit): mã excess-16383 của phần mũ E  E = e – 16383
m (64 bit): phần lẻ của phần định trị M
Giá trị số thực:
X = (-1)S*1.m* 2e-16383
Dải giá trị biểu diễn: 10-4932 đến 10+4932
5.3. Thực hiện phép toán với số dấu phẩy động
X1 = M1 * RE1
X2 = M2 * RE2
Ta có
X1 * X2 = (M1* M2) * RE1+E2
X1 / X2 = (M1 / M2) * R
X1 ± X2 = (M1*RE1-E2 ± M2) * RE2 , với E2 ≥ E1
Các khả năng tràn số

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 69


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Tràn trên số mũ (Exponent Overflow): mũ dương vượt ra khỏi giá trị cực đại của số mũ
dương có thể. ( ∞)
Tràn dưới số mũ (Exponent Underflow): mũ âm vượt ra khỏi giá trị cực đại của số mũ âm có
thể ( 0).
Tràn trên phần định trị (Mantissa Overflow): cộng hai phần định trị có cùng dấu, kết quả bị
nhớ ra ngoài bit cao nhất.
Tràn dưới phần định trị (Mantissa Underflow): Khi hiệu chỉnh phần định trị, các số bị mất ở
bên phải phần định trị.
Phép cộng và phép trừ
Kiểm tra các số hạng có bằng 0 hay không
Hiệu chỉnh phần định trị
Cộng hoặc trừ phần định trị
Chuẩn hoá kết quả
Thuật toán cộng/trừ số dấu phẩy động

Thuật toán nhân số dấu phẩy động

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 70


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Thuật toán chia số dấu phẩy động

6. Biểu diễn ký tự
Bộ mã ASCII (American Standard Code for Information Interchange)
Bộ mã Unicode
6.1. Nguyên tắc chung về mã hoá
Mã hóa (Encryption) là một trong những công cụ bảo mật đa năng và chúng ta có thể
sử dụng nó để đạt được mục tiêu đề ra. Có thể xem mã hóa là một vũ khí cực mạnh, và phức
tạp trong cuộc chiến bảo vệ an toàn cho máy tính.
Có nhiều hệ thống mật mã, và cách thiết lập cũng khác nhau. Tuy nhiên có sự tương đồng
giữa tất cả các hệ thống mã hóa, điều mà các nhà bảo mật nên nắm vững.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 71


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Mã hóa là một kỹ thuật bảo mật làm biến đổi (converts) dữ liệu từ hình
thức đơn giản, rõ ràng (plain hoặc cleartext form) sang hình thức dữ liệu biến hành mật mã
(coded, hoặc ciphertext form). Chỉ những ai có được thông tin giải mã cần thiết mới có thể
giải mã và đọc nội dung dữ liệu. Mã hóa có thể là một chiều, có nghĩa là mã hóa được thiết kế
để ẩn cleartext đi và không bao giờ có thể giải mã được. Hoặc có thể 2 chiều chuỗi ki tự được
mã hóa (ciphertext) có thể chuyển trở lại thành cleartext và đọc được.

6.2. Bộ mã ASCII
Do ANSI (American National Standard
Institute) thiết kế
Bộ mã 8-bit  có thể mã hóa được 28
ký tự, có mã từ: 0016 ÷ FF16 , trong đó:
128 ký tự chuẩn có mã từ 0016 ÷ 7F16
128 ký tự mở rộng có mã từ 8016 ÷ FF16
Các ký tự chuẩn
Các ký tự hiển thị chuẩn:
Các chữ cái Latin
Các chữ số thập phân
các dấu câu: . , : ; ...
các dấu phép toán: + - * / % ...
một số ký hiệu thông dụng: &, $,@, #
dấu cách
Các mã điều khiển
Các mã điều khiển định dạng văn bản
Các mã điều khiển truyền số liệu
Các mã điều khiển phân tách thông tin
Các mã điều khiển khác

BẢNG MÃ ASCII với 128 ký tự đầu tiên

Hex 0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P ` p
0 16 32 48 64 80 96 112

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 72


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

1 SOH DC1 ! 1 A Q a q
1 17 33 49 65 81 97 113
2 STX DC2 “ 2 B R b r
2 18 34 50 66 82 98 114
♥ DC3 # 3 C S c s
3 3 19 35 51 67 83 99 115
4 ♦ DC4 $ 4 D T d t
4 20 36 52 68 84 100 116
5 ♣ NAK % 5 E U e u
5 21 37 53 69 85 101 117
6 ♠ SYN & 6 F V f v
6 22 38 54 70 86 102 118
7 BEL ETB ‘ 7 G W g w
7 23 39 55 71 87 103 119
8 BS CAN ( 8 H X h x
8 24 40 56 72 88 104 120
9 HT EM ) 9 I Y I y
9 25 41 57 73 89 105 121
A LF SUB * : J Z j z
10 26 42 58 74 90 106 122
B VT ESC + ; K [ k {
11 27 43 59 75 91 107 123
C FF FS , < L \ l |
12 28 44 60 76 92 108 124
D CR GS - = M ] m }
13 29 45 61 77 93 109 125
E SO RS . > N ^ n ~
14 30 46 62 78 94 110 126
F SI US / ? O _ o DEL
15 31 47 63 79 95 111 127
Các mã điều khiển: có mã 0016 ÷ 1F16 và 7F16
Các ký tự mở rộng
Các ký tự mở rộng được định nghĩa bởi:
nhà chế tạo máy tính
người phát triển phần mềm.
Ví dụ:
Bộ mã ký tự mở rộng của IBM  IBM-PC.
Bộ mã ký tự mở rộng của Apple  Macintosh.
Bộ mã tiếng Việt TCVN3.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 73


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

6.3. Unicode
Do các hãng máy tính hàng đầu thiết kế
Bộ mã 16-bit
Bộ mã đa ngôn ngữ
Có hỗ trợ các ký tự tiếng Việt

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 74


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG IV. CÁC CỔNG LUẬN LÝ


Trong chương này chúng ta sẽ khảo sát qua các loại cổng thông dụng trong máy tính,
các phương thức hoạt động và các ký hiệu của chúng. Đồng thời ta cũng nghiên cứu về đại số
Boole, là đối tượng liên quan khá chặt chẻ đến các cổng. Đại số boole được phát minh bởi
nhà toán học George Boole. Trong đại số này các biến chỉ mang một trong hai trạng thái: 0 và
1 (đúng hay sai) và cũng chính vì thế người ta còn gọi đại số boole là đại số lưỡng trạng.
Riêng khả năng của nó chính là giải quyết rất tốt các bài toán về các mạch luận lý (logic) như
đơn giản hoá mạch, mạch tương đương,…
Các mạch này còn được gọi là các cổng luận lý vì ta có thể dùng đại số boole để tính toán
chúng.
1. Cổng AND
1) Khái niệm:
Là cổng có 2 hay nhiều ngõ vào nhưng chỉ có một ngõ ra.
Giá trị ngõ ra phụ thuộc vào nhóm các giá trị vào

2) Ký hiệu:

Cổng AND có 2, 3, 4 ngõ vào

3) Đặc điểm:
Nếu tất cả ngõ vào có giá trị 1 thì ngõ ra có giá trị 1

4) Bảng chân trị:


Xét bảng chân trị của cổng AND có 2 và 3 ngõ vào

A B A AND B A B C A AND B AND


C
0 0 0 0 0 0 0
0 1 0 0 0 1 0
1 0 0 0 1 0 0
1 1 1 0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 75


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

5) Ví dụ:
Xét mạch truyền dữ liệu sau:

Thanh ghi 6 bit


A B C D E F
Key

Y Y Y Y Y Y
5 4 3 2 1 0
Dùng cổng AND để lưu hoặc truyền dữ liệu

 Khi key = 0 thì Y5Y4Y3Y2Y1Y0 = 0 0 0 0 0 0


 Khi key = 1 thì Y5Y4Y3Y2Y1Y0 = A B C D E F
2. Cổng OR
1) Khái niệm:
Là cổng có 2 hay nhiều ngõ vào nhưng chỉ có một ngõ ra.

2) Ký hiệu:

Cổng OR có 2, 3, 4 ngõ vào

3) Đặc điểm:
Nếu chỉ một trong các ngõ vào có giá trị 1 thì ngõ ra có giá trị 1
( hay nếu tất cả ngõ vào có giá trị 0 thì ngõ ra có giá trị 0)

4) Bảng chân trị:


Xét bảng chân trị của cổng OR có 2 và 3 ngõ vào

A B A OR B A B C A OR B OR C
0 0 0 0 0 0 0
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 1 0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

3. Cổng đảo NOT


1) Khái niệm:
Là cổng có một ngõ (tín hiệu) vào và chỉ có một ngõ (tín hiệu) ra.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 76


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

2) Ký hiệu:

Vin Vout

Ký hiệu cổng đảo

3) Đặc điểm:
 Trạng thái ngõ ra trái ngược trạng thái ngõ vào
 Khi ta ghép 2 cổng đảo ta được cổng không đảo

4) Cổng không đảo:

Vin Vout

Ký hiệu cổng không đảo

5) Nhận xét:
Cổng không đảo có giá trị ngõ vào và ngõ ra giống nhau
4. Cổng NOR (Not OR)
1) Khái niệm:
Là cổng có 2 hay nhiều ngõ vào và chỉ có một ngõ ra.

2) Ký hiệu:

Cổng NOR có 2, 3, 4 ngõ vào

3) Đặc điểm:
Nếu tất cả giá trị ngõ vào là 0 thì giá trị ngõ ra là 1

4) Bảng chân trị:


Xét cổng NOR có 2 và 3 ngõ vào

A B A NOR B A B C A NOR B NOR C


0 0 1 0 0 0 1
0 1 0 0 0 1 0
1 0 0 0 1 0 0
1 1 0 0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 77


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

5. Cổng NAND (Not AND)


1) Khái niệm:
Là cổng có 2 hay nhiều ngõ vào và chỉ có một ngõ ra.

2) Ký hiệu:

Cổng NAND có 2, 3, 4 ngõ vào

3) Đặc điểm:
Nếu tất cả giá trị ngõ vào là 1 thì giá trị ngõ ra là 0

4) Bảng chân trị:


Xét cổng NAND có 2 và 3 ngõ vào

A B A NAND B A B C A NAND B NAND C


0 0 1 0 0 0 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
6. Cổng XOR (Exclusive OR)
1) Khái niệm:
Là cổng có 2 hay nhiều ngõ vào và chỉ có một ngõ ra.

2) Ký hiệu:

Hai cách thể hiện của cổng XOR có 2 ngõ vào

3) Đặc điểm:
Với cổng XOR có 2 ngõ vào, giá trị ngõ ra là 1 khi 2 ngõ vào có giá trị khác nhau.

4) Bảng chân trị:


Xét cổng XOR có 2 và 3 ngõ vào

A B A XOR B A B C A XOR B XOR C


0 0 0 0 0 0 0

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 78


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
7. Cổng XNOR (Exclusive Not OR)
1) Khái niệm:
Là cổng có 2 hay nhiều ngõ vào và chỉ có một ngõ ra.

2) Ký hiệu:

Hai cách thể hiện của cổng XNOR có 2 ngõ vào

3) Đặc điểm:
 Nếu ngõ tất cả ngõ vào có giá trị giống nhau thì có giá trị 1 (hay nếu chỉ 1 ngõ vào
có trị khác với các ngõ còn lại thì ngõ ra có trị là 0). Do đó, cổng XNOR còn dùng
để so sánh 2 bit với nhau
 Khi số bit 1 ở ngõ vào là chẵn thì giá trị ngõ ra là 1. Do đó, cổng XNOR còn dùng
để kiểm tra tính chẵn lẻ.

4) Bảng chân trị:


Xét cổng XOR có 2 và 3 ngõ vào

A B A XNOR B A B C A XNOR B XNOR C


0 0 1 0 0 0 1
0 1 0 0 0 1 0
1 0 0 0 1 0 0
1 1 1 0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
8. Định lý De Morgan 1
Định lý này dựa trên cơ sở đại số boole (chương III) để xác định phương trình boole.
Định lý này phát biểu như sau:

A+ B = A. B

Chứng minh:
Để chứng minh định lý này ta xét 2 phương trình boole sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 79


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Y1 = A + B và Y2= A . B

Đơn giản chúng ta dùng bảng chân trị để chứng minh

A B Y1 Y2
0 0 1 1
0 1 0 0
1 0 0 0
1 1 0 0
9. Định lý De Morgan 2
Định lý này phát biểu như sau:

AB = A + B

Việc chứng minh định lý này tương tự như chứng minh định lý 1 (có thể dùng bảng
chân trị để chứng minh)

Mở rộng:
Đối với các cổng có 3 hay 4 ngõ vào. Định lý De Morgan được biểu thị như sau:
 Mạch có 3 cổng vào A, B, C:

ABC = A + B + C

 Mạch có 4 cổng vào A, B, C, D:

ABCD = A+ B +C + D

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 80


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG V. ĐẠI SỐ BOOLE & BẢN ĐỒ


KARNAUGH
Như ta đã biết, đại số boole còn được gọi là đại số lưỡng trạng do tính chất hai trạng
thái của nó. Khi phát minh ra môn đại số này, nó không được sử dụng cho một ứng
dụng nào. Sau này, khi Shannon đã áp dụng vào việc giải quyết các mạch điện thoại,
và từ đó nó được phát triển không ngừng. Ngày nay, đại số boole được áp dụng rộng
rãi trong việc thiết kế và phân tích các mạch điện trong máy tính.
1. Dấu trong đại số boole
1.1. Dấu đảo:
Vì đại số boole là đại số lưỡng trạng cho nên các biến của nó chỉ mang 1 trong 2
giá trị là 0 và 1. Dấu đảo thực chất là phủ định của dấu không đảo (trạng thái phư
định).
Nếu ta có A thì A chính là dấu đảo của A
Phương trình luận lý:
Y = Not (A)
Phương trình boole:
Y= A
Và được thể hiện bởi mạch:

A Y

Dấu đảo và cổng đảo

1.2. Dấu OR:


Phép luận lý OR (“hay”) có thể được mô tả như sau:
Y= A OR B
Y có trị 1 (đúng) khi A có trị 1 (đúng) hay B có trị 1 (đúng) hay cả A và B đều
có trị 1 (đúng)
Phương trình boole của mạch OR:
Phương trình luận lý:
Y = A OR B
Phương trình boole:
Y=A+B
Và được thể hiện bởi mạch:

A Y
B

Dấu OR và ký hiệu cổng OR

1.3. dấu AND:


Phép luận lý AND (“và”) có thể được mô tả như sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 81


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Y= A AND B
Y có trị 1 (đúng) khi cả A và B có trị 1 (đúng)
Phương trình boole của mạch AND:
Phương trình luận lý:
Y = A AND B
Phương trình boole:
Y = A B hay Y = A.B
Và được thể hiện bởi mạch sau:

A Y
B

Dấu AND và ký hiệu cổng AND


1.4. Nhận xét:
Từ các mạch đã cho ta có thể thiết lập phương trình boole và bảng chân trị của
mạch đó

1.5. Các ví dụ:


 Ví dụ 1:
Tìm phương trình boole và thiết lập bảng chân trị của mạch sau:

A
Y
B

Theo mạch trên ta có phương trình luận lý như sau:


Y = NOT(A) OR B
Và phương trình boole:
Y= A +B
Bảng chân trị:

A B A Y
0 0 1 1
0 1 1 1
1 0 0 0
1 1 0 1
 Ví dụ 2:
Tìm phương trình boole và thiết lập bảng chân trị cho mạch sau:
A
B
Y
C
D

Từ mạch trên ta có phương trình luận lý như sau:


Y = (A OR B) AND (C OR D)
Và phương trình boole:
Y = (A + B)(C + D)

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 82


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Bảng chân trị:

A B C D A OR B C OR D Y
0 0 0 0 0 0 0
0 0 0 1 0 1 0
0 0 1 0 0 1 0
0 0 1 1 0 1 0
0 1 0 0 1 0 0
0 1 0 1 1 1 1
0 1 1 0 1 1 1
0 1 1 1 1 1 1
1 0 0 0 1 0 0
1 0 0 1 1 1 1
1 0 1 0 1 1 1
1 0 1 1 1 1 1
1 1 0 0 1 0 0
1 1 0 1 1 1 1
1 1 1 0 1 1 1
1 1 1 1 1 1 1

 Ví dụ 3:
Tìm phương trình boole và thiết lập bảng chân trị cho mạch sau:

A
B
Y
C
D

Từ mạch trên ta có phương trình luận lý như sau:


Y = (A AND B) OR (C AND D)
Và phương trình boole:
Y = A B + CD
Bảng chân trị:

A B C D A AND C AND Y
B D
0 0 0 0 0 0 0
0 0 0 1 0 0 0
0 0 1 0 0 0 0
0 0 1 1 0 1 1
0 1 0 0 0 0 0
0 1 0 1 0 0 0
0 1 1 0 0 0 0
0 1 1 1 0 1 1
1 0 0 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 0 0 0
1 0 1 1 0 1 1
1 1 0 0 1 0 1

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 83


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

1 1 0 1 1 0 1
1 1 1 0 1 0 1
1 1 1 1 1 1 1

2. Các luật trên đại số boole


Khi nói đến đại số, điều không thể thiếu chính là các qui tắc, các luật, định lý,…
Điều này chính là phần cốt lõi của toán học và cũng thể hiện mối liên quan chặc chẽ
giữa các thành phần của chúng. Đại số boole cũng không ngoại lệ, tuy nhiên các qui
luật của nó đơn giản và tương đối dễ hơn so với các môn toán khác. Sau đây, chúng ta
sẽ lần lượt khảo sát chúng.

2.1. Luật giao hoán:


A+B = B+A
A.B = B . A ( hay AB = BA)
Chứng minh:
Để chứng minh ta xét cổng AND có 2 ngõ vào. Rõ ràng việc hoán đổi vị trí không ảnh
hưởng đến giá trị của ngõ ra. Ta cũng có thể dùng bảng chân trị để chứng minh.
Hình vẽ minh hoạ:
A Y B Y
=
B A
Trường hợp cổng OR
A B Y
B Y = A
Trường hợp cổng AND
2.2. Luật (phối) kết hợp:

A + (B + C) = (A + B) + C
A (B C) = (A B) C

Chứng minh tương tự như trên


Hình vẽ minh hoạ:

B A
C Y = Y
A B C

Trường hợp cổng OR


B A
C Y = B
A C Y

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 84


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Trường hợp cổng AND

2.3. Luật phân bố:

A (B + C) = AB + AC

Chứng minh: Ta dùng bảng chân trị để chứng minh

A B C B+C A(B+C) AB+ AC


0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 1 0 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 1 1 1
1 1 0 1 1 1
1 1 1 1 1 1

Hình vẽ minh hoạ:

B
B
C Y = A Y
A
C
3. Các quan hệ trên đại số boole
Các mối quan hệ này từ trên cơ sở các cổng

3.1. Quan hệ trên cổng OR:


Ta có 4 quan hệ sau:
A+0=A
A+A=A
A + 1 = 1 (HANG DUNG)
A + A= 1

Chứng minh:
 A+0=A:
Rõ ràng nếu A =1 ta được 1 + 0 =1 (=A)
Nếu A = 0 ta được 0 + 0 = 0 ( =A)
 Các quan hệ bên dưới tương tự

3.2. Quan hệ trên cổng AND:


Ta có 4 quan hệ sau:
A.1=A
A.0=0

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 85


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

A.A=A
A . A= 0

Chứng minh tương tự như trên


4. Phương pháp tổng - tích
Một trong những phương pháp biến đổi từ bảng chân trị sang phương trình luận lý
(mạch luận lý) chính là dùng phương pháp tổng tích (Sum – of – products Method).
Xét các cổng AND và phương trình tương ứng sau:

Y= A B A
Y có trị 1 khi A = 0 và B = 0 Y
A
B

Y= AB A
Y
Y có trị 1 khi A = 1 và B = 0 B

Y= AB A
Y
Y có trị 1 khi A =0 và B = 1 B

Y = AB A
Y
Y có trị 1 khi A =1 và B = 1 B

Trong đó: Các giá trị A B , A B , A B, AB được gọi là các tích cơ bản.
Ta có bảng chân trị 2 biến và các tích cơ bản như sau:

A B Tích cơ bản Y
0 0 A B 0
0 1 AB 0
1 0 AB 0
1 1 AB 1

Tương tự bảng chân trị 3 biến và các tích cơ bản:

A B C Tích cơ bản Y
0 0 0 ABC 0
0 0 1 A BC 0
0 1 0 A BC 0
0 1 1 A BC 0
1 0 0 AB C 0
1 0 1 ABC 0
1 1 0 AB C 0
1 1 1 ABC 1

Để thiết lập phương trình boole và vẽ mạch luận lý từ bảng chân trị ta cần theo 2
bước sau:
 Bước 1: Xác định các giá trị 1

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 86


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Bước 2: Thiết lập phương trình boole bằng cách cộng tất cả các tích cơ bản
này lại
 Bước 3: Vẽ mạch luận lý
Ví dụ: Xét bảng chân trị 3 biến được cho như sau:

A B C Y
0 0 0 1 -> A B C
0 0 1 0
0 1 0 0
0 1 1 1-> A BC
1 0 0 0
1 0 1 0
1 1 0 1->AB C
1 1 1 1->ABC

 Bước 1: Ta đã xác định được các tích cơ bản như trên


 Bước 2: Xác định phương trình boole
Y = A B C + A BC + AB C + ABC

 Bước 3: Vẽ mạch luận lý


A A B B C C

5. Đơn giản hoá phương trình boole


Sau khi thiết lập phương trình boole, điều cần thiết chính là đơn giản nó. Vấn đề
đặt ra là lam sao để đơn giản các phương trình này. Cách thông thường chính là dùng
các quan hệ để đơn giản. Tiêu chuẩn để xem xét 1 phương trình có đơn giản nhất hay
chưa chính là dựa trên số cổng của mạch. Nếu số cổng càng ít nghĩa là mạch càng đơn
giản.
5.1. Ví dụ:
Xét 2 mạch sau đây xem mạch nào đơn giản hơn

 Mạch 1:

A A B B C C

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 87


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

 Mạch 2:
A A B B C C

Ta có:
- Số cổng vào ở mạch 1 là 16
- Số cổng vào ở mạch 2 là 12
Như vậy : Mạch 2 đơn giản hơn
5.2. Đơn giản phương trình boole:
 Ví dụ 1:
Cho pương trình boole Y = AB + A B
Áp dụng quan hệ boole ta có:
Y = A(B + B ) = A.1 = A
Bước đơn giản trên được mô tả bằng hình vẽ như sau:
 Ban đầu: Y = AB + A B

A A B B

 Lúc Y = A (B + B )
A A B B

 Cuối cùng:

A A B B

Như vậy: Mạch cuối cùng có phương trìnhYY = A (có 1 ngõ vào và 1 ngõ
ra)

 Ví dụ 2:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 88


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Cho phương trình như sau Y = AB + AC + DB + DC


Tìm phương trình đơn giản nhất.
Hình vẽ cho mạch này như sau:
A B C D

Đơn giản phương trình trên:


Y = A (B + C) + D (B + C)
A B C D

Bước đơn giản cuối cùng:


Y = (A + D)(B + C)
A B C D

CÁC CẶP - BỘ BỐN - BỘ TÁM


Chúng ta vừa học cách đơn giản phương trình boole bằng các phép quan hệ.
Nhưng như ta đã nói,cách này không phải là duy nhất. Ngày nay người ta đưa ra một
phương pháp mới để đơn giản phương trình, đó là phương pháp Karnaugh. Phương
pháp này dựa trên bản đồ các biến, để đơn giản phương trình người ta nhóm các biến
theo một số bộ mà chúng ta sẽ ngiên cứu trong chương này. Phương pháp này rất
được ưa chuộng hiện nay vì tính chất đơn giản và hiệu quả của nó.
Để tiếp cận với phương pháp mới này, chúng ta phải dựa trên các khái niệm như:
Cặp, Bộ bốn, Bộ tám, Nhóm phủ,…
Vậy cặp, bộ bốn,… là gì? Chúng ta sẽ lần lượt khảo sát chúng
6. Cặp
6.1. Khái niệm:
Là 2 giá trị 1 “liên tiếp” trong bản đồ Karnaugh

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 89


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

6.2. Các Ví dụ:


a. Ví dụ 1: Cho bản đồ Karnaugh như sau:

C D CD CD CD
A B 0 0 0 0
AB 0 1 1 0
AB 0 0 0 0
AB 0 0 0 0

Bản đồ này có 1 cặp:


 Trị 1 đầu tiên có tích cơ bản là: A B C D
 Trị 1 thứ hai có tích cơ bản là: A BCD
Phương trình boole cho bản đồ:
Y = A B C D + A BCD
Nhận xét:
Ta nhận thấy cặp trong bản đồ trên khi chuyển đổi từ trị 1 đầu tiên sang trị 1
thứ hai có một biến thay đổi (biến C: Đổi trạng thái từ C sang C - từ “bù” sang
“không bù”) các biến khác không thay đổi. Trường hợp này ta có thể bỏ biến thay
đổi trạng thái mà không làm thay đổi phương trình. Và đây cũng chính là cách
đơn giản phương trình bằng phương pháp bản đồ.
Phương trình được viết lại như sau:
Y = A BD ( C + C) (dùng các quan hệ boole)

b. Ví dụ 2: Cho bản đồ Karnaugh như sau:

C D CD CD CD
A B 0 0 0 0
AB 0 1 1 0
AB 1 0 0 0
AB 1 0 0 0

Tìm phương trình boole của phương trình đã cho


Bản đồ này có 2 cặp:
 Cặp đầu tiên có tích cơ bản là: A B C D và A BCD
 Cặp thứ hai có tích cơ bản là: AB C D và A B C D
Phương trình boole cho bản đồ:

Y1 = A B C D + A BCD
= A BD (dùng các quan hệ boole)
Y2 = AB C D + A B C D = A C D
Y = A BD + A C D
Nhận xét: Ứng với mỗi cặp ta bỏ được một biến mà không ảnh hưởng gì đến

phương trình

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 90


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

7. Bộ bốn
7.1. Khái niệm:
Là 4 giá trị 1 “liên tiếp” trong bản đồ Karnaugh
7.2. Các ví dụ:
a. Ví dụ 1: Bản đò sau có một bộ bốn

C D CD CD CD
A B 0 0 0 0
AB 0 1 0 0
AB 1 1 1 1
AB 0 0 0 0

Trong trường họp này có thể lượt bỏ 2 biến


Chứng minh: Ta gom chúng lại thành từng cặp rồi thực hiện thao tác loại bỏ.
Ta thực hiện gom chúng lại thành 2 cặp như sau:
Y1 = AB C D + AB C D = AB C
Y2 = ABCD + ABC D = ABC
Y = AB C + ABC = AB
b. Ví dụ 2: Cho bản đồ Karnaugh như sau:

C D CD CD CD
A B 0 0 0 0
AB 0 1 1 0
AB 0 1 1 0
AB 0 0 0 0

Tìm phương trình boole cho bản đồ này


Dùng các quan hệ boole. Ta có 2 cách để đơn giản
 Cách 1: Nhóm theo dòng ta có:
Y1 = A B C D + A BCD
= A BD
Y2 = AB C D + ABCD
= ABD
Y = A BD +ABD
= BD
 Cách 2: Nhóm theo cột ta có:
Y1 = A B C D + AB C D
= BC D
Y2 = A BCD + ABCD
= BCD
Y = B C D + BCD
= BD

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 91


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

7.3. Nhận xét:


Cả 2 cách nhóm (theo cột và theo dòng) đều cho cùng một kết quả. Như vậy, đối với bộ
bốn ta có thể xét nhóm theo cột hay theo dòng.
8. Bộ tám
8.1. Khái niệm:
Là 8 giá trị 1 “liên tiếp” trong bản đồ Karnaugh

8.2. Các ví dụ:


a. Ví dụ 1: Bản đồ sau đây có một bộ tám

C D CD CD CD
A B 0 0 0 0
AB 0 0 0 0
AB 1 1 1 1
AB 1 1 1 1

Trường hợp bộ tám ta lượt bỏ được 3 biến


Chứng minh: Ta dùng các quan hệ boole để chứng minh.
Ta có thể xem chúng như hai bộ bốn, phương trình boole như sau:
Y1 = AB C D + AB C D + ABCD + ABC D
= AB C + ABC
= AB
Y2 = A B C D + A B C D + A B CD + A B C D
= AB C + ABC = AB
Y = AB + A B = A
b. Ví dụ 2: Cho bản đồ sau:

C D CD CD CD
A B 0 1 1 0
AB 0 1 1 0
AB 0 1 1 0
AB 0 1 1 0

Tìm phương trình boole của bản đồ này


Nhận xét: Bản đồ trên có 2 bộ bốn. Nếu nhóm theo cột ta được:
Y1 = A B C D + A B C D + AB C D +A B C D
= A C D + AC D
= CD
Y2 = A B CD + A BCD + ABCD + A B CD
= A CD + ACD
= CD
Y = C D + CD

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 92


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

=D

8.3. Kết luận chung:


Qua phần vừa nghiên cứu, chúng ta nhận thấy rằng: Khi một biến đổi trạng thái (từ 0 sang
1 hay ngược lại) trong một bộ bất kỳ thì chúng ta có thể loại bỏ chúng đi. Đối với cặp ta
lượt bỏ 1 biến, bộ bốn ta lượt bỏ 2 biến, bộ tám lượt bỏ 3 biến.

BẢN ĐỒ KARNAUGH
Chúng ta vừa nghiên cứu xong về một số qui tắc để đơn giản phương trình boole,
bằng cách dùng các phép toán quan hệ hay bản đồ. Đối với việc dùng bản đồ để đơn
giản phương trình boole, điều cần thiết chính là việc chuyển đổi từ bảng chân trị sang
bản đồ Karnaugh
Phần tiếp sau đây, chúng ta sẽ tiếp tục nghiên cứu về cách chuyển từ bảng chân trị
sang bản đồ.

9. Chuyển từ bảng chân trị sang bản đồ Karnaugh


9.1. Bản đồ 2 biến:
Giả sử ta có bảng chân trị như sau:

A B Y
0 0 0
0 1 1
1 0 0
1 1 1

Cách chuyển sang bản đồ Karnaugh. Ta có bản đồ 2 biến như sau:

B B
A 0 1
A 0 1
9.2. Bản đồ 3 biến:
Giả sử ta có bảng chân trị như sau:

A B C Y
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0

Từ bảng chân trị trên ta được bản đồ Karnaugh tương ứng như sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 93


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

C C
A B 0 0
AB 1 1
AB 1 0
AB 0 0
9.3. Bản đồ 4 biến:
Giả sử ta có bảng chân trị như sau:

A B C D Y
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 0

Từ bảng chân trị này ta được bản đồ Karnaugh như sau:


C D C D CD C D
A B 0 1 0 0
AB 0 0 1 1
AB 0 0 0 1
AB 0 0 0 0

10. Các phương pháp đơn giản bản đồ Karnaugh


10.1. Các nguyên tắc:
Để đơn giản bản đồ Karnaugh, ta dùng các cặp, bộ bốn,…theo các nguyên tắc sau:
 Xác định các cặp, bộ bốn, bộ tám
 Xác định các nhóm phủ, thừa
 Xác định các giá trị 1 còn lại
 Viết phương trình boole (đơn giản các biến chuyển trạng thái)
 Vẽ mạch luận lý
10.2. Nhóm phủ lấp, nhóm thừa, các bộ:
a. Các cặp, bộ:
Giả sử ta có bản đồ như sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 94


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

C D C D CD C D
A B 0 1 1 1
AB 0 0 0 1
AB 1 1 0 1
AB 1 1 0 1

Ta các định được: 1 cặp và 2 bộ bốn mô tả bởi hình vẽ bên dưới:

Phương trình boole cho bản đồ trên:


Y = AC + C D + A B D
b. Các nhóm phủ lấp:
Trong một số trường hợp, khi ta gom nhóm thì có một số giá trị 1 nằm riêng lẽ,
nhưng có thể kết hợp với các nhóm đã có để hình thành một nhóm mới, người ta
gọi các nhóm này là nhóm phủ lấp (hay còn gọi là nhóm phủ).
Ví dụ: Cho bản đồ sau

C D C D CD C D
A B 0 0 0 0
AB 0 1 0 0
AB 1 1 1 1
AB 1 1 1 1

Ta xác định đươc một bộ tám và một cặp (nhóm phủ) như hình vẽ

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 95


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Phương trình boole:


Y = A + BC D
10.3. Phương pháp cuộn bản đồ:
Trong một số trường hợp, không thể nhóm các trị 1 theo cách thông thường do các trị này
nằm rời rạc. Trường hợp này ta dùng phương pháp cuộn bản đồ.
Ví dụ: Cho bản đồ sau

C D C D CD C D
A B 0 0 0 0
AB 1 0 0 1
AB 1 0 0 1
AB 0 0 0 0
Với bản đồ này ta được 2 cặp.
Phương trình boole trong trường hợp này:
Y = B C D + BC D
Tuy nhiên, khi ta gấp 2 mép của bản đồ lại ta được 1 bộ bốn.

⇒ ⇐

Do đó, phương trình boole chính là:


Y = BD
10.4. Nhóm thừa:
Khi ta xác định các nhóm, có những nhóm mà bản thân chúng nằm trong một hay nhiều
nhóm khác thì được gọi là nhóm thừa.
Khi gặp nhóm thừa thì chúng ta loại bỏ chúng đi
Ví dụ: Cho bản đồ sau

C D C D CD C D
A B 0 0 0 0
AB 0 1 0 0
AB 0 1 1 0
AB 0 0 1 0

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 96


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Trong trường hợp này, rõ ràng ta xác định được 3 cặp như hình vẽ bên dưới.

Cặp 1

Cặp 2

Cặp 3
(Nhóm thừa)
Nhưng cặp thứ 3 rõ ràng nằm trong 2 cặp 1 và 2 và ta loại bỏ chúng đi. Vì nó là nhóm
thừa.
Phương trình boole: Y = B C D + ACD
10.5. Các giá trị tuỳ chọn:
Trong một số trường hợp, một tín hiệu không yêu cầu 1 giá trị cụ thể nào, khi đó
chúng được gọi là trị “tuỳ chọn” và được ghi bằng dấu x trong bảng chân trị (hay
trong bản đồ). Với trường hợp này, ta nên lợi dụng lợi thế của yêu cầu để đơn giản
mạch.
Ví dụ: Cho bảng chân trị như sau

A B C D Y
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 x
1 0 0 1 x
1 0 1 0 x
1 0 1 1 x
1 1 0 0 x
1 1 0 1 x
1 1 1 0 x
1 1 1 1 x

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 97


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Từ bảng chân trị ta lập bản đồ:

C D C D CD C D
A B 1 0 1 0
AB 1 1 1 0
AB x x x x
AB x x x x

Ta xác định được các bộ (hình vẽ):

Bộ bốn thứ
nhất

Bộ bốn thứ 2

Bộ bốn thứ 3

Phương trình boole:


Y = C D + B C + CD

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 98


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG VI. CÁC LOẠI MẠCH


Chúng ta biết rằng, các mạch điện tử sử dụng trong máy tính được thiết kế từ các cổng
luận lý. Dựa trên yêu cầu (hay trên bảng chân trị) đã cho, qua các bước tính toán và đơn giản
để tạo nên mạch. Các mạch điện tử này được ứng dụng trong công nghệ tạo máy tính như
mạch lật (flip-flop), thanh ghi (register), mạch đếm (Counter), mạch cộng (Adder) và mạch
nhớ (memory),…
1. Mạch nửa cộng
1.1. Khái niệm:
Mạch nữa cộng (Half - Adder) là mạch cộng 2 bit có 2 ngõ ra là:
 SUM = A ⊕ B
 CARRY = AB
Trong đó: phép ⊕ chính là phép XOR (Exclusive OR – tham khảo bài trước)

1.2. Bảng chân trị:

A B CARRY SUM
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

1.3. Hình vẽ: A B

CARRY

SUM

1.4. Đặc điểm:


Mạch chỉ dùng 2 bit. Trong thực tế mạch này rất ít dùng vì thông thường người ta cần
dùng mạch cộng 3 bit
2. Mạch toàn cộng
2.1. Khái niệm:
Mạch toàn cộng (Full - Adder) là mạch cộng 3 bit có 2 ngõ ra là:
 SUM = A ⊕ B ⊕ C
 CARRY = AB + AC + BC

2.2. Bảng chân trị:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 99


Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

A B C CARRY SUM
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
2.3. Hình vẽ:
A BC

CARRY

SUM
Hình vẽ mạch toàn cộng
3. Mạch cộng nhị phân
3.1. Khái niệm:
Mạch cộng nhị phân là mạch được xây dựng từ mạch nữa cộng và mạch toàn cộng.
Ta có mạch cộng 2 từ (word) có chiều dài 4 bit:
A3 A2 A1 A0
B3 B2 B1 B0
C4 S3 S2 S1 S0

3.2. Hình vẽ:


A3 A2 A1 A0
B3 B2 B1 B0

C4
FA FA FA HA

S3 S2S1 S0
Mạch cộng nhị phân
Trong đó, FA là mạch toàn cộng và HA là mạch nửa cộng
4. Mạch cộng - trừ bù 2
Khi cần cộng và trừ số bù 2 người ta thiết kế mạch sau:

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 100
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

A3 A2 A1 A0
B3 B2 B1 B0
SUB

CARRY FA FA FA HA
(Không dùng)

S3 S2 S1 S0
Hình vẽ mạch cộng - trừ bù 2

Với :
SUB = 0  S= A + B
SUB = 1  S = A – B
5. Mạch giải mã thập - nhị phân
Ứng với kết quả thập phân ta thu được giá trị nhị phân tươn ứng thông qua mạch này.
Mạch giải mã thập nhị là sự kết hợp của cổng OR

Trạng thái cao


0
1
2
3
4
5
6
7
8
9

Y3 Y2 Y1 Y0
Mạch giải mã thập nhị

Ví dụ minh hoạ:
Giả sử: Khi ta gõ phím số 8, căn cứ theo mạch trên ta được:
Y0 = 0
Y1 = 0
Y2 = 0
Y3 = 1
Như vậy dãy số nhị phân sẽ là: 1000

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 101
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Tương tự số thập phân ban đầu 1 x 23 + 0 x 22 + 0 x 21 + 0 x 20 (=8)


6. Mạch giải mã nhị phân - thập phân
Dùng để chuyển đổi số từ hệ nhị phân sang thập phân
(Xem hình vẽ trang bên)

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 102
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Thanh ghi 4 bit

A B C D

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

Y9

Mạch chuyển đổi nhị phân - thập phân


7. Mạch phát sinh lẻ
Từ cổng XOR (Exclusive OR) liên kết với cổng đảo, người ta kết hợp các bit lại với
nhau hình thành bit kiểm tra gọi là bit chẵn - lẻ. Và cũng dựa trên cổng XOR và cổng đảo
người ta đưa ra khái niệm chẵn - lẻ
Một từ (word) được gọi là chẵn (lẻ) khi có tổng số bit 1 là một số chẵn (lẻ)

Thanh ghi 7 bit


A6 A5 A4 A3 A2 A1 A0

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 103
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Mạch phát sinh lẻ


Giả sử, với mạch trên ta lưu giá trị của ký tự A (có mã ASCII là 65) thể hiện dạng nhị
phân 1000001. Số bit 1 trong chuổi bit này là 2 do đó đây là một từ chẵn. Kết hợp với cổng
XOR (bit 7) ta được kết quả 11000001 (chiều dài 8 bit) thành một từ lẻ. Cho nên mạch này
được gọi là mạch phát sinh lẻ.
Ứng dụng của mạch này dùng để kiểm tra việc truyền dữ liệu, vì khi truyền dữ liệu đi,
dữ liệu nhận được có thể bị sai (do nhiễu hay vì lý do nào đó). Và người ta dùng mạch này để
phát hiện khi nhận kết quả sai.
Ví dụ: Khi truyền A (1000001) và nhận được C (1000011) ta phát hiện có dự truyền
sai do ta truyền đi tín hiệu chẵn nhưng nhận được tín hiệu lẻ
8. Mạch phát sinh lẻ
Từ cổng XOR (Exclusive OR) liên kết với cổng đảo, người ta kết hợp các bit lại với
nhau hình thành bit kiểm tra gọi là bit chẵn - lẻ. Và cũng dựa trên cổng XOR và cổng đảo
người ta đưa ra khái niệm chẵn - lẻ
Một từ (word) được gọi là chẵn (lẻ) khi có tổng số bit 1 là một số chẵn (lẻ)
Thanh ghi 7 bit
A6 A5 A4 A3 A2 A1 A0

Các bit dữ liệu

Bit tạo chẵn - lẻ Mạch phát sinh lẻ


Giả sử, với mạch trên ta lưu giá trị của ký tự A (có mã ASCII là 65) thể hiện dạng nhị
phân 1000001. Số bit 1 trong chuổi bit này là 2 do đó đây là một từ chẵn. Kết hợp với cổng
XOR (bit 7) ta được kết quả 11000001 (chiều dài 8 bit) thành một từ lẻ. Cho nên mạch này
được gọi là mạch phát sinh lẻ.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 104
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Ứng dụng của mạch này dùng để kiểm tra việc truyền dữ liệu, vì khi truyền dữ liệu đi,
dữ liệu nhận được có thể bị sai (do nhiễu hay vì lý do nào đó). Và người ta dùng mạch này để
phát hiện khi nhận kết quả sai.
Ví dụ: Khi truyền A (1000001) và nhận được C (1000011) ta phát hiện có dự truyền
sai do ta truyền đi tín hiệu chẵn nhưng nhận được tín hiệu lẻ
9. Mạch đảo có điều khiển
Khi truyền tín hiệu qua mạch này, ta nhận được kết quả tuỳ thuộc vào sự điều khiển
của khoá.
Ví dụ: Khi truyền đi một từ (word) có tín hiệu là A. Ta nhận được một trong 2 giá trị
sau:
 Nếu Key = 0, tín hiệu nhận được là A
 Nếu Key = 1, tín hiệu nhận được là bù của A

Thanh ghi 8 bit


A7 A6 A5 A4 A3 A2 A1 A0
A
Key

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

Mạch đảo có điều khiển


10. Mạch tích hợp số
Với công nghệ điện tử ngày càng phát triển, ngày nay các cổng luận lý ban đầu ngày
càng tiến dần đến các mạch tích hợp số (Digital Integrated Circuit) và thường được gọi là
mạch IC.
Thông thường, các mạch IC được tích hợp trên một mảnh nhỏ bán dẫn và gọi là chip.
Trên một chip có thể có hàng ngàn IC, chục ngàn hay hàng triệu các thành phần điện tử như:
Transistor, diode, register,…Mức độ tích hợp trên chip được phân thành:
 SSI (Small scall Integration) : Chứa khoảng 10 phần tử
 MSI (Medium scall Integration) : Chứa từ 10 đến 500 phần tử
 LSI (Large scall Integration) : Chứa từ 500 đến 10.000 phần tử
 VLSI (Very Large scall Integration) : Chứa từ 10.000 đến 1.000.000 phần tử
 ULSI (Ultra Large scall Integration) : Chứa từ 1.000.000 phần tử trở lên

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 105
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

CHƯƠNG VII. CÁC MẠCH VI XỬ LÝ - TỔ CHỨC CPU


1. Giới thiệu các thanh ghi
Một bộ phận then chốt trong CPU chính là các thanh ghi (Register). Thanh ghi là một
dạng bộ nhớ có tốc độ đọc - ghi cực nhanh, dung lượng hạn chế và nằm trong CPU. Giống
như các đơn vị nhớ, thanh ghi bao gồm các đơn vị nhớ nhị phân và được đánh địa chỉ để dễ
dàng truy xuất chúng. Thông thường, tuỳ theo chức năng của chúng mà người ta đặt tên cho
chúng, vì vậy chúng có nhiều tên gọi khác nhau.
1.1. Thanh ghi tích luỹ (Accumulator):
Trong CPU có một hay nhiều thanh ghi được dùng để chứa dữ liệu, các dữ liệu này được đọc
từ bộ nhớ vào. Các thanh ghi có chức năng này được gọi là thanh ghi tích luỹ. Thanh ghi tích
luỹ lưu trữ dữ liệu tạm thời trong khi tính toán. Trong hầu hết máy tính, thanh ghi tích luỹ
thường giữ một trong những toán hạng của các phép tính số học, luận lý.
Ngoài ra, thanh ghi tích luỹ còn được dùng trong các phép toán dịch chuyển bit và
các lệnh khác.

7 6 5 4 3 2 1 0 <- Bit

Thanh ghi tích luỹ 8 bit


1.2. Thanh ghi đếm dữ liệu (Data Counter):
Trong CPU có một hay nhiều thanh ghi đếm dữ liệu, nó chứa địa chỉ của dữ liệu cần đọc hay
ghi. Kích thước của thanh ghi này tuỳ thuộc vào độ lớn của bộ nhớ.
Ví dụ:
Thanh ghi 8 bit có thể định vị 28 (=256) ô nhớ.
Thanh ghi 16 bit có thể định vị 216 (=65536) ô nhớ.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 <- Bit

Thanh ghi đếm dữ liệu 16 bit


1.3. Thanh ghi lệnh (Instruction Register):
Thanh ghi này được dùng để lưu trữ lệnh đã được đọc từ bộ nhớ vào. Thông thường loại
thanh ghi này có chiều dài 8 bit. Dùng lưu trữ lệnh cho đến khi lệnh được giải mã. Độ dài bit
của nó chính là độ dài bit của lệnh cơ bản cho máy tính. Một số máy tính có hai thanh ghi
lệnh, do đó nó có thể lấy một lệnh đồng thời cất một lệnh trong khi thực hiện lệnh trước đó và
sự xử lý này được gọi là xử lý đường ống (pipe - line)

7 6 5 4 3 2 1 0 <- Bit

1.4. Mạch đếm chương trình (PC – Program Count):


Mạch đếm chương trình là thanh ghi chứa địa chỉ của mã lệnh. Dựa trên địa chỉ này CPU đọc
lệnh từ bộ nhớ và chứa vào Thanh ghi lệnh.

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 106
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 <- Bit

2. Cách sử dụng các Thanh ghi


Khi khởi động, địa chỉ đầu tiên được đưa vào Mạch đếm chương trình.

Ví dụ: Giả sử ta có lệnh đầu tiên nằm trong bộ nhớ tại địa chỉ 0400, do đó nội dung của
mạch đếm chương trình (PC) là 0400.

địa chỉ
bộ nhớ

0400 9C
0401 0A lệnh 1
0402 30
Vùng 0403 40 lệnh 2
nhớ 0404 9C
chương 0405 0A lệnh 3
trình 0406 31
0407 80 lệnh 4
0408 60 lệnh 5
0409

0A30 7A
Vùng
0A31 2F
nhớ dữ
0A32
liệu

A
DC
IR
04 00 PC

Nội dung của PC lúc khởi động chương trình


Kế tiếp CPU nạp nội dung ô nhớ có địa chỉ chứa trong PC vào Thanh ghi lệnh (IR) đồng
thời tăng PC lên 1.

A
DC
9C IR
04 01 PC
Nạp mã lệnh vào IR và tăng PC lên 1
CPU giải mã lệnh (9C) và thi hành lệnh đưa 2 byte kế tiếp vào DC. Qui trình như sau:
o Căn cứ vào địa chỉ ghi ở PC, CPU nạp nội dung ô nhớ tương ứng vào byte cao của
DC và tăng PC lên 1.

A
0A DC

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 107
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

9C IR
04 02 PC

Nạp byte cao vào DC


o Với địa chỉ trong PC tìm tiếp byte tương ứng và nạp nội dung vào byte thấp của
DC đồng thời tăng nội dung của PC lên 1

A
0A 30 DC
9C IR
04 03 PC

Nạp byte thấp vào DC


o Lệnh được thi hành xong. Chú ý nội dung của ô nhớ 0401 và 0402 cũng được nạp
vào DC dù đây là 2 vùng nhớ nằm trong vùng nhớ chương trình và được định vị
bởi PC. Như vậy, dữ liệu mà được xử lý ngay trong lệnh, loại dữ liệu này gọi là
“trực kiện” hoặc dữ liệu lấy ngay (immediate data)
Với địa chỉ trong PC, CPU nạp lệnh kế vào IR.

A
0A 30 DC
40 IR
04 04 PC

Nạp lệnh kế vào IR


Lệnh 40 nạp ô nhớ có địa chỉ trong DC vào A

7A A
0A 30 DC
40 IR
04 04 PC

Lưu ý rằng nội dung DC và PC không tăng. PC không tăng vì 7A không phải là dữ liệu
hay lệnh trực kiện mà nó được tìm từ vùng nhớ dữ liệu. DC không tăng vì dữ liệu cần xử
lý kế tiếp không nhất thiết phải nằm ở vùng nhớ kế tiếp.

 Lệnh 3 giống như lệnh 1:


a) Nạp mã lệnh vào IR

7A A
0A 30 DC
9C IR
04 05 PC

b) Tìm lệnh 0A trong địa chỉ 0405 và nạp vào byte cao của DC

7A A
0A 30 DC

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 108
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

9C IR
04 06 PC

c) Tìm lệnh 31 trong địa chỉ 0406 và nạp vào byte thấp của DC

7A A
0A 31 DC
9C IR
04 07 PC

 Lệnh 4 có mã 80 lấy nội dung vùng nhớ có địa chỉ chứa trong DC cộng vào A. Qui
trình được thực hiện như sau:
a) Nạp lệnh vào IR

7A A
0A 31 DC
80 IR
04 08 PC

b) Thực hiện lệnh 80

A9 A
0A 31 DC
80 IR
04 08 PC

 Lệnh 5 có mã 60 lưu nội dung của A vào vùng nhớ định bởi DC. Qui trình như sau:
a) Tìm lệnh (Nạp lệnh vào IR):

A9 A
0A 31 DC
60 IR
04 09 PC

b) Thực hiện lệnh:

0A30 7A 7A A
0A31 A9 31 DC
0A32 0A
80 IR
04 08 PC

3. Mạch tính toán (ALU – Arithmetic & Logical Unit)


Mạch này được gọi là Mạch tính toán số học và luận lý. Các chức năng chính của nó là:
 Thực hiện phép cộng nhị phân.
 Thực hiện các phép tính luận lý (đại số bool)

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 109
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

 Làm bù số.
 Dịch chuyển các bit trong dữ liệu
4. Thanh ghi địa chỉ bộ nhớ (MAR – Memory Address Register)
Thanh ghi này dùng để giữ địa chỉ của dữ kiện trong bộ nhớ. Địa chỉ này có thể là một
phần của lệnh hay do chương trình cung cấp. Lệnh nạp thanh ghi tích luỹ (A) từ bộ nhớ có
địa chỉ giả sử là 300 thì sẽ nạp A và nội dung của ô nhớ có địa chỉ 300 (do lệnh nào vào MAR
giá trị 300). Nội dung của A sẽ tăng lên 1 và cất lại ô nhớ 300. Như vậy, CPU có thể truy xuất
đến ô nhớ 300 một số lần mà không cần chỉ ra địa chỉ của nó (ở đây là 300) trong lệnh (vì đã
chứa sẵn trong MAR). Ngoài ra còn có thể dùng ô nhớ kế tiếp (có địa chỉ là 301) bằng cách
đơn giản là cộng vào MAR.
5. Mạch điều khiển (CU – Control Unit)
Mạch điều kiểm có nhiệm vụ chủ yếu là giải mã lệnh đang chứa trong IR và phát tín hiệu
truyền dữ liệu vào ALU đồng thời nó ra lệnh cho ALU thực hiện.

Thanh ghi trạng thái A


DC
Mạch dịch chuyển IR
Đường
= Mạch bù
truyền

Mạch cộng và Bool dữ

liệu

Thanh ghi đệm Thanh ghi đệm

Hoạt động của Mạch điều kiểm


6. Các cờ trạng thái
CPU có một dãy các cổng luận lý để ghi nhận kết quả thực hiện của ALU. Các cổng
này hợp lại thành thanh ghi trạng thái, mỗi cổng (1 bit) được gọi là một cờ trạng thái. Trong
thanh ghi này có các cờ sau:

6.1. Cờ gởi (Carry Flag):


Dùng để ghi bit nhớ khi thực hiện phép tính trên một hay nhiều byte hay word.
Ví dụ: Giả sử ta có phép cộng sau:

Byte cao Byte thấp


0101 1011 1011 1000
+ 0010 1101 1101 1010
1 Cờ gởi
1000 1001 1001 0010

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 110
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

6.2. Cờ Zero (Zero Flag):


Cờ này có giá trị 1 khi kết quả thực hiện là 0 và có trị 0 khi kết quả có trị 1.
6.3. Cờ dấu (Sign Flag):
Cờ này ghi nhận bit dấu của số nhị phân có dấu hoặc cho biết kết quả của phép tính là
âm hay dương.
6.4. Cờ tràn (Overflow Flag):
Cờ này có trị 1 khi xảy ra hiện tượng tràn. Hiện tượng này chỉ xảy ra khi có giá trị gởi
ở bit cao.
Ví dụ: Thực hiện các phép công sau:

0010 0011 0101 1011 1100 1011 1011 1100


+ 0001 1101 1011 1001 1101 1000 1100 0111
1 1 1
0100 0001 0001 0101 1010 0100 1000 0011

Không tràn do không nhớ ở bit cao


Đối với số nhị phân có dấu, hiện tượng tràn xảy ra khi bit nhớ tại bit dấu (Cp) và bit
kế tiếp (Cs = bit kế bit dấu) khác nhau.
Ví dụ: Thực hiện các phép tính sau ở hệ thập lục (dạng bù 2):
 Cộng 2 số 2 và 2:

2 0000 0010
+ 2 0000 0010
4 0000 0100 Cp=0, Cs=0 không tràn

 Cộng hai số -0C và +09:

-0C 1111 0100


+09 0000 1001
-03 1111 1101 Cp=0, Cs=0 không tràn

 Cộng hai số -75 và +79:

-75 1000 1011


+79 0111 1001
4 0000 0100 Cp=1, Cs=1 không tràn

 Cộng hai số -28 và +59:

-28 1101 1000


+59 0101 1001
+31 0011 0001 Cp=1, Cs=1 không tràn
 Cộng hai số -45 và +67:

-45 0100 0101


+67 0110 0111
-54 1010 1100 Cp=0, Cs=1 tràn

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 111
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

 Cộng hai số -6E và +5C:

-6E 1001 0010


+5C 1010 0100
+36 0011 0110 Cp=1, Cs=0 tràn

Kết luận: Hiện tượng tràn xảy ra khi Cờ tràn = Cs ⊕ Cp


( Dấu ⊕ thể hiện phép XOR)

6.5. Cờ Chẵn - lẻ (Parity Flag):


Cờ này bậc lên 1 khi có sự truyền dữ liệu bị sai tính chẵn lẻ.

6.6. Cờ cho phép ngắt quãng (Interrupt Enable Flag):


Cờ này có trị 1 nếu cho phép ngắt quãng và trị 0 nếu không cho phép ngắt. Bên cạnh
đó, CPU cũng có thể tự động cấm ngắt quãng trong khi khởi động hay trong chương trình
phục vụ, người lập trình cũng có thể ngắt quãng trong các vòng lặp hay các phép tính nhiều
“từ” (word). Một máy tính có thể có nhiều cờ loại này nếu có nhiều ngõ vào yêu cầu ngắt
quãng.
7. Qui trình thực hiện lệnh
7.1. Thời gian thực hiện lệnh:
Các tác vụ trong CPU được điều khiển bởi đồng hồ thạch anh có chu kỳ trong khoảng
vài chục đến vài trăm nano giây (=109 s). Đồng hồ này phát tín hiệu sống vuông có ký hiệu là
Ф.

Chu kỳ Chu kỳ

Tín hiệu đồng hồ Ф


Tuỳ theo nhu cầu mà các dạng tín hiệu này được thiết kế đơn giản hay phức tạp.
Ví dụ: Hai dạng tín hiệu khác nhau của đồng hồ Ф
Dạng tín hiệu Ф1

Chu kỳ Chu kỳ
Dạng tín hiệu Ф2

Chu kỳ Chu kỳ

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 112
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

7.2. Chu kỳ lệnh:


Thông thường, mỗi lệnh được thi hành thông qua 2 giai đoạn: Tìm lệnh và thực hiện
lệnh.

 Tìm lệnh:
CPU xuất nội dung của PC cùng với tín hiệu yêu cầu đọc nội dung ô nhớ có địa
chỉ chứa trong PC. Sau khi đọc xong, CPU lưu nội dung vào IR và tăng PC lên 1.

 Thực hiện lệnh:


CU căn cứ vào IR tạo ra một loạt các thao tác để thi hành lệnh. Tương ứng với hai
giai đoạn trên là hai chu kỳ đồng hồ Ф và tạo thành một chu kỳ lệnh.

Tìm lệnh Thực hiện lệnh

Chu kỳ lệnh

8. Cấu trúc của CPU 8086/8088


Bộ xử lý thường thực hiện chương trình bằng cách lập các bước sau:
 Lấy lệnh từ bộ nhớ
 Đọc toán hạng
 Thực hiện lệnh
 Ghi kết quả (nếu có yêu cầu)
Cấu trúc CPU 8086/8088 cho phép thực hiện các bước trên bằng cách phân chia vùng
thực hiện trong CPU bởi các bộ phận: Bộ thực hiện lệnh (EU – Execution Unit) để thực hiện
lệnh, bộ giao tiếp (BIU – Bus Interface Unit) để lấy lệnh, đọc toán hạng và ghi kết quả. Hai
bộ này có thể làm việc độc lập với nhau và trong hầu hết các trường hợp có sự trùng lấp giữa
thời gian thực hiện và lấy lệnh. Kết quả là thời gian lấy lệnh coi như không có vì bộ thực hiện
lệnh đã được lấy sẵn bởi bộ giao tiếp BIU.
8.1. Bộ thực hiện lệnh (EU):
Bộ ALU 16 bit trong EU duy trì trạng thái và cờ điều khiển CPU, đồng thời cũng
kiểm soát các thanh ghi đa dụng và toán hạng lệnh. Tất cả thanh ghi và đường truyền dữ liệu
trong EU thường là 16 bit để được truyền nhanh.
8.2. Bộ giao tiếp (BIU):
Bộ giao tiếp của CPU 8086/8088 tương tự nhau về mặt chức năng nhưng có số đường
giao tiếp ngoài khác nhau tuỳ theo cấu trúc và đặc tính Bus của chúng.
Bộ giao tiếp thực hiện tất cả các tác vụ về bus cho EU, dữ kiện được truyền giữa CPU và bộ
nhớ hay thiết bị I/O khi có yêu cầu từ EU. Mặt khác, trong khi EU đang thực hiện lệnh thì
BIU sẽ tìm và lấy lệnh từ trong bộ nhớ vào CPU.
8.3. Các Thanh ghi đa dụng:
Thanh ghi đa dụng bao gồm 8 thanh và chia thành 2 nhóm:
 Nhóm thanh ghi dữ kiện (4 thanh)
 Nhóm thanh ghi chỉ số đếm (4 thanh)

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 113
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

8.4. Thanh ghi đếm lệnh (Instruction Pointer):


Thanh ghi này chứa độ dời (offset) của lệnh kế tiếp đối với địa chỉ đầu của phân đoạn
hiện hành.
8.5. Thanh ghi phân đoạn ô nhớ (Segment Register):
Bộ nhớ 1Mb của CPU được chia thành các phân đoạn luận lý. Mỗi phân đoạn có thể
lên đến 64Kb và CPU có thể cùng một lúc truy xuất đến 4 phân đoạn khác nhau.
9. Tín hiệu của CPU
Trong quá trình thực hiện lệnh, CPU phát ra các tín hiệu cần thiết như mô tả bên dưới.
Giả sử CPU là chip có 40 chân như hình vẽ

Vdd 1
Nguồn Vss 2
Vgg 3
-> Đồng hồ Ф 4

Hình CPU chip 40 chân


Trong chu kỳ tìm lệnh, tác vụ thực sự trong chu kỳ này là đọc bộ nhớ. Như vậy cần
biết địa chỉ của vùng nhớ và phải đọc dữ liệu (hay mã lệnh) vào. Giả sử bộ nhớ có kích thước
64K. Do đó, CPU cần có 16 chân địa chỉ và để đọc phải có tín hiệu yêu cầu đọc.

1 D0 Ф
2 D1
3 D2 địa chỉ
4 D3 A0 –A15
A0 D4 Dữ liệu ↔
A1 D5
A2 D6
D7
R READ → READ

D0 – D7
A13
A14
A15

Quá trình tìm lệnh

Kế tiếp là chu kỳ thực hiên lệnh. Như hình CPU chip 40 chân ta có 4 loại lệnh:
 Nạp địa chỉ ô nhớ vào DC (lệnh 1 và 3)
 Tìm nội dung ô nhớ có địa chỉ chứa trong DC và nập vào A (lệnh 2)
 Tìm nội dung ô nhớ có địa chỉ chứa trong DC cộng với nội dung của A và chứa
kết quả vào A (lệnh 4)
 Lưu nội dung của A vào ô nhớ có địa chỉ chứa trong DC (lệnh 5)

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 114
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Với 4 loại lệnh này ta khảo sát các chu kỳ lệnh và tín hiệu điều khiển.
Trước tiên là lệnh đơn giản nhất. Lệnh A0 (lệnh 2) yêu cầu tìm dữ liệu trong bộ nhớ, việc
tìm tương tự như tìm lệnh do đó lệnh đọc bộ nhớ như sau:

A0 – A15 Địa chỉ Địa chỉ dữ


lệnh liệu
READ

D0 – D7 Mã lệnh Dữ liệu

Tìm lệnh Tìm dữ liệu

Quá trình Đọc bộ nhớ


Lệnh đọc bộ nhớ có 2 chu kỳ đó là tìm lệnh và tìm dữ liệu. Điểm khác biệt của hai chu kỳ
này là:
 Trong chu kỳ tìm lệnh, A0 – A15 là nộI dung của PC còn trong chu kỳ tìm dữ liệu
là nộI dung của DC
 Trong chu kỳ tìm lệnh, dữ liệu được nhập vào IR, riêng trong chu kỳ tìm dữ liệu,
dữ liệu được lưu vào A
Lệnh kế tiếp là lệnh cộng (lệnh 4) có tác dụng có tác dụng là tìm nội dung trong bộ nhớ
và cộng vào thanh ghi. Việc tìm nội dung bộ nhớ chính là lệnh đọc (lệnh 2). Do đó, các
tín hiệu trong hai lệnh là như nhau, điều khác biệt là ở kết quả là lệnh đọc lưu dữ liệu đọc
được vào A, còn lệnh cộng thì cộng dữ liệu đọc được vào A.
Lệnh 5 lưu nội dung của A vào bộ nhớ có địa chỉ trong DC chính là lệnh viết bộ nhớ. Khi
đó CPU cần có tín hiệu Write và ở mức cao thay vì Read

1 D0
2 D1
3 D2
-> Đồng hồ 4 D3
Ф Dữ liệu
A0 D4
A1 D5
A2 D6
D7
Địa R READ
chỉ W WRITE

A13
A14
A15

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 115
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

READ

A0 – A15 Địa chỉ lệnh Địa chỉ dữ liệu

READ

WRITE

D0 – D7 Mã lệnh Dữ liệu

Tìm lệnh Tìm dữ liệu


Lệnh viết bộ nhớ
Cuối cùng là lệnh 1 tác dụng nạp địa chỉ bộ nhớ váo DC và chiếm 3 ô nhớ: 1 ô nhớ là mã
lệnh, 2 ô nhớ là địa chỉ. Lệnh nạp DC này tương đương với 2 lệnh đọc bộ nhớ với điểm
khác biệt như sau:
 Lệnh 9C yêu cầu 2 lần đọc bộ nhớ thay vì 1 lần như lệnh 80
 Địa chỉ dữ liệu cần đọc chứa trong PC trong khhi lệnh đọc bộ nhớ lấy địa chỉ từ
DC
 Dữ liệu đọc được lưu vào nữa byte cao và nữa byte thấp của DC còn đối với lệnh
đọc bộ nhớ thì dữ liệu chứa trong A

• A A
• DC • • DC
ALU IR ALU IR

PC
• PC

CU CU

A0-A15 D0-
A0-A15 D0-D7
D7
••

Đọc bộ nhớ Nạp DC

Đối với CPU thông minh chỉ cần 3 chu kỳ để thực hiện lệnh nạp DC

A0-
Địa chỉ lệnh Địa chỉ lệnh 1 Địa chỉ lệnh 2
A15

Mã lệnh Dữ liệu Dữ liệu

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 116
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành

Tìm lệnh Tìm địa chỉ đầu Tìm địa chỉ sau
Lệnh nạp DC có 3 chu kỳ

Mặt khác, để đơn giản hoá CPU, nội dung của PC chỉ xuất ở chu kỳ đầu (tương tự DC
chỉ xuất ở chu kỳ sau) do đó, lệnh nạp DC thường chiếm 6 chu kỳ (xem hình vẽ trang sau)

Địa chỉ lệnh Địa chỉ lệnh +1 Địa chỉ lệnh +2

Mã lệnh Dữ liệu Dữ liệu

Tìm Tìm địa Tìm địa


Lệnh chỉ đầu chỉ sau
Lệnh nạp DC có 6 chu kỳ
10. Qui trình giải mã của Control Unit
Hoạt động của CPU thật ra thực ra bao gồm việc kích hoạt các phần tử luận lý của nó bằng
các tín hiệu luận lý. Ví dụ như mạch bù có nhiệm vụ làm bù 8 thanh chốt từ một tín hiệu phát
ra từ CU. Dĩ nhiên ta không cần làm bù 8 thanh chốt của mạch bù mà thực ra muốn làm bù
một từ là A ta chuyển nội dung của từ A vào mạch bù. Sau khi làm bù xong chuyển giá trị lại
cho A. Việc làm bù này được thông qua 5 bước sau:
 Chuyển nội dung từ A vào đường truyền dữ liệu
 Chuyển nội dung từ đường truyền dữ liệu vào mạch bù
 Kích hoạt mạch bù
 Chuyển nội dung từ mạch bù ra dường truyền dữ liệu
 Chuyển nội dung từ đường truyền dữ liệu ra từ A
Mỗi bước trên được gọi là vi lệnh (micro instruction) được phát động từ một tín hiệu của CU
Bằng cách đưa ra một loạt điều khiển, CU thực hiện một dãy vi lệnh tạo thành một vĩ lệnh
(macro instruction), đó chính là một lệnh của CPU.
Để làm bù một từ A, CU phải có 5 mã nhị phân tương ứng 5 tín hiệu, dãy 5 mã nhị phân này
được gọi là vi trình.
Hay Vi trình gồm một dãy các số nhị phân chứa trong CU.
Và Vĩ trình chính là chương trình dưới dạng ngôn ngữ máy được chứa trong ROM hay RAM.
Mỗi mã lệnh của vĩ trình thực hiện một vi trình.

Dữ Dữ
liệu liệu
A Vĩ
Đường trình
truyền
ALU DC
dữ liệu
trong PC
IR

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 117
Trường ĐH Tài Chính - Marketing Giáo Trình kiến trúc máy tính và hệ điều hành


Dữ liệu CU
trình
CU
Vi
trình

CPU ROM RAM


Ví dụ các tín hiệu của CU

Tín Chức năng


hiệu
C0, C1 C0 = 0, C1 = 0 Không chuyển dữ liệu vào ra đường truyền dữ liệu / thanh ghi địa chỉ
C0 = 0, C1 = 1 Chuyển dữ liệu vào đường truyền dữ liệu hay thanh ghi địa chỉ
C0 = 1, C1 = 0 Chuyển dữ liệu ra khỏi đường truyền dữ liệu hay thanh ghi địa chỉ
C1 = 1, C0 = 1 Lấy vi lệnh trong CU
C2, C3 Khi C0 = 1, C1= 0 hoặc C0= 0, C1= 1 thì tín hiệu này được giải mã để chọn dòng dữ liệu
C4, C5
C6, C7, 8 tín hiệu này xác định các tác vụ trong ALU
C8
WRITE Nối trực tiếp vào 2 bit dữ liệu của CU
READ
O Tín hiệu đồng hồ nhập vào CU
C, O, 4 bit trạng thái nối trực tiếp vào 4 bit dữ li ệu của CU
S, Z

Ví dụ về qui trình tìm lệnh:

Lệnh Mã vi lệnh Chức năng


C8 C7 C6 C5 C4 C3 C2 C1 C0
1 1 1 1 1 0 1 1 0 1 Chuyển PC vào trong thanh ghi địa chỉ
2 1 0 0 0 0 1 1 1 1 Cho READ =1, WRITE = 0
3 1 1 1 0 0 1 0 0 1 Chuyển PC (byte thấp) vào đường truyền dữ liệu
4 1 1 1 1 0 0 1 1 1 Chuyển đườngtruyền dữ liệu vào các thanh chốt ALU
5 0 1 1 0 0 0 0 0 0 Tăng các thanh chốt ALU lên 1
6 1 1 1 1 0 0 1 0 1 Chuyển các thanh chốt ALU vào đường truyền dữ liệu
7 1 1 1 0 0 1 0 1 0 Chuyển đường truyền dữ liệu vào PC (byte thấp)
8 1 1 1 1 1 0 0 0 1 Chuyển PC (byte cao) vào đường truyền dữ liệu
9 1 1 1 1 0 0 1 1 0 Chuyển đường truyền dữ liệu vào chốt ALU
10 1 0 0 0 0 1 0 1 1 Nhảy qua vi lệnh kế nếu CF= 0
11 0 1 1 0 0 0 0 0 0 Tăng chốt ALU lên 1
12 1 1 1 1 0 0 1 0 1 Chuyển chốt ALU vào đường truyền dữ liệu
13 1 1 1 1 1 0 0 1 0 Chuyển đường truyền dữ liệu vào PC (byte cao)
14 1 1 1 1 1 0 1 0 1 Chuyển thanh ghi dữ liệu vào đường truyền dữ liệu
15 1 1 1 1 0 1 0 1 0 Chuyển đường truyền dữ liệu vào

Nguyễn Thanh Trường - Khoa Công nghệ thông tin Trang 118

You might also like