kiến trúc máy tính
DESCRIPTION
1. Giới thiệu 2. Bộ vi xử lý 3. Ghép nối máy tính với các thiết bịTRANSCRIPT
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 1
5 August 2010 1
Kiến trúc máy tínhComputer Organization And Architecture
TS. Lê Thế Vinh
Bài giảng
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT VINH
KHOA ĐIỆN TỬ
5 August 2010 2
Nội dung
1. Giới thiệu2. Bộ vi xử lý3. Ghép nối máy tính với các T.Bị
Tài liệu tham khảo:[1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000
[2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997
[3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008
[4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003
[5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6]. MIT, Computer System Architecture, 2005, OpenCourseWare
5 August 2010 3
1. Giới thiệu
+ Kiến trúc máy tính nói về thiết kế, các khái niệm, cấu trúc hoạtđộng căn bản của một hệ thống máy tính (wiki)
+ "Computer Systems and Architecture" is a study of theevolution of computer architecture and the factorsinfluencing the design of hardware and software elements ofcomputer systems. Topics may include: instruction setdesign; processor micro-architecture and pipelining; cacheand virtual memory organizations; protection and sharing;I/O and interrupts; in-order and out-of-order superscalararchitectures; VLIW machines; vector supercomputers;multithreaded architectures; symmetric multiprocessors; andparallel computers. (MIT)
1.1. Kiến trúc máy tính
5 August 2010 4
1. Giới thiệu
1.1. Máy tính
Personal Computer -PC
5 August 2010 5
1. Giới thiệu
1.1. Máy tính
Vector supercomputers
5 August 2010 6
1. Giới thiệu
1.1. Máy tính
Symmetric multiprocessors
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 2
5 August 2010 7
1. Giới thiệu
1.1. Máy tính
Parallel computers5 August 2010 8
1. Giới thiệu
1.1. Kiến trúc máy tính
Computer
Computer
CPU Mainmemory
I/Ounit
Systeminterconnection
CPU
RegistersALU
CU
Internal CPUInterconnection
CU
Sequencinglogic CU register &
decoders
Controlmemory
Sơ đồ khối
5 August 2010 9
1. Giới thiệu
1.1. Kiến trúc máy tính
7 lớp chức năng
5 August 2010 10
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức transistor và dâynối
+ Là mức thấp nhất củakiến trúc chức năng củamáy tính.
+ Các ống bán dẫn làthành phần tích cựcchính cùng với mạchnối dây tạo nên cácmạch logic số ở mứctrên
5 August 2010 11
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số
+ Các mạch logic số thựchiện các hàm logic cơ bảncủa đại số Boolean
+ Là các mạch cổng:AND,OR, XOR, NOT…
+ Mạch chốt, mạch mã(Coder), mạch giải mã(Decoder).
+ Mạch phần tử nhớ(Flip_Flop)
5 August 2010 12
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Collector
Base
EmitterSwitch
Base High (+5v hay 1): Tạo kết nối
Base Low (0v hay 0): Ngắt kết nối
50 tỉ transistor trên một chip 1cm2
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 3
5 August 2010 13
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Input High (+5v or 1) Output Low (0v or 0)
Input Low (0v or 0) Output High (+5v or 1)
Output ngược lại với Input
+5v
Input
Ground
Output
Cổng NOT
A
_A
5 August 2010 14
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức mạch logic số: Ví dụ
Mạch tổ hợp
1. Để thiết kế các IC: Ta dùng các thành phần logicgọi là cổng (gate)
2. Cổng được chế tạo từ một hoặc nhiều transistor tùytheo công nghệ chế tạo
3. Ta có các cổng AND, OR, NOT, NAND, NOR,XOR, Mạch giải mã, mạch mã hóa, mạch ưu tiên,mạch dồn, mạch phân, mạch cộng toàn phần, mạchlật SR
5 August 2010 15
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc vi mô
+ Bao gồm các khối chứcnăng như đơn vị số họclogic
+ Ví dụ: ALU, thanh ghi (khốithanh ghi), tệp thanh ghi(Register file).
+ Các bộ nhớ: Cache (Bộ nhớđệm), Main (ROM, RAM).
+ Các đường dẫn thông tin(Bus bên trong)
+ Đơn vị điều khiển CU
5 August 2010 16
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc tập lệnh
+ Xác định giao tiếp phầnmềm_phần cứng mà người lậptrình nhìn nhận được ở mứcngôn ngữ máy
+ ISA bao gồm:
© Tập lệnh máy (InstructionsSet)
© Kiểu lấy địa chỉ (AddressingModels)
© Khuôn dạng dữ liệu (Format)
© Các nguyên tắc vận hành(Operation prescripts)
5 August 2010 17
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Mức kiến trúc tập lệnh: Ví dụ
CHẲNG HẠN TẬP LỆNH GỒM:1 - Gán trị2 - Lệnh có điều kiện3 - Vòng lặp4 - Thâm nhập bộ nhớ ngăn xếp
5 - Các thủ tục
VD: Bật đèn LEDORG 2000hMOV SP,#50hMOV PSW,#0 ; Bank 0CLR P1.3 ; Led onEND
5 August 2010 18
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Hệ điều hành
+ Bộ nhớ ảo (VirtualMemory)
+ BIOS: Hệ thống vào ra cơbản
+ Các lệnh ảo, máy tính ảomô phỏng quá trình xử lý
+ Quản lý các các quá trình(Process)
+ Tập lệnh ảo để kết nốimạng hay xử lý song song
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 4
5 August 2010 19
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Hợp ngữ
+ Là ngôn ngữ máy phụ thuộcvào phần cứng
+ Dạng ký tự tượng trưng củangôn ngữ máy dùng với một sốvi lệnh (Micro Instruction) vàcác thủ tục (Procedure)
+ Các chương trình viết ở dạnghợp ngữ có thể can thiệp vàophần cứng của máy tính
5 August 2010 20
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Hợp ngữ: Ví dụ
Ngôn ngữlập trình
Ví dụ:ORG 2000HMOV SP,#50HMOV PSW,#00HCLR P1,00H ; LED on; SETB P1,0FH ;LED offEND
5 August 2010 21
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Ngôn ngữ hướng đối tượng,hướng bài toán ứng dụng
+ Là các ngôn ngữ bậc cao C,C++,Pascal...
+ Các ngôn ngữ mô tả: HTML,XML…
+ Các ngôn ngữ thủ tục (scripts):Java scripts, Visual Basic, C#...
5 August 2010 22
1. Giới thiệu
1.1. Kiến trúc máy tính 7 lớp chức năng
Ngôn ngữ hướng đối tượng: Ví dụ
1. §èi tîng (Object)
2. Sù kiÖn (Event)
3. Thuéc tÝnh (Properties)
4. Ph¬ng thøc (Method)
5. Líp (Class)
5 August 2010 23
1. Giới thiệu
Trao đổi
5 August 2010 24
1. Giới thiệu
1.1. Kiến trúc máy tính Mô hình kiến trúcmáy tính
Các máy tính điện tử sốthường có 2 loại kiếntrúc
Von Neumann
Harvard
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 5
5 August 2010 25
1. Giới thiệu
1.2. Các thế hệ máy tính
Sự phát triển của máy tính chia ra 4 thế hệ: Sự tiến bộ củacác công nghệ chế tạo các linh kiện cơ bản của máy tính như:bộ xử lý, bộ nhớ, các ngoại vi,…- đặc trưng bằng một sự thayđổi cơ bản về công nghệ
• Thế hệ 1: (1946-1955) Máy tính dùng đèn chân không(Vacumm Tube)• Thế hệ 2: (1955-1965) Máy tính dùng Transitor• Thế hệ 3: (1966 – 1980) Máy tính dùng mạch tích hợp IC(Intergrated Circuit)• Thế hệ 4: (1980 - nay) Máy tính dùng mạch tích hợp cực lớnVLSI (Very Large Scale Intergrated )
5 August 2010 26
1. Giới thiệu
1.2. Các thế hệ máy tínhMáy tính ENIAC(Electronic Numerical Integrator and
Computer)
Tg xây dựng: 1943-1946,được sử dụng đến 1955 (thầytrò Eckert và Mauchly, ĐHPennsylvania, USA)Đặc điểm chính:- Nặng 30 tấn, V~160m3
(20x2x2m) và P= 140kW.- 5000 nghìn phép cộng/s.- Sử dụng hệ thập phân.- Lập trình bằng công tắc.- Sử dụng 18000 bóng đènđiện tử (vacuum tubes)
=> Sau đó: GS toán học John Von Neumann đãđưa ra ý tưởng thiết kế máy tính IAS (PrincetonInstitute for Advanced Studies)
5 August 2010 27
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính Von Neumann• Máy tính IAS• Máy có mô hình cơ bản là máy tính này nay• Thế kế 1947 hoàn thành 1952
5 August 2010 28
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính HarvardTách bộ nhớ dữ liệu và bộ nhớchương trình=> CPU có thể vừa đọcmột lệnh, vừa truy cập dữ liệu từ bộnhớ cùng lúc.
Bus riêng để truy cập vào bộ nhớdữ liệu và bộ nhớ chương trình.
Các bus điều hành độc lập
Chạy nhanh hơn, bởi vì nó có thểthực hiện ngay lệnh tiếp theo khivừa kết thúc lệnh trước đó.
5 August 2010 29
1. Giới thiệu
1.2. Các thế hệ máy tính
So sánh:
Mô hình kiến trúcHarvardvà Von Neumann?
5 August 2010 30
1. Giới thiệu
1.2. Các thế hệ máy tính
Máy tính thế hệ 4 (1980- nay):• Các sản phẩm của công nghệ VLSI(Very Large ScaleIntegrated)• Bộ vi xử lý được chế tạo trên một con chip• Vi mạch điều khiển tổng hợp (Chipset)• Bộ nhớ bán dẫn độc lập( ROM, RAM) thiết kế thành Module• Các bộ vi điều khiển chuyên dụng.• Bộ vi xử lý đầu tiên của Intel 4004 năm1971• Bộ xử lý được coi hoàn thiện nhất là 8088/8086 năm1978,1979 đây được coi là ngày sinh nhật của các máy tính saunày
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 6
5 August 2010 31
1. Giới thiệu
1.2. Các thế hệ máy tính
5 August 2010 32
1. Giới thiệu
1.2. Các thế hệ máy tính
5 August 2010 33
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel 8088 (1979)
This is the chip used in thefirst PC. It was 16-bit, butit talked to the cards via a8-bit connection. It ran at awhopping 4 MHz andcould address only 1 MB ofRAM.
5 August 2010 34
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel 80286 (1980)
A 16-bit processor capable ofaddressing up to 16 MB of RAM.
5 August 2010 35
1. Giới thiệu
1.2. Các thế hệ máy tính
386 (1988)
It could only access 16 megabytes of memory.The 386 processor was manufactured in manydifferent versions and ran at speeds from 16Mhz through to 40 Mhz.
5 August 2010 36
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel 486 (1991)The 486 initially ran at clock speeds of25 MHz (SX only) and 33 MHz. As itwas developed the 486 was enhancedwith a clock doubled processor core(486 DX-2) allowing it to run at speedsof 50, 66 and 75 MHz, and then tripled(DX-4) which ran up to 100 MHz.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 7
5 August 2010 37
1. Giới thiệu
1.2. Các thế hệ máy tính
Intel Pentium
This was the first Intelprocessor not to use thex86 naming system.
Tên thương mại là, không hàm ý nghĩa gì khác ngoàipent tiếng Hy lạp là số 5
5 August 2010 38
1. Giới thiệu
1.2. Các thế hệ máy tính
Một số đặc điểm của VXL Intel
5 August 2010 39
1. Giới thiệu
1.2. Các thế hệ máy tính
5 August 2010 40
1. Giới thiệu
1.3. Phân loại máy tính
Phân loại theo phương pháp truyền thống
• Máy vi tính ( Microcomputer)
• Máy tính nhỏ (Minicomputer)
• Máy tính lớn (Mainframe Computer)
• Siêu máy tính (Super Computer)
•Phân loại theo phương pháp hiện đại
• Máy tính để bàn (Desktop Computer)
• Máy chủ (Servers)
• Máy tính nhúng (Embedded Computer)
5 August 2010 41
1. Giới thiệu
1.3. Phân loại máy tính
Máy để bàn:• là loại máy thông dụng nhất hiện nay.• bao gồm máy tính cá nhân (PC: Persional Computer) và trạm(Workstation Computer).• giá mua 100$ đến 10.000$Máy chủ• là máy phục vụ(server)• dùng trong mạng theo mô hình Clent/Server• có tốc độ, hiệu năng, bộ nhớ và độ tin cậy cao• giá vài chục nghìn đến vài chục triệu đô
5 August 2010 42
1. Giới thiệu
1.3. Phân loại máy tính
Máy tính nhúng
• được đặt trong nhiều thiết bị khác nhau để điều khiển
thiết bị làm việc
• được thiết kế chuyên dụng
• ví dụ: điện thoại di động, bộ điều khiển các thiết gia
đinh, Router định tuyến,…
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 8
5 August 2010 43
Nội dung
1. Giới thiệu2. Bộ vi xử lý3. Ghép nối máy tính với các T.Bị
Tài liệu tham khảo:[1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000
[2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997
[3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008
[4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003
[5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6]. MIT, Computer System Architecture, 2005, OpenCourseWare
5 August 2010 44
1. Giới thiệu
1.4. Thông tin và sự mã hóa
Một số khái niệm- Thông tin: được hiểu là nội dung chứađựng bên trong một sự kiện- Tín hiệu: mô tả các biểu hiện vật lý củatin tức
t/h tương tự: liên tục cả về biên độvà thời gian
t/h số: gián đoạn cả về biên độ vàthời gian
5 August 2010 45
1. Giới thiệu
1.4. Thông tin và sự mã hóa
a) Hệ đếm
Hệ thập phân, cơ số 10 (Decimal System): Con người sửdụng
Hệ nhị phân, cơ số 2 (Binary System): Máy tính sử dụng
Hệ mười sáu, cơ số 16 (Hexadecimal System): Dùng đểviết gọn số nhị phân
5 August 2010 46
1. Giới thiệu
1.4. Thông tin và sự mã hóaa) Hệ đếmHệ 2, hệ 10, hệ 16 v.v.Ví dụ:
(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = 8 + 2 + 1 =11
(4F)16 = 4FH = 4x161 + 15x160 = 64 + 15 = 79
5 August 2010 47
1. Giới thiệu
1.4. Thông tin và sự mã hóaa) Hệ đếmĐể đổi một số X hệ 10 sang hệ cơ số a (Y),ta chia liên tiếp X cho a, ghi lại số dư b0, b1,..., bn, khi đó Y=bn ... bi... b1b0
5 August 2010 48
1. Giới thiệu
1.4. Thông tin và sự mã hóa
b) Mã hóa (do con người định nghĩa, quy định)Ví dụ: Mã ASCII, mã BCD, mã nhị phân v.vMã ASCII dùng 8 bit (binary digit) để mã hoá256 ký tự
số 5 có mã ASCII là 35H = 0011 0101Mã BCD dùng 4 bit để mã hoá 1 chữ số thậpphân
số 73 có mã BCD là 0111 0011Mã nhị phân dùng n bit để mã hoá 2n phần tửtin tức
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 9
5 August 2010 49
1. Giới thiệu
1.4. Thông tin và sự mã hóa
5 August 2010 50
1. Giới thiệu
1.4. Thông tin và sự mã hóa
5 August 2010 51
1. Giới thiệu
1.4. Thông tin và sự mã hóa 16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F
Dùng để viết gọn cho số nhị phân: cứ một nhóm 4 bitsẽ được thay thế bằng 1 chữ số Hexa
5 August 2010 52
1. Giới thiệu
1.4. Thông tin và sự mã hóaMã hoá và lưu trữ dữ liệu trong máy tính
Nguyên tắc chung về mã hoá dữ liệu
Mọi dữ liệu đưa vào máy tính đều được mã hoá thành số nhịphân
Độ dài từ dữ liệu (word)
Độ dài từ dữ liệu là số bit được sử dụng để mã hoá loại dữliệu tương ứng
Thường là bội của 8 bit
VD: 8, 16, 32, 64 bit
8 bits = 1 Byte (1 keyboard character)
1,024 bytes = 1 Kilobyte (1K) = 210 characters
1,024 K = 1 Megabyte (MB) = 220 characters
1,024 MB = 1 Gigabyte (GB) = 230 characters
5 August 2010 53
Byte, bit MSB, LSB và trạng thái 0, trạng thái 1
8 Bits = 1 Byte
OnOff
ON bits are said to be in a 1 stateOFF bits are said to be in a 0 state
MSB LSB
5 August 2010 54
Biểu diễn số nguyên
Với một Byte/Word+ 1 bit MSB (Most Significant Bit): là bit cuối cùng bên trái (bit 7đối với Byte, và 15 với Word).
+ 1 bit LSB (Least Significant Bit): ngược lại, nằm cuối cùng bênphải
Biểu diễn một số nguyên dùng hết 1 word (16 bits) mà khôngcần sử dụng bit xác định dấu.
+ Số nguyên lớn nhất ta có là 1111 1111 1111 1111 = 65535. LSBmang giá trị 0 cho số chẵn và 1 cho số lẻ
+ Đối với số nguyên có dấu, sử dụng msb làm bit xác định dấu (0:Dương). Giá trị này lưu trên máy tính dạng số bù 2 (với số âm).
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 10
5 August 2010 55
Số bù 1 và bù 2
* Số bù 1: Là kết quả phép đảo bits.0000 0000 0000 0101
Bù 1: 1111 1111 1111 1010 Số bù 2: Kết quả phép cộng số bù 1 và 1Bù 1: 1111 1111 1111 1010
+ 1Bù 2: 1111 1111 1111 1011
5 August 2010 56
Vì sao bù 2 là biểu diễn số âm?
Lấy con số gốc + bù 2 = 0
msb sẽ bị mất do word chỉ có khả năng lưu giátrị 16 bits.
Nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trịgốc.
Biểu diễn dạng không dấu đơn giản chỉ là phéptính chuyển cơ số.
Dạng có dấu chuyển tính dưới dạng bits, lấybù 2.
5 August 2010 57
Dạng byte – 8 bit
Có thể biểu diễn dạng:
Số nguyên không dấu 8bit
Có giá trị từ 0 28-1=255
Số nguyên có dấu
bit dấu
Có giá trị từ: -27 27-1 (-128127)
01234567
0: Số dương
1: Số âm
5 August 2010 58
1 ký tự theo bảng mã ASCII
‘a’ 97 = 61Hex = 01100001
‘A’ 65 = 41Hex = 01000001
Ví dụ cho dạng byte 10111000
Số nguyên không dấu tương ứng
10111000 = 128 + 32 + 16 + 8 = 184
Số nguyên có dấu (xét bit dấu = bit 7 = 1)
Lấy bù: 01000111
+ 1
01001000 = 64 + 8 = 72
Số nguyên có dấu là: -72
Nhận xét: 256 – 184 = 72
1.4. Thông tin và sự mã hóa – Ví dụ
5 August 2010 59
Dạng word – 16 bit Có thể biễu diễn dạng:
Số nguyên không dấu 16bit:
Có giá trị: 0 216-1=65535 Số nguyên có dấu 16bit
Có giá trị: -215215-1 (-3276832767) word = (byte cao)x28 + (byte thấp)
89101112131415 01234567
8 bit cao (byte cao) 8 bit thấp (byte thấp)
bit dấu = bit cao nhất = bit 15
1.4. Thông tin và sự mã hóa – Ví dụ
5 August 2010 60
1.4. Thông tin và sự mã hóa – Ví dụ
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 11
5 August 2010 61
1. Bộ mã ASCII
5 August 2010 62
5 August 2010 63
Các ví dụ
Ví dụ 1:
Biểu diễn các số nguyên có dấu sauđây bằng 8 bit: A = +58 ; B = -80
5 August 2010 64
5 August 2010 65 5 August 2010 66
1. Giới thiệu
1.5. Mạch logic cơ bản
4
1/ NOT
2/ AND
3/ OR
Hµm logic PhÇn tö logic B¶ng Ch©n lý
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 12
5 August 2010 67
Cổng AND
+5v Output là 1 nếu và chỉ nếu
Input-1 là 1 và
Input-2 là 1
Output = Input1 ANDInput2
Output
Input-1
Input-2
AND GateA
ABB
5 August 2010 68
5
4/ NAND
5/ NOR
6/ XOR
7/ Hµm
t¬ng
®¬ng
3- C¸c phÐp to¸n, phÇn tö logic c¬ b¶n
PhÇn tö logic Hµm logic
5 August 2010 69
4- BiÓu diÔn hµm logic b»ng s¬ ®å
6
Mét sè vÝ dô:
5 August 2010 70
15b
Bé céng 2 sè nhÞ ph©n 1 bit
5 August 2010 71
15c
Bé so s¸nh 2 sè nhÞ ph©n 1 bit
5 August 2010 72
1. Giới thiệu
1.6. Liên kết hệ thống
Khái niệm chung về bus: Là tập hợp các đường kết nốidùng để vận chuyển thông tin giữa các thành phần củamáy tính với nhau.
Độ rộng bus: Là số đường dây của bus có thể truyềncác bit thông tin đồng thời (chỉ dùng cho bus địa chỉ vàbus dữ liệu)
Phân loại cấu trúc bus:
Cấu trúc đơn bus
Cấu trúc đa bus
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 13
5 August 2010 73
Bus đồng bộ và bus không đồng bộ
Bus đồng bộ
+ Bus có đường tín hiệu Clock
+ Các sự kiện trên bus được xác định bởixung nhịp Clock.
Bus không đồng bộ
+ Không có đường tín hiệu Clock
+ Kết thúc một sự kiện này trên bus sẽkích hoạt cho một sự kiện tiếp theo.
5 August 2010 74
Minh họa hệ thống Bus
5 August 2010 75
Bus địa chỉ Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ
hay cổng vào-ra.
Độ rộng bus địa chỉ: xác định dung lượng bộ nhớ cựcđại của hệ thống.
5 August 2010 76
Bus dữ liệu
Chức năng: vận chuyển lệnh từ bộ nhớ đến CPU vậnchuyển dữ liệu giữa CPU, các môđun nhớ và môđunvào-ra.
Độ rộng bus dữ liệu: xác định số bit dữ liệu có thểđược trao đổi đồng thời.
5 August 2010 77
Bus điều khiển
Chức năng: vận chuyển các tín hiệu điều khiển
Các loại tín hiệu điều khiển
+ Các tín hiệu phát ra từ CPU để điều khiểnmôđun nhớ và môđun vào-ra
+ Các tín hiệu từ môđun nhớ hay môđun vào-ragửi đến yêu cầu CPU.
5 August 2010 78
Chu kỳ bus
Mỗi chu kỳ bus là 1 tác vụ xảy ra trên bus để truyền tảidata.
Mỗi lần CPU cần lệnh (hoặc data) từ bộ nhớ hoặc I/O,chúng phải thực thi 1 chu kỳ bus để có được thông tinhoặc ghi thông tin ra bộ nhớ hoặc ra I/O.
Mỗi chu kỳ bus gồm 2 bước :
+ Bước 1 : gửi địa chỉ
+ Bước 2 : truyền data từ địa chỉ đã được định vị.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 14
5 August 2010 79
Chu kỳ Bus
4 chu kỳ bus cơ bản :
+ Đọc bộ nhớ (memory Read)
+ Ghi bộ nhớ (memory Write)
+ Đọc I/O (I/O Read)
+ Ghi I/O (I/O Write)
Các tín hiệu cần thiết để thực hiện các chu kỳ bus được sinh rabởi CPU hoặc DMA Controller hoặc bộ làm tươi bộ nhớ
Mỗi chu kỳ Bus đòi hỏi tối thiểu trọn vẹn 2 xung đồng hồ hệthống.
Đây là mốc tham chiếu theo thời gian để đồng bộ hoá tất cả cáctác vụ bên trong máy tính.
5 August 2010 80
Chu kỳ Bus
5 August 2010 81
Chu kỳ Bus
Xung đầu tiên gọi là Address time, địa chỉ truyxuất sẽ được gửi đi cùng với tín hiệu xác định loạitác vụ sẽ được thực thi (đọc/ghi/đến mem/đếnI/O).
Cuối xung thứ 2, CPU sẽ kiểm tra đường tín hiệuReady. Nếu thiết bị cần truy xuất sẵn sàng đápứng tác vụ, thiết bị này sẽ kích 1 tín hiệu lên đườngReady để báo cho CPU biết và chu kỳ bus hoàn tất.
Khi 1 thiết bị không sẵn sàng, không có tín hiệutrên đường Ready, CPU phải chờ, có thể phải tiêutốn thêm 1 hay nhiều xung clock
5 August 2010 82
Nội dung
Bộ vi xử lý:
1. Cấu trúc phần mềm
2. Thi hành lệnh
3. Tập lệnh
5 August 2010 83
2. Bộ vi xử lý
2.1. Kiến trúc phần mềm – ghi chú về phần cứng
Cấu trúc của một hệ máy tính đơn giản5 August 2010 84
2. Bộ vi xử lý
Chương trình, bộ nhớ,thanh ghi,ngăn xếp
+Thanh ghi dữliệu:AX 16 bit(AH, AL), BX,…
+Thanh ghiđoạn: CS, DS,SS, ES
+ Th. Ghi contrỏ và chỉ số:SP (ngăn xếp),BP, IP, SI, DI
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 15
5 August 2010 85
2. Bộ vi xử lý
Kiến trúc phần mềm của bộ xử lý, bao gồm: tập lệnh,dạng các lệnh và các kiểu định vị.
+ Tập lệnh là tập hợp các lệnh mã máy (mã nhị phân)hoàn chỉnh có thể hiểu và được xử lý bới bộ xử lýtrung tâm, thông thường các lệnh trong tập lệnhđược trình bày dưới dạng hợp ngữ. Mỗi lệnh chứathông tin yêu cầu bộ xử lý thực hiện, bao gồm: mãtác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạngkết quả, lệnh kế tiếp.
+ Kiểu định vị chỉ ra cách thức thâm nhập toán hạng.
2.1. Kiến trúc phần mềm
5 August 2010 86
2. Bộ vi xử lý
2.2. Thi hành lệnh
Bắt đầu mỗi chu trình lệnh, CPU nhận lệnhtừ bộ nhớ chính.
Bộ đếm chương trình PC (ProgramCounter) của CPU giữ địa chỉ của lệnh sẽđược nhận.
CPU nhận lệnh từ ngăn nhớ được trỏ bởi
PC (Program Counter).
Lệnh được nạp vào thanh ghi lệnh IR(Instruction Register)
Sau khi lệnh được nhận vào, nội dung PC tựđộng tăng để trỏ sang lệnh kế tiếp.
Chu trình lệnh
5 August 2010 87
CPU thực hiện lệnh theo từng bước
Bước 1 Đọc lệnh tiếp theo vào bộ nhớ chính vào thanh ghi
lệnh IR (Lệnh IR nằm trong bộ nhớ chính)Bước 2 Thay đổi bộ đếm chương trình để trỏ tới lệnh tiếp
theoMOV A, (M)ADD A, (M+)
Bước 3 Giải mã lệnh: CPU xác định kiểu lệnh đọc vào bộ nhớ
5 August 2010 88
Minh họa quá trình nhận lệnh
5 August 2010 89
CPU thực hiện lệnh theo từng bước
Bước 4 Nếu lệnh sử dụng một từ trong một bộ nhớ phải xácđịnh xem từ đó nằm ở đâu
Bước 5 Nếu tồn tại, đọc từ đó vào một thanh ghi bên trong
CPU, đa phần đọc vào thanh ghi ABước 6 Thực hiện lệnhBước 7 Cất giữ kết quả lệnhBước 8 Quay lại bước đầu tiên
5 August 2010 90
2. Bộ vi xử lý
2.3. Tập lệnh
Giới thiệu chung
+ Mỗi bộ xử lý có tập lệnh xác định.
+ Một tập lệnh thường có vài chục đến vài nghìn lệnh
+ Mỗi lệnh là chuỗi nhị phân mà bộ xử lý có thể phân tích vàhiểu để thực hiện thao tác mà lệnh đó yêu cầu.
+ Các lệnh khi viết được ánh xạ ra thành các ký hiệu gợi nhớ.ADD, MOV, IN, OUT, SHL, ROL,…
+ Giống câu lệnh của hợp ngữ (Lập trình ASSEMBLY)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 16
5 August 2010 91
Các kiểu thao tác
• Thao tác chuyển dữ liệu• Thao tác xử lý số học và logic• Thao tác vào ra dữ liệu qua cổng• Thao tác điều khiển rẽ nhánh• Thao tác điều khiển hệ thống• Thao tác xử lý số dấu chấm động• Thao tác chuyên dụng khác: xử lý ảnh, âm thanh,
tiếng nói,…
5 August 2010 92
Các lệnh chuyển dữ liệu
+ Lệnh Mov Sao chép dữ liệu từ toán hạng nguồn -> đích
+ Lệnh Load Nạp dữ liệu từ bộ nhớ -> bộ xử lý
+ Lệnh XCHG Trao đổi nội dung của hai toán hạng chonhau
+ Lệnh PUSP Cất nội dung của một toán hạng nguồn vàostack
+ Lệnh POP Lấy nội dung ở đỉnh Stack ra toán hạng đích
+ Lệnh Set, Clear
5 August 2010 93
Một số lệnh
Các lệnh số học
+ Lệnh ADD: cộng
+ Lệnh SUB: trừ
+ Lệnh MUL: nhân
+ Chia DIV: chia
Các lệnh logic
+ Lệnh Test Thực hiện lệnh AND thiết lập cờ
+ Lệnh Shift Dịch trái, hoặc phải
+ Lệnh Rotate Quay trái hoặc quay phải
+ Lệnh Convert Chuyển đổi dữ liệu từ dạng này sang dạng khác
+ Lệnh AND, OR, XOR, NOT,….
5 August 2010 94
Các lệnh vào ra
+ Lệnh Input
+ Lệnh Output
Các lệnh chuyển điều khiển
+ Lệnh Jump
+ Lệnh Call
+ Lệnh Return : trở về từ chương trình con
Các lệnh điều khiển hệ thống
+ Lệnh Halt : dừng thực hiện chương trình
+ Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra cho đếnkhi thoả mãn thì tiếp tục thực hiện
+ Lệnh NOP (No Operation): không thực hiện gì cả
+ Lệnh Lock : Cấm không cho chuyển nhượng BUS
+ Lệnh Unlock: cho phép chuyển nhượng BUS
Một số lệnh
5 August 2010 95
Ví dụ lập trình cho LED nhấp nháy
(Cho 8051)ORG 2000hMOV SP,#50hMOV PSW,#0 ; Bank 0
LOOP: CLR P1.3 ; Led onCALL DELAYSETB P1.3 ; Led offCALL DELAYJMP LOOP
DELAY: PUSH PSWMOV PSW,#18h; Bank 3MOV R7,#0
DLY1:MOV R6,#0DLY2:NOP
NOPNOPDJNZ R6,DLY2DJNZ R7,DLY1POP PSWRETEND
5 August 2010 96
2. Bộ vi xử lý
Sử dụng ngăn xếpkhi gọi chươngtrình con (thủ tục,hàm)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 17
5 August 2010 97
Nội dung
2. Bộ vi xử lý (tiếp):
1. Tổ chức phần cứng
2. Xử lý và truyền dữ liệu
3. Một số máy tính lớn
5 August 2010 98
2. Bộ vi xử lý
2.1. Tổ chức phần cứng
CPU 8088
EU : khối thực hiệnlệnh(Execution Unit)ALU : khối số học vàlogic(Arithmetic anh LogicUnit)CU: Khối điều khiển
BIU : khối phối ghépbus(Bus Interface Unit)
5 August 2010 99
2. Bộ vi xử lý
CPU:
5 August 2010 100
2. Bộ vi xử lý
Thực hiện lệnh gồm:+ Đọc mã lệnh,+ Giải mã lệnh+ Thực hiện lệnh.(Sau đó lưu kết quả và ô nhớ)
Khi CPU hoạt động, EU sẽ cung cấpthông tin về địa chỉ cho BIU để khốinày đọc lệnh và dữ liệu, còn bản thânEU thì giải mã lệnh và thực hiện lệnh.
5 August 2010 101
2. Bộ vi xử lý
+ BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghidữ liệu từ/vào cổng hoặc bộ nhớ. BIU chịu trách nhiệmđưa địa chỉ ra bus và trao đổi dữ liệu với bus.+ EU có khối điều khiển(CU - Control Unit), có mạchgiải mã lệnh. Mã lệnh đọc vào từ bộ nhớ được đưa đếnđầu vào của bộ giải mã, các thông tin thu được từ đầura được đưa đến mạch tạo xung điều khiển, kết quả là tathu được các dãy xung khác nhau (tuỳ theo mã lệnh) đểđiều khiển hoạt động của các bộ phận bên trong và bênngoài CPU. Trong EU còn có khối số học vàlogic(ALU) dùng để thực hiện các thao tác khác nhauvới các toán hạng của lệnh.
5 August 2010 102
2. Bộ vi xử lý
ALU:
CU:
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 18
5 August 2010 103
2. Bộ vi xử lý
CU: sơ đồ khối
5 August 2010 104
2. Bộ vi xử lý
Bộ thanh ghi
5 August 2010 105
2. Bộ vi xử lý
Thanh ghi truy cập bộ nhớ
5 August 2010 106
2. Bộ vi xử lý
Thanh ghi chuyển tải lệnh
Thanh ghi trạng thái
5 August 2010 107
2. Bộ vi xử lý
5 giai đoạn thực hiện lệnh:
2.2. Xử lý và truyền dữ liệu
5 August 2010 108
2. Bộ vi xử lý
5 giai đoạn thực hiện lệnh:
2.2. Xử lý và truyền dữ liệu
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 19
5 August 2010 109
2. Bộ vi xử lý
Đọc lệnh:
Giải mã lệnh và thi hành lệnh
Lưu kết quả:
5 August 2010 110
2. Bộ vi xử lý
2.2. Xử lý và truyền dữ liệu
5 August 2010 111
Cấu trúc mã lệnh
Một lệnh mô tả bằng mã nhị phân có thể dài từ 1 đến 6 byte. Cấu trúc chung của một mã lệnh bao gồm:+ Prefix đi trước mã lệnh.+ Mã toán (Operation Code: Opcode): Mã chỉ ra thao tác mà bộ
vi xử lý cần phải thực hiện, phân biệt đó là lệnh gì.+ Ví dụ với lệnh dịch chuyển MOV có mã toán là 100010.+ Địa chỉ toán hạng (Operand Address): Chỉ ra nơi chứa các
toán hạng mà mã thao tác sẽ tác động.+ Toán hạng (operand) cho biết cái gì được xử lý (nội dung của
thanh ghi hay bộ nhớ). Địa chỉ trực tiếp (2 byte).+ Toán hạng nguồn: dữ liệu vào của thao tác+ Toán hạng đích: dữ liệu ra của thao tác
5 August 2010 112
5 August 2010 113
Cấu trúc mã lệnh
Nội dung của mã lệnh được quy định khá chặt chẽ.Ví dụ: dưới đây cho thấy cấu trúc nhị phân của một lệnh dịchchuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanhghi hoặc giữa ô nhớ và thanh ghi.
5 August 2010 114
Bit D (direction) chỉ hướng cho thanh ghi REG.
+ D=1 chỉ dữ liệu đi đến REG.
+ D=0 thì chỉ dữ liệu đi từ REG.
Bit W (Word) chỉ xem thanh ghi được dùng là 8 bithay 16 bit (1 word). W=1 có nghĩa là thanh ghi 16 bitđược dùng.
Hai bit MOD (mode, chế độ) và Ba bit R/M(register/memory, thanh ghi/bộ nhớ) tạo ra 5 bit, dùngđể chỉ chế độ địa chỉ của lệnh.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 20
5 August 2010 115
Bảng mã thanh ghi
5 August 2010 116
Bảng mã thanh ghi
5 August 2010 117
Ví dụ
Mã hoá các lệnh:
a/ MOV CL,[BX];
b/ MOV 0F3H[SI],CL;
5 August 2010 118
Ví dụ
5 August 2010 119 5 August 2010 120
2. Bộ vi xử lý
BIU có thêm một bộ nhớ đệm lệnh vớidung lượng 4 byte dùng để chứa các mãlệnh đọc được nằm sẵn để chờ EU xử lý(còn được gọi là hàng đợi lệnh - Queue)
Cơ chế xử lý xen kẽ liên tục dòng mã lệnh(instruction pipelining)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 21
5 August 2010 121
Kỹ thuật pipelining
Bộ xử lý gồm các phần tử xử lý độc lập ProcessingElements/Stage
Được ứng dụng để thiết kế quá trình xử lý lệnhsong song từng công đoạn (Instruction pipelining)
5 August 2010 122
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 123
Phân loại theo Flynn
Phân 4 nhóm dựa trên số lượng chuỗi lệnh vàsố lượng chuỗi dữ liệu
SISD (Single Instruction, Single Data): Mộtchuỗi lệnh, một chuỗi dữ liệu
SIMD (Single Instruction, Multiple Data):Máy tính mảng, máy tính xử lý vector (tínhtoán vector, các bài toán Vector)
MISD: Nhiều lệnh 1 dữ liệu MIMD: Nhiều chuỗi lệnh và nhiều chuỗi dữ
liệu ->kiến trúc song song MultiProcessor Parallel Computer Multicomputer Distributed system
5 August 2010 124
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 125
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 126
2. Bộ vi xử lý
2.3. Máy tính lớn
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 22
5 August 2010 127
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 128
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 129
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 130
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 131
2. Bộ vi xử lý
2.3. Máy tính lớn
5 August 2010 132
2. Bộ vi xử lý
2.3. Máy tính lớn
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 23
5 August 2010 133
Phân loại kiến trúc máy tính song song
5 August 2010 134
Các cấp kiến trúc máy tính song song
(a) On-chip parallelism
(b) Coprocessor
(c) Multiprocessor
(d) Multicomputer
(e) Grid
5 August 2010 135
Phân loại theo cấu trúc kết nối máy tính
Một hệ thống máy tính có thể được xem như:+ Một tập hợp n>=1 bộ xử lý, hay đơn vị xử lý trung tâm (CPU):
P1,P2,P3…Pn+ M>=0 (đơn vị nhớ chia sẻ) M1, M2…Mn kết nối trong mạng N Chia thành hai loại+ Máy tính chia sẻ bộ nhớ ( Share Memory Computer)+ Máy tính phân tán bộ nhớ ( Distributed Memory Computer)
5 August 2010 136
Máy tính chia sẻ bộ nhớ
+ Hệ thống máy tính có mộtbộ nhớ chung và n bộ XLkết nối với nhau qua mạngN
Máy tính phân tán bộ nhớ
+ Mỗi một bộ XL kết nối vớimột bộ nhớ riêng biệt
Phân loại theo cấu trúc kết nối máy tính
5 August 2010 137
Bộ nhớ dùng chung (shared memory)
5 August 2010 138
Bộ nhớ dùng chung (tt)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 24
5 August 2010 139
Distributed system
5 August 2010 140
Multicomputer
a. Multicomputer với 16 CPU, mỗi CPU có bộ nhớ riêng-> máy tínhbộ nhớ phân tán
b. Một hình ảnh được chia thành 16 phần trên 16 bộ nhớ
5 August 2010 141
Multiprocessor
a. Multiprocessor với 16 CPU dùng chung 1 bộ nhớ -> máy tính chiasẻ bộ nhớ
b. Một hình ảnh được chia thành 16 phần cho 16 CPU xử lý
5 August 2010 142
NUMA multiprocessor
Máy tính NUMA dựa trên hai cấp bus
5 August 2010 143
Kiến trúc Cluster
5 August 2010 144
So sánh giữa Multiprocessor và MultiComputer
Giống nhau: Cùng thực hiện một nhiệm vụ chung, haynhững nhiệm vụ được chia sẻ
Khác nhau:
Đa xử lý (Multiprocessor): là một máy tính nhiều lệnh,nhiều dữ liệu (MIMD)
Nâng cao hiệu suất xử lý, khi thực hiện một nhiệm vụ quálớn, thời gian kéo dài các tác vụ được chia sẻ và cácPE(CPU) thực hiện song song.
Tăng độ tin cậy, độ sẵn sàng của máy tính, là sự sẵn sànghoạt động liên tục của máy tính khi có bất kỳ sự cố nàotrong hệ thống.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 25
5 August 2010 145
Kiến trúc song song đều cho khả năng tăngtốc độ tính toán của máy tính hoặc VXL
Tăng độ tin cậy vì khi có một bộ XL hay khibộ nhớ bị hỏng thì quá trình tính toán chungvẫn thực hiện bình thường do các thành phầncòn lại vẫn đảm nhiệm chức năng của thànhphần bị hỏng
Nhược điểm là phức tạp về cấu trúc và khókhăn cho quản lý
5 August 2010 146
Các CPU cũ đã xử lý mỗi lúc một lệnh+ Lệnh trước đã được lấy về và được xử lý hoàn toàn rồi
một lệnh mới mới được đọc về.+ Việc xử lý một lệnh có thể được hoàn tất trong vài chu
kỳ xung nhịp (số chu kỳ xung nhịp đích xác bao nhiêulà tuỳ thuộc vào lệnh cụ thể)
Kỹ thuật xử lý theo đường ống (pipelining) Xử lý lệnh liên tiếp (Intruction Pipelining) cho phép
lệnh mới bắt đầu được xử lý trong khi các lệnh hiện tạivẫn đang được xử lý.
CPU có thể được thực hiện vài lệnh trong cùng mộtchu kì xung nhịp.
Đối với một chu kì xung nhịp cho trước bất kỳ, có thểcó vài lệnh “In the pipeline” cùng một lúc.
Xử lý theo đường ống cho phép CPU tận dụng các tàinguyên xử lý trong khi một lệnh nào đó đang đượchoàn tất.
5 August 2010 147
2. Bộ vi xử lý
Một số câu hỏi, bài tập
5 August 2010 148
2. Bộ vi xử lý
Một số câu hỏi, bài tập
5 August 2010 149
Nội dung
1. Giới thiệu2. Bộ vi xử lý3. Ghép nối máy tính với các T.Bị
Tài liệu tham khảo:[1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000
[2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997
[3]. Trần Thị Kim Huệ, BG Kiến trúc máy tính, ĐH Sư phạm Hà Nội, 2008
[4]. Trần Quang Vinh, Cấu trúc máy tính, NXB Giáo dục, 2003
[5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book
[6]. MIT, Computer System Architecture, 2005, OpenCourseWare
5 August 2010 150
3. Ghép nối máy tính với thiết bị
Thiết bị ngoại viThiết bị ngoại vi là tên chung nói đến một số
loại thiết bị bên ngoài thùng máy được gắnkết với máy tính với tính năng nhập xuất (IO)hoặc mở rộng khả năng lưu trữ (như mộtdạng bộ nhớ phụ).
Thiết bị ngoại vi của máy tính có thể là:Thiết bị cấu thành lên máy tính và không thể
thiếu được ở một số loại máy tính.Thiết bị có mục đích mở rộng tính năng hoặc khả
năng của máy tính.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 26
5 August 2010 151
3. Ghép nối máy tính với thiết bị
Một số loại thiết bị ngoại viCó nhiều các thiết bị ngoại vi của máy tính, dưới đây liệt kê một
số thiết bị ngoại vi thường gặp hoặc quan trọng cấu thànhlên máy tính như sau:
1. Màn hình máy tính2. Ổ cứng gắn ngoài hoặc ổ cứng di động3. Các loại thiết bị nhớ mở rộng: Bút nhớ USB...4. Ổ quang (CD, DVD)5. Chuột (máy tính)6. Bàn phím máy tính7. Máy in8. video camera cho mục đích an ninh, giám sát được khi được kết nối với
máy tính. Webcam9. Modem các loại (cho quay số, ADSL...)10. Loa máy tính
5 August 2010 152
Common System Components
This figure showsseveral devices thatare common com-ponents of a com-puter system.
5 August 2010 153
3. Ghép nối máy tính với thiết bị
Hệ thống vào-ra (Input/Output System)
Chức năng
Trao đổi thông tin giữa máy tính với thế giới bênngoài.
Các thao tác cơ bản
Vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thành phần chính
Các thiết bị ngoại vi (Peripheral Devices)
Các môđun vào-ra (IO Modules)
5 August 2010 154
Các thiết bị ngoại vi
Chức năng
+ Chuyển đổi dữ liệu giữa bên trong và bênngoài máy tính.
Các loại thiết bị ngoại vi (TBNV) cơ bản
+ Thiết bị vào: bàn phím, chuột, máy quét …
+ Thiết bị ra: màn hình, máy in …
+ Thiết bị nhớ: các ổ đĩa …
+ Thiết bị truyền thông: MODEM …
5 August 2010 155
Modul vào-ra
Chức năng
+ Nối ghép các TBNV với máytính.
+ Mỗi môđun vào-ra có mộthoặc một vài cổng vào-ra (I/OPort).
+ Mỗi cổng vào-ra được đánhmột địa chỉ xác định.
+ Các TBNV được kết nối vàtrao đổi dữ liệu với máy tínhthông qua các cổng vào-ra.
5 August 2010 156
Bộ nhớ máy tính
Chức năng: lưu trữ chương trình và dữ liệu. Các thao tác cơ bản với bộ nhớ:+ Đọc (Read)+ Ghi (Write) Các thành phần chính:+ Bộ nhớ trong (Internal Memory)+ Bộ nhớ ngoài (External Memory)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 27
5 August 2010 157
Phân lớp hệ thống nhớ
5 August 2010 158
Bộ nhớ trong (Internal memory)
Chức năng và đặc điểm
+ Chứa các thông tin mà CPU có thể trao đổitrực tiếp
+ Tốc độ rất nhanh
+ Dung lượng không lớn
+ Sử dụng bộ nhớ bán dẫn
Các loại bộ nhớ trong
+ Bộ nhớ chính
+ Bộ nhớ cache (bộ nhớ đệm nhanh)
5 August 2010 159
Bộ nhớ chính (Main memory)
+ Chứa các chương trình vàdữ liệu đang được CPU sửdụng.
+ Tổ chức thành các ngănnhớ được đánh địa chỉ.
+ Ngăn nhớ thường được tổchức theo byte.
+ Nội dung của ngăn nhớ cóthể thay đổi, song địa chỉvật lý của ngăn nhớ luôn cốđịnh.
5 August 2010 160
Bộ nhớ chính
Bộ nhớ RAM (Random access memory)+ 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. Bộ nhớ ROM (Read Only Memory)+ 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ếnthành FlashBIOS.
5 August 2010 161
RAM
Các ô nhớ có thể đọc hoặc ghi trong khoảng thờigian bằng nhau cho dù chúng ở bất kỳ vị trí nàotrong ô nhớ.
Mỗi ô nhớ có một địa chỉ ghi 1byte, nhưng hệthống nhớ có thể đọc ra hay viết vào nhiều byte
Phân loại+ SRAM (Static RAM): Chế tạo theo công nghệ
CMOS, vẫn lưu dữ liệu nếu có điện+ DRAM (Dynamic RAM): Dùng nguyên tắc tíchđiện của tụ điện C được tạo ra bởi bản mạchTransistor và đế của vi mạch
5 August 2010 162
SRAMDung lượng của SRAM 2n x m (bit)
n : là số bit địa chỉ
m: là số bit dữ liệu
+ Bộ nhớ SRAM thường được tổchức theo ma trận vuông số hàngvà số cột bằng nhau, giao điểmcủa hàng và cột chính là 1 ô bitnhớ
Mỗi bit trong 1 thanh SRAM được chứa trong 4 transistor tạothành 2 cặp chéo nhau. Ô chứa có 2 trạng thái 0 và 1.
Ngoài ra còn 2 transistor được sử dụng điều khiển quyền truycập tới 1 ô nhớ trong quá trình đọc và ghi. Tổng cộng, cần 6transistor để chứa 1 bit bộ nhớ.
Truy cập tới cell được kích hoạt bởi word line (WL) điều khiển 2transistor truy cập M5 và M6, được kết nối tới các đường bit: BLvà BL đảo.
Đường bit được sử dụng để truyền dữ liệu cho cả đọc và ghi (cóthể có một trong hai)
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 28
5 August 2010 163
DRAM
Dùng kỹ thuật CMOS mỗibit nhớ, mỗi bit nhớ có mộttransistor và một tụ điện
Việc ghi nhớ dựa vào việcduy trì nạp vào tụ điện vàviệc đọc một bit nhớ làm nộidung bit này bị hủy
Sau mỗi lần đọc ô nhớ, bộphận điều khiển bộ nhớ viếtlại ô nhớ đó nội dung vừađọc do đó chu kỳ bộ nhớđộng ít nhất gấp đôi thờigian thâm nhập ô nhớ
5 August 2010 164
DRAM
Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời vì tụđiện sẽ phóng hết điện tích vào và làm tươi bộ nhớ saumỗi 2µs
Làm tươi bộ nhớ là đọc ô nhớ và viết lại nội dung đóvào ô nhớ. Việc làm tươi bộ nhớ được thực hiện tựđộng bởi một vi mạch bộ nhớ.
+ SDRAM (Synchronous DRAM)
+ DDR SDRAM (Double Data Rate SDRAM
+ RDRAM (Rambus RAM): Hoạt động đồng bộ theo mộthệ thống lặp và truyền dữ liệu theo một hướng.
5 August 2010 165
ROM
Được chế tạo bằng công nghệ bán dẫn, chương trình trong ROMđược viết vào lúc chế tạo
ROM chứa chương trình khởi động máy tính PROM (Programable ROM)+ Chế tạo bằng các mối nối (cầu chì - có thể làm đứt bằng điện).+ Chương trình nằm trong PROM có thể được viết vào bởi người
sử dụng bằng thiết bị đặc biệt và không thể xóa được. EPROM (Erasable Programable ROM)+ Chế tạo bằng nguyên tắc phân cực tĩnh điện.+ Chương trình nằm trong ROM có thể được viết vào (bằng điện)
và có thể xóa (bằng tia cực tím - trung hòa tĩnh điện) để viết lạibởi người sử dụng.
EEPROM (Electrically Erasable Programable ROM)+ Chế tạo bằng công nghệ bán dẫn.+ Chương trình nằm trong ROM có thể được viết vào và có thể xóa
(bằng điện) để viết lại bởi người sử dụng.
5 August 2010 166
Bộ nhớ đệm nhanh (Cache memory)
+ Bộ nhớ có tốc độ nhanh, dung lượng nhỏ hơn bộ nhớ chính được đặtđệm giữa CPU và bộ nhớ chính
+ Thường nằm trong CPU, một số cache cũ có thể nằm ngoài CPU+ Các cache trên đế cắm kiểu slot 1,+ Cache dạng thanh, có thể tháo rời giống các thanh RAM ngày nay.
5 August 2010 167
Cache thường được chia thành một số mức.
+ Cache L1: On-chip cho VXL, nằm bên trong CPU.
+ Cache L2: Off-chip của hệ thống nhớ phân lớp, nằmbên ngoài CPU.
+ Cache L3 (L3 chỉ có ở một số CPU) có tốc độ truyxuất gần bằng tốc độ truyền dữ liệu trong CPU, mứctrung gian giữa cache L2 và bộ nhớ.
+ Cache có thể có (hoặc không) được tích hợp trên chipvi xử lý
5 August 2010 168
Thao tác đọc bộ nhớ, bộ xử lý gởi một địa chỉvà nhận một dữ liệu từ bộ nhớ trong.
Thao tác ghi bộ nhớ, bộ xử lý viết một dữ liệuvào một ô nhớ với một địa chỉ được chỉ ratrong bộ nhớ.
Để cho chương trình vận hành bình thườngthì cache phải chứa một phần con của bộ nhớtrong để bộ xử lý có thể thâm nhập vào cáclệnh hoặc dữ liệu thường dùng từ bộ nhớcache.
Do dung lượng của bộ nhớ cache nhỏ nên nóchỉ chứa một phần chương trình nằm trongbộ nhớ trong.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 29
5 August 2010 169
Bộ nhớ ngoài (External memory)
Chức năng và đặc điểm+ Lưu giữ tài nguyên phần mềm của máy tính+ Được kết nối với hệ thống dưới dạng các thiết bị
vào-ra+ Dung lượng lớn+ Tốc độ chậm Các loại bộ nhớ ngoài (SAM: Sequential Access
Memory)+ Bộ nhớ từ: đĩa cứng, đĩa mềm+ Bộ nhớ quang: đĩa CD, DVD+ Bộ nhớ bán dẫn: Flash disk, memory card
5 August 2010 170
Auxiliary Storage Floppy Disk
No longer standard
Hard (fixed) disk
30 Gb and higher
5400rpm, 7200 rpm
Removable storage CD-ROM
CD-R/CD-RW
DVD/DVD-R/DVD-RW
(Digital Video Disk HD)
Zip disks
Tape
USB
5 August 2010 171
Disk Storage
Based on bytes per trackper sector
1 track on 1 Sectorcontains 512 bytes
Track-sector on eachsurface (top & bottom)
Storage = 1,024 bytes pertrack-sector (top &bottom) = 1K
5 August 2010 172
Disk Storage
Cylinder
Same track on eachsurface make up acylinder
All data in onecylinder can be readwithout movingread/write arm
5 August 2010 173
3. Ghép nối máy tính với thiết bị
Thiết bị ngoại viThiết bị ngoại vi là tên chung nói đến một số
loại thiết bị bên ngoài thùng máy được gắnkết với máy tính với tính năng nhập xuất (IO)hoặc mở rộng khả năng lưu trữ (như mộtdạng bộ nhớ phụ).
Thiết bị ngoại vi của máy tính có thể là:Thiết bị cấu thành lên máy tính và không thể
thiếu được ở một số loại máy tính.Thiết bị có mục đích mở rộng tính năng hoặc khả
năng của máy tính.
5 August 2010 174
3. Ghép nối máy tính với thiết bị
Một số loại thiết bị ngoại viCó nhiều các thiết bị ngoại vi của máy tính, dưới đây liệt kê một
số thiết bị ngoại vi thường gặp hoặc quan trọng cấu thànhlên máy tính như sau:
1. Màn hình máy tính2. Ổ cứng gắn ngoài hoặc ổ cứng di động3. Các loại thiết bị nhớ mở rộng: Bút nhớ USB...4. Ổ quang (CD, D+D)5. Chuột (máy tính)6. Bàn phím máy tính7. Máy in8. video camera cho mục đích an ninh, giám sát được khi được kết nối với
máy tính. Webcam9. Modem các loại (cho quay số, ADSL...)10. Loa máy tính
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 30
5 August 2010 175
Common System Components
This figure showsse+eral devices thatare common com-ponents of a com-puter system.
5 August 2010 176
3. Ghép nối máy tính với thiết bị
Hệ thống vào-ra (Input/Output System)
Chức năng
Trao đổi thông tin giữa máy tính với thế giới bênngoài.
Các thao tác cơ bản
vào dữ liệu (Input)
Ra dữ liệu (Output)
Các thành phần chính
Các thiết bị ngoại vi (Peripheral Devices)
Các môđun vào-ra (IO Modules)
5 August 2010 177
3. Ghép nối máy tính với thiết bị
Thiết bị ngoại viChức năng: phương tiện chuyển đổi thông tin giữa bêntrong và bên ngoài máy tính Đặc điểm các thiết bịTrên thị trường tồn tại rất nhiều các thiết bị ngoạivi khác nhau về: Nguyên tắc hoạt động, tốc độ, địnhdạng dữ liệu truyền, v.v. Đồng thời các thiết bị này cótốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chínhvì lý do trên cần có Module vào ra để ghép nối các thiếtbị ngoại vi vào hệ thống của máy tính.…
5 August 2010 178
3. Ghép nối máy tính với thiết bị
Modul vào-ra
Chức năng
+ Nối ghép các TBNV với máy tính.
+ Mỗi môđun vào-ra có một hoặc một vài cổngvào-ra (I/O Port).
+ Mỗi cổng vào-ra được đánh một địa chỉ xácđịnh.
+ Các TBNV được kết nối và trao đổi dữ liệu vớimáy tính thông qua các cổng vào-ra.
5 August 2010 179
3. Ghép nối máy tính với thiết bị
Module I/OChức năng: Nối ghép thiết bị ngoại vi với máy tính.+ Điều khiển và định thời+ Trao đổi thông tin với CPU+ Trao đổi thông tin với thiết bị ngoại vi+ Đệm giữa máy tính với thiết bị ngoại vi+ Phát hiện lỗi của các thiết bị ngoại vi.
5 August 2010 180
3. Ghép nối máy tính với thiết bị
Cấu trúc chung:Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổiCổng nối ghép vào ra: kết nối thiết bị ngoại vi, mỗi cổng có địachỉ xác định và chuẩn kết nối riêng phụ thuộc sơ đồ chân.Thanh ghi trạng thái/điều khiển: lưu trữ thông tin trạng thái chocác cổng vào raKhối logic điều khiển: điều khiển Module vào ra
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 31
5 August 2010 181
3. Ghép nối máy tính với thiết bị
Cấu trúc tổng quát của thiết bị ngoại vi:+ Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bêntrong và bên ngoài Máy tính+ Bộ đệm dữ liệu: nơi lưu trữ dữ liệu trung gian giữa Máytính và thiết bị ngoại vi, đặt bên trong thiết bị ngoại vi.+ Khối logic điều khiển: điều khiển hoạt động của thiết bịngoại vi theo tín hiệu từ Module I/O gởi tới thiết bị.
5 August 2010 182
3. Ghép nối máy tính với thiết bị
Ví dụ cổng LPT:• Các đường dẫn của cổng song được nối với 3 thanhghi 8 bit khác nhau:+ Thanh ghi dữ liệu (Địa chỉ cơ sở)+ Thanh ghi trạng thái (Địa chỉ cơ sở +1)+ Thanh ghi điều khiển (Địa chỉ cơ sở +2)• Các đại chỉ cổng có thể là:LPT1: 378h (379h ; 37Ah)LPT2: 3BChLPT3: 278hLPT4: 2BCh
5 August 2010 183
3. Ghép nối máy tính với thiết bị
Lập trình cho thiết bị:• Hợp ngữ:Để xuất ra dữ liệu: OUT DX, AL hoặc OUT DX, AXĐể nhập vào dữ liệu: IN AL, DX hoặc IN AX, DX(DX chứa địa chỉ; AL chứa giá trị)• Turbo CĐể xuất ra dữ liệu: outportb(đia_chỉ, giá_trị)Để nhập vào dữ liệu: bien = inportb(địa_chỉ)• Turbo PascalĐể xuất ra dữ liệu: port[đia_chỉ]:= giá_trịĐể nhập vào dữ liệu: bien:=port[địa_chỉ]
5 August 2010 184
3. Ghép nối máy tính với thiết bị
Ví dụ cổng COM:• Các thanh ghi chính:+ Thanh ghi đệm (Buffer Register) Địa chỉ cơ sở+ Thanh ghi trạng thái (Status Register) ĐCCS+5+ Thanh ghi điều khiển (Control Register) ĐCCS+3• Các địa chỉ cổng có thể là:COM1: 3F8h (3FDh ; 3FBh)COM2: 2F8hCOM3: 3E8hCOM4: 2E8h
5 August 2010 185
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
• Phân loại:1. Vào ra bằng chương trình2. Vào ra bằng ngắt3. Truy cập bộ nhớ trực tiếp DMA
5 August 2010 186
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
1. vào ra bằng chương trình
Nguyên tắc chung:+ Sử dụng lệnh vào ra trong chương trình để trao đổi dữ liệu vớicổng vào ra.+ Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điềukhiển trao đổi dữ liệu với cổng vào ra.
Lệnh I/O:+ với không gian địa chỉ vào ra riêng biệt: sử dụng các lệnh vàora chuyên dụng+ với không gian vào ra dùng chung bộ nhớ thì các lệnh trao đổidữ liệu sử dụng như ngăn nhớ.
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 32
5 August 2010 187
3. Ghép nối máy tính với thiết bị
Hoạt động vào ra bằng chương trình+ CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào ra
+ Module vào ra thao tác vào ra
+ Module vào ra thiết lập các bit trạng thái(State)
+ CPU kiểm tra các bit trạng thái:
Nếu chưa sẵn sàng thì quay lại kiểm tra lại
Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với Module
vào ra
5 August 2010 188
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
Nhận xét:+ CPU trực tiếp điềukhiển vào ra: đọc trạngthái, kiểm tra trạngthái, thực hiện trao đổi.+ Trong trường hợpnhiều thiết bị cùng cầntrao đổi dữ liệu vàthiết bị chưa sẵn sàngtốn rất nhiều thời gianCPU+ việc thực hiện trao đổiđơn giản
5 August 2010 189
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
2. Vào ra bằng ngắtNguyên tắc chung:+ CPU không phải đợi trạng thái sẵn sàng của
Module vào ra.+ Module vào ra khi nó sẵn sàng phát ra tín hiệu
yêu cầu ngắt CPU+ CPU thực hiện chương trình vào ra tương ứng để
trao đổi dữ liệu.+ CPU trở lại chương trình đang bị ngắt.
5 August 2010 190
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
3. Truy nhập bộ nhớ trực tiếp(DMA: Direct Memory Access)Với nhược điểm chính của hai phương pháp trên là:CPU tham gia trực tiếp vào trao đổi dữ liệu và việc trao đổilượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên mộtphương pháp mới có tên DMA sẽ sử dụng thêm mộtModule phần cứng có DMAC (DMA Controller). Vì vậykhi trao đổi dữ liệu không qua CPU.
5 August 2010 191
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
Truy nhập bộ nhớ trực tiếp
5 August 2010 192
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
Các thành phần của DMAC+ Thanh ghi dữ liệu: chứa dữliệu trao đổi.+ Thanh ghi địa chỉ: chứa địachỉ của ngăn nhớ dữ liệu+ Bộ đếm dữ liệu: chứa số từ dữliệu cần trao đổi+ Khối logic điều khiển: điềukhiển hoạt động củaDMAC
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 33
5 August 2010 193
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
Hoạt động của DMAKhi cần vào ra dữ liệu thì CPU nhờ DMAC tiến hành vào
ra dữ liệu với thông tin cho biết như sau:1. Địa chỉ thiết bị vào ra2. Địa chỉ đầu của mảng nhớ chứa dữ liệu và DMAC nạp
thanh ghi địa chỉ3. Số từ dữ liệu cần truyền và DMAC nạp vào bộ đếm dữ
liệu4. CPU sẽ thực hiện việc khác5. DMAC điều khiển việc trao đổi dữ liệu sau khi truyền
một từ dữ liệu thì nội dung thanh ghi địa chỉ tăng lên vànội dung bộ đếm dữ liệu giảm xuống một đơn vị.
6. Khi bộ đếm bằng dữ liệu bằng 0, DMAC gởi tín hiệungắt CPU để báo kết thúc DMA
5 August 2010 194
3. Ghép nối máy tính với thiết bịCác phương pháp ĐK vào/ra
5 August 2010 195
3. Ghép nối máy tính với thiết bị
5 August 2010 196
3. Ghép nối máy tính với thiết bị
5 August 2010 197
3. Ghép nối máy tính với thiết bị
5 August 2010 198
3. Ghép nối máy tính với thiết bị
ĐH Sư phạm Kỹ thuật Vinh 5 August 2010
L.T.Vinh 34
5 August 2010 199
Chúc các anh chị học tốt