You are on page 1of 70

Chương I.

GIỚI THIỆU CHUNG


Kiến trúc máy tính (Computer Architecture) là một khái niệm trừu tượng của một hệ
thống tính toán dưới quan điểm của người lập trình hoặc người viết chương trình dịch.
Nói cách khác, kiến trúc máy tính được xem xét theo khía cạnh mà người lập trình có
thể can thiệp vào mọi mức đặc quyền, bao gồm các thanh ghi, ô nhớ các ngắt ... có thể được
thâm nhập thông qua các lệnh.
Kiến trúc máy tính = Tổ chức máy tính + kiến trúc tập lệnh

1. Tổng quan
1.1.1. Khái niệm thông tin
- Thông tin: sự cảm hiểu con người về thế giới xung quanh
Khái niệm về thông tin gắn liền với sự hiểu biết một trạng thái cho sẵn trong nhiều trạng
thái có thể có vào một thời điểm cho trước.

Trong hình trên, chúng ta quy ước có hai trạng thái có ý nghĩa: trạng thái thấp khi hiệu
điện thế thấp hơn VL và trạng thái cao khi hiệu điện thế lớn hơn VH. Để có thông tin, ta phải
xác định thời điểm quan sát trạng thái của tín hiệu. Thí dụ, tại thời điểm t1 thì tín hiệu ở trạng
thái thấp và tại thời điểm t2 thì tín hiệu ở trạng thái cao.
- Dữ liệu: dạng biểu diễn thông tin (chữ viết, hình ảnh, cử chỉ, lời nói...). Đặc biệt trong
máy tính dữ liệu được số hoá để có khả năng lưu trữ, xử lý, biến đổi, truyền gửi...
- Thông tin khi truyền: theo các dạng năng lượng khác nhau: âm, điện, sóng quang, sóng
điện từ...
- Vật mang: môi trường dùng để mang thông tin (dạng năng lượng có khả năng lưu trữ,
truyền gửi...)
- Tín hiệu: vật mang đã chứa thông tin trong nó ~ một hàm đơn trị biến thiên theo thời
gian hay tần số.
- Tín hiệu liên tục: tín hiệu biến thiên liên tục theo thời gian và có biên độ biến thiên
liên tục
- Tín hiệu rời rạc: tín hiệu có biến độc lập rời rạc, ta có thể thu tín hiệu rời rạc bằng cách
lấy mẫu rời rạc từ tín hiệu liên tục (tín hiệu lấy mẫu).
- Tín hiệu lượng tử: Tín hiệu có biên độ rời rạc theo các mức lượng tử.
- Tín hiệu số: Tín hiệu rời rạc hoá cả về biên độ, tần số lẫn thời gian.
1.1.2. Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà ta gọi là bit (Binary digit). Lượng
thông tin được định nghĩa bởi công thức:

-0-
I = Log2(N)
Trong đó: I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có
Lượng thông tin là số con số nhị phân cần thiết để biểu diễn số trạng thái có thể có.
Do vậy, một con số nhị phân được gọi là một bit. Một từ n bit có thể tượng trưng một
trạng thái trong tổng số 2n trạng thái mà từ đó có thể tượng trưng. Vậy một từ n bit
tương ứng với một lượng thông tin n bit.
Trạng thái X2 X1 X0
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Tám trạng thái khác nhau ứng với 3 số nhị phân
1.1.3. Máy tính điện tử
Máy tính (computer) là một thiết bị có khả năng thao tác (lưu trữ, xử lý) trên dữ liệu
(thông tin) theo một cách phức tạp và lập trình được. Việc tính toán của nó thực hiện theo một
chương trình - một dãy các câu lệnh. Dữ liệu có thể được biểu diễn dưới rất nhiều hình thức
của thông tin như: số, ký tự, hình ảnh, âm thanh, … Trước khi phát minh ra máy tính, thuật
ngữ computer thường được dùng để ám chỉ một người chuyên làm nhiệm vụ tính toán (human
computer)

Xử lý thông tin theo chương


trình được lưu trong bộ nhớ

Nhận thông tin vào Đưa thông tin ra

 Phần mềm (software):


Bao gồm các thuật toán và các biểu diễn cho máy tính của chúng ta, đó chính là các
chương trình. Chương trình có thể được biểu diễn (lưu trữ) trên bìa đục lỗ, băng từ, đĩa từ, …
hay các môi trường khác, tuy nhiên cái cơ bản nhất của phần mềm chính là tập hợp các câu
lệnh (chỉ thị) tạo nên chương trình chứ không phải là môi trường vật lý được sử dụng để ghi
(lưu trữ) chương trình.
Chương trình (program): chương trình là dãy các câu lệnh nằm trong bộ nhớ, nhằm mục đích
hướng dẫn máy tính thực hiện một công việc cụ thể nào đấy. Máy tính thực hiện theo chương
trình.
Hệ điều hành:..
Ngôn ngữ lập trình:..

-1-
Lệnh máy: Các mạch điện tử của máy tính có thể hiểu và thực hiện trực tiếp được một tập hợp
hữu hạn các lệnh rất đơn giản thường được gọi là chỉ thị (instruction) máy hay lệnh máy,
chẳng hạn: Cộng hai số với nhau; Kiểm tra xem một số có bằng không hay không; Vận
chuyển một nhóm dữ liệu từ vùng này của bộ nhớ sang một vùng khác.
Ngôn ngữ máy: Tập các chỉ thị máy tạo nên ngôn ngữ để giao tiếp với máy tính được gọi là
ngôn ngữ máy (machine language).
 Phần cứng (Hardware):
(Các) Chương trình được viết bằng ngôn ngữ máy ở mức 1 có thể được thi hành trực
tiếp bởi các mạch điện mà không cần một trình thông dịch hoặc trình biên dịch trung gian nào
(cả). Các mạch điện như vậy cùng với bộ nhớ và các thiết bị ngoại vi (vào/ra) tạo thành phần
cứng máy của tính (hardware). Phần cứng bao gốm các đối tượng hữu hình như các vi mạch
(IC), các bảng (board) mạch in, cáp nối, nguồn điện, bộ nhớ, máy đọc bìa, máy in, terminal,
… chứ không phải là các ý tưởng, các thuật toán hay các câu lệnh (chỉ thị).
 Phần dẻo (Firmware):
Phần sụn (hay còn gọi là phần nhão) là dạng trung gian giữa phần cứng và phần mềm,
nó là phần mềm được nhúng vào các mạch điện tử trong quá trình chế tạo ra các mạch điện tử
này. Firmware được sử dụng khi các chương trình hiếm khi hoặc không bao giờ cần thay đổi.
Một ví dụ trực quan cho phần sụn này chính là ROM BIOS chứa các chương trình khởi
động, các dịch vụ vào/ra cơ sở, dữ liệu về cấu hình của hệ thống, … mà chúng đã tối ưu, hoàn
chỉnh mà không cần phải thay đổi nữa (ít thay đổi). Hay các phần mềm trong đồ chơi hoặc
trong các dụng cụ máy móc, điện thoại di động, …
Firmware cũng được sử dụng khi các chương trình không được phép mất đi khi mất
điện (nguồn nuôi). Trong nhiều máy tính các vi chương trình thuộc Firmware (chẳng hạn như
các chương chình con phục vụ ngắt của BIOS).

1.2. Lịch sử phát triển và phân loại


1.2.1. Lịch sử phát triển
Nhiều thế hệ trôi qua con người đã thực hiện các phép toán với các con số chủ yếu bằng
tay hay bằng các công cụ tính thô sơ (bảng tính, thước tính, máy tính cơ khí ...).
Nhà khoa học Pháp Blase Pascal (1623-1662) là người
đầu tiên chế tạo được một chiếc máy tính hoạt động được
(1642). Đây Hoàn toàn là một chiếc máy tính cơ khí, sử dụng
các bánh răng, năng lượng cung cấp cho máy là sức người -
quay tay. Máy tính của Pascal chỉ làm được phép tính cộng
và trừ.
Ba mươi năm sau nhà bác học Đức Baron Gottfried von
Leibniz (1646-1716) đã chế tạo thành công một chiếc máy tính cơ
khí khác, ngoài hai phép tính cộng và trừ nó còn có thể thực hiện
phép nhân và chia (sau Blase Pascal 30 năm).
Sau đó, giáo sư Charles Babbage đã thiết kế và xây dựng máy
sai phân (difference engine). Nó đuợc thiết kế để chạy một giải thuật
đơn: phương pháp sai phân hữu hạn sử dụng các đa thức và cũng chỉ
thực hiện các phép toán cộng và trừ. Nam 1834, Babbage thiết kế và
xây dựng máy phân tích (analytical engine). Máy phân tích có 4
thành phần: bộ lưu trữ (bộ nhớ), bộ tính toán, thành phần nhập (đầu
đọc thẻ đục lỗ) và thành phần xuất (in và đục lỗ). Bộ tính toán có thể
nhận các toán hạng từ bộ lưu trữ, thực hiện phép toán cộng, trừ, nhân
hay chia chúng và trả kết quả về bộ lưu trữ.

-2-
Phát triển tiếp theo của máy phân tích là máy đa năng. Máy đọc lệnh từ các thẻ đục lỗ
và thực thi chúng. Bằng cách đục lỗ một chương trình khác trên thẻ nhập, máy phân tích có
khả năng thực hiện các tính toán khác. Lập trình viên máy tính đầu tiên là Ada Lovelace đã
tạo ra phần mềm cho máy phân tích.
Vào những năm 1930, Konrad Zuse xây dựng một chuỗi các máy tính toán tự động
bằng cách sử dụng các relay từ. Sau dó, John Atanasoff và George Stibbitz đã thiết kế các
máy tính (calculator). Máy của Atanasoff sử dụng số nhị phân và có các tụ điện làm cho bộ
nhớ đuợc làm tươi theo chu kỳ. Tuy nhiên, máy này bị thất bại do công nghệ phần cứng
không tương xứng với ý tuởng thiết kế.
Năm 1943, John Mauchley và các học trò của ông đã chế tạo ra chiếc máy tính điện tử
đầu tiên ở Mỹ - chiếc máy tính được đặt tên là ENIAC (Electronic Numerial Itergrator And
Calculator). Nó gồm 18.000 đèn điện tử, 1500 rơ le, nặng 30 tấn, tiêu thụ công suất điện
140KW. Chiếc máy này được xây dựng với mục đích phục vụ quân đội trong chiến tranh thế
giới lần thứ 2 nhưng mãi đến năm 1946 nó mới hoàn thành.
Cho đến ngày nay máy tính đã có những sự phát triển vượt bậc, ứng dụng trong hầu hết
các hoạt động của xã hội với rất nhiều chủng loại thế hệ tuỳ theo công việc. Tuy nhiên kể từ
đó đến nay dựa vào công nghệ chế tạo, có thể phân máy tính ra thành các thế hệ sau:
Thế hệ 1: (1946-1959): Bóng đèn điện tử
 Về kỹ thuật: Sử dụng đèn điện tử chân không, độ tin cậy thấp, tổn hao năng lượng.
Tốc độ tính toán từ vài nghìn đến vài trăm nghìn phép tính/giây.
 Về phần mềm: Chủ yếu dùng ngôn ngữ máy để lập trình.
 Về ứng dụng: Mục đích nghiên cứu khoa học kỹ thuật.
Thế hệ 2: (1959-1964): Transistor
 Về kỹ thuật: Sử dụng linh kiện bán dẫn (chủ yếu là transistor). Bộ nhớ được làm
bằng xuyến từ.
 Về phần mềm: Bắt đầu sử dụng một số ngôn ngữ lập trình bậc cao: Fortran, Algol,
Cobol, ... Xuất hiện các hệ điều hành tuần tự.
 Về ứng dụng: Tham gia giải các bài toán kinh tế xã hội.
Thế hệ 3 (1964-1974): IC
 Về kỹ thuật: Sử dụng các mạch tích hợp số (IC), các thiết bị ngoại vi được cải tiến,
đĩa từ được sử dụng rộng rãi. Tốc độ tính toán đạt vài triệu phép toán trên giây; Bộ
nhớ được xây dựng từ chất bán dẫn, có dung lượng đạt tới vài MB (Megabytes).
 Về phần mềm: Xuất hiện nhiều hệ điều hành khác nhau. Xử lí song song. Phần
mềm đa dạng, chất lượng cao, cho phép khai thác máy tính theo nhiều chế độ khác
nhau.
 Về ứng dụng: Tham gia trong nhiều lĩnh vực của xã hội.
Thế hệ thứ 4 (1974-199?):VLSI
 Về kỹ thuật: Sử dụng mạch tích hợp cỡ lớn (VLSI - Very large scale integration),
thiết kế các cấu trúc đa xử lý. Tốc độ đạt tới hơn hàng chục triệu phép tính /giây,
Các hệ thống bộ nhớ bán dấn, bộ nhớ ảo, bộ nhớ cache được sử dụng rộng rái. Áp
dụng các kỹ thuật nhằm cải tiến tốc độ vi xử lý: vô hướng, ống dẫn, xử lý song
song… (Trong tài liệu này chúng ta chủ yếu đề cập đến các vấn đề liên quan đến
cấu trúc máy vi tính tương thích IBM – Máy tính cá nhân PC)
 Về ứng dụng : Máy tính đã được áp dụng trong hầu hết các lĩnh vực của xã hội.
Thế hệ thứ 5:
Theo đề án của người Nhật chiếc máy tính điện tử thế hệ thứ 5 (người máy Asimo –
2004) có cấu trúc hoàn toàn mới, bao gồm 4 khối cơ bản. Một trong các khối cơ bản là

-3-
máy tính điện tử có cấu trúc như hiện nay và liên hệ trực tiếp với người sử dụng thông
qua khối giao tiếp tri thức gồm 3 khối con: bộ xử lý giao tiếp, cơ sở tri thức và khối lập
trình.
1.2.2. Phân loại máy tính
Máy tính (computer) là một khái niệm tương đối rộng, tuỳ theo cấu trúc, chức năng,
hình dáng... mà có thể phân ra nhiều loại khác nhau. Về căn bản máy tính được phân làm các
loại chính sau:
a. Phân loại theo khả năng
Siêu máy tính (Super Computer)
Một siêu máy tính là một máy tính vượt trội trong khả năng và tốc độ xử lý. Thuật ngữ
Siêu Tính Toán được dùng lần đầu trong báo New York World vào năm 1920 để nói đến
những bảng tính (tabulators) lớn của IBM làm cho trường Đại học Columbia. Siêu máy tính
hiện nay có tốc độ xử lý hàng trăm teraflop (một teraflop tương đương với hiệu suất một
nghìn tỷ phép tính/giây) hay bằng tổng hiệu suất của 6.000 chiếc máy tính hiện đại nhất hiện
nay gộp lại (một máy có tốc độ khoảng từ 3-3,8 gigaflop).
Đây là các máy tính đắt tiền nhất và tính năng kỹ thuật cao nhất. Giá bán một siêu máy
tính từ vài triệu USD. Các siêu máy tính thường là các máy tính vectơ hay các máy tính dùng
kỹ thuật vô hướng và được thiết kế để tính toán khoa học, mô phỏng các hiện tượng. Các siêu
máy tính được thiết kế với kỹ thuật xử lý song song với rất nhiều bộ xử lý (hàng ngàn đến
hàng trăm ngàn bộ xử lý).

Siêu máy tính IBM Blue Gene/L nhanh nhất thế giới - 2006.
Máy tính lớn (mainframe computer):
Là loại máy tính đa dụng, máy tính cỡ lớn, thường là các máy tính chủ trong các hệ
thống mạng của công ty hoặc nhà máy Dùng kỹ thuật xử lý song song và có hệ thống vào ra
mạnh.. có khả năng hỗ trợ cho hàng trăm đến hàng ngàn người sử dụng. Có khả năng giải
những bài toán lớn tốc độ tính toán nhanh. Thường được sử dụng cho các ứng dụng quản lý
cũng như các tính toán khoa học (quân sự, ngân hàng, khí tượng). Giá một máy tính lớn có thể
từ vài trăm ngàn USD đến hàng triệu USD.
Máy tính con (mini computer):
Là một dạng thu nhỏ của máy tính lớn, có thể thực hiện được các ứng dụng mà máy tính
cỡ lớn thực hiện. Nó có khả năng hỗ trợ hàng chục đến hàng trăm người làm việc.

-4-
Minicomputer được sử dụng rộng rãi trong các ứng dụng thời gian thực, ví dụ trong điều
khiển hàng không, trong tự động hoá sản xuất.
Máy vi tính (MicroComputer):
Còn gọi là PC (personal computer), là những máy tính nhỏ, sử dụng bộ vi xử lý (họ
Intel, Motorola) làm cốt lõi. Đặc điểm chung về công nghệ của họ này mức độ tổ hợp lớn
VLSI, dùng công nghệ CMOS (complementary metal oxide silicon) để chế tạo các mạch
logic. Thường dùng cho một người, có thể dùng độc lập hoặc dùng trong mạng máy tính.
Tốc độ phát triển các vi xử lý 32 bit và 64 bit hiện đại làm khoảng cách giữa máy tính
lớn và máy vi tính ngày càng thu hẹp.
Các loại máy tính cá nhân: Để đảm bảo tính tương thích, cấu trúc phần cứng bên trong
các máy vi tính cá nhân về cơ bản là giống nhau. Vì thế chúng chỉ được phân loại theo hình
dạng vật lý.
 Loại để bàn(desktop), loại để bàn thu nhỏ (desktop slim-line)
 Loại đặt đứng (tower), mini-tower
 Loại xách tay (notebook)
 Loại bỏ túi (palmtop, palmpilot)
b. Phân loại theo nguyên lý
 Máy tính cơ khí.
 Máy tính tương tự
 Máy tính số
c. Phân loại theo kiến trúc
Kiến trúc tuần tự (kiến trúc VonNewman cổ điển)
Chức năng của máy tính: xử lí thông tin theo lệnh, để thực thi các lệnh, yêu cầu máy
tính phải có:
Đơn vị điều khiển: giải mã lệnh và tạo ra tín hiệu điều khiển
Đơn vị thực hiện: thực hiện các phép toán số học và logic
Đơn vị lưu trữ: lưu trữ dữ liệu khi xử lí

Với kiến trúc tuần tự, bộ xử lí sẽ bao gồm 1 đơn vị điều khiển và 1 đơn vi thực hiện
SISD(Single Instruction Stream-Single Data Stream), như vậy:
 Thực hiện lần lượt từng lệnh một
 Tốc độ chậm
Đây là mô hình cơ bản cho kiến trúc VonNewman cổ điển.
Kiến trúc song song
+ SIMD (Single Instruction Stream-Multiple Data Stream)
Đặc điểm:
o Có một đơn vị điều khiển, n phần tử xử lý

-5-
o Đơn vị điều khiển: điều khiển đồng thời tất cả các phần tử tại cùng một thời
điểm các phần tử xử lý thực hiện cùng một thao tác trên các tập dữ liệu khác
nhau.

+ MIMD (Multiple Instruction Stream-Multiple Data Stream)


Đặc điểm:
o Máy gồm hai hoặc nhiều bộ vi xử lý tương tự về khả năng, có thể thực hiện

những phép toán khác nhau tren các DL khác nhau.


o Tất cả các CPU cùng chia xẻ một bộ nhớ chung. Một số bộ nhớ cục bộ cũng có
thể được dùng.
o Tất cả CPU cùng xử dụng chung các thiết bị vào ra, có thể dùng chung một số
kênh hoặc dùng các kênh khác nhau dẫn đến cùng một thiết bị.
o Hệ thống được điều khiển bởi hệ thống hoạt động tích hợp .Nó cung cấp sự ảnh
hưởng lẫn nhau giữa CPU và các chương trình chạy trên chúng ở task, file,các
thành phần dữ liệu...
+ MISD (Multiple Instruction Stream-Single Data Stream)
Đặc điểm:
o Có nhiều đơn vị điều khiển
o Thực hiện lệnh theo các công đoạn, tại một thời điểm mỗi đơn vị điều khiển xử
lý một công đoạn như vậy có thể tiết kiệm được số chu kỳ máy cần để xử lý
lệnh.

1.3. Các thành phần cơ bản trong hệ thống máy tính


Mô hiǹ h chung của mô ̣t máy tiń h

-6-
Mô hình chung của một hệ thống máy tính
Mô hình Von Newman cổ điển
1.3.1. Bộ xử lí trung tâm
Bộ xử lí trung tâm (Central Processing Unit – CPU) có thể được xem như não bộ, một
trong những phần tử cốt lõi nhất của máy vi tính. Nhiệm vụ chính của CPU là xử lý các
chương trình vi tính và dữ kiện. CPU có nhiều kiểu dáng khác nhau. Ở hình thức đơn giản
nhất, CPU là một con chip với vài chục chân. Phức tạp hơn, CPU được ráp sẵn trong các bộ
mạch với hàng trăm con chip khác. CPU là một mạch xử lý dữ liệu theo chương trình được
thiết lập trước. Nó là một mạch tích hợp phức tạp gồm hàng triệu transistor
Cấu trúc cơ bản CPU

 Đơn vị điều khiển (CU:Control Unit): Đ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 (ALU: Arithmetic And Logic Unit): thực hiện các phép toán
số học và logic trên các dữ liệu cụ thể.
 Tập thanh ghi (RF: Register File): Lưu trữ 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(BIU: Bus Interface Unit): kết nối và trao đổi thông tin giữa
Bus bên trong và Bus bên ngoài CPU.
1.3.2. Bộ nhớ trong
Là loa ̣i bô ̣ nhớ mà CPU có thể truy câ ̣p trực tiế p, có tố c đô ̣ cao và dung lươ ̣ng thường
nhỏ. Bô ̣ nhớ trong chia làm 2 loa ̣i
 Bô ̣ nhớ chính (main memmory): ROM và RAM
 Bô ̣ nhớ đê ̣m Cache
 RAM (Random access memory), hay Bộ nhớ truy cập ngẫu nhiên:
Tốc độ truy cập nhanh, lưu trữ giữ liệu tạm thời, dữ liệu sẽ bị mất vĩnh viễn khi không
còn nguồn điện cung cấp.
 ROM (Read Only Memory), hay Bộ nhớ chỉ đọc:
Lưu trữ các chương trình mà khi mất nguồn điện cung cấp sẽ không bị (xóa) mất. Ngày
nay còn có công nghệ FlashROM tức bộ nhớ ROM không những chỉ đọc mà còn có thể ghi
lại được, nhờ có công nghệ này BIOS được cải tiến thành FlashBIOS.
 Cache:
Cache là tên gọi của bộ nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay
phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý. Cache là một cơ chế lưu trữ tốc độ
cao đặc biệt. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ
cao độc lập.

-7-
1.3.3. Bộ nhớ ngoài
Có dung lươ ̣ng lơn, để lưu các chương trình và dữ liê ̣u lâu dài, như HDD, CDROM . . .
Các loại bộ nhớ dựa trên công nghệ FlashROM: Kết hợp với chuẩn giao tiếp máy tính
USB (Universal Serial Bus) tạo ra các bộ nhớ máy tính di động thuận tiện và đa năng như:
Các thiết bị giao tiếp USB lưu trữ dữ liệu, thiết bị giao tiếp USB chơi nhạc số, chơi video số;
khóa bảo mật qua giao tiếp USB; thẻ nhớ... Dung lượng thiết bị lưu trữ FlashROM đã lên tới
32GB (Samsung công bố năm 2005), trong tương lai, có thể FlashROM sẽ dần thay thế các ổ
đĩa cứng, các loại đĩa CD, DVD...
1.3.4. Hê ̣ thố ng vào ra (Input/Output System)
Giúp máy tiń h trao đổ i thông tin với thế giới bên ngoài, bao gồ m hai hoa ̣t đô ̣ng chiń h là
nhâ ̣n thông tin (Input) và gửi thông tin (Output).
Thiết bị vào (Input devices): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn
phím, chuột...biến đổi thông tin từ môi trường bên ngoài sang dạng phù hợp để đưa vào máy
tính xử lí.
Thiết bị ra (Output divices): Các bộ phận trả lời, phát tín hiệu, hay thực thi lệnh ra bên
ngoài như là màn hình, máy in, loa, ...biến đổi dữ liệu sau xử lí sang dạng phù hợp với yêu
cầu của người sử dụng.
1.3.5. Hệ thống bus
Bus là tập hợp các đường dây truyền tải thông tin theo phương thức song song, mỗi 1
đường dây truyền 1 bit thông tin, số lượng đường dây càng lớn (độ rộng bus) thì khả năng
truyền thông tin càng lớn. Bus cho phép liên kết các thành phần lại với nhau, thông tin đi ra từ
1 thành phần có thể đến tất cả các thành phần khác kết nối với bus. Tại 1 thời điểm chỉ có 1
thành phần được phép sử dụng bus để truyền thông tin, các thành phần khác muốn truyền
thông tin thì phải chờ đến lượt hoặc bus ở trạng thái rảnh rỗi.
Bus có 2 loại : Bus cục bộ (local bus – internal bus) nối các thành phần cục bộ bên trong
1 thiết bị ; Bus hệ thống (System bus) kết nối các thành phần quan trọng trong hệ thống máy
tính (CPU, Memory, I/O).
Bus hệ thống bao gồm 3 loại :
 Bus địa chỉ (Address bus) : truyền các thông tin về tín hiệu địa chỉ của bộ nhớ,
các thiết bị.
 Bus dữ liệu (Data bus) : truyền các thông tin về dữ liệu giữa các thành phần,
thiết bị với nhau.
 Bus điều khiển (Control bus) : truyền các thông tin tín hiệu điều khiển, trạng thái
giữa CPU và các thành phần khác trong hệ thống máy tính.
Mô hình máy tính điện tử

-8-
1.4. Biểu diễn thông tin trên máy tính
1.4.1. Hệ đếm và cơ số đếm
a. Hệ đếm bất kỳ
Bất kỳ một hệ đếm nào đều biểu diễn một số nguyên theo nguyên tắc sau:
n 1
0 1
N = an-1...a0 = a0.s + a1.s + ... + an-1.s n-1
=  ai  s i (1.1)
i 0
Trong đó N là một số nguyên có n chữ số. Chữ số ai tại vị trí i (i=0...n-1) được gọi là trị
số (hay còn gọi là trọng số). Giá trị s là cơ số của hệ đếm . Hệ đếm được đặt tên theo giá trị cơ
số s. Chẳng hạn, với s=2 ta có hệ đếm cơ số 2, với s=10 ta có hệ đếm cơ số 10 và với s=16 ta
có hệ đếm 16. Giá trị s cũng xác định số ký tự cần dùng để biểu diễn trị số. Chẳng hạn với s=2
hệ đếm sẽ cần hai ký tự để biểu diễn, vì thế ta có khái niệm hệ nhị phân(chia ra làm hai).
Tương tự như vậy, hệ đếm 10 và 16 còn được gọi là hệ thập phân và hệ thập lục phân.
b. Hệ đếm thập phân
Là hệ đếm quen thuộc nhất của nhân loại. Có lẽ hệ đếm này bắt nguồn từ việc người
tiền sử dùng mười đầu ngón tay để đếm các đồ vật xung quanh. Ngày nay toàn thế giới thống
nhất sử dụng những ký tự số Ả RẬp để biểu diễn hệ thập phân. Các ký tự số đó là: 0, 1, 2, 3,
4, 5, 6, 7, 8, 9. Việc phát minh ra số 0 mới có khả năng biểu diễn số nguyên theo đúng nguyên
tắc đã nêu trong phương trình (1.1).
Ngoài ra như chúng ta đã biết một số nền văn minh khác cũng phát minh ra hệ đếm của
mình như Trung Quốc, La Mã cổ.... Tuy nhiên vì không có ký tự số 0 nên các hệ đếm này đều
cần nhiều hơn 10 ký tự để biểu diễn số nguyên.
Ví dụ biểu diễn số nguyên:
N = 1547d = 1.103 + 5.102 + 3.101 + 7.100
c. Hệ đếm nhị phân
Được hình thành trên cơ sở đại số lôgic Boole, xuất hiên từ cuối thế kỷ 19. Hệ đếm này
và các môn toán liên quan đến nó thực sự phát huy được sức mạnh khi có mạch điện hai trạng
thái. Với hai con số 0, 1 có thể biểu diễn một số nguyên bất kỳ. Mỗi ký tự (hay mỗi trị số) của
hệ nhị phân được gọi là một bit (Binary Digit). Đối với máy tính điện tử các bit được biểu
diễn bằng một hiệu điện thế tương ứng: mức 0 (0V-1 V), mức 1 (2v-5v).

-9-
Để giản tiện trong việc sử dụng số nhị phân, người ta còn đặt nhiều bội số của hệ nhị
phân như sau:
4 bit là một nibble.
8 bit là một byte.
16 bit là một từ (word).
32 bit là một từ kép (double word)
210 bit là một kilobit (Kbit).
220 bit là một Megabit (Mbit).
230 bit là một Gigabit (Gbit).
Ví dụ biểu diễn một số nguyên:
N = 1011b = 1.23 + 0.22 + 1.21 + 1.20 = 8 + 0 + 2 + 1 = 11d
Phép toán nhị phân: +, -, *. /, SHL, SHR, AND, OR, NOT, XOR
d. Hệ thập lục phân (hexa)
Xuất hiện như một cách biểu diễn giản tiện trong công nghệ tin học. Vì một số nhị phân
quá dài và bất tiện khi viết và tính toán. 4 chữ số nhị phân được gộp thành một chữ số thập lục
phân. Như vậy có số của hệ thập lục phân là s = 16. Điều này có nghĩa là cần có 16 ký tự khác
nhau để biểu diễn hệ thập lục phân. Các ký tự đó là: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Hệ Hệ Hệ Hệ Hệ Hệ
thập phân nhị phân thập lục phân thập phân nhị phân thập lục phân
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0011 3 11 1011 B
4 0100 4 12 1100 C
5 0101 5 13 1101 D
6 0110 6 14 1110 E
7 0111 7 15 1111 F
Ví dụ biểu diễn một số nguyên:
N = 2BC1h = 2.163 + 11.162 + 12.161 + 1.160 = 11201d.
1.4.2. Chuyển đổi giữa các hệ cơ số
a. Đổi số thập phân ra số nhị phân (hay thập lục phân)
Để đổi số số thập phân ra số nhị phân hay thập lục phân, ta chỉ cần chia số thập phân
cho cơ số của hệ (2 hoặc 16).Số dư là trị số, thương số được chia tiếp để tính trị số tiếp theo.
Trong hệ nhị phân, trị số đầu tiên (ngoài cùng bên phải) được gọi là LSB (Least Significant
Bit) và trị số cuối cùng (ngoài cùng bên trái) được gọi là MSB (Most Signifcant Bit).
Ví dụ1: Đổi số thập phân 113d
Nhị phân Thập lục phân
113/2=56 dư 1 LSB 113/16=7 dư 1
56/2=28 dư 0 7/16=0 dư 7
28/2=14 dư 0
14/2=7 dư 0
7/2=3 dư 1
3/2=1 dư 1MSB
Kết quả = 113d = 110001b = 71h
Ví dụ 2: Đổi số thập phân 0.625d thành số nhị phân:

-10-
0.625*2 = 1.250 nhớ 1 MSB
0.250*2 = 0.500 nhớ 0
0.500*2 = 1.000 nhớ 1 LSB
Kết quả : 0.625d = 0.101b
b. Đổi số từ nhị phân sang thập lục phân và ngược lại
Để đổi một số nhị phân thành số thập lục phân tương đương thì chỉ cần chia số nhị phân
thành từng nhóm gồm 4 bit nhị phân tính từ vị trí ký tự nhị phân đầu tiên bên phải, sau đó
thay thế lần lượt tùng nhóm 4 bít nhị phân đã chia bởi số thập lục phân tương ứng (Tra bảng
giá trị tương đương giữa các hệ đếm)
Ví dụ: Đổi số nhị phân 1111101000010000b thành thập lục phân.
1111 1010 0001 0000

F A 1 0 Kết quả số thập lục phân: FA10h


Để đổi các số thập lục phân thành nhị phân, chỉ cần thay thế một cách đơn giản từng
con số thập lục phân bằng bốn bit nhị phân tương đương của nó (Tra bảng giá trị tương đương
giữa các hệ đếm).
Ví dụ: Đổi số thập lục phân DF6h thành nhị phân:
D F 6

1101 1111 0110 Kết quả DF6h = 110111110110b.


1.4.3. Các loại mã
a. Mã BCD (Binary Code Decimal)
Giữa hệ thập phân và hệ nhị phân còn tồn tại một hệ lai: hệ BCD cho các số hệ thập
phân mã hoá bằng hệ nhị phânrất thích hợp cho các thiết bị đo có thêm phần hiển thị số ở đầu
ra dùng các loại đèn hiện số khác nhau. Ở đây dùng bốn số hệ nhị phân (bốn bit) để mã hoá
một số hệ thập phân có giá trị nằm trong khoảng từ 0..9. Như vậy ở đây ta không dùng hết các
tổ hợp có thể có của 4 bit; vì tầm quan trọng của các số BCD nên các bộ vi xử lý thường có
các lệnh thao tác với chúng.
Ví dụ: 35d = 00110101b.
b. Mã ASCII (American Standard Code for Information Interchange).
Đây là loa ̣i bảng mã 8 bit, số ký tự biể u diễn là 256 ký tự, mỗi ký tự được xác định
bằng số thứ tự trong bảng mã – gọi là mã ASCII (ví dụ : ký tự ‘A’ có mã là 65d hay 41h).
Ngày nay loa ̣i bảng mã này ít đươc̣ sử du ̣ng vì số ký tự thể hiê ̣n ít, chỉ đủ dùng cho mô ̣t quố c
gia, gây bấ t tiê ̣n khi chuyể n văn bản
Bảng mã ASCII chia làm 2 phần:
 Phần đầu (ký tự đọc được) : 128 ký tự đầu (mã từ 0 – 127d)

-11-
Ví dụ: Đổi các ký tự BILL thành mã ASCII:
Ký tự B I L L
ASCII 1000010 1001001 1001100 1001100
HEXA 42 49 4C 4C
 Phần mở rộng (ký tự không đọc được) : 128 ký tự sau (mã từ 128 - 255)

-12-
c. Bảng mã Unicode
Do các hãng máy tính hàng đầu thế giới kết hợp thiết kế. Kích thước bộ mã này là 16 bit
có thể xây dựng bộ mã toàn cầu với số ký tự có thể mã là 216 ký tự với 128 ký tự đầu có mã
trùng mã trong bảng mã ASCII.
Ví du ̣ mô ̣t đoa ̣n trên bẳ ng mã Unicode

-13-
1.4.4. Biểu diễn số
a. Biểu diễn số nguyên theo mã nhị phân
 Dùng số nhị phân không dấu:
Với n bit nhị phân sẽ biểu diễn 2n số từ 0 đến 2n-1, sử dụng đủ n bit để biểu diễn giá trị.
Số bit Khoảng giá trị Kiểu dữ liệu
8 bit 0.. 255 Byte
16 bit 0.. 65535 Word
 Dùng số nhị phân có dấu (bit trái nhất là bit dấu).
Với n bit nhị phân sẽ biểu diễn 2n số từ -2n-1 đến +2n-1-1, chỉ sử dụng n-1 bit để biểu
diễn giá trị, còn bit ngoài cùng bên trai dùng để biểu diễn dấu (bit dấu có giá trị là 0 thì số
nguyên dương, bit dấu có giá trị là 1 thì số nguyên âm)
Số bit Kiểu dữ liệu Khoảng giá trị
8 bit Short integer -128.. +127
16 bit Integer -32768.. +32767
32 bit Long integer -231.. +231-1 (-2147483648.. +2147483647)
Số bù 2: (Ý nghĩa: Dùng đổi dấu số nguyên)
- Số bù 1: 1 đổi thành 0, 0 đổi thành 1
- Số bù 2: số bù 1 cộng 1
Ví dụ: đổi số nhị phân nguyên 8 bit +127 sang – 127
Giá trị nhị phân 01111111 ~ +127d

-14-
Số bù 1 10000000 ~ -128d
Số bù 2 + 1
10000001 ~ -127d
Chú ý : trong máy tính sử dụng mã nhị phân theo hệ cơ số mũ 2 : 4,8,16,32,64 … bit. Vì
vậy nếu máy tính sử dụng là loại 8 bit thì khi biểu diễn giá trị sẽ sử dụng đủ 8 bít để biểu diễn.
Ví dụ : 5d = 0000 0101b ; 9d = 00001001b
b. Biểu diễn số thực theo mã nhị phân
 Biểu diễn dấu chấm cố định
Cách biểu diễn dấu chấm cố định trong hệ nhị phân hoàn toàn giống cách biểu diễn số
thực thông thường của hệ thập phân
n 1 m
R = an-1...a0, b1...bm =  ai  s i + b
j 1
j  s j
i 0
Trong đó R số thực cần biểu diễn gồm n trị số đứng trước và m trị số đứng sau dấu
chấm. Tuỳ thuộc vào hệ thập phân hay nhị phân mà cơ số s có giá trị là 2 hay 10.
Quy tắc: ta chuyển đổi từng phần nguyên và lẻ theo quy tắc sau:
o Phần nguyên: Chia liên tiếp phần nguyên cho 2 giữ lại các số dư, Số nhị phân
chuyển đổi sẽ là dãy số dư liên tiếp tính từ lần chia cuối về lần chia đầu tiên.
o Phần lẻ: Nhân liên tiếp phần lẻ cho 2, giữ lại các phần nguyên tạo thành. Phần
lẻ của số Nhị phân sẽ là dãy liên tiếp phần nguyên sinh ra sau mỗi phép nhân
tính từ lần nhân đầu đến lần nhân cuối.
Ví dụ: Chuyển sang hệ Nhị phân số: 13,625d
Thực hiện:
Phần nguyên:
13:2 =6 dư 1
6:2 =3 dư 0
3:2 =1 dư 1
1:2 =0 dư 1
=> Phần nguyên của số Nhị phân là 1101
Phần lẻ:
0,625 x 2 = 1,250 Phần nguyên là 1
0,250 x 2 = 0,500 Phần nguyên là 0
0,500 x 2 = 1,000 Phần nguyên là 1 (dừng ở đây vì phân nguyên còn la ̣i =0)
=> Phần lẻ của số Nhị phân là: 0,101
=> Ta viết kết quả là: (13,625)10 = (1101,101)2
Chú ý: việc chuyển đổi từ hệ thập phân sang hệ Nhị phân không phải luôn được gọn
gàng chính xác, trong trường hợp phép tính chuyển đổi kéo dài, thì tùy theo yêu cầu về độ
chính xác mà ta có thể dùng phép tính ở mức độ cần thiết thích hợp.
Nhận xét :
Các số dấ u phẩ y tiñ h chỉ dùng trong các bài toán yêu cầ u đô ̣ chính xác không cao và
luông cố đinh,
̣ ví du ̣ điể m môn ho ̣c trong trường ĐH CN tiń h chiń h xác đế n 1 số sau dấ u phẩ y
(VD : 4,5). Như vâ ̣y các điể m sẽ luôn có đô ̣ chiń h xác trong khoảng đó. Trong thực tế có các
bài toán yêu cầ u đô ̣ chính xác gầ n như tuyê ̣t đố i như các bài toán trong ngân hàng, trong điề u
khiể n máy bay, vê ̣ tinh, ... Các bài toán này không thể quy đinh ̣ trước mô ̣t đô ̣ chiń h xác, người
ta phải sử du ̣ng sô dấ u chấ m đô ̣ng, khi đó số các số sau dấ u phẩ y là không ha ̣n chế về mă ̣t
biể u diễn.

-15-
VD : 12e-101=12*10-101
Vấ n đề là biểu diễn các số dấ u chấ m đô ̣ng như thế nào trên máy tính với cơ số 2.
b. Biểu diễn dấu chấm động
Chia làm 4 thành phần:
 M: phần định trị
 E: phần mũ
 R: cơ số
 S: dấu
Như vậy X = (-1)S.M.RE
Ví dụ: R=-750d = -0,75.103 = -0,75E3
Để định dạng dấu chấm động có thể dùng chuẩn IEEE754-1985 (Institute of Electrical
and Electronic Engineering) 32 bit hoặc 64 bit.
Đây là chuẩn được mọi hãng chấp nhận và được dùng trong bộ xử lý toán học của Intẹl.
Bit dấu nằm ở vị trí cao nhất, kích thước phần mũ và khuôn dạng phần định trị thay đổi theo
từng loại số thực, Trong cách biểu diễn này, phần định trị có dạng 1,f với số 1 ẩn tăng và f là
phần số lẻ.
Chuẩn IEEE 754 định nghĩa hai dạng biểu diễn số chấm động:
- Số chấm động chính xác đơn với định dạng được định nghĩa: chiều dài số: 32 bit
được chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent - 8 bit), phần lẻ F
(Fraction - 23 bit).
Số này tương ứng với số thực (-1)S * (1,f1 f2 ..... f23) * 2(E - 127)
Bit 31 30 23 22 21 1 0
S E f1 f2 ........... f22 f23
- Số chấm động chính xác kép với định dạng được định nghĩa: chiều dài số: 64 bit được
chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent - 11 bit), phần lẻ F (Fraction -
52 bit)
Số này tương ứng với số thực (-1)S * (1,f1 f2 ..... f52) * 2(E - 1023)
Bit 63 62 52 51 50 1 0
S E f1f2f2 ........... f51 f52

 Giá trị số thực IEEE754-1985 32 bit được tính như sau:


R = (-1)S.(1 + M1.2-1 + ...+Mn2-n).2(E7...E0)-127
S E7-E0 Định trị(M1- M23)
Ví dụ:
428CE9FCh = 0100 0010 1000 1100 1110 1001 1111 1100
Phần định trị: 2-4+2-5+2-8+2-9+2-10+2-12+2-15+
+2-16+2-17+2-18+2-19+2-20+2-21 = 0,1008906.
Giá trị ngầm định là: 1,1008906.
Phần mũ: 28+22+20 =133
Giá trị thực: 133-127=6.
Dấu (bit cao nhất): 0 = số dương
6
R = 1,1008906.2 = 70,457.
Quy tắc đổi ngược lại (số thực sang số dấu phẩy động 32 bit):
 Chuyển số thập phân về số nhị phân
 Đưa về dạng 1.xxxxByyyy (Với B là cơ số 2)
 Xác định bit dấu (bít 31): lấy giá trị 0 với số dương, 1 với số âm

-16-
 Xác định phần mũ (bit từ 30-23): yyyy+7Fh
 Xác định phần định trị (bit 22-0): xxxx00...00
- Ví dụ: Biểu diễn số thực 9,75d sang số dạng dấu phẩy động.
 Ta đổi sang dạng nhị phân: 9,75d = 1001.11b = 1,00111B3.
 Bit dấu: bit 31 = 0.
 Phần mũ: 3 + 7Fh = 82h = 10000010b. Được đưa vào các bit tiếp theo: từ bit
30 đến bit 23.
 Phần định trị: 00111 được đưa vào các bít tiếp theo từ bit 22
Kết quả
0100 0001 0001 1100 0000 0000 0000 0000
Bit |31|30 23|22 0|
- Ví dụ : biểu diễn số thực -12.625d sang số chấm động chuẩn IEEE 754 (32 bit):
 Đổi số -12.62510 sang nhị phân: -12.625d = -1100.101b = -1,100101B3.
 Bit dấu : bit 31=1.
 Phần mũ : Phần mũ: 3 + 7Fh = 82h = 10000010b. Được đưa vào các bit tiếp
theo: từ bit 30 đến bit 23.
 Phần định trị: 000101 được đưa vào các bít tiếp theo từ bit 22
Kết quả
32 bit

1 1000 0010 1001 0100 0000 0000 0000 000

S E F
1.2.6. Biểu diễn các dạng thông tin khác
 Biểu diễn hình ảnh
Trong máy vi tính, thông tin về hành ảnh, đồ họa được biểu diển theo nguyên tắc:
- Đồ họa điểm (Pixel graphics)
+ Dùng ma trận điểm ảnh (Pixel matrix), tọa độ một điểm ảnh được xác định
bởi hàng (Row) và cột (Columme).
+ Tùy theo chất lượng hình ảnh, người ta sử dùng số bit cụ thể (1, 4, 8, 16, 24,
32…) để biểu diễn giá trị của điểm, qua đó sẽ tạo nên chất lượng hình ảnh
khác nhau (đen trắng, ảnh xám, màu giả, màu chất lượng cao…)
+ Để lưu trữ hình ảnh chúng ta cần quan tâm đến: Kích thước ảnh, phạm vi áp
dụng, dung lượng lưu trữ, mã nén…)
- Đồ họa véc tơ (Vector graphics)
+ Đồ họa véc tơ khắc phục được việc giảm thiểu không gian lưu trữ như đối
với đồ họa điểm ảnh.
+ Nguyên tắc: chia hình ảnh ra thành các đối tượng (Object) cơ bản như: điểm
ảnh, đoạn thẳng, đa giác, đoạn cong, mặt khối… Khi đó hệ thống chỉ cần
biết các thông tin cụ thể (tọa độ, phương trình toán học, màu sắc…) qua đó
dễ dàng biểu diễn lại đối tượng một cách nhanh chóng.
+ Một đặc điểm quan trọng là đồ họa véc tơ có khả năng dễ dàng biểu diễn
các đối tượng đồ họa 3 chiều
Máy tính còn có khả năng biểu diễn hình ảnh chuyển động (như những đoạn phim).
Nguyên tắc cơ bản dựa trên phim nhựa (lưu trữ và hiển thị các ảnh theo quy luật, chỉ
cần 25 ảnh/ giây sẽ có cảm giác hình ảnh chuyển động). Do số lượng ảnh cần dùng
khá lớn nên có nhiều kỹ thuật xử lý hình ảnh đã được áp dụng (MPEG, AVI, FLC…)
 Biểu diễn âm thanh

-17-
Lấy mẫu của tín hiệu âm thanh theo thời gian cụ thể (fs = fmax) và gán cho mỗi mẫu bởi
một giá trị nhị phân cụ thể (lượng tử hóa theo số bít nhị phân xác định)
Hiện nay thường sử dụng fs = 44KHz (theo chuẩn của công nghệ nhạc CD)
Tương tự như biểu diễn hình ảnh, âm thanh cũng được phân tích thành nhiều đối
tượng (trống, kèn, đàn…)
Việc lưu trữ âm thanh hiện nay được dùng theo các chuẩn MIDI, WAVE, MP3…
 Các đại lượng vật lý khác
Các thông tin khác trong thực tế dùng phục vụ đo lường, điều khiển (nhiệt độ, áp
suất…) đều có thể được mã hóa trên máy tính
Nguyên tắc chung: Cần các bộ cảm biến cụ thể để nhận tín hiệu vật lý và thông qua bộ
chuyển đổi tín hiệu sang số (ADC – Analog to digital converter) để tạo thành tín hiệu
có khả năng thực hiện trên máy tính (hoặc ngược lại).

CÂU HỎI VÀ BÀI TẬP


1.1. Trình bày hiểu biết của anh chị về các giai đoạn phát triển của máy tính điện tử
1.2. Trình bày về phân loại máy tính theo kiến trúc
1.3. Đổi số 23786d, -17456d sang số nhị phân nguyên có dấu 16 bít
1.4. Đổi số 3476,0655d sang số thực nhị phân 32 bít theo chuẩn IEEE754 – 1995
1.5. Trình bày cấu trúc chung một máy tính điện tử

-18-
Chương II. BỘ XỬ LÝ TRUNG TÂM
2.1. Tổ chức bộ xử lý
2.1.1. Các bộ phận chính trong CPU
Trong hệ thống máy tính, bộ xử lý trung tâm (CPU – Central Proccesing Unit) đóng vai
trò quan trọng vì đây là đơn vị điều khiển và xử lý dữ liệu. 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 gồm 4 thành phần
chính:
- Đơn vị điều khiển
- Đơn vị xử lý toán học và logic
- Thanh ghi
- Hệ thống BUS

2.1.2. Sự thực thi của CPU


CPU là nơi mà phần lớn các tác vụ xử lý được thực hiện. Các tác vụ xử lý này được
thực thi trong CPU và được lưu trữ trong bộ nhớ (tập lệnh).
Khi có một yêu cầu xử lý, CPU cần phải thực hiện những thao tác sau:
 Fetch Instructions (chỉ lệnh tìm nạp): CPU đọc các chỉ lệnh từ
bộ nhớ.
 Interpret Instructions: Giải mã chỉ lệnh để xác định hành động
nào được yêu cầu.
 Fetch data (dữ liệu tìm nạp): Thi hành chỉ lệnh (có thể yêu cầu
thực hiện một vài thao tác số học hoặc logic trên dữ liệu).
 Write Data: Ghi lại kết quả của sự thi hành (có thể yêu cầu viết
dữ liệu vào bộ nhớ hoặc module vào ra).

Để thực hiện các thao tác trên, CPU cần một số bộ phận làm việc cùng nhau, cung cấp
các dữ liệu cũng như các tín hiệu điều khiển thực thi cho nhau :

- Program Counter: chứa địa chỉ của lệnh tiếp theo trong bộ nhớ để thực thi.
- Memory Address Register (MAR): lưu địa chỉ của vùng nhớ trong bộ nhớ chính mà
dữ liệu sẽ được ghi vào hoặc dữ liệu sẽ được đọc từ đó.

-19-
- Memory Buffer Register (MBR): lưu giữ tạm thời dữ liệu đọc từ bộ nhớ hoặc dữ liệu
được sao chép vào bộ nhớ.
- Control Unit: giải mã lệnh và tạo ra các tín hiệu điều khiển, điều khiển các thành phần
khác trong CPU, phối hợp tất cả các thành phần đó hoạt động nhằm hoàn thành tác vụ cần xử
lý.
- Accumulator: lưu trữ kết quả tạm thời hoặc trung gian trong quá trình tính toán được
thực hiện bởi ALU.
- Arithmetic and Logic Unit (ALU): thực hiện các phép toán số học và logic
- Processor Status Register (PSR): lưu giữ trạng thái thực hiện của các phép xử lý
- Intruction Register (IR) : thanh ghi lệnh, lưu giữ các thông tin về nội dung lệnh cần
thực thi.
Việc thực hiện yêu cầu xử lý (lệnh) sẽ được tiến hành trong 1 chu kỳ lệnh, điều này có
nghĩa nội dung của lệnh đã được nạp vào trong CPU, đã được giải mã để xác định các yêu
cầu, cũng như các dữ liệu phụ thuộc đầu vào của lệnh cũng được nạp để phục vụ việc thực thi
lệnh, kết quả của lệnh (đầu ra) cũng phải được xử lý – lưu trữ.
FETCH 1. [MAR] ← [PC]
2. [PC] ← [PC]+1
3. [MBR] ← [MM [MAR]]
4. [IR] ← [MBR]
4a. CU. ← [IR (opcode)]
EXECUTE. 5. [MAR] ← [IR (Địa chỉ)]
6. [MBR] ← [MM [MAR]]
7a. ALU. ← [MBR]
7b. ALU. ← [ACC]
8. [ACC] ← ALU.

2.2. Đơn vị điều khiển CU (Control Unit)


Chức năng: điều khiển máy tính hoạt động theo đúng lệnh và thứ tự của lệnh.
Một chương trình khi thi hành bao gồm tập các vi thao tác liên quan đến các thành phần
CPU, bao gồm:
 Truyền dữ liệu từ một thanh ghi đến thanh ghi khác.
 Truyền dữ liệu từ một thanh ghi đến một giao diện ngoài (ví dụ system bus)
 Truyền dữ liệu từ một giao diện ngoài tới thanh ghi.
 Thực hiện thao tác số học và logic, sử dụng thanh ghi để nhận và ghi dữ liệu.
Tất cả các vi thao tác cần thực hiện trong một chu kỳ lệnh
2.2.1 Tín hiệu điều khiển:
Khi đơn vị điều khiển thực hiện các chức năng điều khiển tác động hệ thống, ngoài các
thông tin chỉ lệnh cần thực hiện, nó cần phải có:
- Dữ liệu vào
- Thông tin trạng thái của hệ thống
- Thành phần lưu giữ kết quả ra.
CU điều khiển hoạt động của máy tính theo chương trình đã định sẵn. Qui trình hoạt
động diễn ra như sau
- Điều khiển việc nhận lệnh tiếp theo từ bộ nhớ, đưa vào thanh ghi lệnh.
- Tăng nội dung của PC để trỏ sang lệnh tiếp theo

-20-
- Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác mà lệnh yêu cầu
- Phát ra các tín hiệu điều khiển thực hiện lệnh đó
- Nhận tín hiệu yêu cầu từ bên ngoài, xử lý các tín hiệu đó.

Instruction Register

Control Signals
Within CPU

Control Bus
Flag Control Signals From
System bus
Control Unit

Clock
Control Signals to
System Bus

Các tín hiệu của đơn vị điều khiển được thể hiện trong hình trên. Bao gồm:
 Tín hiệu vào
 Tín hiệu ra
a. Các tín hiệu vào
- Clock: Tìn hiệu đồng hồ (đồng bộ) giúp CU “giữ thời gian” điều khiển CPU thực
hiện chỉ lệnh (tạo ra một vi thao tác, hoặc một tập các thao tác đồng thời – Còn gọi
chu kỳ thời gian xử lý, hoặc chu kì thời gian đồng hồ).
- Thanh ghi chỉ lệnh: Xác định mã chỉ lệnh hiện tại được dùng để xác định vi thao tác
nào được thực hiện trong chu kì thi hành.
- Cờ: Thông báo về trạng thái của CPU và trạng thái kết quả vừa thực hiện thao tác
của ALU
- Các tín hiệu điều khiển từ bus điều khiển: Trong quá trình điều khiển của CU, BUS
hệ thống phải cung cấp các thông tin (tín hiệu): Ngắt và sự công nhận.
b. Các tín hiệu ra
- Tín hiệu điều khiển trong CPU: có 2 loại:
+ Điều khiển dữ liệu di chuyển từ một thanh ghi tới các thanh ghi khác
+ Điều khiển ALU thực hiện các chức năng cụ thể.
- Các tín hiệu điều khiển điều khiển bus: Cũng có 2 loại:
+ Các tín hiệu điều khiển bộ nhớ
+ Các tín hiệu điều khiển module vào ra.
Để CU thực hiện điều khiển hoạt động của hệ thống, nó cần phải:
 Tín hiệu điều khiển mở các cổng cho phép nội dung của MAR đưa vào bus địa chỉ.
 Bộ nhớ đọc tín hiệu điều khiển trên bus điều khiển.
 Một tín hiệu điều khiển các cổng cho phép nội dung bus dữ liệu được chứa trong
MBR.
 Các tín hiệu điều khiển thêm một vào nội dung của PC và chứa kết quả trở lại cho
PC
Theo đó, đơn vị điều khiển gửi tín hiệu điều khiển mở các cổng giữa MBR (Memory
buffer register) và IR (Instruction Register)

-21-
2.2.2. Đơn vị điều khiển vi chương trình
Nguyên tắc: chia lệnh thành các vi lệnh (microcommand), tập hợp của các vi lệnh cho ta
một vi chương trình (microprograme), như vậy thay vì thực thi chương trình ban đầu CPU sẽ
thực thi tập các vi chương trình tương ứng với chương trình này. Việc thực thi các vi chương
trình có thể được thực hiện bằng cách tra cứu chúng trong bộ nhớ có sẵn (bộ nhớ điều khiển).
Các chức năng chính của đơn vị điều khiển vi chương trình:

2.3. Đơn vị số học và logic ALU (Arithmetic and logic unit)


Đơn vị số học và logic (ALU): thực hiện các thao tác số học và logic
ALU thực hiện phép toán số học và các phép toán logic trên các dữ liệu cụ thể. Đó là
các phép toán:

Control Unit Status


ALU
Register Register
Chi tiết:

-22-
Các phép toán cơ bản của ALU
 Bộ cộng 1 bit :
A là số được cộng A B S C
B là số cộng 0 0 0 0
S là tổng của A và B
C là số nhớ ra từ phép cộng 0 1 1 0

1 0 1 0

1 1 0 1

2.4. Tổ chức thanh ghi


Trong quá trình xử lí, lệnh và dữ liệu có thể được lưu trữ tạm thời tại các phần tử nhớ có
tốc độ truy xuất tương ứng với tốc độ xử lí của CPU, các phần tử nhớ đó được gọi là thanh
ghi.
Các thanh ghi có thể được chia thành hai nhóm:
 User - Visible Registers: các thanh ghi mà người dùng có thể can thiệp được vào
nội dung
 Control and Status Registers: lư trữ tín hiệu và điều khiển trạng thái thực hiện
2.4.1. User-Visible Registers:
Thanh ghi User-Visible là một trong những thành phần được tham chiếu bởi cách thức
của ngôn ngữ máy được CPU thi hành. Có trong các loại sau:
 Nhóm thanh ghi đa năng
 Nhóm thanh ghi đoạn
 Nhóm thanh ghi con trỏ và chỉ số
Các thanh ghi đa năng (general-purpose registers) có thể bị phân chia cho các chức năng
khác nhau bởi người lập trình.
- Dùng trong tập lệnh trực giao với thao tác (các toán hạng – opcode, thao tác con trỏ
động…)
- Dùng cho các chức năng địa chỉ hoá (thanh ghi gián tiếp, dịch chuyển).
- Trong các trường hợp khác (thanh ghi dữ liệu và thanh ghi địa chỉ).
 Thanh ghi đoạn: vùng nhớ có thể được chia thành các phần (đoạn) dùng cho ngăn xếp,
dữ liệu hay mã chương trình. Địa chỉ của các đoạn được lưu trữ tai các thanh ghi đoạn
 Thanh ghi con trỏ và chỉ số: kết hợp với các thanh ghi đoạn để chỉ chính xác địa chỉ
ngăn nhớ có trong mỗi đoạn
2.4.2. Control and Status Registers:
Có rất nhiều thanh ghi CPU khác nhau được sử dụng để điều khiển thao tác của CPU.
Hầu hết chúng trên đa số máy là không hữu hình với người dùng. Một vài thanh ghi có thể
hữu hình với các lệnh máy thực thi trong chế độ điều khiển hoặc trong operating-system
mode. Với các máy tính khác nhau sẽ có tổ chức thanh ghi khác nhau và sử dụng thuật ngữ
khác nhau.
Bốn thanh ghi là cốt tuỷ đối với sự thi hành lệnh.
 Program Counter (PC): chứa địa chỉ của một chỉ lệnh được tìm nạp.
 Thanh ghi lệnh (Instruction Register): chứa chỉ lệnh được tìm nạp gần nhất.
 Thanh ghi địa chỉ bộ nhớ (Memory Address Register): chứa địa chỉ của các vị trí
trong bộ nhớ.

-23-
 Thanh ghi bộ nhớ đệm (Memory Fuffer Register): chứ một từ dữ liệu được ghi vào
trong bộ nhớ hoặc từ được đọc gần đây nhất.
Ví dụ với bộ xử lý 8086:
Bao gồm:
 1 thanh ghi con trỏ lệnh IP (instruction Pointer): Lưu trữ địa chỉ lệnh kế tiếp sẽ
được chạy trong đoạn CT hiện thời. Mỗi 1 từ lệnh được đọc từ bộ nhớ BIU sẽ thay
đổi giá trị IP sao cho nó chỉ đến địa chỉ của từ lệnh kế tiếp trong bộ nhớ.
 4 thanh ghi đa năng AX,BX, CX, DX.
 AX: (Accumulator Register) thanh ghi tích luỹ các kết quả tính toán.
 BX (Base Register) thanh ghi cơ sở: chỉ địa chỉ cơ sở của vùng nhớ thuộc bộ
nhớ.
 CX (Counter Register) thanh ghi đếm: Khai báo số lần 1 thao tác nào đó phải
được thực hiện trong các vòng lặp (loop), phép dịch (shift), quay (rotate).
 DX (Data Register) thanh ghi số liệu: cùng thanh ghi AX tham gia vào các
thao tác của phép nhân hoặc chia các số 16 bit. DX còn dùng để chứa địa chỉ
16 bit của các cổng cứng (dài hơn 8 bit) trong các lệnh truy nhập các cổng
ngoại vi (I/O port).
Khi cần truy nhập chỉ với 1 byte thì byte cao hay thấp được nhận diện H,L.
*Các thanh ghi con trỏ, chỉ số:
 SP (Stack pointer) con trỏ ngăn xếp: địa chỉ đỉnh ngăn xếp. SP cho phép truy xuất
dễ dàng các địa chỉ trong đoạn ngăn xếp SS (stack segment). Giá trị trong SP mô tả
phải offset của địa chỉ ngăn xếp kế tiếp so với địa chỉ hiện tại đang được lưu trong
SS.
 BP (Base pointer) con trỏ cơ sở: mô tả offset tính từ SS nhưng còn được sử dụng
truy nhập DL trong SS.
 I (index) thanh ghi chỉ số: lưu địa chỉ offset đối với những lệnh truy nhập DL cất
trong đoạn DL
*Thanh ghi đoạn:
Bộ nhớ được chia thành các đoạn logic (segment) dài 64kb. CPU có thể truy nhập 1 lần
tới 4 đoạn.
Địa chỉ đoạn chứa trong thanh ghi đoạn.
 Thanh ghi đoạn mã CS (code Segment) nhận diện ĐC bắt đầu của đoạn chương
trình hiện hành trong bộ nhớ.
 DS (data Segment) đoạn DL : địa chỉ bắt đầu đoạn số liệu.
 SS (Stack Segment) đoạn ngăn xếp: địa chỉ logic đoạn ngăn xếp.
 EX (extra Segment) đoạn mở rộng: Đ/c DL các chuỗi.
*Thanh ghi cờ: Flag Register
9 trong số 16 bit của thanh ghi này được sử dụng, mỗi bit có thể được thiết lập hay xoá
dể chỉ thị kết quả của mỗi thao tác trước đó hoặc trạng thái hiện thời bộ XL
 CF Carry : nhớ
 PF perity: chẵn lẻ
 ZF zero : kết quả phép toán =0
 SF sign : 0 dương, 1 âm.
 OF overflow : tràn

-24-
2.5. Cấu trúc kết nối - BUS
Một máy tính bao gồm các bộ phận hay các đơn vị của ba thành phần chính: CPU, hệ
thống nhớ, thiết bị vào ra, được liên lạc với nhau. Về thực chất máy tính được coi là một
mạng của các đơn vị cơ bản. Hơn nữa cần phải có các đường để kết nối các đơn vị với nhau.
Tập hợp các đường kết nối các đơn vị được gọi là Interconnection Structure.
Cấu trúc kết nối thông dụng nhất được sử dụng trong máy tính là BUS.
BUS là tập hợp các đường dây kết nối hai hay nhiều thiết bị với nhau. Rất nhiều thiết bị
kết nối với BUS, một tín hiệu được truyền đi từ bất kì một thíêt bị nào cũng có thể được gửi
đến tất cả các thiết bị kết nối với BUS. Nếu có hai thiết bị cùng truyền dữ liệu đồng thời trong
một thời điểm, những tín hiệu này sẽ gối lên nhau và sẽ bị sai lạc, như vậy chỉ một thiết bị có
thể truyền dữ liệu thành công trong một thời điểm.
Trong nhiều trường hợp, BUS thực sự gồm nhiều đường liên lạc, mỗi đường có khả
năng truyền các tín hiệu mô tả các giá trị nhị phân 0, 1. Các số nhị phân được truyền liên tục
thông qua một đường, một số đường của BUS truyền các bit nhị phân đồng thời (kết nối song
song).
Một hệ thống máy tính chứa đựng một số loại BUS khác nhau tuỳ thuộc các đường kết
nối giữa các bộ phận ở các mức khác nhau của hệ thống. BUS kết nối các bộ phận chính của
máy gọi là BUS hệ thống.
BUS hệ thống bao gồm từ 50 đến 100 đường truyền riêng biệt, mỗi đường được phân
chia một chức năng hay một ý nghĩa riêng biệt. Mặc dù có rất nhiều cách thíêt kế BUS khác
nhau, nhưng trên bất kỳ cách nào các đường BUS cũng phân loại thành ba nhóm chính: BUS
dữ liệu, BUS địa chỉ, BUS điều khiển, ngoài ra có thể có một số đường cung cấp năng lượng
cho các module tham gia BUS.
 BUS dữ liệu: truyền tải dữ liệu tới các thiết bị. Một BUS dữ liệu tiêu biểu bao gồm 8,
16 hay 32 đường, số đường được coi là độ rộng của BUS dữ liệu. Mỗi đường chỉ có
thể mang một bit dữ liệu tại một thời điểm, số lượng đường xác định số lượng bit có
thể được truyền trong một thời điểm.
 BUS địa chỉ: dùng chỉ định rõ nguồn gốc hay đích đến của dữ liệu trên BUS dữ liệu.
Địa chỉ thường là địa chỉ các cổng vào/ra, từ nhớ trong ngăn nhớ.
 BUS điều khiển: điều khiển việc truy nhập và việc sử dụng các đường địa chỉ và dữ
liệu. Các đường dữ liệu và địa chỉ được chia sẻ cho tất cả các bộ phận, phải có sự điều
khiển việc sử dụng các đường đó. Các tín hiệu điều khiển truyền cả lệnh và thông tin
thời gian giữa các module hệ thống. Tín hiệu thời gian chỉ ra những thông tin về địa
chỉ và dữ liệu hợp lệ. Các tín hiệu lệnh định rã thao tác được thực hiện
Những đường điều khiển tiêu biểu:
 Memory write: điều khiển dữ liệu trên BUS được viết vào vị trí đã được xác định bằng
địa chỉ
 Memory read: điều khiển việc đưa dữ liệu từ một vị trí xác định vào BUS
 I/O write: điều khiển đưa dữ liệu từ BUS ra cổng vào/ra đã xác định
 I/O read: điều khiển việc nhận dữ liệu từ cổng vào/ra chuyển vào BUS
 Transfer ACK: chỉ ra dữ liệu đã được chấp nhận
 BUS request: chỉ ra module cần chiếm quyền điều khiển BUS
 BUS grant: chỉ ra module đang yêu cầu đã được cấp quyền điều khiển BUS
 Interrupt request: yêu cầu ngắt từ thiết bị ngoại vi
 Interrupt ACK: chấp nhận ngắt từ CPU
 Clock: xung đồng hồ dùng trong quá trình đồng bộ
 Reset: khởi động lại các module
Phân loại BUS theo đường truyền

-25-
 BUS đồng bộ: được điều khiển bởi nhịp đồng hồ với chu kì nhất định. Hoạt động của
vi xử lý đòi hỏi thời gian là bội số của chu kì máy
 BUS không đồng bộ: không hoạt động theo xung đồng hồ nhất định, khi truyền tín
hiệu thiết bị truyền phát tín hiệu MSYN báo cho thiết bị nhận chạy nhanh nhất có thể,
sau đó khi hoàn thành thiết bị nhận phát lại tín hiệu SSYN.

2.6. Tập lệnh và các Mode địa chỉ


2.6.1. Tập lệnh của CPU
Chức năng máy tính là xử lí tin, về cơ bản việc xử lí thông tin và truyền thông đều dựa
trên nguyên tắc thực hiện lệnh (Instruction).
Mỗi lệnh là một chuỗi số nhị phân mà bộ xử lý hiểu được để thực hiện một thao tác
xác định.
Ngôn ngữ máy (Machine Language):
Chương trình đưa vào bộ nhớ cho máy thực hiện theo nhiều dạng, dạng cơ bản nhất mà
máy có thể hiểu ngay được gọi là ngôn ngữ máy. Tuỳ theo CPU mà ngôn ngữ máy có dạng
nhất định, chương trình viết bằng ngôn ngữ máy thực hiện rất nhanh và chiếm ít chỗ trong bộ
nhớ, tuy nhiên chương trình khó viết và khó nhớ.
Hợp ngữ (Assembly)
Ngôn ngữ giúp lập trình viên viết chương trình đẽ dàng hơn, thay cho ngôn ngữ máy.
Một lệnh của hợp ngữ tương đương như một lệnh của ngôn ngữ máy nhưng thay viết chương
trình dưới dạng nhị phân sẽ dùng kí hiệu tượng trưng.
Để biểu diễn các nhóm lệnh CPU, dùng tập lệnh Hợp ngữ dùng cho VXL 8086 Intel.
Lệnh bao gồm:
 Mã lệnh (opcode): cho biết thao tác phải xử lí
 Toán hạng (operand): đối số thực hiện lệnh
2.6.2. Kiến trúc tập lệnh của CPU
Kiến trúc CISC (Complex Instruction Set Computer) - Tập lệnh phức hợp
Lệnh bao gồm 2 toán hạng với độ dài tùy biến
Tích hợp nhiều chức năng trong 1 lệnh
1 lệnh có thể được thực hiện trên nhiều chu kì
Ưu điểm
Hỗ trợ nhiều chế độ địa chỉ
Thay thế hợp ngữ
Sử dụng kĩ thuật điều khiển vi chương trình (Microprogramme)
Tiếp cận ngôn ngữ lập trình cấp cao
Có thể được ánh xạ trực tiếp sang ngôn ngữ lập trình cấp cao
Giảm độ phức tạp của trình biên dịch
Nhược điểm:
Lãng phí không gian nhớ dùng lưu trữ tập lệnh do độ dài lệnh tùy biến và có những lệnh
tấn số sử dụng thấp
Khó đồng bộ vì số chu kì dùng thực hiện lệnh là khác nhau
Phức tạp khi lập trình
Kiến trúc RISC (Reduced Instruction Set Computer)
Đơn giản hóa tập lệnh bằng cách sử dụng các lệnh đơn và giảm số lượng các lệnh
Cố định độ dài các lệnh

-26-
Giảm số chu kì dùng cho 1 lệnh
Giảm các chế độ địa chỉ bằng cách tăng số lượng các lệnh truy xuất bộ nhớ
2.6.3. Các nhóm lệnh của CPU
Các nhóm lệnh bao gồm:
 Nhóm lệnh vào ra
 Nhóm lệnh chuyển dữ liệu
 Nhóm lệnh số học
 Nhóm lệnh logic, dịch, quay
 Các lệnh điều khiển, rẽ nhánh
 Các chu trình
Nhóm lệnh vào ra:
Vào ra trực tiếp với các lệnh IN (input) và OUT (output): các thao tác trực tiếp từ các
cổng IO.
IN Thanh ghi, Địa chỉ cổng
OUT Địa chỉ cổng, Thanh ghi
Vào ra gián tiếp: sử dụng các ngắt mềm, mỗi số hiệu ngắt sẽ tương ứng với 1 chương
trình con có sắn.
Nhóm lệnh chuyển dữ liệu:
MOVE: copy dữ liệu từ nguồn đến đích
LOAD: nạp dữ liệu từ bộ nhớ đến bộ xử lý
STORE: cất dữ liệu từ bộ xử lý đến bộ nhớ
EXCHANGE: trao đổi nội dung của nguồn và đích
CLEAR: chuyển các bit 0 vào toán hạng đích
SET: chuyển các bit 1 vào toán hạng đích
PUSH: cất nội dung toán hạng nguồn vào ngăn xếp
POP: lấy nội dung đỉnh ngăn xếp đưa đến toán hạng đích
Nhóm lệnh số học:
ADD: cộng hai toán hạng
SUBTRACT: trừ hai toán hạng
MULTIPLY: nhân hai toán hạng
DIVIDE: chia hai toán hạng
ABSOLUTE: lấy trị tuyệt đối toán hạng
NEGATE: đổi dấu toán hạng (lấy bù 2)
INCREMENT: tăng toán hạng thêm 1
DECREMENT: giảm toán hạng đi 1
COMPARE: trừ hai toán hạng để lập cờ
Nhóm lệnh logic, dịch, quay:
AND: thực hiện phép AND hai toán hạng
OR: thực hiện phép OR hai toán hạng
XOR: thực hiện phép XOR hai toán hạng
NOT: đảo bit của toán hạng (lấy bù 1)
TEST: thực hiện phép AND hai toán hạng để lập cờ
SHIFT: dịch trái (phải) toán hạng
ROTATE: quay trái (phải) toán hạng

-27-
Nhóm lệnh điều khiển, rẽ nhánh:
JUMP (BRANCH): lệnh nhảy không điều kiện - nạp vào PC một địa chỉ xác định
JUMP CONDITIONAL: lệnh nhảy có điều kiện - điều kiện đúng, nạp vào PC một địa
chỉ xác định; điều kiện sai, không làm gì cả
CALL: lệnh gọi chương trình con
RETURN: lệnh trở về từ chương trình con
HALT: dừng thực hiện chương trình
WAIT: tạm dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thoả mãn
thì tiếp tục thực hiện
NO OPERATION: không thực hiện gì cả
LOCK: cấm không cho xin chuyển nhượng bus
UNLOCK: cho phép xin chuyển nhượng bus
Chu trình:
LOOP: lặp loại đoạn chương trình (lệnh) với số lần lặp biết trước

2.6.4. Các Mode địa chỉ
Chế độ địa chỉ dùng để xác định toán hạng, bao gồm:
 Chế độ chỉ tức thì
 Chế độ địa chỉ thanh ghi
 Chế độ địa chỉ trực tiếp
 Chế độ địa chỉ gián tiếp qua thanh ghi
 Chế độ địa chỉ tương đối cơ sở
 Chế độ địa chỉ tương đối cơ sở - chỉ số

Chế độ địa chỉ tức thì


Trong chế độ địa chỉ này toán hạng đích là một thanh ghi hay một ô nhớ, còn toán hạng
nguồn là một hằng số và ta có thể tìm thấy toán hạng này ở ngay sau mã lệnh ( chính vì vậy
chế độ địa chỉ này có tên là chế độ địa chỉ tức thì ). Ta có thể dùng chế độ địa chỉ này để nạp
dữ liệu cần thao tác vào bất kỳ thanh ghi nào ( trừ các thanh ghi đoạn và thanh cờ ) hoặc vào
bất kỳ ô nhớ nào trong đoạn dữ liệu DS.
Ví dụ:
MOV CL, 100 ; chuyển 100 vào CL.
MOV AX, 0FF0H ; chuyển 0FF0H vào AX để rồi đưa
MOV DS, AX ; vào DS ( vì không thể chuyển trực tiếp vào thanh ghi đoạn )
MOV ( BX ), 10 ; chỉ DS:BX.
Chế độ địa chỉ thanh ghi
Trong chế độ địa chỉ này người ta dùng các thanh ghi bên trong CPU như là các toán
hạng để chứa dữ liệu cần thao tác. Vì vậy khi thực hiện lệnh có thể đạt tốc độ truy nhập cao
hơn so với các lệnh có truy nhập đên bộ nhớ.
Ví dụ:
MOV BX, DX ; chuyển nội dung DX vào BX.
MOV DS,AX ; chuyển nội dung AX vào DX
ADD AL,DL ; cộng nội dung AL và DL rồi đưa vào
Chế độ địa chỉ trực tiếp
Trong chế độ địa chỉ này một toán hạng chứa địa chỉ lệnh của ô nhớ dùng chứa dữ liệu
còn toán hạng kia chỉ có thể là thanh ghi mà không được là ô nhớ.

-28-
Nếu so sánh với chế độ địa chỉ tức thì ta thấy ở đây ngay sau mã lệnh không phải là toán
hạng mà là địa chỉ lệch của toán hạng. Xét về phương diện địa chỉ thì đó là địa chỉ trực tiếp.
Ví dụ:
MOV AL, ( 1234H ) ; chuuyển nội dung ô nhớ DS:1234 vào AL.
MOV (4320H ), CX ; chuyển nội dung CX vào 2 ô nhớ liên tiếp DS:4320 và
DS:4321
Chế độ gián tiếp qua thanh ghi
Trong chế độ địa chỉ này một toán hạng là một thanh ghi được sử dụng để chứa địa chỉ
lệch của ô nhớ chứa dữ liệu, còn toán hạng kia chỉ có thể là thanh ghi mà không được là ô nhớ
( 8088 không cho phép quy chiếu bộ nhớ 2 lần đối với một lệnh ).
Ví dụ:
MOV AL, ( BX ) ; chuyển nội dung ô nhớ có địa chỉ DS:BX vào AL.
MOV ( SI ), CL ; chuyển nội dung CL vào ô nhớ có địa chỉ DS:SI.
MOV ( DI ), AX ; chuyển nội dung AX vào 2 ô nhớ liên tiếp có địa chỉ DS:DI và
; DS: ( DI + 1 ).
Chế độ địa chỉ tương đối cơ sở
Trong chế độ địa chỉ này các thanh ghi cơ sở như BX và BP và các hằng số biểu diễn
các giá trị dịch chuyển ( displacement values ) được dùng để tính địa chỉ hiệu dụng của toán
hạng trong các vùng nhớ DS và SS. Sự có mặt của các giá trị dịch chuyển xác định tính tương
đối ( so với cơ sở ) của địa chỉ.
Ví dụ:
MOV CX, ( BX ) +10 ; chuyển nội dung 2 ô nhớ liên
; tiếp có địa chỉ DS: ( BX + 10 ) và DS: ( BX+10 ) vào CX.
MOV CX, ( BX+10 ) ; một cách viết khác của lệnh trên
MOV CX, 10 ( BX ) ; một cách viết khác của lệnh đầu
MOV AL, ( BP ) +5 ; chuyển nội dung ô nhớ SS: ( BP+5 ) vào AL.
ADD AL, Table ( BX ) ; cộng AL với nội dung ô nhớ do BX chỉ ra trong bảng table
; ( bảng này nằm trong DS ), kết quả dựa vào AL.
Chế độ địa chỉ tương đối cơ sở - chỉ số
Kết hợp hai chế độ địa chỉ chỉ số và cơ sở ta có chế độ địa chỉ chỉ số cơ sở. Trong chế
độ địa chỉ này ta dùng cả thanh ghi cơ sở lẫn thanh ghi chỉ số để tính địa chỉ của toán hạng.
Nếu ta dùng thêm cả thành phần biểu diển sự dịch chuyển của địa chỉ thì ta có chế độ địa chỉ
phức hợp nhất: chế độ địa chỉ tương đối chỉ số cơ sở. Ta có thể thấy chế độ địa chỉ này rất phù
hợp cho việc dịa chỉ hoá các mảng hai chiều
Ví dụ:
MOV AX, [ BX ] [SI ]+8 ; chuyển nội dung 2 ô nhớ liên tiếp có địa chỉ
; DS:(BX+SI+8 ) và DS:(BX+SI+9 ) vào AX
MOV AX, [BX+SI+8] ; một cách viết khác của lệnh trên
MOV CL, [BP+DI+5] ; chuyển nội dung ô nhớ SS:( BP+DI+5 ) vào CL.

CÂU HỎI VÀ BÀI TẬP


2.1. Trình bày kiến trúc chung của máy tính theo nguyên lý VonNewman? Nêu
chức năng từng đơn vị? Phân loại máy tính theo kiến trúc?
2.2 Trình bày sơ đồ cấu trúc, chức năng nhiệm vụ của bộ xử lý trung tâm (Nêu rõ chức năng
của từng đơn vị)
2.3. Trình bày tổ chức thanh ghi trong vi xử lý 8086?

-29-
2.4. Trình bày chức năng nhiệm vụ cấu tạo của đơn vị số học và logic ALU?
2.5. Các loại tín hiệu điều khiển của đơn vị xử lý trung tâm (Vẽ sơ đồ giải thích)?
2.6. Trình bày sơ đồ cấu trúc, chức năng nhiệm vụ của đơn vị điều khiển vi chương trình ?
2.7. Trình bày khái niệm về BUS? Phân loại BUS

-30-
Chương III. HỆ THỐNG NHỚ
3.1. Khái quát về hệ thống nhớ
 Vị trí:
 Bộ nhớ trong (register)
 Bộ nhớ chính (main memory)
 Bộ nhớ ngoài (đĩa cứng, đĩa quang)
 Dung lượng
 Kích thước từ nhớ (word size): thường là 8,16,32 bits
 Số lượng từ nhớ
 Đơn vị truyền
 Word: đơn vị tự nhiên ở tổ chức bộ nhớ. Kích thước từ nhớ thường là số bit
dùng để biểu diễn số hoặc độ dài lệnh .
 Khối (block) là đơn vị truyền dữ liệu lớn hơn từ nhớ, thường được dụng truyền
dữ liệu với bộ nhớ ngoài.
 Phương pháp truy nhập
 Sequential access (truy nhập tuần tự): thường được dùng truy cập băng từ.
 Truy nhập trực tiếp (direct memory): giống như truy nhập tuần tự, truy nhập
trực tiếp bao hàm việc chia sẻ đọc viết cơ khí. Những từ nhớ của bản ghi có địa
chỉ cơ sở duy nhất trên vị trí vật lý. Việc truy nhập được hoàn thành bởi truy
nhập trực tiếp là đi đến vùng lân cận chung cộng với tìm kiếm tuần tự, đếm
hoặc đợi để đi đến vị trí cuối cùng.Thời gian truy nhập có thể thay đổi được.
Các loại đĩa sử dụng phương pháp truy nhập trực tiếp.
 Truy nhập ngẫu nhiên (Random access): mỗi vị trí địa chỉ trong bộ nhớ là độc
nhất. Thời gian truy nhập các vị trí đã cho là độc lập với dãy truy nhập ưu tiên
và là hằng số. Như vậy, vị trí nào cũng có thể được chọn ngẫu nhiên, và địa chỉ
trực tiếp. Bộ nhớ chính là truy nhập ngẫu nhiên.
 Truy nhập liên kết: đây là kiểu truy nhập ngẫu nhiên có thể làm sự so sánh vị
trí bít trong từ cho một phép toán cụ thể và làm việc này cho tất cả các từ đồng
thời. Vì vậy một từ đựơc tìm lại được dựa vào chính nội dung của nó thay vì
địa chỉ của nó.Với truy nhập ngẫu nhiên thông thường, mỗi vị trí có địa chỉ cơ
khí của mình, và thời gian tìm là hằng số độc lập với vị trí hay mẫu hình truy
nhập ưu tiên. Bộ nhớ cache dùng cách truy nhập này.
 Sự thi hành.
 Thời gian truy nhập: (access time): đối với truy nhập ngẫu nhiên đó là thời
gian để thực hiện hoạt động đọc ghi. Đối vớ truy nhập không phải là ngẫu
nhiên thời gian truy nhập là thời gian đưa vị trí đọc viết cơ khí đến vị trí mong
muốn.
 Cycle time (chu kỳ thời gian):
 Transfer rate: tốc độ dữ liệu có thể được truyền vào hoặc ra khỏi đơn vị nhớ.
 Kiểu vật lý
 Bán dẫn
 Từ (magnetic)
 Quang (optical)
 Đặc tính vật lý
 Có thể thay đổi/ không thay đổi
 Có thể xoá được/ không thể xoá được

-31-
3.2. Phân cấp bộ nhớ

Việc phân cấp bộ nhớ theo các tiêu chuẩn:


 Giảm giá/bit
 Tăng dung lượng
 Tăng thời gian truy nhập
 Giảm tần số truy nhập của bộ nhớ bởi CPU.
Theo chiều từ trên xuống dưới:
 Dung lượng tăng dần
 Tốc độ truy nhập giảm dần.

3.3. Bộ nhớ bán dẫn


3.3.1. Các loại bộ nhớ bán dẫn
Tất cả các loại bộ nhớ được trình bầy sau đây là truy nhập ngẫu nhiên. Đó là những từ
nhớ riêng biệt được truy nhập trực tiếp qua địa chỉ logic
a. RAM (random- access memory):
Đặc điểm phân biệt là có thể đọc dữ liệu từ bộ nhớ và dễ dàng ghi dữ liệu vào.Việc đọc
và ghi dữ liệu đựơc hoàn thành nhờ các tín hiệu điện.

-32-
Một đặc tính khác của RAM là thay đổi được. RAM được nuôi bằng một nguồn điện ổn
định. Nếu nguồn nuôi bị ngắt dữ liệu trên RAM sẽ mất. Vì vậy RAM được dùng làm chỗ trữ
tạm thời.
Công nghệ RAM chia làm 2 loại:
 RAM tĩnh: giá trị nhị phân được cất trữ dùng các flip-flop truyền thống cấu hình
cổng logic. Static RAM sẽ giữ được dữ liệu ổn định,tốc độ nhanh, giá thành cao.
 RAM động (Dinamic RAM): sử dụng các tế bào chứa dữ liệu dựa trên sự nạp
điện cho các tụ điện.Vì các tụ điện có xu hướng phóng điện nên RAM động yêu
cầu nạp điện làm tươi định kỳ để giữ thông tin.
b. ROM (Read only Memory)
Tương phản với RAM là ROM. ROM chứa đựng các kiểu dữ liệu không thể bị thay đổi
trong một thời gian dài. Một đặc tính của ROM là chỉ có thể đọc dữ liệu từ đó mà không thể
ghi dữ liệu mới vào nó. Một ứng dụng quan trọng của ROM là chứa đựng các vi chương trình.
Những ứng dụng tiềm tàng khác bao gồm:
 Thư viện thủ tục con cho các chức năng được sử dụng liên tục.
 Các chương trình hệ thống.
 Các bảng chức năng.
ROM được sản xuất tương tự như các mạch điện tích hợp khác, với dữ liệu được ghi
vào chip trong quá trình chế tạo.
Phân loại:
 Maskable ROM: ghi khi chế tạo
 PROM (Programable ROM) chỉ ghi một lần.
 EPROM (Erasable PROM) Có thể ghi lại nhiều lần (xoá bằng tia cực tím).
 EEPROM (Erasable PROM) Có thể xoá và ghi lại nhiều lần bằng tín hiệu điện.
 Flash ROM : (Flash memory) Có thể xoá, ghi lại được bằng tín hiệu điện. Thêm
nữa nó có thể chỉ xoá các khối nhớ thay vì phải xoá toàn bộ chíp. Flash memory
sử dụng một transistor trên một bit, và do đó giành được mật độ cao.
3.3.2. Tổ chức bộ nhớ
Dựa trên các mạch Flip- flop
Có 2N ngăn nhớ -> N chân địa chỉ.
Độ dài mỗi ngăn nhớ m bits
Dung lượng 2N*m
 RAS ( Row Address Strobe ) Là tín hiệu để xác định địa chỉ nhớ theo hàng.
 CAS ( Column Address Strobe) là tín hiệu để xác định địa chỉ nhớ theo cột.
 Address Bus là đường truyền tín hiệu RAS và CAS.
 Data Bus là đường truyền dữ liệu giữa Memory Controler và chip nhớ.
 Column Address Decoder: bộ giải mã địa chỉ cột.
 Row Address Decoder: bộ giải mã địa chỉ hàng.
 Row(column) addr latch: chốt địa chỉ theo hàng (cột)

-33-
Nguyên lý hoạt động :
1. Địa chỉ được gửi tới bộ giải mã theo Address bus. Bộ giải mã địa chỉ sẽ giải
mã chuỗi bit này thành các địa chỉ hàng -cột cho các bit trong byte tương ứng.
2. Các địa chỉ hàng sẽ đựơc gửi tới bộ giải mã địa chỉ hàng. Các bộ giải mã này
sẽ tìm ra hàng tương ứng với ô nhớ cần thao tác, và gửi tín hiệu truy cập hàng :
RAS (row address strobe: tín hiệu xác định địa chỉ hàng) đồng thời kích hoạt 1
hàng tương ứng với địa chỉ của RAS
3. Các địa chỉ cột sẽ đựơc gửi tới bộ giải mã địa chỉ cột. Các bộ giải mã này sẽ
tìm ra cột tương ứng với ô nhớ cần thao tác, và gửi tín hiệu truy cập cột : CAS
(colum address strobe: tín hiệu xác định địa chỉ cột) đồng thời kích hoạt 1 cột
tương ứng với địa chỉ của CAS

-34-
4. Ô nhớ nào mà tại đó cả tín hiệu CAS và RAS đồng thời đựơc kích hoạt sẽ
được xác định và chờ thao tác.
5. Mỗi ô nhớ có một bộ phận kiểm tra đọc – ghi (Write Enable), có hai trạng thái
Active và Deactice (trạng thái mặc định là Deactive).
6. Nếu tín hiệu Write Enable được gửi tới ô nhớ thì ô nhớ sẽ hiểu là nó đựơc xác
định để “ghi". Khi đó transitor sẽ điều khiển để tụ điện phóng điện hoặc nạp
điện
7. Nếu tín hiệu Write Enable không được gửi tới ô nhớ thì ô nhớ có thể đựơc xác
định để "đọc" hoặc “ghi”
Đọc: nếu giá trị hiện tại của ô nhớ trùng với giá trị cần ghi vào ô nhớ.
Ghi: nếu giá trị hiện tại của ô nhớ khác với giá trị cần ghi vào ô nhớ.
8. Khi đó, trạng thái hiện tại của ô nhớ sẽ đựơc truy xuất ra theo Data bus.

3.4. Cache Memory


3.4.1.Khái niệm, nguyên tắc truy nhập Cache
Thao tác đọc ghi thường xuyên được thực hiện khi CPU xử lí dữ liệu, tuy nhiên tốc độ
truy xuất của bộ nhớ chính chậm hơn rất nhiều so với tốc độ xử lí của CPU, điều này làm hạn
chế tốc độ chung của toàn hệ thống. Như vậy cần thiết phải xây dựng một đơn vị nhớ có tốc
độ truy xuất là trung gian giữa tốc độ xử lí của CPU và tốc độ truy xuất của bộ nhớ chính, đơn
vị nhớ đó được gọi là Cache.

Bộ nhớ cache sẽ sao chép một phần thông tin thường dùng (hoặc đang dùng) của bộ nhớ
chính.
Mỗi khi cần xử lý hay thay đổi thông tin của một từ nhớ, CPU sẽ dò trong Cache
memory trước xem thông tin có tồn tại hay không:
+ Nếu có từ nhớ được cung cấp cho CPU
+ Nếu không có, khối nhớ của bộ nhớ chính (bao gồm một số từ nhớ cố định) được đọc
vào trong cache và sau đó từ nhớ được cung cấp cho CPU.
Nguyên tắc nhập Cache
Nguyên tắc định vị về không gian: xác suất truy nhập một phần tử là rất lớn nếu phần tử
kề với nó đã được truy nhập ở lần trước đó.
Nguyên tắc định vị về thời gian: xác suất truy nhập một phần tử là rất lớn nếu phần tử
này đã được truy nhập ở lần trước đó.
3.4.2. Kỹ thuật ánh xạ bộ nhớ cache
Thay vì truy xuất dữ liệu trong bộ nhớ chính, CPU sẽ truy xuất dữ liệu trong Cache,vì
vậy phải tồn tại cơ chế ánh xạ dữ liệu từ bộ nhớ chính sang cache.
Có 3 kỹ thuật ánh xạ:
 Ánh xạ trực tiếp: Direct Mapping
 Ánh xạ liên kết hoàn toàn: Full Associative Mapping
 Ánh xạ liên kết tập hợp: Set Associative Mapping
Ánh xạ trực tiếp

-35-
Bộ nhớ chính có dung lượng M byte nhớ sẽ được chia thành b khối (block), với dung
lượng của mỗi khối là k byte nhớ.
Bộ nhớ Cache có dung lượng là C byte nhớ, được chia thành l đường (line), với dung
lượng mỗi đường cũng là k byte nhớ.

Ánh xạ: mỗi khối nhớ của bộ nhớ chính được ánh xạ (nạp) vào một đường (Line) cụ thể
duy nhất trong Cache theo nguyên tắc:
Block 0-> line 0
Block 1-> line 1
……
Block M-1 -> line M-1
Block M -> line 0
Block M+1 -> line 1
……
Bock i -> line (i mod M)
Địa chỉ do CPU phát ra là n bit có cấu trúc:
Tag line word
Trong đó:
w bit thấp nhất (word) xác định vị trí byte nhớ trong khối
r bit tiếp theo (line) xác định vị trí đường trong cache
n-w-r bit còn lại: trường Tag

-36-
Cơ chế:
Từ r bit trong địa chỉ do CPU phát sẽ xác định được địa chỉ của đường trong Cache
So sánh nhãn Tag của đường vừa tìm được với nhãn Tag trong địa chỉ do CPU phát
Nếu trùng nhau (hit in cache), từ w bit sẽ xác định được vị trí của byte nhớ có chứa dữ
liệu
Ngược lại (miss in cache), ánh xạ dữ liệu từ bộ nhớ sang cache.
Ánh xạ liên kết hoàn toàn
Để khắc phục nhược điểm của phương pháp trực tiếp, có thể rất nhiều block tranh chấp
1 line trên cache trong khi các vị trí khác bỏ trống, thì phương pháp này cho phép một block
trên bộ nhớ chính được tải vào một vị tri line bất kỳ còn trống trên cache..
Địa chỉ do CPU phát ra là n bit có cấu trúc:
Tag word
Trong đó:
w bit thấp nhất (word) xác định vị trí byte nhớ trong khối
n-w bit còn lại: trường Tag

-37-
Ánh xạ liên kết tập hợp
Chia cache thành các tập hợp (set), Mỗi tập hợp có p đường
Ánh xạ:
Block 0 -> set 0
Block 1 -> set 0
Block p-1 -> set 0
...
Block i -> Set (i mod S)

Địa chỉ do CPU phát ra là n bit có cấu trúc:
Tag set word
Trong đó:
w bit thấp nhất (word) xác định vị trí byte nhớ trong khối
d bit tiếp theo (set) xác định vị trí tập hợp trong cache
n-w-d bit còn lại: trường Tag
Cơ chế:
Từ d bit trong địa chỉ do CPU phát sẽ xác định được địa chỉ của tập hợp trong Cache
So sánh nhãn Tag của các đường trong tập hợp vừa tìm được với nhãn Tag trong địa chỉ
do CPU phát
Nếu trùng nhau (hit in cache), từ w bit sẽ xác định được vị trí của byte nhớ có chứa dữ
liệu
Ngược lại (miss in cache), ánh xạ dữ liệu từ bộ nhớ sang cache.

-38-
Ví dụ : Cho bộ nhớ chính 4 GB, kích thước cache 16 kB, kích thước khối 32 byte. Xác định
địa chỉ do CPU phát ra theo 3 phương pháp ánh xạ:
Bộ nhớ chính có dung lượng 4GB = 232byte -> Số bit địa chỉ do CPU phát ra là n = 32
1 khối (block) có kích thước là 32byte = 25byte -> w = 5
* Xét trong trường hợp ánh xạ trực tiếp
16 kb 214
Số đường trong cache: r =  5  2 9 -> r = 9 bit
32byte 2
 Tag = n - w - r = 32 – 9 – 5 = 18 bit
* Với liên kết hoàn toàn
 Tag = n – w = 32 – 5 = 27 bit
* Với liên kết tập hợp (2 đường)
16 kb 214
Số đường trong cache =   2 8 -> d = 8 bit
5
32byte.2line 2 .2
 Tag = n – w – d = 32 – 8 – 5 = 19 bit
Địa chỉ do CPU phát ra có cấu trúc:
Liên kết trực tiếp
18 9 5
Liên kết hoàn toàn
27 5
Liên kết tập hợp 2 đường
19 8 5

-39-
3.5. Kỹ thuật giải mã địa chỉ
3.5.1. Cấu tạo một vi mạch nhớ

Một mạch nhớ được tạo nên từ nhiều vi mạch nhớ. Một vi mạch nhớ thường có cấu trúc
tiêu biểu như sau:
 Nhóm tín hiệu địa chỉ: các tín hiệu địa chỉ có tác dụng chọn ra một ô nhớ (từ nhớ)
cụ thể để ghi / đọc. Các ô nhớ có độ dài khác nhau tuỳ theo nhà sản xúât : 1,2,4,8
bit. Một vi mạch nhớ có m bit địa chỉ thì có2m từ nhớ.
 Nhóm tín hiệu dữ liệu: Số đường dây dữ liệu quyết định độ dài từ nhớ của mạch
nhớ. Thông thường người ta hay nói rõ dung lượng và độ dài từ nhớ cùng một lúc.
Ví dụ mạch nhớ: 1K x 8...
 Nhóm tín hiệu chọn vi mạch (chọn vỏ): Các tín hiệu chọn vỏ là CS (chip select)
hoặc CE (chip enable) thường được dùng để chọn ra vi mạch nhớ cụ thể được ghi /
đọc . Tín hiệu ở mạch nhớ Ram thường là CS ở ROM là CE. Các tín hiệu chọn vỏ
thường nối với đầu ra của mạch giải mã địa chỉ. Khi một mạch nhớ không được
chọn thì bus dữ liệu của nó bị treo (ở trạng thái trở kháng cao).
 Nhóm tín hiệu điều khiển: Một mạch nhớ RAM thường có 1 tín hiệu điều khiển là
R/W để điều khiển quá trình ghi / đọc. Nếu mạch nhớ RAM có 2 tín hiệu điều khiển
thì đó là WE (write enable) để điều khiển ghi và OE để điều khiển đọc. Hai tín hiệu
này phải ngược pha nhau để điều khiển việc ghi đọc mạch nhớ.
3.5.2. Giải mã địa chỉ cho bộ nhớ
Mỗi một mạch nhớ ghép nối với CPU cần phải được CPU quy chiếu tới một cách chính
xác khi thực hiện thao tác ghi / đọc.
Điều đó có nghĩa là mỗi mạch nhớ phải được gán cho một vùng riêng biệt có địa chỉ xác
định nằm trong không gian địa chỉ tổng thể của bộ nhớ. Việc gán địa chỉ cụ thể cho từng
mạch nhớ được thực hiện nhờ bộ giải mã địa chỉ.

Cấu tạo chung của bộ giải mã địa chỉ:

-40-
 Tín hiệu điều khiển : IO/ M dùng để phân biệt đối tượng mà CPU chon làm việc là
bộ nhớ hay thiết bị vào ra.
 Tín hiệu địa chỉ : là các bit địa chỉ có quan hệ nhất định đến việc chọn vỏ ở đầu ra.
Thông thường khi thiết kế mạch giải mã người ta thường tính dôi ra để dự phòng, sao
cho sau này co thể tăng thêm dung lượng bộ nhớ.
Các mạch giải mã thông dụng
Mạch NAND
Mạch giải mã LS74139
Mạch giải mã LS74138

CÂU HỎI VÀ BÀI TẬP
3.1. Trình bày khái niệm, nguyên tắc hoạt động của bộ nhớ Cache?
3.2. Cho bộ nhớ chính 32 MB, kích thước cache 8 kB, kích thước khối 32 byte. Xác định địa
chỉ do CPU phát ra theo 3 phương pháp ánh xạ
3.3. Trình bày sơ đồ ghép nối và giải mã địa chỉ vùng nhớ 8 KB có địa chỉ F0000hFFFFFh
sử dụng mạch giải mã LS138 và EPROM 1Kx4

-41-
Chương IV: HỆ THỐNG VÀO RA
4.1. Giới thiệu chung
Hệ thống vào ra: trao đổi thông tin giữa máy tính và thế giới bên ngoài, bao gồm:
 Các modul vào ra (mạch ghép nối IO): ghép nối giữa CPU và bộ nhớ với các
TBNV.
 Các TBNV: mạch ghép nối vào ra tổ chức thành các cổng vào ra sao cho mỗi
cổng có một địa chỉ xác định.
Địa chỉ hoá cổng vào ra:
 Địa chỉ hoá tách biệt (vào ra trực tiếp): không gian địa chỉ cổng độc lập với không
gian địa chỉ bộ nhớ.
 Địa chỉ hoá theo bản đồ bộ nhớ: không gian địa chỉ cổng vào ra nằm trong không
gian địa chỉ bộ nhớ.
4.1.1. Các thiết bị ngoại vi
Chức năng:
 Trao đổi thông tin người - máy
 Trao đổi thông tin máy - máy
Cấu trúc

dữ liệu từ môi
dữ liệu Đệm dữ Chuyển đổi trường ngoài
nhị phân liệu tín hiệu

modul
vào ra Logic điều khiển

Logic điều khiển:


 Nhận tín hiệu điều khiển của CPU
 Phát tín hiệu điều khiển TBNV
 Phát tín hiệu trạng thái báo cho CPU biết trạng thái của TBNV
Đệm dữ liệu: chứa tạm thời dữ liệu trao đổi giữa TBNV và Modul vào ra
Chuyển đổi tín hiệu: chuyển tín hiệu ở dạng phi điện năng thành tín hiệu điện năng.
4.1.2. Modul vào ra
dữ liệu
Cổng điều khiển
Thanh ghi dữ liệu IO trạng thái
dữ liệu

Thanh ghi điều khiển


và trạng thái
dữ liệu
Cổng điều khiển
địa chỉ Logic điều khiển IO trạng thái
điều khiển

-42-
Chức năng:
 Điều khiển và định thời gian cho quá trình trao đổi
 Trao đổi thông tin với CPU
 Trao đổi thông tin với TBNV
 Đệm dữ liệu
 Phát hiện lỗi
Cấu trúc: (Hình vẽ trang trước)
Người lập trình có thể can thiệp vào nội dung của các cổng và thanh ghi điều khiển
trạng thái.
Nội dung thanh ghi trạng thái sẽ quyết định chế độ làm việc cho các cổng

4.2. Ghép nối máy tính với thiết bị ngoại vi


 Ghép nối giữa CPU và Modul vào ra: song song
 Ghép nối giữa Modul vào ra và TBNV: song song sẽ tạo ra cổng LPT, nối tiếp sẽ
tạo ra cổng COM
4.2.1. Ghép nối song song
Nguyên tắc: Các cửa vào ra được ghép nối trực tiếp với bộ xử lí, ghép nối song song
điều khiển bằng chương trình dùng mạch 8255A (PPI:Programable peripheral inteface)
Mạch ghép nối vào ra song song lập trình được 8255A
Cấu trúc 8255A
Bus nội bộ Nhóm A
PA0-PA7
Cổng A
Điều
khiển
nhóm
A
Nhóm A PC4-PC7
Cổng C
Đệm (cao)
bus
D

Nhóm B
Điều Cổng C
khiển (thấp)
nhóm
PC0-PC3
RD B

WR
Logic
điều
A0 Nhóm B
khiển
Cổng B
ghi /
A1
đọc
PB0-PB7
R

CS

Các chân tín hiệu của 8255A:


 D0-D7: Chân tín hiệu dữ liệu
 RD : chân tín hiệu yêu cầu đọc
 WR: chân tín hiệu yêu cầu ghi
 A0-A1: Các chân tín hiệu địa chỉ: chọn 4 thanh ghi bên trong 8255A
Thanh ghi từ điều khiển CWR, PA,PB,PC.

-43-
PA,PB,PC Là các thanh ghi đệm để ghi/đọc dữ liệu. Địa chỉ cho thanh ghi PA cũng là
địa chỉ cơ sở của 8255.
Có hai loại từ điều khiển cho 8255A:
 Từ điều khiển định nghĩa cấu hình cho các cổng PA,PB,PC.
 Từ điều khiển lập/xoá từng bit ở đầu ra của PC
Bảng chọn thanh ghi trong 8255A
CS A1 A0 Chọn ra
1 X X Không chọn
0 0 0 PA
0 0 1 PB
0 1 0 PC
0 1 1 CWR
Từ điều khiển định nghĩa cấu hình
D7 D6 D5 D4 D3 D2 D1 D0

Nhóm B
Chế độ cửa A Chiều Của Cl
00-Chế độ 0 1- Vào
01-Chế độ 1 2- Ra
1x- Chế độ 2

Chiều cửa A Chiều của B


1: Vào 1- Vào
0: Ra 2- Ra
Chiều của Ch
1: Vào Chế độ của B
0: Ra 1 :Chế độ 1
0: Chế độ 0
Nhóm A

Các chế độ hoạt động của 8255


Chế độ 0 (chế độ vào ra cơ sở):
 Các cổng A, B, C được sử dụng độc lập nhau
 Các cổng A, B, C có thể là cổng vào hoặc cổng ra tuỳ giá trị từ điều khiển ghi
trong thanh ghi từ điều khiển.
Không có sự đối thoại với VXL cũng như TBN. Nếu muốn có tín hiệu đối thoại phải
dùng bit của cổng nào đó (thường là cổng C) để xác lập bit 1 và sau đó xoá về 0 bằng
cách ghi số liệu (1 hoặc 0) hoặc bằng cách xác lập/ xoá một bit PC i của cổng C bằng
lệnh với D7 bằng 0.
Chế độ 1 (chế độ vào/ ra đối thoại) với các bit cổng C.
Chia hai nhóm:
 Nhóm A gồm cổng A để trao đổi số liệu và nửa C cao (PC7- PC4) để đối thoại với
VXL và TBN.
 Nhóm B gồm cổng B để trao đổi số liệu và nửa C thấp (PC3- PC0) để đối thoại với
VXL và TBN.

-44-
Chiều và chế độ 1 của cổng A, B do từ điều khiển quyết định, các tín hiệu đối thoại
PCi phụ thuộc vào chiều cổng vào hay ra cho các tín hiệu PCi. Ví dụ: (SGK)
Chế độ 2 (vào ra có chốt):
Chế độ này chỉ dùng cho cổng A với vào ra thuận nghịch (hai chiều) và các bit PC 3,
PC4- PC7 dùng làm tín hiệu đối thoại, trong đó:
 PC3 cho tín hiệu yêu cầu ngắt IRNTA chung cho cả hai chiều và giống chế độ
M=1.
 PC4 cho tín hiệu vào STBA khi cổng A có chiều vào (giống chế độ 1)
 PC6 cho tín hiệu vào ACKA khi cổng A có chiều ra (giống chế độ 1)
Chung cả hai chế độ 1, 2 các bit còn lại dùng làm đối thoại của cổng C đều là các tín
hiệu ra.
Cổng B hoạt động giống chế độ 1 hoặc chế độ 0.
4.2.2. Ghép nối nối tiếp
Nguyên tắc: cho phép trao đổi thông tin giữa CPU và TBNV theo từng bit, số liệu trao
đổi thường được gửi theo các nhóm bit mà nó tạo thành một kí tự hay một từ.
Sử dụng:
 Khi TBNV cần trao đổi vốn đã là vào ra nối tiếp
 Khi khoảng cách giữa CPU và TBNV tương đối lớn.
Nhịp truyền: tổng số lần thay đổi tín hiệu trong một giây (baud rate)
Phương thức:
 Thời gian: đồng bộ, dị bộ
 Đường truyền: song công, đơn công, bán song công.

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


4.3.1. Vào ra điều khiển bằng cách thăm dò
Vấn đề điều khiển vào/ra dữ liệu sẽ trở thành rất đơn giản nếu thiết bị ngoại vi lúc nào
cũng sẵn sàng chờ để làm việc với CPU. (Ví dụ, bộ phận đo nhiệt số, một bộ đèn LED 7
đoạn).
Trong thực tế không phải lúc nào CPU cũng làm việc với các đối tượng "liên tục sẵn
sàng" như trên.
Khi CPU muốn làm việc với một đối tượng nào đó, trước tiên nó phải kiểm tra (thăm
dò) xem thiết bị đó có đang ở trạng thái sẵn sàng làm việc hay không, nếu có thì nó mới thực
hiện việc trao đổi dữ liệu.
Nếu làm việc theo phương pháp thăm dò thì CPU phải được dành riêng cho việc trao
đổi dữ liệu (vì nó phải liên tục kiểm tra trạng thái sẵn sàng của thiết bị ngoại vi thông qua các
tín hiệu móc nối). Các tín hiệu này được lấy từ mạch phối ghép, do người thiết kế tạo ra, để
chương trình thăm dò hoạt động trên đó.
Ví dụ: Một cổng vào số 0 (Có địa chỉ 00) được dùng để đọc trạng thái sẵn sàng của 2
thiết bị ngoại vi nói trên. Tín hiệu sẵn sàng của thiết bị ngoại vi số 1 (cổng vào 01) được đặt
vào bit D0, tín hiệu sẵn sàng của thiết bị ngoại vi số 2 (cổng vào 02) được đặt vào bit D1. Các
thiết bị này sẽ có giá trị 1 khi thiết bị ngoại vi tương ứng ở trạng thái sẵn sàng làm việc với
CPU và chúng sẽ được đưa vào Bus dữ liệu khi CPU đọc nó bằng lệnh đọc cổng vào số 0.

-45-
4.3.2. Vào ra điều khiển bằng Ngắt
Ngắt và điều khiển ngắt
Trong cách tổ chức trao đổi dữ liệu thông qua việc thăm dò trạng thái sẵn sàng của thiết
bị ngoại vi, trước khi tiến hành bất kỳ một cuộc trao đổi dữ liệu nào CPU phải để toàn bộ thời
gian vào việc xác định trạng thái sẵn sàng làm việc của thiết bị ngoại vi. Trong hệ thống vi xử
lý với cách làm việc như vậy, thông thường CPU được thiết kế chủ yếu chỉ là để phục vụ cho
việc vào ra dữ liệu và thực hiện các xử lý liên quan.
Trong thực tế CPU luôn có nhu cầu từ người dùng là tận dụng khả năng làm việc của
CPU để làm thêm nhiều công việc khác nữa. Chỉ tới khi nào có yêu cầu trao đổi dữ liệu thì
mới yêu cầu CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dữ liệu. Sau khi hoàn
thành việc trao đổi dữ liệu CPU sẽ quay về để làm tiếp công việc hiện đang bị gián đoạn.
Cách làm này gọi là ngắt CPU để trao đổi dữ liệu.
Như vậy một hệ thống với cách hoạt động theo kiểu này có thể đáp ứng được rất nhanh
các yêu cầu trao đổi dữ liệu trong khi vẫn có thể làm được các công việc khác. Muốn đạt được
điều này, ta phải có cách tổ chức hệ thống sao cho có thể tận dụng được khả năng thực hiện
các chương trình phục vụ ngắt tại các địa chỉ xác định của CPU.
Các loại ngắt trong 8088
Trong hệ vi xử lý 8088 có thể xếp các nguyên nhân gây ra ngắt CPU vào 3 nhóm sau:
Nhóm các ngắt cứng:
Đó là các yêu cầu ngắt CPU do tín hiệu ngắt đến từ các chân INTR và NMI.
- Ngắt cứng NMI là yêu cầu ngắt không che được, tương đương với ngắt INT2. Các
lệnh CLI (xoá cờ IF) và STI (lập cờ IF) không có ảnh hưởng đến việc nhận biết tín hiệu yêu
cầu ngắt NMI.
- Ngắt cứng INTR là yêu cầu ngắt che được, các lệnh CLI và STI có ảnh hưởng trực tiếp
tới trạng thái của cờ IF trong bộ vi xử lý, tức là ảnh hưởng tới việc CPU có nhân biết yêu cầu
ngắt tại chân này hay không. Yêu cầu ngắt tại chân INTR có thể có kiểu ngắt N nằm trong
khoảng 0 - FFh. Kiểu ngắt này phải được đưa vào Bus dữ liệu để CPU có thể đọc được khi có
xung INTA trong chu kỳ trả lời chấp nhận ngắt.
Nhóm các ngắt mềm:
Khi CPU thực hiện các lệnh ngắt dạng INT N, trong đó N là số hiệu (kiểu) ngắt nằm
trong khoảng 00-FFh (0-225).

-46-
Nhóm các hiện tượng ngoại lệ đó là: các ngắt do các lỗi nảy sinh trong quá trình hoạt
động của CPU như phép chia cho 0, xảy ra tràn khi tính toán ...
Yêu cầu ngắt sẽ được kiểm tra thường xuyên tại chu kỳ đồng hồ cuối cùng của mỗi
lệnh. Cách đơn giản để đưa được số hiệu ngắt N vào Bus dữ liệu trong khi cũng tạo ra yêu cầu
ngắt đưa vào chân INTR của bộ vi xử lý 8088
Các ngắt khác:
Các ngắt xảy ra khi CPU phát hiện ra lỗi nhưng không khắc phục được lỗi đó.
Đưa số hiệu ngắt vào Bus dữ liệu
Giả thiết trong một thời điểm nhất định chỉ có một yêu cầu ngắt IRi được tác động và
khi đó ở đầu ra của mạch NAND sẽ có xung yêu cầu ngắt đến CPU. Tín hiệu IRi được đồng
thời đưa qua mạch khuếch đại đệm để tạo ra số hiệu ngắt tương ứng, số hiệu ngắt này sẽ được
CPU đọc vào khi nó đưa ra tín hiệu trả lời INTA.
Đáp ứng của CPU khi có yêu cầu ngắt
Về mặt cấu trúc chương trình, khi có ngắt xảy ra thì chương trình chính (CTC) liên hệ
với chương trình con phục vụ ngắt (CTCPVN), điều này được mô tả trên hình dưới đây.

Trong thực tế các ngắt mềm INT N đã bao trùm các loại khác CPU bởi vì INTEL đã
quy định một số kiểu ngắt đặc biệt được xếp vào đầu dãy ngắt mềm INT N:
o INT 0: ngắt mềm do phép chia cho số 0 gây ra.
o INT 1: Ngắt mềm để chạy từng lệnh ứng với trường hợp cờ TF = 1
o INT 2: Ngắt cứng do tín hiệu tích cực tại chân NMI gây ra
o INT3: Ngắt mềm để đặt điểm dừng của chương trình tại một địa chỉ nào đó
o INT4 (hoặc lệnh INTO): Ngắt mềm ứng với trường hợp cờ tràn OF = 1
Các kiểu ngắt khác còn lại thì được dành cho INTEL và cho người sử dụng (IBM không
hoàn toàn tuân thủ các quy định này khi chế tạo các máy PC/XT và PC/AT)
o INT5 – INT 1FH: Dành riêng cho INTEL trong các bộ vi xử lý cao cấp khác.
o INT20 – INT FFH: dành cho người sử dụng.
Các kiểu ngắt N trong INT N đều tương ứng với các địa chỉ xác định của CTCPVN mà
ta có thể tra được trong bảng các véc tơ ngắt. INTEL quy định bảng này nằm trong RAM bắt
đầu từ địa chỉ 00000H và dài 1KB (8088 có tất cả 256 kiểu ngắt, mỗi kiểu ngắt ứng với một
vectơ ngắt, mỗi véc tơ ngắt cần có 4 Byte để chứa địa chỉ đầy đủ cho CS : IP của CTCPVN.
Xử lý ưu tiên khi ngắt
Một yêu cầu quan trọng đặt ra là, đòi hỏi CPU phải có khả năng xử lý được các yêu cầu
ngắt nếu tại cùng một thời điểm có nhiều yêu cầu ngắt thuộc các loại ngắt khác nhau, đòi hỏi
CPU thực hiện phục vụ. Vấn đề giải quyết theo cách sau: CPU sẽ xử lý các yêu cầu ngắt theo

-47-
thứ thự ưu tiên với nguyên tắc ngắt nào có mức ưu tiên cao nhất sẽ được CPU nhận biết và
phục vụ trước.
Thông thường ngay từ khi chế tạo CPU 8088 có khả năng phân biệt các mức ưu tiên
khác nhau cho các loại ngắt (theo thứ tự từ cao xuống thấp) như sau:

4.3.3. Vào ra điều khiển bằng DMA

Khác với trao đổi tin theo chương trình do VXL điều khiển theo từng lệnh vào ra giữa
thanh ghi chứa AX của VXL với cửa vào-ra của TBN, trao đổi tin DMA do khối điều khiển
trao đổi trực tiếp khối nhớ DMAC điều khiển.
Đây là phương pháp trao đổi tin nhanh, cho một lượng lớn tin trực tiếp giữa khối nhớ M
và cửa vào ra TBN, không qua VXL. Phương pháp này thường dùng để đưa tin từ khối khớ ra
màn hình hoặc trao đổi giữa khối nhớ và đĩa từ. Khối điều khiển DMAC có thể thiết kế chế
tạo bởi vi mạch rời hoặc IC lớn như 8237,82C37.
Yêu cầu trao đổi tin DMA của các TBN
* Nhược điểm của phương pháp trao đổi tin theo CT.
Muốn trao đổi tin của Khối nhớ M và TBN nào đó ta cần:
 Đưa địa chỉ khối nhớ
 Phát lệnh đọc/ghi khối nhớ để trao đổi với thanh ghi chứa AX của VXL.
 Đưa địa chỉ của cửa nối với TBN
 Phát lệnh trao đổi tin (IN/OUT) giữa thanh ghi chứa AX với của vào-ra của TBN.
Như vậy phải có 4 lệnh và trao đổi tin giữa khối nhớ và TBN phải thông qua thanh
ghi chứa vủa VXL. Thời gian trao đổi tin lớn vì:
 VXL phải giải mã lệnh và thực hiện lệnh.
 Trao đổi thông qua thanh ghi chứa AX trung gian.
* Yêu cầu trao đổi tin nhanh.
Trong hệ MVT có hai thiết bị là màn hình và đĩa từ đòi hỏi trao đổi một lượng tin lớn
trong thời gian nhỏ. do đó phải dùng giải pháp cứng để điều khiển sự trao đổi tin (không dùng
phần mềm). Đặc điểm của giải pháp DMA này là:

-48-
- Khối DMAC hoàn toàn thay thế VXL để điều khiển sự trao đổi tin, nói cách khác
DMAC hoàn toàn dành quyền sử dụng bus trong quá trình trao đổi.
- VXL bị cô lập, bị treo không hoạt động, tức trạng thái điện trở cao, không liên hệ bus
bên ngoài.
- Khi trao đổi tin xong DMAC lại trả lại quyền sử dụng Bus cho VXL.
Thủ tục trao đổi tin DMA.
DMAC điều khiển sự trao đổi DMA giữa khối nhớ M và TBN, không có sự tham gia
của VXL (bị treo hay cô lập đường dây) theo thủ tục có trình tự sau:
TBN đưa yêu cầu DRQ cho DMAC. DMAC ghi nhận (nếu chưa có ghi che, chắn
trước), xét thứ tự ưu tiên (nếu có nhiều yêu cầu DRQ vào đồng thời) và đưa yêu cầu cho
VXL, đề nghị chiếm giữ đường dây bởi một trong hai tín hiệu sau:
 Tín hiệu Hold (cho các VXL 8085,8086 ở chế độ MIN)
 Tín hiệu RQ0 (ở chế độ MAX của 8086)
VXL hoàn thành lệnh đang thực hiện, ngắt chương trình để chuyển sang chương trình
con khởi phát DMA (ghi địa chỉ ban đầu khối nhớ, số lời trao đổi, hướng thay đổi địa chỉ) và
đưa ra tín hiệu xác nhận DMA (GT0, GT1 hay HLDA) và tự treo ở trạng thái điện trở cao (cô
lập) để nhường quyền sử dụng BUS cho DMAC.
DMAC tiến hành:
 Đưa tín hiệu xác nhận DACK cho TBN
 Tiến hành trao đổi DMA cho tới khi kết thúc (đếm lời trao đổi trở về 0)
 Kết thúc tín hiệu HOLD, trả quyền điều khiển bus cho VXL
 VXL nhận biết sự kết thúc tín hiệu HOLD và kết thúc tín hiệu HLDA, dành lại
quyền điều khiển Bus.
Các chế độ trao đổi DMA
* Trao đổi tin khối :
Trao đổi nhiều (khối) lời tin lần lượt từ giá trị đếm lời tin n tới 0 (hết)
* Trao đổi lấy nén chu kỳ từng phần:
DMAC phát hiện đường dây bus rỗi (VXL không sử dụng đường dây bus) thực hiện
trao đổi DMA.
DMAC phải có :
 Thiết bị phát hiện đường dây rỗi
 Thiết bị bảo đảm VXL bị treo cho tới khi DMAC không sử dụng bus, khiến VXL
chờ một thời gian Tw tới khi DMAC thực hiện trao đổi xong một phần của trao đổi
tin và tiếp tục nốt ở phần lấy lén chu kỳ sau cho tới khi kết thúc trao đổi tin khối tin
DMA.
* Lấy lén chu kỳ trong suốt:
Chế độ này cũng giống chế độ trên là lấy lén chu kỳ nhưng bắt VXL chờ với Tw lớn
hơn cho tới khi trao đổi xong một khối tin trọn vẹn.

-49-
Chương V. THIẾT BỊ NHẬP DỮ LIỆU
5.1. Bàn phím
Bàn phím là một thiết bị ngoại vi dùng để giao tiếp giữa
người và máy tính (dùng để nhập số liệu, chương trình hoặc ra
lệnh cho máy ...). Bàn phím sẽ đưa tín hiệu vào máy tính dạng
mã lệnh chuẩn ASCII(American Standard Codefor Infomation
Interchange)
Chức năng chung của bàn phím:
 Phát hiện sự ấn phím
 Khử rung
 Mã hoá phím
Cấu tạo các phím trên bàn phím có thể cấu theo các loại sau:
 Loại tiếp xúc bằng tiếp điểm trực tiếp Ưu điểm :đơn giản dễ chế tạo
Nhược điểm: độ nhạy kém, tiếp điểm chóng mòn (vì hay bị đánh tia lửa địên)
 Phím điện dung
Dựa trên nguyên lí thay dổi điện trường
Khi phím được nhấn khoảng cách ba má sít lại gần nhau làm thay đổi cường độ điện
t rường
Ưu điểm: độ nhạy cao
Nhược điểm: cần một thiết bị điện tử để đảm nhận dạng phím nhấn nên giá thành cao
 Phím điện cảm:
Khi phím được nhấn, lõi thép cọ sát vào nhau tạo ra một xuất điện động cảm ứng và sinh ra
dòng điện cảm ứng.
Khi có dòng điện cảm ứng,mã tín hiệu thay đổi vì vậy biết phím nào được nhấn Ưu điểm độ
nhạy cao.
Nhược điểm chế tạo phức tạp
 Phím màng mỏng:
Mạch in được chế tạo tích hợp ngay trên một tấm mika hoặc pherit. ưu điểm đơn giản độ
nhạy cao

1. tiếp xúc 2. điện dung 3. điện cảm


5.1.1. Kĩ thuật dò phím
Bàn phím được tổ chức thành ma trận các phím bấm, được sắp xếp theo hàng và cột.
Ma trận phím gồm các dãy hàng và dãy cột giao nhau nhưng không tiếp xúc nhau. Các
công tắc phím được đặt ở chỗ giao nhau của hàng và cột. Hai tiếp điểm của công tắc phím nẳm ở
trên hàng vào cột tại chỗ giao nhau của nó. Mỗi khi phím được nhấn thì hai dãy hàng và cột được
nối với nhau qua tiếp điểm của công tắc tại chỗ giao nhau.
5V

-50-
Out7 Out1
5.1.2. Kĩ thuật quét phím (Scan)
Mỗi phím bấm trên bàn phím tương ứng với một công tắc đấu chập giữa một chân hàng A
và chân cột B , như vậy mỗi phím có một địa chỉ hàng và cột duy nhất. Chíp vi điều khiển của
bàn phím luôn theo dõi, xem xét trạng thái của tất cả các phím theo hàng, cột. Khi 1 phím được
nhấn, thông tin về hàng và cột của công tắc phím đó sẽ được gửi về chíp vi điều khiển, hoạt động
này gọi là quét phím. Thời gian quét phím nhỏ hơn nhiều so với thời gian nhấn một phím.
Mỗi khi có một phím được nhấn, gửi về ma trận mã quét của phím bằng một ngắt IRQ và
CPU sẽ đọc cổng 60h để biết tác động phím nào đã xảy ra.
ROMBIOS sẽ chuyển đổi mã quét đó thành từ mã dài hai byte: byte thấp chứa mã ASCII,
byte cao chứa mã quét của phím, sau đó đặt mã hai byte này vào hàng đợi bàn phím.
Các mã hai byte sau khi được lưu trong bộ đệm sẽ chờ cho tới khi có một chương trình nào
đó lấy dần ra xử lí.
Tên phím Mã quét nhị phân Mã ASCII tương ứng
A 0001 1110 0100 0001
S 0001 1111 0101 0011
D 0010 0000 0100 0100
F 0010 0001 0100 0110
G 0010 0010 0100 0111
H 0010 0011 0100 1000

Với các tổ hợp phím nóng, chức năng tổ hợp được coi như một lệnh và được xử lí tức thì.
Riêng tổ hợp phím CTRL + ALT + DEL luôn được kiểm tra khi có tác động của phím gửi về
CPU.

5.2. Chuột
Chuột là thiết bị trỏ trên màn hình, chuột xuất hiện trong màn hình hệ điều hành (window)
với giao diện đồ họa, Các trình điều khiển chuột thường được tích hợp trong các hệ điều hành,
hiện nay có loại chuột phổ biến là chuột quang .
Chuột quang hoạt động theo nguyên tắc quang học, chuột không có bi mà thay vào đó là
một lỗ để chiếu và phản chiếu ánh sáng đỏ .

-51-
Cấu tạo bên trong chuột quang
- Bộ phận quan trọng nhất của chuột quang là hệ thống phát quang và cảm quang, Diode
phát ra ánh sáng chiếu lên bề mặt bàn, ảnh bề mặt sẽ được thấu kính hội tụ, hội tụ trên
bộ phận cảm quang .
- Bên cạnh bộ phận quang học là bi xoay và các công tắc như chuột thông thường .
Nguyên tắc hoạt động của chuột quang

- Diode phát quang phát ra ánh sáng đỏ chiếu lên bề mặt của tấm di chuột , ảnh của bề
mặt tấm di chuột được thấu kính hội tụ lên bề mặt của bộ phận cảm quang, bộ phận
cảm quang sẽ phân tích sự dịch chuyển của bức ảnh => tạo thành tín hiệu điện gửi về
máy tính.
- + Diode phát quang có hai chế độ sáng, chế độ sáng yếu Diode được cung cấp khoảng
0,3V . Chế độ sáng mạnh Diode được cung cấp khoảng 2,2V .
- + Khi ta không di chuyển chuột thì sau khoảng 3 giây Diode sẽ tự chuyển sang chế độ
tối để giảm cường độ phát xạ làm tăng tuổi thọ của Diode .

CÂU HỎI VÀ BÀI TẬP


5.1. Trình bày kỹ thuật dò phím.
5.2. Trình bày kỹ thuật quét phím

-52-
Chương VI. THIẾT BỊ XUẤT DỮ LIỆU
6.1. Những khái niệm cơ bản
Đối với các máy tính hiện nay, phương tiện đối thoại chủ yếu người máy là bàn phím và
màn hình. Màn hình là phương tiện hiển thị thông tin thuận lợi và kinh tế. Thông tin hiển thị là
chữ, số (text), hoặc đồ hoạ (graphic).
Có hai loại màn hình đang được dùng phổ biến là: màn hình tia âm cực (CRT- Cathode ray
tube) và màn hình tinh thể lỏng (LCD-Liquid Crystal Display).
Lại CRT thông dụng hơn do giá thành thấp và có khả năng hiển thị thông tin phong phú,
đồng thời việc điều khiển CRT đã do các mạch LSI đảm nhiệm.
Màn hình LCD có ưu điểm nhẹ mỏng, tiêu thụ ít năng lượng nhưng có giá thành cao.
6.1.1. Nguyên lý của phương pháp hiển thị hình ảnh video
Khả năng phân giải hữu hạn của mắt người
Khả năng phân giải của mắt người là khoảng 1'(góc 1 phút), nghĩa là nếu chúng ta nhìn 2
điểm dưới một góc nhỏ hơn 1' thì sẽ cảm nhận thấy chúng dính vào nhau, góc đó còn được gọi là
góc phân giải. Điều này hết sức quan trọng đối với việc hiển thị thông tin, vì chúng ta chỉ cần
hiển thị một số hữu hạn điểm của màn hình ở một khoảng cách nào đó, chúng ta vẫn có cảm giác
hình ảnh là mịn.
Hiện tượng lưu ảnh trên võng mạc
Khi một hình ảnh hiện rồi lại tắt với tần số lớn hơn 25lần/giây, mắt người không nhận ra
được sự nhấp nháy đó và có cảm giác hình ảnh tồn tại liên tục. Đó là hiện tượng lưu ảnh trên
võng mạc.
6.1.2. Những đặc điểm chung của màn hình
Điểm ảnh pixel.
Điểm ảnh pixel là phần tử nhỏ nhất của một ảnh hay một thiết bị hiển thị ảnh. 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 phốt pho.
 Chiều dày lớp phốt pho.
Đối với màn hình màu, kích thước một điểm ảnh gần bằng kích thước của ba điểm màu:
xanh lục, đỏ, xanh nước biển.
Kích thước ngang và dọc với đơn vị là 1 đ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
Độ 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
centimét), được gọi là mật độ điểm ảnh. Mật độ điểm ảnh viết tắt là dpi(dot per inch).
Độ sáng (brighness)
Độ sáng là giá trị phát sáng tương đối của vật liệu so với một vật liệu màu trắng chuẩn. Độ
phát sáng của màn hình phát sáng như ống tia âm cực được coi là độ sáng.
Độ tương phản
Là tỉ lệ giữa độ sáng hay độ phát sáng giữa hai trạng thái đóng và mở của phần tử hiển thị
(điểm ảnh). Độ tương phản cho biết khả năng phân biệt hai phần tử này .
Độ sâu màu

-53-
Một màu bất kỳ có thể biểu diễn qua 3 màu cơ bản: đỏ, xanh lục, xanh nước biển tuỳ theo
độ đậm nhạt (gray scale). Độ sâu màu là số màu có thể hiển thị được cho một điểm ảnh.
Tuỳ theo số bít 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)
 High color 16 bit
 True color 24 bit.
Tần số làm tươi
Tần số làm tươi chính là tôc độ quét màn hình
flt=30Hz đến 60Hz.

6.2. Màn hình LCD


6.2.1. Nguyên lý
LCD là tên viết tắt của Liquid Crystal Display hay còn gọi là màn hình tinh thể lỏng. Đây
loại thiết bị hiển thị cấu tạo bởi các điểm ảnh chứa tinh thể lỏng có khả năng thay đổi tính phân
cực của ánh sáng.
Tinh thể lỏng không có cấu trúc mạng tinh thể cố định như các vật rắn, mà các phân tử có
thể chuyển động tự do trong một phạm vi hẹp như một chất lỏng. Các phân tử trong tinh thể lỏng
liên kết với nhau theo từng nhóm và giữa các nhóm có sự liên kết và định hướng nhất định, làm
cho cấu trúc của chúng có phần giống cấu trúc tinh thể. Vật liệu tinh thể lỏng có một tính chất
đặc biệt là có thể làm thay đổi phương phân cực của ánh sáng truyền qua nó, tuỳ thuộc vào độ
xoắn của các chùm phân tử. Độ xoắn này có thể điều chỉnh bằng cách thay đổi điện áp đặt vào
hai đầu tinh thể lỏng.
Ở trạng thái tự nhiên, các phần tử tinh thể lỏng sắp xếp không theo trật tự nào cả. Khi được
tiếp cận với bề mặt có khe rãnh, các phần tử tinh thể lỏng sắp xếp song song dọc theo khe rãnh.

Khi các tinh thể lỏng đan xen vào giữa các phiến trên và phiến dưới
chúng sắp xếp thẳng hàng với khe rãnh lần lượt theo hướng "a" và "b".
Các phần tử phía trên dọc theo chiều "a" còn phía dưới dọc theo
chiều khác là "b" đẩy tinh thể lỏng sắp xếp theo một cấu trúc xoay 90o.
Ánh sáng xuyên qua vùng không gian (khoảng trống) của phần tử
sắp xếp. Ánh sáng cũng xoay khi xuyên suốt, hệt như các tinh thể lỏng
xoay.
Ánh sáng xuyên qua các tinh thể lỏng, tiếp đó hướng vào các phần tử
đã sắp xếp xoay 90o như hình vẽ => ánh sáng cũng xoay 90o xuyên qua các
tinh thể lỏng.
Ánh sáng bẻ uốn cong 90o như các phân tử khi xoay.
Các phần tử sẽ sắp xếp khi có điện trường đặt vào. Khi có điện
trường đặt vào, tinh thể lỏng cấu trúc lại làm xoay ánh sáng khi xuyên
qua.

-54-
Cấu trúc phân tử trong các tinh thể lỏng sắp xếp một cách dễ dàng khi có điện trường đặt
vào hoặc điện cực Anod ngoài tác dụng. Khi có điện áp đặt vào các phân tử tự sắp xếp theo chiều
dọc (dọc theo điện trường) và ánh sáng cũng xuyên suốt dọc theo chiều sắp xếp của phân tử.
Khi có điện áp đặt vào, kết hợp cả 2 bộ lọc phân cực làm xoay tinh thể lỏng trở thành 1
hiển thị LCD
Ánh sáng sẽ xuyên qua khi hai bộ lọc phân cực sắp xếp với trục phân cực như hình vẽ trái.
Ánh sáng sẽ bị chặn khi 2 bộ lọc phân cực sắp xếp với trục phân cực như hình vẽ phải. Kết hợp
cả hai bộ lọc phân cực và sự xoay của tinh thể lỏng tạo lên một màn hình tinh thể lỏng.

- Polarizing Filters: Bộ lọc phân cực.


- Alighnment layers: Sắp xếp lớp.
- Voltage: Điện áp.
- Light: Ánh sáng.
Khi hai bộ lọc phân cực sắp xếp dọc suốt theo hướng vuông góc với trục điện cực, ánh
sáng đi vào từ phía trên, đổi hướng 90o dọc theo hướng đường hình soắn ốc của các phân tử tinh
thể lỏng, vì vậy ánh sáng xuyên qua bộ lọc dưới.
Khi có điện áp đặt vào, các phân tử tinh thể lỏng nắn thẳng trên đường ra từ hình đường
soắn ốc và dừng, đổi hướng rẽ của ánh sáng, do vậy đã ngăn cản ánh sáng xuyên qua bộ lọc dưới
(bộ lọc thấp)
Hình vẽ miêu tả nguyên lý điển hình xoay màn hình tinh thể lỏng trong LCD, các tinh thể
lỏng nơi mà các phân tử xoay hình đường soắn ốc là đan xen giữa hai bộ lọc điện cực (phân cực).
Khi có điện áp đặt vào ánh sáng bị chắn và màn hình xuất hiện đen.
6.2.2. Cấu trúc LCD monitor
Polarizing filter (Bộ lọc phân cực) Điều khiển
ánh sáng đi vào và thoát ra.
Glass substrate (Hợp chất thuỷ tinh đặc biệt)
Lọc chặn điện từ các điện cực.
Transparent electrodes (Điện cực trong suốt) Là
các thanh dẫn điện trong suốt cho phép ánh sáng
xuyên qua.
Alignment layer (Sắp xếp lớp) Là hai bề mặt có
rãnh, ở giữa là các phân tử tinh thể lỏng, Các phân tử
được sắp xếp theo hình soắn ốc 90o.

-55-
Liquid crystals (Các tinh thể lỏng).
Spacer (Khoảng trống) Duy trì khoảng cách đều giữa các tấm kính.
Color filter (Bộ lọc màu) Màu được lọc và thể hiện khi dùng các bộ lọc R, G và B.
Backlighting (Ánh sáng phía sau) Ánh sáng được chiếu từ phía sau màn hình xuyên qua
các lớp trên, ở màn hình điện thoại, người ta sử dụng ánh sáng chiếu từ xung quanh sau đó dùng

lớp phản xạ để hướng ánh sáng chiếu thẳng góc với màn hình từ sau về phía trước.

-56-
6.3. Màn hình màu CRT (Cathod Ray Tube)
Màn hình ống tia âm cực CRT (Cathod Ray Tube) là màn hình cổ điển và thông dụng nhất
hiện nay.
6.3.1. Cấu tạo
Màn hình màu thực chất gồm 3 ống hình đơn sắc chung trong một vỏ gồm:
3 sợi đốt để điều khiển 3 chùm tia khác nhau (đỏ, xanh lơ, lục)
 Màn hình phốt pho phải được quét thành từng nhóm 3 vạch thẳng đứng (tương ứng với
3 màu) thay cho các điểm.
 Thẳng theo các vạch là một mặt nạ bằng kim loại có các lỗ (hay các khe dọc) để cho 3
chùm tia điện tử đi qua tạo thành 3 điểm riêng rẽ gần nhau tạo thành 3 chấm sáng: R,
G, B, có 3 núm điều chỉnh độ sáng, tối ứng với 3 màu trên.
Vị trí đặt các màu cho ta công nghệ tương ứng:
 Các chấm sáng theo hàng ngang: PIL (Pricision In Line)
 Các chấm sáng theo tam giác đều: Trinitron.
Sơ đồ cấu tạo CRT

Bộ phận súng điện tử


Gồm 3 súng điện tử có nhiệm vụ bắn ra 3 chùm tia điện tử mảnh,chuyển động đủ nhanh
bay lên đập vào một điểm của lớp huỳnh quang trên màn hình, làm cho điểm đó phát sáng.
Các bộ phận chính của súng điện tử:
Ca-tốt: catốt của CRT khi được đốt nóng sẽ phát xạ ra một đám mây điện tử.
 Các điện cực gia tốc cho chùm tia điện tử. Điện cực Anot nằm trên màn hình có
tác dụng gia tốc cho chùm tia điện tử. Hiệu điện thế đặt lên 2 cực từ 14 nghìn V
đến 25.000V.
 Hệ thống các điện cực hội tụ chùm tia điện tử (G2 và G3) có tác dụng làm cho
chùm tia điện tử hội tụ lại thành một tia rất mảnh. Ngoài ra chúng cũng có tác
dụng tăng tốc cho chùm tia điện tử.
Hệ thống lái tia:
 Việc lái tia điện tử được thực hiện bằng điện trường hoặc từ trường. Thông
thường việc lái tia điện tử được thực hiện bằng từ trường. Gần cổ đèn hình người
ta đặt 2 cặp cuộn dây song song với nhau và cho các dòng điện có dạng biến thiên
phù hợp, có tần số nhất định chạy qua, dòng điện sẽ tạo ra từ trường biến thiên
theo phương trùng với trục của cuộn dây.. Trong lòng đèn hình có 2 vectơ từ
trường theo phương nằm ngang và thẳng đứng, chúng tác động lên chùm tia điện
tử, làm lệch hướng theo quy luật của dòng điện trong các cặp cuộn dây.
Điều chế dòng tia điện tử
Khi súng điện tử quét lần lượt các dòng của mành, nếu làm thay đổi cường độ của chùm tia
điện tử theo qui luật thay đổi của tín hiệu hình ảnh nơi phát đi, thì sẽ tái tạo lại hình ảnh trên màn

-57-
hình. Việc điều khiển dòng điện tử theo quy luật của hình ảnh cần hiển thị được gọi là điều chế
dòng điện tử.
Điện cực lưới G1 làm nhiệm vụ lưới điều khiển, nếu đặt giữa G1 và catốt một điện áp thay
đổi theo quy luật thay đổi tín hiệu của hình ảnh thì dòng điện tử của súng điện tử sẽ bị điều chế
theo quy luật của tín hiệu.
6.3.2. Phương pháp quét dòng
Dựa vào độ phân giải hữu hạn của hiện tượng lưu ảnh trên võng mạc của mắt người, người
ta đã xây dựng nên phương pháp quét dòng để hiển thị hình ảnh.
Màn hình được chia thành một số hữu hạn dòng, tập các dòng tạo nên hình ảnh.
Đường quét

Đường hồi ngang

Đường hồi dọc

6.3.3. Sơ đồ ghép nối và hoạt động: Clk

CPU MUX DM CRTC CG Shift

Syn
Giải

thuộc
tính

CRTC (CRT Controller): đơn vị điều khiển màn hình. Số kiệu sẽ được thể hiện trên màn
hình từ bộ nhớ màn hình hay CPU gửi qua bộ tạo chữ CG để:
 Điều khiển kiểu và vị trí con trỏ màn hình
 Định chế độ dòng, màn hình và số ảnh trên một giây
DM (Display Memory): ghi thông tin sẽ được thể hiện trên màn hinhg trong chế độ Text.
CG (Character General): lưu trữ các mẫu bit của kí tự, các Font chữ trong chế độ Text.
Bộ Shift:
 Nhận số liệu từ CG và đẩy ra tín hiệu Video
 Kết hợp với bộ giải mã thuộc tính để tạo ra các tín hiệu cho súng RGB
 Kết hợp với các tín hiệu đồng bộ từ CRTC để đưa ra tín hiệu hỗn hợp.
6.3.4. Kĩ thuật làm tươi hình ảnh
Làm tươi (Refresh): quá trình hiện hình ảnh lặp đi lặp lại liên tục với một tần suất đủ lớn
để mắt người không cảm thấy lập loè.

-58-
Nguyên tắc: chuyển nội dung bộ nhớ lên màn hình dùng phương pháp DMA
Sơ đồ:
CPU RAM DMAC

Buffer #1
MUX MUX

Buffer #2

Khi DMAC nạp số liệu vào bộ đệm Buffer #1 thì bộ đệm Buffer #2 đã được nạp đầy trước
đó đẩy nội dung của màn hình ra bộ tạo chữ CG, sau đó đến lượt Buffer #1. Quá trình làm tươi
được tiếp tục với sự đổi hướng của hai bộ dồn kênh MUX.

6.3. Máy in Laser


Máy in laser là thiết bị in sử dụng tia laser trong quá trình tạo bản in. Nguyên tắc cơ bản
của máy in laser ( laser printer) dựa trên công nghệ ghi ảnh bằng hiện tượng điện quang
(xerography hoặc electrophotography) do nhà vật lý CF Carlson (Mỹ) phát minh năm 1937. Máy
in laser hoạt động theo nguyên lý là thông tin (ký tự, hình ảnh ...) từ máy vi tính sẽ được một
dụng cụ đọc và dịch ra thành một loạt tia laser (theo một lối nhất định). Tia laser này sẽ chiếu lên
một bộ quay (nó sẽ cuốn giấy và đặt biệt hơn là nó chứa tĩnh điện). Bộ quay này cũng tiếp giáp
với một trục quay khác chứa mực. Khi quay những chỗ nào có tia laser chiếu lên thì mực sẽ thấm
vào giấy còn những chỗ khác thì không.
Qui trình in của một máy laser bắt đầu từ bộ nguồn phát là diode laser. Chùm tia laser phát
ra được hướng xuyên qua một hệ thống các thấu kính hội tụ và gương để sau cùng đập vào mặt
trống in. Vùng trên trống tiếp nhận tia laser sẽ trở thành một ảnh điện. Tia laser sẽ liên tục phát,
rồi tắt khi nó quét trên mặt trống. Tần số chớp tắt này của tia laser được gọi tên là "ĐIỂM trên
inch" (dot per inch- dpi), cũng chính là thông số quyết định độ phân giải cho trang in ( dpi càng
cao, chất lượng trang in càng đẹp).

Các máy in laser hoạt động bằng cách đặt mực toner (toner: chất mực dạng bột có khả
năng tích điện) trên một trống quay (drum) được tích điện, rồi sau đó chuyển mực toner lên
giấy in khi tờ giấy này dịch chuyển qua hệ thống ở cùng một tốc độ với trống quay.
Trình tự in:

-59-
1) Làm sạch: Là công đoạn làm sạch trống in đề tiếp nhận ảnh, do hai lưỡi dao, một để
cạo sạch các mực thừa còn dính trên trống, lưỡi thứ hai thu các mực thừa này vào
ngăn chứa.
2) Tích điện: sau khi trống được được làm sạch, nó sẽ được tích điện để nhận ảnh từ
tia laser. Một roulô tích điện sơ cấp (PCR) sẽ tì sát vào trống, ion-hoá không khí,
tạo điều kiện cho nguồn điện âm, một chiều, tích lên trống. Nếu điện tích âm này
không đồng nhất, không đủ điện áp, thì mực in sẽ bị hút đến những nơi không
mong muốn, hoặc không đến được những nơi mong muốn.
3) Chép: Trong công đoạn chép, tia laser sẽ làm phóng thích điện tích âm, một chiều
trên trống, tạo ra một ảnh ẩn. Chính ảnh ẩn có điện áp thấp này ( -130V) sẽ tạo lực
hút mực in.
4) Rửa ảnh: ảnh ẩn này sẽ được "rửa" để thành một ảnh có thể nhìn thấy. Mực in được
hút về roulô rửa ảnh hoặc bằng nam châm trong, ( công nghệ của Canon) hay bằng
phóng tĩnh điện ( công nghệ Lexmark).
5) Chuyển ảnh lên giấy: Đến đây ảnh trên trống in được chuyển sang trang giấy khi nó
áp lên trống. Giấy được áp một điện tích dương từ phía sau lưng, sẽ hút mực từ
trống sang. Nếu điện tích yếu bản in sẽ mờ nhạt, đồng thời tạo ra nhiều mực thừa.
6) Định hình: Còn gọi là "nung chảy" là giai đoạn làm mực bám chặt vĩnh viễn vào
giấy bằng nhiệt Một roulô nhiệt tạo nhiệt độ đến 180oC làm nung chảy các hạt mực
để nó bám chết vào giấy.

CÂU HỎI VÀ BÀI TẬP


6.1. Trình bày các nguyên lý của phương pháp hiển thị hình ảnh video
6.2. Trình bày những đặc điểm chung của màn hình
6.3. Trình bày cấu tạo, nguyên lý hoạt động của màn hình CRT màu
6.4. Trình bày sơ đồ tổng quát, nguyên lý hoạt động của khối ghép nối điều khiển màn hình
CRT.
6.5. Trình bày kỹ thuật làm tươi màn hình

-60-
Chương VII. THIẾT BỊ LƯU TRỮ
7.1. Giới thiệu chung
Bộ nhớ ngoài: lưu trữ dữ liệu và chương trình của người sử dụng
Đặc điểm:
 Dung lượng lớn
 Tính lưu động cao, tiện dụng
 Tốc độ truy xuất thấp
Phân loại: đĩa từ, quang, Memory card…

7.2. Đĩa từ (Magetic)


Đĩa từ: tấm tròn mỏng, trên có phủ một lớp oxit sắt từ
 Đĩa mềm: tấm tròn bằng nhựa
 Đĩa cứng: tấm tròn bằng kim loại
Các hạt sắt từ có khả năng
 Thẩm từ (Permeable): có khả năng cho từ thông xuyên qua
 Trữ từ (Retentivity): lưu lại từ tính
Tham số:
 Đọc ghi
 Đĩa
7.2.1. Tham số đọc ghi (Đầu từ)
Nguyên tắc: nam châm điện
 Ghi từ: Dòng trên cuộn dây A-B tạo ra từ trường xác định trong lõi hình khuyên. Qua
khe hở từ thông của từ trường đi xuyên xuống lớp oxit sắt từ sắp xếp lại các hạt chất sắt
từ của lớp oxit sắt chạy qua khe hở đầu từ theo một hướng nhất định => ghi thông tin
lên đĩa
 Đọc: sự thay đổi chiều sắp xếp các phần tử từ dọc theo đường ghi sẽ tạo nên sự thay đổi
chiều của từ trường trong lõi đầu từ thông qua khe hở đầu từ, sinh ra dòng điện cảm ứng
trong cuộn dây AB. Dòng trên cuộn dây AB sẽ mang thông tin đã được ghi trên đĩa
chuyển động theo hình vành khuyên => đọc được các thông tin đó.

7.2.2. Đĩa cứng – HDD


Ổ đĩa cứng, hay còn gọi là ổ cứng (tiếng Anh: Hard Disk Drive, viết tắt: HDD) là thiết bị
dùng để lưu trữ dữ liệu trên bề mặt các tấm đĩa hình tròn (bằng nhôm, thủy tinh hay gốm) phủ

-61-
vật liệu từ tính. Ổ đĩa cứng là loại bộ nhớ “không thay đổi” (non-volatile), có nghĩa là chúng
không bị mất dữ liệu khi ngừng cung cấp nguồn điện cho chúng.
Về mặt kỹ thuật thì ổ đĩa cứng là một khối duy nhất, các phiến đĩa được lắp ráp cố định
trong ổ ngay từ khi sản xuất nên không thể thay thế được các “đĩa cứng”.
Ổ đĩa cứng là một thiết bị rất quan trọng trong hệ thống bởi chúng chứa dữ liệu thành quả
của một quá trình làm việc của những người sử dụng máy tính. Những sự hư hỏng của các thiết
bị khác trong hệ thống máy tính có thể sửa chữa hoặc thay thế được, nhưng dữ liệu bị mất do yếu
tố hư hỏng phần cứng của ổ đĩa cứng thường rất khó lấy lại được

Các thông số của ổ đĩa cứng


Chuẩn giao tiếp: Có nhiều chuẩn giao tiếp khác nhau giữa ổ đĩa cứng và bo mạch chủ, sự
đa dạng này một phần xuất phát từ yêu cầu tốc độ đọc/ghi dữ liệu khác nhau giữa các hệ thống
máy tính, phần còn lại do các ổ giao tiếp nhanh có giá thành cao hơn nhiều so với các chuẩn
thông dụng. Ba chuẩn thông dụng hiện nay là EIDE, SCSI, và SATA.
Dung lượng: Dung lượng của ổ đĩa cứng được tính theo các đơn vị dung lượng cơ bản
thông thường là Byte, KB, MB, GB, TB. Trước đây, khi dung lượng ổ cứng còn thấp người ta
thường dùng đơn vị là MB. Bây giờ, người ta lại dùng đơn vị là GB và trong tương lai, chắc
người ta sẽ tính theo TB. Đa số các hãng sản xuất đều tính dung lượng theo cách tính 1GB =
1000MB trong khi hệ điều hành (hoặc các phần mềm kiểm tra) lại tính 1GB = 1024MB nên dung
lượng do hệ điều hành báo cáo thường thấp hơn so với dung lượng ghi trên nhãn đĩa (ví dụ ổ đĩa
cứng 40 GB thường chỉ đạt khoảng 37-38 GB).
Tốc độ quay: Tốc độ quay của đĩa cứng được ký hiệu là rpm (revolutions per minute - số
vòng quay trong một phút). Tốc độ quay càng cao thì ổ đĩa làm việc càng nhanh do chúng thực
hiện việc đọc/ghi nhanh hơn, thời gian tìm kiếm thấp hơn. Các tốc độ quay thông dụng hiện nay
là 5.400 rpm (thông dụng với các ổ đĩa cứng 3,5” sản xuất cách đây 2-3 năm) và 7.200 rpm
(thông dụng với các ổ đĩa cứng sản xuất từ 2008). Ngoài ra, tốc độ của các ổ đĩa cứng trong các
máy tính cá nhân cao cấp, máy trạm và các máy chủ có sử dụng giao tiếp SCSI có thể lên tới
10.000 rpm hay 15.000 rpm.
Bộ nhớ đệm (cache hoặc buffer): Bộ nhớ đệm có nhiệm vụ lưu tạm dữ liệu trong quá trình
làm việc của ổ đĩa cứng nên độ lớn của bộ nhớ đệm có ảnh hưởng đáng kể tới hiệu suất hoạt
động của ổ đĩa cứng bởi việc đọc/ghi không xảy ra tức thời (do phụ thuộc vào sự di chuyển của
đầu đọc/ghi, dữ liệu được truyền tới hoặc đi) sẽ được đặt tạm trong bộ nhớ đệm.
Tốc độ truyền dữ liệu: Đa phần tốc độ truyền dữ liệu trên các chuẩn giao tiếp thấp hơn so
với thiết kế của nó bởi có nhiều thông số ảnh hưởng đến tốc độ truyền dữ liệu của ổ đĩa cứng

-62-
như: tốc độ quay của đĩa từ, số lượng đĩa từ trong ổ đĩa cứng, công nghệ chế tạo, dung lượng bộ
nhớ đệm…
Kích thước: Để đảm bảo thay thế lắp ráp vừa với các loại máy tính, kích thước của ổ đĩa
cứng được chuẩn hoá thành 6 loại là: 5,25 inch dùng trong các máy tính các thế hệ trước. 3,5
inch dùng cho các máy tính cá nhân, máy trạm, máy chủ. 2,5 inch dùng cho máy tính xách tay.
1,8 inch hoặc nhỏ hơn dùng trong các thiết bị kỹ thuật số cá nhân và PC Card. 1,0 inch dùng cho
các thiết bị siêu nhỏ (micro device).

Cấu tạo ổ đĩa cứng


Bên trong ổ cứng bao gồm các thành phần :
- Dữ liệu được lưu trữ trên bề mặt các phiến đĩa
tròn (Platters) làm bằng nhôm, thủy tinh hoặc
gốm được phủ vật liệu từ tính và lớp bảo vệ ở
cả bề mặt. Các đĩa được xếp chồng và cùng
được gắn với 1 trục motor quay nên tất cả các
đĩa đều quay cùng tốc độ.
- Trung tâm của ổ đĩa là một động cơ quay
(Spindle), truyền chuyển động để quay tròn các
đĩa từ.
- Để đọc/ghi dữ liệu : sử dụng các bộ điều khiển
truyền động (Actuator) kết hợp với các tay
truyền động (Actuator Arm), điều khiển đầu đọc
nhỏ (Slider and Read/Write Head) và các cơ
này được điều khiển bởi một bộ vi mạch nhỏ ở
ngoài, chúng điều khiển đầu đọc ghi đúng vào
vị trí trên các đĩa từ (platters) khi đĩa đang quay
ở tốc độ cao, đồng thời giải mã các tính hiệu từ
tính thành dữ liệu mà máy tính có thể hiểu
được.
Vỏ đĩa cứng:
- Vỏ ổ đĩa cứng gồm các phần: Phần đế chứa các linh kiện gắn trên nó, phần nắp đậy lại
để bảo vệ các linh kiện bên trong.

-63-
- Vỏ ổ đĩa cứng có chức năng chính nhằm định vị các linh kiện và đảm bảo độ kín khít để
không cho phép bụi được lọt vào bên trong của ổ đĩa cứng. Ngoài ra, vỏ đĩa cứng còn có
tác dụng chịu đựng sự va chạm (ở mức độ thấp) để bảo vệ ổ đĩa cứng.
- Do đầu từ chuyển động rất sát mặt đĩa nên nếu có bụi lọt vào trong ổ đĩa cứng cũng có
thể làm xước bề mặt, mất lớp từ và hư hỏng từng phần (xuất hiện các khối hư hỏng (bad
block))... Vỏ đĩa đảm bảo bên trong của ổ đĩa cứng là chân không, có độ sạch cao.
Cụm mạch điện : gắn bên dưới vỏ đĩa cứng
- Mạch điều khiển: có nhiệm vụ điều khiển
động cơ đồng trục, điều khiển sự di chuyển
của cần di chuyển đầu đọc để đảm bảo đến
đúng vị trí trên bề mặt đĩa.
- Mạch xử lý dữ liệu: dùng để xử lý những
dữ liệu đọc/ghi của ổ đĩa cứng.
- Bộ nhớ đệm (cache hoặc buffer): là nơi
tạm lưu dữ liệu trong quá trình đọc/ghi dữ
liệu. Dữ liệu trên bộ nhớ đệm sẽ mất đi khi
ổ đĩa cứng ngừng được cấp điện.
- Đầu cắm nguồn cung cấp điện cho ổ đĩa
cứng.
- Đầu kết nối giao tiếp với máy tính.
- Các cầu đấu thiết đặt (tạm dịch từ jumper) thiết đặt chế độ làm việc của ổ đĩa cứng: Lựa
chọn chế độ làm việc của ổ đĩa cứng (SATA 150 hoặc SATA 300) hay thứ tự trên các
kênh trên giao tiếp IDE (master hay slave hoặc tự lựa chọn), lựa chọn các thông số làm
việc khác...
Lưu trữ thông tin trong HDD
Đối với mỗi bề mặt đĩa (Size) đều có một đầu đọc (Head)
Trên từng bề mặt, được chia thành các rãnh từ (Track), các đường tròn đồng tâm được
đánh số từ ngoài vào trong (bắt đầu từ rãnh số 0)
Cung từ (Sector): mỗi rãnh được chia làm nhiều cung, dung lượng 1 sector thường là 512
byte.
Liên cung (Cluster): tập hợp của 2, 4, 6… cung từ, các cung được đánh số tuần tự nhưng 1
sector không nhất thiết phải kề với sec 2 mà được truy xuất qua các móc nối.
Từ trụ (Cylinder): các rãnh từ có cùng số thứ tự trên các đĩa từ.
Track và sector được các nhà sản xuất tạo từ nơi sản xuất bằng các chương trình đặc biệt,
gọi là quá trình định dạng vật lý hoặc định dạng cấp thấp cho đĩa cứng.

-64-
7.3. Đĩa Quang (Optical Disk)
7.3.1. Đặc điểm:
 Mật độ ghi thông tin cao
 Dung lượng lớn
 Giá thành: thấp
 Tốc độ truy xuất: nhỏ hơn đĩa cứng
7.3.2. Cấu tạo của đĩa quang
Hiện nay loại đĩa quan được sử dụng phổ biến là đĩa CD (Compact Disc), được sử dụng
với nhiều mục đích khác nhau ,chứa nhạc, vidieo, hình ảnh, dữ liệu. Với những ứng dụng đó đĩa
CD trở nên một phương tiện truyền thông tiêu chuẩn cung cấp một lượng rất lớn thông tin chỉ
trong một miếng plastic nhỏ gọn.
Đĩa CD nhìn tổng quát là miếng nhựa tròn dày tầm 1.2mm. Cụ thể là mảnh nhựa
Polycarbonate ép khuôn tròn có bán kính khoảng 6cm. cấu tạo chính gồm có 4 phần cơ bản :
- Lớp nhãn đĩa , chứa thông tin của nhà sản xuất và thông tin của đĩa (dung lượng bao
nhiêu Mb, tốc độ ghi ,…)
- Nhựa Acrylic dùng để tách lớp nhãn và mặt dữ liệu, có thể được phủ một lớp chống ẩm
để bảo vệ bề mặt lưu dữ liệu
- Lớp nhôm: chứa các "dữ liệu" của CD, có khả năng phản xạ ánh sáng
- Lớp nhựa Polycarbonate: bảo vệ lớp Nhôm

7.3.3. Tổ chức thông tin


Với bán kính khoảng 6cm đĩa CD thông thường có thể chứa khoảng 700MB dữ liệu. Dữ
liệu chứa trong đĩa CD được mang trên đường hình xoắn ốc (single spiral track of data), xoắn từ
gần tâm CD, từ trong ra ngoài. Trên đường dữ liệu này có thể cắt ra từng phần nhỏ gọi là Track (
Ví dụ: Một CD nhạc có 13 bài hát thì đường dữ liệu được cắt thành 13 đoạn, gọi là Track01,
Track02,...,Track13.)

-65-
Kích thước đường dữ liệu này rất nhỏ, độ rộng chỉ bằng 0.5 microns nhỏ hơn 200 lần tóc,
các Track cách nhau chỉ 1.6 micromet.
Trên đường dữ liệu được tạo bời các phần lồi lõm rất cực nhỏ. Một phần lồi đó kỹ thuật gọi
là pit (tùy theo cách nhìn CD dọc hay ngang). Mỗi pit có độ rộng bằng với độ rộng của đường
dữ liệu 0.5 microns, dài ít nhất 0.83 micromet.

Dựa vào tính chất phản xạ hoặc không phản xạ ánh sáng để đĩa CD có thể lưu trữ dữ liệu
trên các pit, dưới dạng các số nhị phân. đối với mỗi pit dữ liệu khi có tia sáng (tia lade) chiếu vào
chúng sẽ có 2 trạng thái phản xạ lại ánh sáng , hoặc không phản xạ tương ứng với số 1 hoặc số
nếu là CD dữ liệu (data) dãy nhị phân này sẽ là dãy các bits tạo ra dung lượng đĩa.
Trên mặt nhãn của đĩa thường ghi các số 32x, 52x,
56x,….những con số này cho ta biết thông số ghi , đọc của đĩa.
Tốc độ chuẩn đầu tiên khi chiếc đĩa CD được sản xuất là 150 kb/s
. về sau khi công nghệ phát triển người ta chế tạo ra được những
chiếc đĩa có tốc độ ghi đọc lớn hơn rất nhiều lần rút ngắn được
thời gian ghi dữ liệu và cho chất lượng cao hơn. Như vậy 32x, hay
52x là tốc độ ghi đọc của đĩa gấp 32 lần hoặc 52 lần tốc độ chuẩn
ban đầu.Ta có thể làm phép tính đơn giản khi trên đĩa ghi 56x ta
có thể tính tốc độ ghi đọc của đĩa là
56 x 150 = 8400 kb/s
7.3.4. Nguyên tắc hoạt động của ở đĩa quang
Đĩa quang, theo đúng như tên gọi của nó, đã sử dụng tính chất quang học để lưu trữ dữ
liệu. Khi làm việc với ánh sáng thì chúng không có sự tiếp xúc trực tiếp giữa đầu đọc dữ liệu và
bề mặt đĩa. Có một nguyên lý về ánh sáng như sau nếu như chúng chiếu vào bề mặt của một vật
nào đó: có thể bị hấp thụ hoặc phản xạ lại (một phần hoặc toàn phần đối với cả hai trường hợp).
Nếu như có một vật chuyển động thay đổi trạng thái hấp thụ hoặc phản xạ ánh sáng qua một
nguồn phát ánh sáng cố định thì chúng ta sẽ đọc được trạng thái phản xạ lại ánh sáng hoặc không
phản xạ lại ánh sáng theo đúng tình trạng của vật chuyển động đó. Đĩa quang vận dụng tính chất

-66-
phản xạ ánh sáng nêu trên để chứa các dữ liệu tại bề mặt đĩa thông qua sự phản xạ/không phản
xạ

Nguyên lý đọc tín hiệu từ đĩa CD Rom


Đĩa quang có dữ liệu được quay với tốc độ cao, mắt đọc sẽ đọc dữ liệu ghi trên đĩa theo
nguyên tắc :
- Sử dụng tia lazer chiếu lên bề mặt đĩa dọc theo các đường track có dữ liệu , sau đó hứng
lấy tia phản xạ quay lại rồi đổi chúng thành tín hiệu điện .
- Khi tia lazer chiếu qua các điểm trên bề mặt đĩa bị đốt cháy sẽ không có tia phản xạ =>
và tín hiệu thu được là 0
- Khi tia lazer chiếu qua các điểm trên bề mặt đĩa không bị đốt cháy sẽ có tia phản xạ =>
và tín hiệu thu được là 1
- Tia phản xạ sẽ được Ma trận Diode đổi thành tín hiệu điện, sau khi khuếch đại và xử lý ta
thu được tín hiệu ban đầu.
- Tín hiệu khi đọc nếu ngược với khi ghi thì chỉ việc cho qua cổng đảo tín hiệu sẽ được đảo
lại . 101 => Cổng đảo => 010.

7.3.5. Ổ đĩa CD-ROM


Để đĩa quang có thể làm việc được ta cần phải có những thiết bị chuyên dụng là các ổ đĩa
quang mà bên trong có bộ phận gọi là mắt đọc sẽ phát ra tia lade. Tuỳ vào tính năng của ổ đĩa mà
có thể phát ra ba loại tia lade với công suất khác nhau để làm việc với đĩa quang như đọc dữ liệu,

-67-
ghi dữ liệu hay xoá dữ liệu. Vì dữ liệu trên đĩa được lưu trên các đương hình xoắn ốc nên bên
trong ổ quang có một khối điều khiển đây là một cụm thiết bị cơ học bao gồm thao tác quay đĩa,
dịch chuyển khối đầu quang và nạp/trả đĩa được bộ vi xử lý điều khiển thông qua các IC.

Lazer pickup : Là mắt đọc, có nhiệm vụ đọc dữ liệu ghi trên đĩa và đổi ra tín hiệu điện
dạng tín hiệu số 0,1 .
Mạch tách tín hiệu : khuếch đại tín hiệu từ mắt đọc sau đó tách ra hai thành phần
- Tín hiệu điều khiển : Là các tín hiệu sai lệch được các tia lazer phụ phát hiện cung cấp
cho mạch tạo áp điều khiển.
- Tín hiệu số : Là tín hiệu chính ta cần thu được, tín hiệu này được đua sang IC sử lý tín
hiệu số trước khi chuyển về bộ nhớ máy tính.
Mạch tạo áp điều khiển : Tạo điện áp điều khiển để điều khiển mắt đọc hướng tia lazer đọc
đúng đường track và hội tụ đúng trên bề mặt đĩa, ngoài ra mạch điều khiển còn điều khiển tốc độ
quay của đĩa .
Mạch khuếch đại thúc Moto : Khuếch đại tín hiệu điều khiển để cung cấp cho Moto và các
cuộn dây trên mắt đọc .
IC xử lý tín hiệu số : Xử lý tín hiệu thu được từ mắt đọc sau đó gửi theo đường Bus về bộ
nhớ chính của máy .
7.3.6. Phân loại
 CD-ROM (Compact Disk) – Read only Memory với định dạng dùng cho âm thanh, dữ
liệu.
 WORM: Write Only-Read Multiple
 CD-RW: CD -Read/Write: bề mặt được được bao phủ bởi lớp polycarbon với 5 lớp cho
phép đọc/ghi dữ liệu.
 DVD (Digital Video Disk): dung lượng lưu trữ lớn cho dữ liệu số..

7.4. Thẻ nhớ:


Thẻ nhớ flash là một dạng bộ nhớ bán dẫn EEPROM (công nghệ dùng để chế
tạo các chip BIOS trên các vỉ mạch chính), được cấu tạo bởi các hàng và các cột. Mỗi
vị trí giao nhau là một ô nhớ gồm có hai transistor, hai transistor này cách nhau bởi một
lớp ô-xít mỏng. Một transistor được gọi là floating gate và transistor còn lại được
gọi là control gate. Floating gate chỉ có thể nối kết với hàng (word line) thông qua
control gate. Khi đường kết nối được thiết lập, bit có giá trị 1. Để chuyển sang giá trị 0
theo một qui trình có tên Fowler-Nordheim tunneling.

-68-
Tốc độ, yêu cầu về dòng điện cung cấp thấp và đặc biệt với kích thước nhỏ gọn
của các loại thẻ nhớ làm cho kiểu bộ nhớ này được dùng rộng rãi trong công nghệ lưu trữ
và giải trí hiện nay.

CÂU HỎI VÀ BÀI TẬP


7.1. Trình bày các phương pháp mã hóa số liệu trên đĩa từ.
7.2. Trình bày sơ đồ tổng quát của các vùng thông tin trên đĩa từ. Giải thích ý nghĩa, tác dụng của
các vùng thông tin.
7.3. Trình bày cấu tạo chung của một đĩa cứng? Các chuẩn giao tiếp đĩa cứng? Các khái niệm về
side/head, track,cylinder, sector, cluster?
7.4. Thực hiện thao tác định dạng cấp thấp, định dạng cấp cao của đĩa cứng cụ thể.
7.5. Trình bày nguyên tắc đọc, ghi thông tin trên đĩa quang.

-69-

You might also like