Tải bản đầy đủ (.pdf) (92 trang)

Bài Giảng Cấu Trúc Máy Tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 92 trang )

Bài giảng Cấu trúc máy tính

CẤU TRÚC MÁY TÍNH
Thời gian:
- Số học trình : 02
- Lý thuyết: 30 tiết
- Thực hành: 0
- Tự học, tự nghiên cứu: 90 tiết
Nội dung học phần
Chương 1. Giới thiệu chung
Chương 2. Số học máy tính
Chương 3. Bộ xử lý trung tâm
Chương 4. Bộ nhớ máy tính
Chương 5. Hệ thống vào-ra

CHƯƠNG I: Giới thiệu chung và hệ thống máy tính
§1. Giới thiệu
1. Lịch sử phát triển của máy tính qua các thế hệ máy tính:
Chiếc máy tính điện tử đầu tiên là ENIAC được ra đời năm 1946, được chế tạo
từ những đèn điện tử, rơ le điện từ và các chuyển mạch cơ khí.
Lịch sử phát triển của máy tính điện tử có thể chia làm bốn thế hệ như sau:
- Thế hệ 1: (1945-1955):
Máy tính được xây dựng trên cơ sở đèn điện tử mà mỗi đèn tượng trưng cho
1 bit nhị phân. Do đó máy có khối lượng rất lớn, tốc độ chậm và tiêu thụ điện năng
lớn. Năm 1946 máy ENIAC được chế tạo ở Mỹ (18000 bóng đèn, 1500 rơle, nặng
30 tấn, công suất 140KW). Việc lập trình cho ENIAC được thực hiện thông qua
một hệ thống chuyển mạch gồm 6000 công tắc nhiều vị trí và rất nhiều Cable nối.
Năm 1946 John Von Neumann chế tạo ra máy tính sử dụng mã nhị phân và lưu
chương trình vào bộ nhớ. Đây là máy tính đầu tiên có chương trình được lưu trữ
trong bộ nhớ. Máy tính Von Neumann có 5 bộ phận chính: Bộ nhớ, Bộ xử lý số
học- Logic, Bộ điều khiển chương trình, các thiết bị vào và thiết bị ra. Như máy


ENIAC có khối lượng 30 tấn, tiêu thụ công suất 140KW.
G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh

-

Trang 1


Bài giảng Cấu trúc máy tính

- Thế hệ thứ 2: (1955-1965):
Máy tính được xây dựng trên cơ sở là các đèn bán dẫn (transistor). Một trong
những đại diện đầu tiên của máy tính thế hệ này là máy PDP-1 của hãng DEC được
chế tạo năm 1961. Một trong những đổi mới của máy PDP-1 là sử dụng ống tia điện
tử (CRT) làm thiết bị ra, CRT có thể hiển thị ngay lập tức các kết quả thực hiện
chương trình. Về cấu trúc, các máy tính thế hệ này sử dụng hệ thống Bus chung để
kết nối các bộ phận của máy tính.
- Thế hệ thứ 3: (1965-1980):
Thế hệ này được đánh dấu bằng sự xuất hiện của các mạch kết (mạch tích
hợp IC: Integrated Circuit). Các mạch kết độ tích hợp mật độ thấp (SSI: Small Scale
Integration) có thể chứa vài chục linh kiện và kết độ tích hợp mật độ trung bình
(MSI: Medium Scale Integration) chứa hàng trăm linh kiện trên mạch tích hợp.

Điển hình là thế hệ máy System/ 360 của IBM. Thế hệ máy tính này có những bước
đột phá mới như sau:
+ Tính tương thích cao: Các máy tính trong cùng một họ có khả năng chạy các
chương trình, phần mềm của nhau.
+ Đặc tính đa chương trình: Tại một thời điểm có thể có vài chương trình nằm trong
bộ nhớ và một trong số đó được cho chạy trong khi các chương trình khác chờ hoàn
thành các thao tác vào/ra.
+ Không gian địa chỉ rất lớn.
- Thế hệ thứ 4 (1980- ? ). Thế hệ này được đánh dấu bằng các IC có mật độ tích
hợp cao (LSI: Large Scale Integration) có thể chứa hàng ngàn linh kiện. Các IC mật
độ tích hợp rất cao (VLSI: Very Large Scale Integration) có thể chứa hơn 10 ngàn
linh kiện trên mạch. Hiện nay, các chip VLSI chứa hàng triệu linh kiện.
Đây là thế hệ máy tính số ngày nay, nhờ công nghệ bán dẫn phát triển vượt
bậc mà người ta có thể chế tạo các mạch tổ hợp ở mức độ cực lớn. Nhờ đó mà máy
tính ngày càng nhỏ hơn, nhẹ hơn và mạnh hơn và giá thành rẻ hơn. Máy tính cá
nhân bắt đầu xuất hiện và phát triển trong thời kỳ này.
Các bộ nhớ bán dẫn, bộ nhớ cache, bộ nhớ ảo được dùng rộng rãi. Các kỹ
thuật cải tiến tốc độ xử lý của máy tính không ngừng được phát triển: kỹ thuật ống
dẫn, kỹ thuật vô hướng, xử lý song song mức độ cao,…

G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh


-

Trang 2


Bài giảng Cấu trúc máy tính

2. Khuynh hướng hiện tại
Việc chuyển từ thế hệ thứ tư sang thế hệ thứ 5 còn chưa rõ ràng. Người Nhật
đã và đang đi tiên phong trong các chương trình nghiên cứu để cho ra đời thế hệ thứ
5 của máy tính, thế hệ của những máy tính thông minh, dựa trên các ngôn ngữ trí
tuệ nhân tạo như LISP và PROLOG,... và những giao diện người - máy thông minh.
Đến thời điểm này, các nghiên cứu đã cho ra các sản phẩm bước đầu và gần
đây nhất (2004) là sự ra mắt sản phẩm người máy thông minh gần giống với con
người nhất: ASIMO (Advanced Step Innovative Mobility: Bước chân tiên tiến của
đổi mới và chuyển động).
Với hàng trăm nghìn máy móc điện tử tối tân đặt trong cơ thể, ASIMO có thể
lên/xuống cầu thang một cách uyển chuyển, nhận diện người, các cử chỉ hành động,
giọng nói và đáp ứng một số mệnh lệnh của con người. Thậm chí, nó có thể bắt
chước cử động, gọi tên người và cung cấp thông tin ngay sau khi bạn hỏi, rất gần
gũi và thân thiện.

3. Phân loại máy tính :
a. Dựa vào kích thước vật lý, hiệu suất và lĩnh vực sử dụng: hiện nay người ta
thường chia máy tính số thành các loại sau:
- Microcomputer: Còn gọi là PC (personal computer), là những máy tính nhỏ, có 1
chip vi xử lý và một số thiết bị ngoại vi. Thường dùng cho một người ⇒ gọi là máy
tính cá nhân, được dùng phổ biến trong các văn phòng, gia đình, có thể dùng độc
lập hoặc dùng trong mạng máy tính.
+ Máy để bàn: ( Desktop Computer) hay gọi là PC – personal computer

Bàn phím, màn hình có ống phóng tia điện tử CPU. Dùng cho những tác vụ
chung như soạn thảo, xử lý, tính toán…
+ Máy xách tay: (Notebook Computer)
Phục vụ:
Xử lý văn bản và các bảng tính điện tử. Các máy phổ biến: Laptop,
Notebook, Subnotebook…giá một máy vi tính có thể từ vài trăm USD đến vài ngàn
USD.
- Minicomputer: Là những máy tính cỡ trung bình, kích thước thường lớn hơn PC.
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. Minicomputer được sử dụng
G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh

-

Trang 3


Bài giảng Cấu trúc máy tính

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. Giá một máy tính mini có thể từ vài ngàn USD đến vài
trăm ngàn USD.

- Mainframe: Là những máy tính cỡ lớn, là loại máy tính đa dụng. Dung lượng lớn,
xử lý rất nhanh, 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. 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, các công việc sắp xếp theo
độ lớn (Large-Batch-Job) hoặc xử lý các giao dịch (Transaction Processing). Ví dụ
như trong ngân hà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.
- Supercomputer: Đây là những siêu máy tính, được thiết kế đặc biệt để đạt tốc độ
thực hiện các phép tính dấu phẩy động cao nhất có thể được. Chúng có tốc độ siêu
nhanh, dung lượng cực lớn, cho phép hàng ngàn người sử dụng, 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ý trong một siêu máy tính).
b. Dựa vào kiến trúc của máy tính người ta cũng phân máy tính ra các loại khác
nhau như sau:
- Kiến trúc SISD (single instruction – single data, đơn dòng lệnh – đơn dòng dữ
liệu) :

G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh


-

Trang 4


Bi ging Cu trỳc mỏy tớnh

- Kin trỳc SIMD (Single Instruction Multiple Data, n dũng lnh a d liu):

- Kin trỳc MIMD (Multiple Instruction Multiple Data, a dũng lnh a d liu):

c. Phõn loi mỏy tớnh theo hin i :

Máy tính để bàn (Desktop computer)
- Đợc sử dụng cho nhiều mục đích:
+ Xử lý văn bản, lớt Web, Multimedia,...
+ Tính toán, lập trình, ...
- Bao gồm:
+ Bộ vi xử lý
+ Bộ nhớ
+ Đĩa cứng, CD-ROM/DVD, ...
+ Chuột , bàn phím, màn hình, card mạng, ...
- Đặc điểm:
+ Hiệu năng không cao lắm, còn gọi là PC
+ Dung lợng vừa phải
+ Giá thành: khoảng từ 500 USD đến 10.000 USD
G.V Phan Lờ Bng

-


Khoa CNTT

-

HSPKT Vinh

-

Trang 5


Bi ging Cu trỳc mỏy tớnh


Máy chủ (Server):
- Đợc sử dụng trong các dịch vụ cao cấp:
+ Lu trữ file
+ Tính toán lớn
+ Xử lý tơng tác, Web, ...
- Bao gồm:
+ Nhiều bộ xử lý
+ Nhiều đĩa cứng
+ Giao tiếp mạng, ...
- Đặc điểm:
+ Hiệu năng cao
+ Độ tin cậy lớn
+ Giá thành: khoảng từ hàng chục nghìn đến hàng chục triệu USD

Máy tính nhúng (Embedded computer):
- Là một phần của hệ thống lớn:

+ Chứa trong các thiết bị gia dụng
+ Trong thiết bị mạng, truyền thông, ...
+ Các thiết bị điều khiển tự động, không lu, ...
- Bao gồm:
+ Các bộ vi điều khiển, vi xử lý
+ Bộ nhớ: RAM, ROM, đĩa từ
+ Vào/ra chuyên dụng (kể cả tín hiệu analog)
- Đặc điểm:
+ Có độ tin cậy và an toàn cao
+ Hiệu năng cao (thời gian thực)
+ Giá thành: vài chục đến hàng trăm nghìn USD

G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 6


Bài giảng Cấu trúc máy tính

§2. Hệ thống của máy tính

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

Thành phần cơ bản của một máy tính bao gồm :
a. Khối xử lý trung tâm ( Central processing Unit – CPU)
- Bộ điều khiển (Control Unit, viết tắt là CU).Có nhiệm vụ điều khiển sự hoạt
động của tất cả các thành phần của hệ thống máy tính theo chương trình mà nó
được giao thi hành.
- Bộ số học và logic (Arithmetic Local Unit, viết tắt là ALU). Có nhiệm vụ thực
hiện các thao tác tính toán theo sự điều khiển của CU.
b. Bộ nhớ trong ( Memory) còn gọi là Bộ nhớ trung tâm (Central memory hoặc
Main memory). Có nhiệm vụ chứa các chương trình và dữ liệu trước khi chương
trình được thi hành. Như RAM, ROM...
c. Bộ nhớ ngoài : lưu trữ dữ liệu và chương trình ngay cả khi mất nguồn nuôi như
các loại ổ đĩa mềm, ổ đĩa cứng, băng từ, CD-ROM, DVD...
d. Khối phối ghép với các thiết bị ngoại vi (vào/ra)
e. Thiết bị vào (Input device): Có nhiệm vụ nhận các thông tin từ thế giới bên ngoài,
biến đổi sang dạng số một cách thích hợp rồi đưa vào bộ nhớ trong. Như bàn phím,
chuột, máy quét ảnh ...
f. Thiết bị ra (Output device): Có nhiệm vụ đưa thông tin số từ bộ nhớ trong ra
ngoài dưới những dạng mà con người yêu cầu. Như màn hình, máy in, máy vẽ ...
Bốn khối chức năng đầu liên hệ với nhau thông qua tập các đường dây để truyền tín
hiệu, gọi chung là bus hệ thống. Bus hệ thống bao gồm 3 bus thành phần : ứng với
các tín hiệu xác lập địa chỉ từ CPU đến các đơn vị thành phần ta có bus địa chỉ, với
G.V Phan Lê Bằng

-

Khoa CNTT

-


ĐHSPKT Vinh

-

Trang 7


Bi ging Cu trỳc mỏy tớnh

cỏc d liu c liờn h gia cỏc khi qua bus d liu (data bus), cỏc tớn hiu iu
khin bao gm cỏc lnh, cỏc ỏp ng, cỏc trng thỏi ca cỏc khi c xỏc lp qua
bus iu khin.
S khỏc bit quan trng nht ca cỏc h mỏy tớnh l kớch thc v tc , cỏc mỏy
tớnh nh hn v nhanh, mnh hn theo tng nm. S phỏt trin khụng ngng ca
cỏc th h mỏy tớnh nh vo 2 yu t quan trng, ú l s phỏt trin ca cụng ngh
ch to IC v cụng ngh ch to b nh.
2. Hot ng c bn ca mỏy tớnh
a. Thc hin chng trỡnh:
- Chơng trình là d^y các lệnh đợc lu trữ trong bộ nhớ
- Hoạt động cơ bản của máy tính là thực hiện chơng trình, nghĩa là lặp đi lặp lại
chu trình lệnh:
Nhận lệnh
Thực hiện lệnh
- Việc thực hiện chơng trình chỉ bị dừng nếu:
Ngắt nguồn
Bị lỗi, sự cố
Gặp lệnh dừng chơng trình
- Chu trình lệnh : gồm hai bớc:
Nhận lệnh

Thực hiện lệnh

- Nhận lệnh:
+ Bộ đếm chơng trình (PC) chứa địa chỉ của lệnh tiếp theo sẽ đợc thực hiện
+ BXL nhận lệnh từ bộ nhớ do PC trỏ tới
+ Sau khi nhận lệnh, PC tự động tăng để trỏ vào lệnh tiếp theo
+ Lệnh đợc nạp vào thanh ghi lệnh (IR)
+ BXL giải m^ lệnh và thực hiện yêu cầu của lệnh
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 8


Bi ging Cu trỳc mỏy tớnh

- Thực hiện lệnh:
+ BXL giải m^ lệnh đ^ đợc nhận và thực hiện thao tác mà lệnh yêu cầu
+ Các kiểu thao tác của lệnh:
Trao đổi dữ liệu giữa BXL và bộ nhớ chính
Trao đổi dữ liệu giữa BXL và Modul vào/ra

Xử lý dữ liệu
Điều khiển rẽ nhánh
b. Ngt:
- Khái niệm ngắt: ngắt là cơ chế cho phép BXL tạm thời dừng thực hiện công việc
hiện tại để chuyển sang thực hiện công việc khác, gọi là chơng trình con phục vụ
ngắt (ISR - Interrupt Service Routine)
- Các loại ngắt thông dụng :
+ Program : ngt do kt qu ca thi hnh lnh (trn s, chia cho 0, thi hnh
mt lnh mỏy khụng hp l, tham chiu ti ụ nh nm ngũai phm vi c dựng)
+ Timer : phỏt sinh do b nh thi ca cpu
+ I/O : phỏt sinh bi b iu khin I/O, bỏo hon tt mt thao tỏc, hay bỏo
mt li
+ Hardware failure : h hng nh ngun h, hay li b nh
- Chu k ngắt:
+ Đợc thêm vào chu k lệnh
+ BXL kiểm tra tín hiệu ngắt sau khi hoàn thành mỗi lệnh
Nếu không có ngắt, BXL nhận lệnh kế tiếp
Nếu có ngắt (không bị cấm), BXL thực hiện:
Tạm dừng thực hiện chơng trình hiện tại
Cất trạng thái xử lý hiện tại
Xử lý ngắt
Khôi phục trạng thái và tiếp tục thực hiện chơng trình đang bị
ngắt.

G.V Phan Lờ Bng

-

Khoa CNTT


-

HSPKT Vinh

-

Trang 9


Bài giảng Cấu trúc máy tính

Chuyển dòng điều khiển sang chương trình ngắt:

- Chu kỳ lệnh chứa ngắt:

- Nhiều ngắt:
+ Bỏ qua ngắt:
. Trong khi xử lý một ngắt, bộ xử lý “bỏ qua” các ngắt khác
. Các ngắt chưa được xử lý sẽ chờ được cpu tiếp nhận sau khi ngắt trước
đó đã xử lý xong
G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh


-

Trang 10


Bài giảng Cấu trúc máy tính

. Các ngắt được kiểm soát tuần tự theo trật tự nó xuất hiện
+ Độ ưu tiên của ngắt
. Các ngắt có độ ưu tiên thấp có thể bị ngắt bởi ngắt có độ ưu tiên cao hơn.
. Sau khi xử lý xong ngắt có độ ưu tiên cao hơn, bộ xử lý sẽ quay lại ngắt
trước đó.

Đây là sơ đồ ngắt tuần tự, Xử lý xong ngắt X rồi xử lý ngắt Y.

Multiple Interrupts – Nested
Đây là sơ đồ ngắt lồng nhau, Ngắt Y được xử lý xong trước ngắt X.
G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh

-

Trang 11



Bi ging Cu trỳc mỏy tớnh

c. Hot ng vo/ra:
- Là hoạt động trao đổi dữ liệu giữa máy tính với thiết bị ngoại vi.
- Các kiểu hoạt động vào/ra: + BXL trao đổi dữ liệu với Modul vào/ra
+ BXL có thể nhợng quyền đọc/ghi bộ nhớ cho Modul vào/ra, khi đó Modul vào/ra
có thể trao đổi dữ liệu trực tiếp với bộ nhớ.
3. Liờn kt h thng
a. Khỏi nim chung v Bus
- Bus l tp hp cỏc ng kt ni dựng vn chuyn thụng tin gia cỏc thnh
phn ca mỏy tớnh vi nhau.
- rng ca bus l s ng dõy ca bus cú th truyn cỏc bit thụng tin ng
thi. Khái niệm này chỉ dùng cho bus địa chỉ và bus dữ liệu.
V phõn loi Bus : - Theo cu trỳc: cú cu trỳc n bus v cu trỳc a bus
- Theo chc nng : bus d liu, bus a ch v bus iu khin.
b. Phõn loi Bus theo cu trỳc:
*. Cấu trúc đơn bus :
- Bus chỉ phục vụ đợc một yêu cầu trao đổi dữ liệu tại một thời điểm.
- Bus phải có tốc độ bằng tốc độ của modul nhanh nhất trong hệ thống.
- Bus phụ thuộc vào cấu trúc bus của BXL các modul nhớ và modul vào/ra
cũng phụ thuộc vào BXL
*. Cấu trúc đa bus:
- Có sự phân cấp cho các thành phần:
+ Bus của BXL
+ Bus của bộ nhớ
+ Bus vào/ra
- Phân cấp bus khác nhau về tốc độ:
+ Bus của BXL: có tốc độ nhanh nhất

+ Bus của BNC: nối ghép với các modul RAM
+ Bus AGP (Accelerated Graphic Port): bus đồ họa tăng tốc - nối ghép card màn
hình tăng tốc.
+ Bus PCI (Peripheral Component Interconnect): nối ghép với các TBNV có tốc
độ trao đổi dữ liệu nhanh.
+ USB (Universal Serial Bus): bus nối tiếp đa năng
- Các bus cho modul nhớ và modul vào/ra không phụ thuộc vào BXL cụ thể.
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 12


Bi ging Cu trỳc mỏy tớnh

c. Phõn loi Bus chc nng:
Vớ d: c ni dung 1 ụ nh, CPU gi a ch ca ụ nh trờn bus iu khin v
nú nhn c s liu gi t vi mch nh trờn bus s liu. Mt tớn hiu iu khin
c dựng bỏo cho b nh thc hin thao tỏc c. CPU g tớn hiu iu khin
trờn bus iu khin.


*. Bus a ch( Address Bus)
- Chức năng: vận chuyển địa chỉ của ngăn nhớ hay cổng vào/ra từ nguồn đến đích.
Mt a ch ng vi mt v trớ duy nht trong b nh cng nh hũm th bu
in, mi hũm th cú mt s phõn bit v trớ ca nú. a ch rt cn thit vỡ nú cú
th cú 2 ngi cựng tờn trong cựng mt ng ph. a ch l cỏch xỏc nh
ngi m chỳng ta cn tip xỳc.
truy nhp mt ngn nh hay 1 cng vo ra thỡ CPU phi bit a ch ca ngn
nh hay cng vo ra ú. Bus a ch cú nhim v chuyn a ch t b x lý n b
nh hoc cng vo ra xỏc nh xem ngn nh hay cng I/O no cn trao i
thụng tin. Bus a ch l bus mt chiu.
- Độ rộng bus địa chỉ: xác định dung lợng bộ nhớ cực đại của hệ thống
Nếu độ rộng bus địa chỉ là N bit:
A0 , A1 , ... , AN-1
N
không gian địa chỉ là: 2 byte
- Bus a ch n bit qun lý c 2n ngn nh. i vi BVXL 8086/8088(Intel):
dựng mt s 20 bit xỏc nh a ch.
-> Nh vy chỳng ta s cú 220 v trớ a ch hoc 1.048.576 byte ca BN cú th s
dng.
Bus a ch do 20 ng dõy hoc vt dn to thnh. Ký hiu t A0 ữ A19. c
dựng nh v hoc dũ tỡm thụng tin trong b nh, dựng xỏc nh v trớ trong
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh


-

Trang 13


Bi ging Cu trỳc mỏy tớnh

BN m chỳng ta mun gi ct thụng tin vo. Cú trng hp cũn dựng xỏc nh
cỏc cng I/O cho cỏc thao tỏc vo ra.
Ví dụ:
Bộ xử lý Intel Pentium có bus địa chỉ là 32 bit
không gian địa chỉ là: 232 byte = 4 GB
*. Bus d liu (Data Bus)
*) Chức năng:
Dựng vn chuyn thụng tin (DL v lnh) gia CPU vi b nh hay cng I/O.
ụi khi cú th xem õy l thao tỏc ghi (Write operation). Bus d liu cng c
dựng nhn DL vo CPU Qỳa trỡnh ny cũn c gi l thao tỏc c. Vỡ bus DL
va thu va phỏt thụng tin nờn nú c xem l bus 2 chiu. Tuy nhiờn nú khụng th
ng thi thu v phỏt thụng tin cựng mt lỳc.
*) Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể trao đổi cùng một lúc.
Thng ký hiu: D
Độ rộng M bit: D0 , D1 , ... ,DM-1
M thờng là 8, 16, 32, 64 bit
Tu tng h thng c th, DL c chuyn mt lỳc 8 byte, 16 byte
Vớ d: B VXL Intel 8086 cú bus DL 16 bit , ký hiu: D0 ữ D15
*. Bus iu khin ( Control Bus)
- Chức năng: vận chuyển các tín hiệu điều khiển.
Bus iu khin l tp hp cỏc tớn hiu iu khin. Bus iu khin ca 8086/8088
dựng xỏc nh mt lnh c thc hin nh th no v vo lỳc no.

- Các loại tín hiệu điều khiển: Cú 2 loi tớn hiu iu khin:
+ Các tín hiệu điều khiển phát ra từ BXL để điều khiển hệ thống nhớ, hệ thống
vào/ra hoạt động
+ Các tín hiệu yêu cầu, trạng thái từ hệ thống nhớ, hệ thống vào/ra đến BXL

G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 14


Bài giảng Cấu trúc máy tính

Câu hỏi ôn tập
1. Phân loại máy tính
2. Đặc điểm kiến trúc Von Neumann.
3. Các thành phần cơ bản của máy tính
4. Hoạt động cơ bản của máy tính
5. Mô hình phân lớp của máy tính
6. Bus là gì? Nêu khái niệm độ rộng Bus?
7. Nêu cấu trúc đơn Bus.

8. Nêu tóm tắt các bus chính trong cấu trúc đa Bus.
9. Nêu khái niệm Bus địa chỉ, Bus dữ liệu và Bus điều khiển.
10. Sự phát triển của hệ thống máy tính qua các thời kỳ.
11. Nhận diện được tất cả các thành phần phần cứng trong
máy tính của bạn.

G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh

-

Trang 15


Bi ging Cu trỳc mỏy tớnh

CHNG II: BIU DIN D LIU V S HC MY TNH
Đ1. Cỏc loi h m
1. Khỏi nim h thng s:
C s ca mt h thng s nh ngha phm vi cỏc giỏ tr cú th cú ca mt ch s.
Vớ d: trong h thp phõn, mt ch s cú giỏ tr t 0-9, trong h nh phõn, mt ch
s (mt bit) ch cú hai giỏ tr l 0 hoc 1.
Dng tng quỏt biu din giỏ tr ca mt s:


Trong ú:
Vk: S cn biu din giỏ tr
m: s th t ca ch s phn l
(phn l ca s cú m ch s c ỏnh s th t t -1 n -m)
n-1: s th t ca ch s phn nguyờn
(phn nguyờn ca s cú n ch s c ỏnh s th t t 0 n n-1)
bi: giỏ tr ca ch s th i
k: h s (k=10: h thp phõn; k=2: h nh phõn;...).
Vớ d: biu din s 541.2510
2
1
0
1
2
541.2510 = 5 * 10 + 4 * 10 + 1 * 10 + 2 * 10- + 5 * 10= (500)10 + (40)10 + (1)10 + (2/10)10 + (5/100)10
2. Cỏc loi h m
a. Hệ thập phân (Decimal System)
o Cơ số 10
o Dùng 10 chữ số: 0, 1, 2, ..., 9
o Dùng n chữ số thập phân có thể biểu diễn đợc 10n giá trị khác nhau:
00...0 = 0
99...9 = 10n 1
Ví dụ :
215.37 = 2*102 + 1*101 + 5*100 + 3*10-1 + 7*10-2
Các chữ số phần nguyên:
215 : 10 = 21
d 5
21 : 10 = 2
d 1


2 : 10 = 0
d 2
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 16


Bi ging Cu trỳc mỏy tớnh

Các chữ số phần thập phân:
0.37 * 10 = 3.7
0.7 * 10 = 7.0

phần nguyên = 3
phần nguyên = 7

b. Hệ nhị phân (Binary System)
Cơ số 2
Dùng 2 chữ số: 0, 1

Chữ số nhị phân gọi là bit (binary digit), Bit là đơn vị thông tin nhỏ nhất
Dùng n chữ số nhị phân có thể biểu diễn đợc 2n giá trị khác nhau:
00...0 = 0
11...1 = 2n - 1
o Dạng tổng quát của số nhị phân:
Giả sử có một số nhị phân A:
A = an-1 ... a1 a0 , a-1 a-2 ... a-m
Khi đó, giá trị của A đợc tính nh sau:
A = an-1*2n-1 + ... + a0*20 + a-1*2-1 + a-2*2-2 + ... + am*2-m
Có số nhị phân nh sau: 1011 1001.101(2)
Khi đó, giá trị của chúng đợc tính là:
1011 1001.101(2) = 27+ 25 + 24 + 23 + 20 + 2-1 + 2-3
= 128 + 32 + 16 + 8 + 1 + 0.5 + 0.125
= 185.625(10)
o
o
o
o

*. Chuyển đổi số thập phân nhị phân
o Chuyển đổi phần nguyên:
Cách 1: Chia liên tiếp cho 2 rồi lấy phần d
Cách 2: Phân tích thành tổng các luỹ thừa của 2
o Chuyển đổi phần thập phân:
Nhân phần thập phân với 2, lấy phần nguyên
Vớ d : : i 23.37510 sang nh phõn

G.V Phan Lờ Bng

-


Khoa CNTT

-

HSPKT Vinh

-

Trang 17


Bài giảng Cấu trúc máy tính

- Phương thức nhân để biến đổi phần lẻ của số thập phân sang nhị phân:

Kết quả cuối cùng nhận được là: 23.37510 = 10111.0112
Tuy nhiên, trong việc biến đổi phần lẻ của một số thập phân sang số nhị phân theo
phương thức nhân, có một số trường hợp việc biến đổi số lặp lại vô hạn.
Ví dụ :

Trường hợp biến đổi số nhị phân sang các hệ thống số khác nhau, ta có thể nhóm
một số các số nhị phân để biểu diễn cho số trong hệ thống số tương ứng.
Thông thường, người ta nhóm 4 bit trong hệ nhị phân hệ để biểu diễn số dưới dạng
thập lục phân (Hexadecimal).
Như vậy, dựa vào cách biến đổi số trong bảng nêu trên, chúng ta có ví dụ về cách
biến đổi các số trong các hệ thống số khác nhau theo hệ nhị phân:

10112 = (102)(112) = 234


234 = (24)(34) = (102)(112) = 10112

1010102 = (1012)(0102) = 528
G.V Phan Lê Bằng

-

Khoa CNTT

-

ĐHSPKT Vinh

-

Trang 18


Bi ging Cu trỳc mỏy tớnh


011011012 = (01102)(11012) = 6D16
n
Mt t n bit cú th biu din tt c cỏc s dng t 0 ti 2 -1. Nu di l mt s nh
phõn th i, mt t n bit tng ng vi mt s nguyờn thp phõn.

Mt Byte (gm 8 bit) cú th biu din cỏc s t 0 ti 255 v mt t 32 bit cho phộp
biu din cỏc s t 0 ti 4294967295.
c. Hệ thập lục phân (Hexadecimal System)
o Cơ số 16

o Dùng 16 chữ số: 0,1,..., 9, A, B, ..., F
o Dùng để viết gọn cho số nhị phân: cứ một nhóm 4 bit sẽ đựợc thay bằng một
chữ số Hexa
o Dùng n chữ số Hexa có thể biểu diễn đợc 16n giá trị khác nhau:
00...0 = 0
FF...F = 16n 1
d. Mó BCD ( Binary Code Decimal) (S h 10 mó hoỏ bng h 2)
Mt vi ng dng, c bit ng dng qun lý, bt buc cỏc phộp tớnh
thp phõn phi chớnh xỏc, khụng lm trũn s. Vi mt s bit c nh, ta khụng th
i mt cỏch chớnh xỏc s nh phõn thnh s thp phõn v ngc li. Vỡ vy, khi cn
phi dựng s thp phõn, ta dựng cỏch biu din s thp phõn mó bng nh phõn
(BCD: Binary Coded Decimal) theo ú mi s thp phõn c mó vi 4 s nh phõn
theo bng sau:

Dựng 4 bit mó hoỏ cho cỏc ch s thp phõn n l. (Cú giỏ tr nm t 0 9)
Vớ d:
186(10) = 0001 1000 0110 (BCD)
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 19



Bi ging Cu trỳc mỏy tớnh

295(10) = 0010 1001 0101 (BCD)
biu din s BCD cú du, ngi ta thờm s 0 trc mt s dng cn tớnh, ta cú
s õm ca s BCD bng cỏch ly bự 10 s cn tớnh.
Vớ d: biu din s +07910 bng s BCD:
0000 0111 1001
Bự 9
1001 0010 0000
+1
Bự 10
1001 0010 0001
Vy, ta cú: S - 07910 trong cỏch biu din s BCD: 1001 0010 0001BCD.
Cỏch tớnh toỏn trờn tng ng vi cỏch sau:
- Trc ht ta ly s bự 9 ca s 079 bng cỏch: 999 - 079 = 920.
- Cng 1 vo s bự 9 ta c s bự 10: 920 + 1 = 921.
- Biu din s 921 di dng s BCD, ta cú: 1001 0010 0001BCD
Đ2. Mó húa v lu tr d liu trong mỏy tớnh.
1. Nguyờn tc chung v mó húa d liu
Mọi dữ liệu đa vào máy tính đều phải đợc m^ hoá thành số nhị phân
Các loại dữ liệu:
Dữ liệu nhân tạo: do con ngời quy ớc
Dữ liệu tự nhiên: tồn tại khách quan với con ngời
- M^ hoá dữ liệu nhân tạo:
Dữ liệu dạng số: m^ hoá theo chuẩn quy ớc
Dữ liệu ký tự : m^ hoá theo bộ m^ ký tự
- M^ hoá và tái tạo tín hiệu tự nhiên
TH V.lý


Bộ tạo
tín hiệu

TH Ltục

TH số
ADC
MT

TH V.lý

Bộ tái tạo
tín hiệu

TH Ltục

DAC

TH số

2. Lu tr d liu
Bộ nhớ chính đợc tổ chức theo byte, độ dài dữ liệu có thể chiếm 1 hay nhiều byte.
Có 2 cách lu trữ các byte trong bộ nhớ chính:

G.V Phan Lờ Bng

-

Khoa CNTT


-

HSPKT Vinh

-

Trang 20


Bi ging Cu trỳc mỏy tớnh

Little- Endian (đầu nhỏ): byte có ý nghĩa thấp hơn đợc lu trữ ở vị trí có địa chỉ
nhỏ hơn
Big- Endian (đầu to): byte có ý nghĩa thấp hơn đợc lu trữ ở vị trí có địa chỉ lớn
hơn.

Ví dụ:

Intel 80x86, DEC: đầu nhỏ
IBM, Motorolla, Sun : đầu to

Đ3. Biểu diễn số nguyên trong máy tính
1. Số nguyên không dấu
o Nguyên tắc chung
Dùng n chữ số nhị phân thì biểu diễn đựợc 2n số
Dải biểu diễn:
0 ữ 2n - 1
Ví dụ:
n = 8 bit: dải biểu diễn: 0 ữ 28 -1, hay 0 ữ 255

n = 16 bit: dải biểu diễn: 0 ữ 216 - 1, hay 0 ữ 65535
o Cách biểu diễn
Biểu diễn ở dạng nhị phân một cách bình thờng
o Ví dụ 1: biểu diễn các số nguyên không dấu sau đây dùng 8 bit:
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 21


Bi ging Cu trỳc mỏy tớnh

A = 73 ;
B = 138
o Giải:
A = 73 = 64 + 8 + 1 = 26 + 23 + 20
73 = 0100 1001
B = 138 = 128 + 8 + 2 = 27 + 23 + 21
138 = 1000 1010
o Ví dụ 2: H^y xác định giá trị của các số nguyên không dấu C, D đợc biểu
diễn bằng 8 bit nh sau:

C = 0010 1010; D = 1010 0110
o Giải:
C = 0010 1010 = 25 + 23 + 21 = 32 + 8 + 2 = 42
D = 1010 0110 = 27 + 25 + 22 + 21 = 128 + 32 + 4 + 2 = 166
2. Số nguyên có dấu
o Nguyên tắc chung
Dùng n chữ số nhị phân thì biểu diễn đợc 2n số
- 2n-1 ữ 2n-1 1
Dải biểu diễn:
Ví dụ:
n = 8 bit: dải biểu diễn: - 27 ữ 27 -1, hay -128 ữ 127
n = 16 bit:
- 215 ữ 215 - 1, hay - 32768 ữ 32767
o Cách biểu diễn:
PP1: Dùng dấu và độ lớn (Sign-Magnitude)
PP2: Dùng m^ bù 2 (Twos complement)
*) Dùng dấu và độ lớn
o Bit lớn nhất biểu diễn dấu:
0: biểu diễn số dơng
1: biểu diễn số âm
o Các bit còn lại biểu diễn giá trị
o Ví dụ:
+23 = 0001 0111; -23 = 1001 0111
o Vấn đề nảy sinh
Cần quan tâm cả phần dấu và phần độ lớn khi thực hiện các phép toán
số học
Có đến 2 cách biểu diễn cho số 0 (+0 và -0)
*) Dùng mã bù 2
G.V Phan Lờ Bng


-

Khoa CNTT

-

HSPKT Vinh

-

Trang 22


Bi ging Cu trỳc mỏy tớnh

o Đối với số dơng: biểu diễn dạng nhị phân
o Đối với số âm: tìm số bù 2:
B1: đổi số dơng tơng ứng nhị phân
B2: tìm số bù 1 (đảo bit 1 0, 0 1)
B3: tìm số bù 2: số bù 1 cộng với 1
Số bù 2 thu đợc chính là cách biểu diễn số âm

o Đặc điểm:
Thực hiện các phép toán số học dễ dàng
Chỉ có một sự biểu diễn duy nhất cho số 0
o Ví dụ 1: Biểu diễn các số nguyên có dấu sau đây bằng 8 bit:
A = + 69; B = - 92
Giải:
A = + 69 = 0100 0101
Ta có: + 92 = 0101 1100

B = - 92
Số bù 1
= 1010 0011
1
Số bù 2
= 1010 0100
Vậy: B = -92 = 1010 0100
o Ví dụ 2: Xác định giá trị của các số nguyên có dấu biểu diễn dới đây (dùng
dấu - độ lớn):
C = 0110 1010; D = 1100 0011
Giải:
C = 0110 1010 = + (64 + 32 + 8 + 2) = 106
D = 1100 0011 = - (64 + 2 + 1) = - 67
o Ví dụ 3: Xác định giá trị của các số nguyên có dấu đợc biểu diễn dới đây
(dùng m^ bù 2):
E = 0101 1110;
F = 1101 1010
Giải:
E = 0101 1110 = 64 + 16 + 8 + 4 + 2 = 94
F = 1101 1010 = -128 + 64 + 16 + 8 + 2 = -38
*) Chuyển đổi độ dài
o Đối với số dơng: thêm/bớt số 0 ở phía trớc:
+23 =
0001 0111
(8 bit)
G.V Phan Lờ Bng

-

Khoa CNTT


-

HSPKT Vinh

-

Trang 23


Bài giảng Cấu trúc máy tính

• +23 = 0000 0000 0001 0111

(16 bit)

o §èi víi sè ©m: thªm/bít sè 1 ë phÝa tr−íc:
• -23 =
1110 1001
(8 bit)
• -23 = 1111 1111 1110 1001
(16 bit)
§4. Các phép toán số học cho hệ nhị phân.
1. Các phép toán logic:
Not

1010
0101

And


1100
1010
1000
1011
1010
1011

Or

1010
1101
0111

Xor

Bảng chân trị các phép tính logic
A
1
1
0
0

B
1
0
1
0

NOT A

0
0
1
1

A AND B
1
0
0
0

A OR B
1
1
1
0

A XOR B
0
1
1
0

2. C¸c phÐp to¸n sè häc
Cũng tương tự như hệ thập phân, hệ nhị phân cũng có các phép tính trên nó. Nhìn
chung, hệ nào cũng đều có các phép tính, để sử dụng tốt các hệ điều đầu tiên là phải

G.V Phan Lê Bằng

-


Khoa CNTT

-

ĐHSPKT Vinh

-

Trang 24


Bi ging Cu trỳc mỏy tớnh

bit cỏc qui nh, cỏc phộp toỏn v cỏc qui tc trờn h ú. Di õy l cỏc phộp tớnh
trờn h nh phõn
a. Phộp cng:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (nh 1)
Vớ d:
1011.011
+1100.101
n bit
n bit
11000.000
y
Cout


- B cng n bit:

x
Cin

B cng n bit
n bit

Cng s nguyờn khụng du:
Cng 2 s nguyờn khụng du n bit dựng mt b cng n bit. Nu kt qu:
- kq 2n 1 thỡ tng S l ỳng ( count = 0 )
- kq 2n 1 thỡ tng S l sai ( count = 1 )
Cú trn nh ra ngoi ( carry out )
Cng tr s nguyờn cú du: ( subtraction)
A B A + s bự 2 ca B
Khi cộng hai số nguyên có dấu n bit, không quan tâm đến bit nhớ ra ngoài
(Cout), kết quả nhận đợc là n bit:




Nếu cộng hai số khác dấu, tổng thu đợc luôn luôn đúng
Cộng hai số cùng dấu, nếu tổng cùng dấu với các số hạng thì tổng đó đúng
Cộng hai số cùng dấu, nếu tổng ngợc dấu với các số hạng thì tổng đó sai, ta
nói tổng bị tràn (Overflow)
Nu kt qa nm trong di biu din ca n bit thỡ giỏ tr S l ỳng. Cũn nu
ngc li thỡ giỏ tr S l sai cú trn
- Trn xy ra khi (overflow) cng 2 s cựng du m kt qu cú du v ngc li.
Vn trn s ( overflow)
- Bn cht: kt qu phộp cng vt ngoi di biu din ca s

- Th hin:
G.V Phan Lờ Bng

-

Khoa CNTT

-

HSPKT Vinh

-

Trang 25


×