Giáo trình Kiến trúc máy tính - Lê Thế Vinh
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kiến trúc máy tính - Lê Thế Vinh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_kien_truc_may_tinh_le_the_vinh.pdf
Nội dung text: Giáo trình Kiến trúc máy tính - Lê Thế Vinh
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 TRƯỜNG ĐHSƯ PHẠMKỸ THUẬT VINH KHOA ĐIỆNTỬ Nội dung Bài giảng 1. Giới thiệu 2. Bộ vi xử lý Kiến trúc máy tính Computer Organization And Architecture 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 TS. Lê Thế Vinh [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 1 5 August 2010 2 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 1.1. Máy tính + 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) Personal Computer -PC + "Computer Systems and Architecture" is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers. (MIT) 5 August 2010 3 5 August 2010 4 1. Giới thiệu 1. Giới thiệu 1.1. Máy tính 1.1. Máy tính Vector supercomputers Symmetric multiprocessors 5 August 2010 5 5 August 2010 6 L.T.Vinh 1
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.1. Máy tính 1.1. Kiến trúc máy tính Computer CPU Main memory System Computer interconnection I/O unit CPU Registers Sơ đồ khối ALU Internal CPU Interconnection CU CU Sequencing logic CU register & decoders Control Parallel computers memory 5 August 2010 7 5 August 2010 8 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 1.1. Kiến trúc máy tính 7 lớp chức năng Mức transistor và dây nối 7 lớp chức năng + Là mức thấp nhất của kiến trúc chức năng của máy tính. + Các ống bán dẫn là thành phần tích cực chính cùng với mạch nối dây tạo nên các mạch logic số ở mức trên 5 August 2010 9 5 August 2010 10 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 7 lớp chức năng 1.1. Kiến trúc máy tính 7 lớp chức năng Mức mạch logic số Mức mạch logic số: Ví dụ + Các mạch logic số thực hiện các hàm logic cơ bản Collector của đại số Boolean Base High (+5v hay 1): Tạo kết nối + Là các mạch cổng: AND,OR, XOR, NOT Base Base Low (0v hay 0): Ngắt kết nối 2 + Mạch chốt, mạch mã 50 tỉ transistor trên một chip 1cm (Coder), mạch giải mã Switch Emitter (Decoder). + Mạch phần tử nhớ (Flip_Flop) 5 August 2010 11 5 August 2010 12 L.T.Vinh 2
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 7 lớp chức năng 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ức mạch logic số: Ví dụ +5 Cổng NOT Mạch tổ hợp v Output _ 1. Để thiết kế các IC: Ta dùng các thành phần logic gọi là cổng (gate) A A 2. Cổng được chế tạo từ một hoặc nhiều transistor tùy theo công nghệ chế tạo Input 3. Ta có các cổng AND, OR, NOT, NAND, NOR, Input High (+5v or 1) Output Low (0v or 0) XOR, Mạch giải mã, mạch mã hóa, mạch ưu tiên, Input Low (0v or 0) Output High (+5v or 1) mạch dồn, mạch phân, mạch cộng toàn phần, mạch Ground Output ngược lại với Input lật SR 5 August 2010 13 5 August 2010 14 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 7 lớp chức năng 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ô Mức kiến trúc tập lệnh + Bao gồm các khối chức + Xác định giao tiếp phần năng như đơn vị số học mềm_phần cứng mà người lập logic trình nhìn nhận được ở mức + Ví dụ: ALU, thanh ghi (khối ngôn ngữ máy thanh ghi), tệp thanh ghi + ISA bao gồm: (Register file). © Tập lệnh máy (Instructions + Các bộ nhớ: Cache (Bộ nhớ Set) đệm), Main (ROM, RAM). © Kiểu lấy địa chỉ (Addressing Models) + Các đường dẫn thông tin (Bus bên trong) © Khuôn dạng dữ liệu (Format) © Các nguyên tắc vận hành + Đơn vị điều khiển CU (Operation prescripts) 5 August 2010 15 5 August 2010 16 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 7 lớp chức năng 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ụ Hệ điều hành CHẲNG HẠNTẬPLỆNH GỒM: + Bộ nhớ ảo (Virtual 1 - Gán trị Memory) 2 - Lệnh có điều kiện + BIOS: Hệ thống vào ra cơ 3 - Vòng lặp bản 4 - Thâm nhập bộ nhớ ngăn xếp + Các lệnh ảo, máy tính ảo 5 - Các thủ tục mô phỏng quá trình xử lý + Quản lý các các quá trình VD: Bật đèn LED (Process) ORG 2000h + Tập lệnh ảo để kết nối MOV SP,#50h mạng hay xử lý song song MOV PSW,#0 ; Bank 0 CLR P1.3 ; Led on END 5 August 2010 17 5 August 2010 18 L.T.Vinh 3
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 7 lớp chức năng 1.1. Kiến trúc máy tính 7 lớp chức năng Hợp ngữ Hợp ngữ: Ví dụ + Là ngôn ngữ máy phụ thuộc Ví dụ: vào phần cứng ORG 2000H + Dạng ký tự tượng trưng của MOV SP,#50H Ngôn ngữ ngôn ngữ máy dùng với một số lập trình vi lệnh (Micro Instruction) và MOV PSW,#00H các thủ tục (Procedure) CLR P1,00H ; LED on + Các chương trình viết ở dạng ; SETB P1,0FH ;LED off hợp ngữ có thể can thiệp vào phần cứng của máy tính END 5 August 2010 19 5 August 2010 20 1. Giới thiệu 1. Giới thiệu 1.1. Kiến trúc máy tính 7 lớp chức năng 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, Ngôn ngữ hướng đối tượng: Ví dụ hướng bài toán ứng dụng + Là các ngôn ngữ bậc cao C, C++,Pascal 1. §èi t•îng (Object) + Các ngôn ngữ mô tả: HTML, 2. Sù kiÖn (Event) XML + Các ngôn ngữ thủ tục (scripts): 3. Thuéc tÝnh (Properties) Java scripts, Visual Basic, C# 4. Ph•¬ng thøc (Method) 5. Líp (Class) 5 August 2010 21 5 August 2010 22 1. Giới thiệu 1. Giới thiệu Trao đổi 1.1. Kiến trúc máy tính Mô hình kiến trúc máy tính Các máy tính điện tử số thường có 2 loại kiến trúc Von Neumann Harvard 5 August 2010 23 5 August 2010 24 L.T.Vinh 4
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính Máy tính ENIAC Sự phát triển của máy tính chia ra 4 thế hệ: Sự tiến bộ của (Electronic Numerical Integrator and các công nghệ chế tạo các linh kiện cơ bản của máy tính như: Computer) bộ xử lý, bộ nhớ, các ngoại vi, - đặc trưng bằng một sự thay Tg xây dựng: 1943-1946, đổi cơ bản về công nghệ được sử dụng đến 1955 (thầy trò Eckert và Mauchly, ĐH Pennsylvania, USA) • Thế hệ 1: (1946-1955) Máy tính dùng đèn chân không Đặc điểm chính: (Vacumm Tube) - Nặng 30 tấn, V~160m3 • Thế hệ 2: (1955-1965) Máy tính dùng Transitor (20x2x2m) và P= 140kW. • Thế hệ 3: (1966 – 1980) Máy tính dùng mạch tích hợp IC - 5000 nghìn phép cộng/s. (Intergrated Circuit) - Sử dụng hệ thập phân. - Lập trình bằng công tắc. • Thế hệ 4: (1980 - nay) Máy tính dùng mạch tích hợp cực lớn - Sử dụng 18000 bóng đèn => Sau đó: GS toán học John Von Neumann đã VLSI (Very Large Scale Intergrated ) điện tử (vacuum tubes) đưa ra ý tưởng thiết kế máy tính IAS (Princeton Institute for Advanced Studies) 5 August 2010 25 5 August 2010 26 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính Máy tính Harvard Tách bộ nhớ dữ liệu và bộ nhớ chương trình=> CPU có thể vừa đọc mộ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ớ Máy tính Von Neumann dữ liệu và bộ nhớ chương trình. • Máy tính IAS Các bus điều hành độc lập • Máy có mô hình cơ bản là máy tính này nay Chạy nhanh hơn, bởi vì nó có thể • Thế kế 1947 hoàn thành 1952 thực hiện ngay lệnh tiếp theo khi vừa kết thúc lệnh trước đó. 5 August 2010 27 5 August 2010 28 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính Máy tính thế hệ 4 (1980- nay): So sánh: • Các sản phẩm của công nghệ VLSI(Very Large Scale Integrated) Mô hình kiến trúc • Bộ vi xử lý được chế tạo trên một con chip Harvard • Vi mạch điều khiển tổng hợp (Chipset) và Von Neumann? • 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ăm 1978,1979 đây được coi là ngày sinh nhật của các máy tính sau này 5 August 2010 29 5 August 2010 30 L.T.Vinh 5
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính 5 August 2010 31 5 August 2010 32 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính Intel 8088 (1979) This is the chip used in the first PC. It was 16-bit, but it talked to the cards via a Intel 80286 (1980) 8-bit connection. It ran at a whopping 4 MHz and A 16-bit processor capable of could address only 1 MB of addressing up to 16 MB of RAM. RAM. 5 August 2010 33 5 August 2010 34 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính 386 (1988) Intel 486 (1991) The 486 initially ran at clock speeds of It could only access 16 megabytes of memory. 25 MHz (SX only) and 33 MHz. As it The 386 processor was manufactured in many was developed the 486 was enhanced different versions and ran at speeds from 16 with a clock doubled processor core Mhz through to 40 Mhz. (486 DX-2) allowing it to run at speeds of 50, 66 and 75 MHz, and then tripled (DX-4) which ran up to 100 MHz. 5 August 2010 35 5 August 2010 36 L.T.Vinh 6
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 1.2. Các thế hệ máy tính Tên thương mại là, không hàm ý nghĩa gì khác ngoài Một số đặc điểm của VXL Intel pent tiếng Hy lạp là số 5 Intel Pentium This was the first Intel processor not to use the x86 naming system. 5 August 2010 37 5 August 2010 38 1. Giới thiệu 1. Giới thiệu 1.2. Các thế hệ máy tính 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 39 5 August 2010 40 1. Giới thiệu 1. Giới thiệu 1.3. Phân loại máy tính 1.3. Phân loại máy tính Máy để bàn: Máy tính nhúng • là loại máy thông dụng nhất hiện nay. • được đặt trong nhiều thiết bị khác nhau để điều khiển • bao gồm máy tính cá nhân (PC: Persional Computer) và trạm thiết bị làm việc (Workstation Computer). • giá mua 100$ đến 10.000$ • được thiết kế chuyên dụng Máy chủ • ví dụ: điện thoại di động, bộ điều khiển các thiết gia • là máy phục vụ(server) đinh, Router định tuyến, • 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 41 5 August 2010 42 L.T.Vinh 7
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Nội dung 1. Giới thiệu 1.4. Thông tin và sự mã hóa 1. Giới thiệu Một số khái niệm - Thông tin: được hiểu là nội dung chứa 2. Bộ vi xử lý đựng bên trong một sự kiện 3. Ghép nối máy tính với các T.Bị - Tín hiệu: mô tả các biểu hiện vật lý của tin tức Tài liệu tham khảo: t/h tương tự: liên tục cả về biên độ [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 và thời gian [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 t/h số: gián đoạn cả về biên độ và [5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book thời gian [6]. MIT, Computer System Architecture, 2005, OpenCourseWare 5 August 2010 43 5 August 2010 44 1. Giới thiệu 1. Giới thiệu 1.4. Thông tin và sự mã hóa 1.4. Thông tin và sự mã hóa a) Hệ đếm a) Hệ đếm Hệ 2, hệ 10, hệ 16 v.v. Hệ thập phân, cơ số 10 (Decimal System): Con người sử Ví dụ: dụng 3 2 1 0 (1011)2 = 1x2 + 0x2 + 1x2 + 1x2 = 8 + 2 + 1 =11 1 0 Hệ nhị phân, cơ số 2 (Binary System): Máy tính sử dụng (4F)16 = 4FH = 4x16 + 15x16 = 64 + 15 = 79 Hệ mười sáu, cơ số 16 (Hexadecimal System): Dùng để viết gọn số nhị phân 5 August 2010 45 5 August 2010 46 1. Giới thiệu 1. Giới thiệu 1.4. Thông tin và sự mã hóa 1.4. Thông tin và sự mã hóa a) Hệ đếm b) Mã hóa (do con người định nghĩa, quy định) Để đổi một số X hệ 10 sang hệ cơ số a (Y), Ví dụ: Mã ASCII, mã BCD, mã nhị phân v.v ta chia liên tiếp X cho a, ghi lại số dư b , b , 0 1 Mã ASCII dùng 8 bit (binary digit) để mã hoá , b , khi đó Y=b b b b n n i 1 0 256 ký tự số 5 có mã ASCII là 35H = 0011 0101 Mã BCD dùng 4 bit để mã hoá 1 chữ số thập phân số 73 có mã BCD là 0111 0011 Mã nhị phân dùng n bit để mã hoá 2n phần tử tin tức 5 August 2010 47 5 August 2010 48 L.T.Vinh 8
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Giới thiệu 1. Giới thiệu 1.4. Thông tin và sự mã hóa 1.4. Thông tin và sự mã hóa 5 August 2010 49 5 August 2010 50 1. Giới thiệu 1. Giới thiệu 1.4. Thông tin và sự mã hóa 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 Mã hoá và lưu trữ dữ liệu trong máy tính Dùng để viết gọn cho số nhị phân: cứ một nhóm 4 bit Nguyên tắc chung về mã hoá dữ liệu sẽ được thay thế bằng 1 chữ số Hexa 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 51 5 August 2010 52 Byte, bit MSB, LSB và trạng thái 0, trạng thái 1 Biểu diễn số nguyên Với một Byte/Word MSB LSB + 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). 8 Bits = 1 Byte + 1 bit LSB (Least Significant Bit): ngược lại, nằm cuối cùng bên phải Biểu diễn một số nguyên dùng hết 1 word (16 bits) mà không cầ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. LSB mang 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). On Off ON bits are said to be in a 1 state OFF bits are said to be in a 0 state 5 August 2010 53 5 August 2010 54 L.T.Vinh 9
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Số bù 1 và bù 2 Vì sao bù 2 là biểu diễn số âm? * Số bù 1: Là kết quả phép đảo bits. Lấy con số gốc + bù 2 = 0 0000 0000 0000 0101 msb sẽ bị mất do word chỉ có khả năng lưu giá Bù 1: 1111 1111 1111 1010 trị 16 bits. Số bù 2: Kết quả phép cộng số bù 1 và 1 Nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trị Bù 1: 1111 1111 1111 1010 gốc. + 1 Biểu diễn dạng không dấu đơn giản chỉ là phép Bù 2: 1111 1111 1111 1011 tính chuyển cơ số. Dạng có dấu chuyển tính dưới dạng bits, lấy bù 2. 5 August 2010 55 5 August 2010 56 1.4. Thông tin và sự mã hóa – Ví dụ Dạng byte – 8 bit 1 ký tự theo bảng mã ASCII ‘a’ 97 = 61Hex = 01100001 Có thể biểu diễn dạng: ‘A’ 65 = 41Hex = 01000001 Số nguyên không dấu 8bit Ví dụ cho dạng byte 10111000 Có giá trị từ 0 28-1=255 Số nguyên không dấu tương ứng Số nguyên có dấu 10111000=128+32+16+8= 184 Số nguyên có dấu (xét bit dấu = bit 7 = 1) 7 6 5 4 3 2 1 0 Lấy bù: 01000111 + 1 0: Số dương bit dấu 01001000 = 64 + 8 = 72 1: Số âm Có giá trị từ: -27 27-1 (-128 127) Số nguyên có dấu là: -72 Nhận xét: 256 – 184 = 72 5 August 2010 57 5 August 2010 58 1.4. Thông tin và sự mã hóa – Ví dụ 1.4. Thông tin và sự mã hóa – Ví dụ 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 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 8 bit cao (byte cao) 8 bit thấp (byte thấp) bit dấu = bit cao nhất = bit 15 Có giá trị: -215 215-1 (-32768 32767) word = (byte cao)x28 + (byte thấp) 5 August 2010 59 5 August 2010 60 L.T.Vinh 10
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 1. Bộ mã ASCII 5 August 2010 61 5 August 2010 62 Các ví dụ Ví dụ 1: Biểu diễn các số nguyên có dấu sau đây bằng 8bit:A=+58;B= -80 5 August 2010 63 5 August 2010 64 1. Giới thiệu 1.5. Mạch logic cơ bản Hµm logic PhÇn tö logic B¶ng Ch©n lý 1/ NOT 2/ AND 3/ OR 4 5 August 2010 65 5 August 2010 66 L.T.Vinh 11
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Cổng AND 3- C¸c phÐp to¸n, phÇn tö logic c¬ b¶n PhÇn tö logic Hµm logic +5v Output là 1 nếu và chỉ nếu Input-1 là 1 và 4/ NAND Input-2 là 1 Input-1 5/ NOR Output = Input1 AND Input2 6/ XOR 7/ Hµm AND Gate A t•¬ng Input-2 B AB ®•¬ng Output 5 5 August 2010 67 5 August 2010 68 4- BiÓu diÔn hµm logic b»ng s¬ ®å Mét sè vÝ dô: Bé céng 2 sè nhÞ ph©n 1 bit 6 15b 5 August 2010 69 5 August 2010 70 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ối dùng để vận chuyển thông tin giữa các thành phần của máy tính với nhau. Độ rộng bus: Là số đường dây của bus có thể truyền các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và bus dữ liệu) Phân loại cấu trúc bus: Cấu trúc đơn bus Bé so s¸nh 2 sè nhÞ ph©n 1 bit Cấu trúc đa bus 15c 5 August 2010 71 5 August 2010 72 L.T.Vinh 12
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Bus đồng bộ và bus không đồng bộ Minh họa hệ thống Bus Bus đồng bộ + Bus có đường tín hiệu Clock + Các sự kiện trên bus được xác định bởi xung 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 73 5 August 2010 74 Bus địa chỉ Bus dữ liệu Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào-ra. Chức năng: vận chuyển lệnh từ bộ nhớ đến CPU vận chuyển dữ liệu giữa CPU, các môđun nhớ và môđun Độ rộng bus địa chỉ: xác định dung lượng bộ nhớ cực vào-ra. đại của hệ thống. Độ 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 75 5 August 2010 76 Bus điều khiển Chu kỳ bus Chức năng: vận chuyển các tín hiệu điều khiển Mỗi chu kỳ bus là 1 tác vụ xảy ra trên bus để truyền tải data. Các loại tín hiệu điều khiển Mỗi lần CPU cần lệnh (hoặc data) từ bộ nhớ hoặc I/O, + Các tín hiệu phát ra từ CPU để điều khiển chúng phải thực thi 1 chu kỳ bus để có được thông tin môđun nhớ và môđun vào-ra hoặc ghi thông tin ra bộ nhớ hoặc ra I/O. + Các tín hiệu từ môđun nhớ hay môđun vào-ra Mỗi chu kỳ bus gồm 2 bước : gửi đến yêu cầu CPU. + Bước 1 : gửi địa chỉ + Bước 2 : truyền data từ địa chỉ đã được định vị. 5 August 2010 77 5 August 2010 78 L.T.Vinh 13
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Chu kỳ Bus 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 ra bở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ác tác vụ bên trong máy tính. 5 August 2010 79 5 August 2010 80 Nội dung Chu kỳ Bus Xung đầu tiên gọi là Address time, địa chỉ truy xuất sẽ được gửi đi cùng với tín hiệu xác định loại Bộ vi xử lý: tác vụ sẽ được thực thi (đọc/ghi/đến mem/đến I/O). 1. Cấu trúc phần mềm Cuối xung thứ 2, CPU sẽ kiểm tra đường tín hiệu Ready. Nếu thiết bị cần truy xuất sẵn sàng đáp 2. Thi hành lệnh ứng tác vụ, thiết bị này sẽ kích 1 tín hiệu lên đường Ready để báo cho CPU biết và chu kỳ bus hoàn tất. 3. Tập lệnh Khi 1 thiết bị không sẵn sàng, không có tín hiệu trên đường Ready, CPU phải chờ, có thể phải tiêu tốn thêm 1 hay nhiều xung clock 5 August 2010 81 5 August 2010 82 2. Bộ vi xử lý 2. Bộ vi xử lý 2.1. Kiến trúc phần mềm – ghi chú về phần cứng 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 con trỏ và chỉ số: SP (ngăn xếp), BP, IP, SI, DI Cấu trúc của một hệ máy tính đơn giản 5 August 2010 83 5 August 2010 84 L.T.Vinh 14
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 2. Bộ vi xử lý 2. Bộ vi xử lý 2.1. Kiến trúc phần mềm 2.2. Thi hành lệnh Chu trình lệnh 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ị. Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh + Tập lệnh là tập hợp các lệnh mã máy (mã nhị phân) từ bộ nhớ chính. Bộ đếm chương trình PC (Program hoàn chỉnh có thể hiểu và được xử lý bới bộ xử lý Counter) của CPU giữ địa chỉ của lệnh sẽ trung tâm, thông thường các lệnh trong tập lệnh được nhận. được trình bày dưới dạng hợp ngữ. Mỗi lệnh chứa CPU nhận lệnh từ ngăn nhớ được trỏ bởi thông tin yêu cầu bộ xử lý thực hiện, bao gồm: mã PC (Program Counter). Lệnh được nạp vào thanh ghi lệnh IR tác vụ, địa chỉ toán hạng nguồn, địa chỉ toán hạng (Instruction Register) kết quả, lệnh kế tiếp. Sau khi lệnh được nhận vào, nội dung PC tự + Kiểu định vị chỉ ra cách thức thâm nhập toán hạng. động tăng để trỏ sang lệnh kế tiếp. 5 August 2010 85 5 August 2010 86 CPU thực hiện lệnh theo từng bước Minh họa quá trình nhận lệnh 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 theo MOV 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 87 5 August 2010 88 2. Bộ vi xử lý CPU thực hiện lệnh theo từng bước 2.3. Tập lệnh Bước 4 Nếu lệnh sử dụng một từ trong một bộ nhớ phải xác Giới thiệu chung định xem từ đó nằm ở đâu Bước 5 + Mỗi bộ xử lý có tập lệnh xác định. Nếu tồn tại, đọc từ đó vào một thanh ghi bên trong + Một tập lệnh thường có vài chục đến vài nghìn lệnh CPU, đa phần đọc vào thanh ghi A + Mỗi lệnh là chuỗi nhị phân mà bộ xử lý có thể phân tích và Bước 6 hiểu để thực hiện thao tác mà lệnh đó yêu cầu. Thực hiện lệnh Bước 7 + Các lệnh khi viết được ánh xạ ra thành các ký hiệu gợi nhớ. Cất giữ kết quả lệnh ADD, MOV, IN, OUT, SHL, ROL, Bước 8 + Giống câu lệnh của hợp ngữ (Lập trình ASSEMBLY) Quay lại bước đầu tiên 5 August 2010 89 5 August 2010 90 L.T.Vinh 15
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Các kiểu thao tác 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 • Thao tác chuyển dữ liệu + Lệnh Load Nạp dữ liệu từ bộ nhớ -> bộ xử lý • Thao tác xử lý số học và logic + Lệnh XCHG Trao đổi nội dung của hai toán hạng cho • Thao tác vào ra dữ liệu qua cổng nhau • Thao tác điều khiển rẽ nhánh + Lệnh PUSP Cất nội dung của một toán hạng nguồn vào • Thao tác điều khiển hệ thống stack • Thao tác xử lý số dấu chấm động + Lệnh POP Lấy nội dung ở đỉnh Stack ra toán hạng đích • Thao tác chuyên dụng khác: xử lý ảnh, âm thanh, + Lệnh Set, Clear tiếng nói, 5 August 2010 91 5 August 2010 92 Một số lệnh Một số lệnh Các lệnh vào ra + Lệnh Input Các lệnh số học + Lệnh Output + Lệnh ADD: cộng Các lệnh chuyển điều khiển + Lệnh SUB: trừ + Lệnh Jump + Lệnh MUL: nhân + Lệnh Call + Chia DIV: chia + Lệnh Return : trở về từ chương trình con Các lệnh logic 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 Test Thực hiện lệnh AND thiết lập cờ + Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra cho đến + Lệnh Shift Dịch trái, hoặc phải khi thoả mãn thì tiếp tục thực hiện + Lệnh Rotate Quay trái hoặc quay phải + Lệnh NOP (No Operation): không thực hiện gì cả + Lệnh Convert Chuyển đổi dữ liệu từ dạng này sang dạng khác + Lệnh Lock : Cấm không cho chuyển nhượng BUS + Lệnh AND, OR, XOR, NOT, . + Lệnh Unlock: cho phép chuyển nhượng BUS 5 August 2010 93 5 August 2010 94 Ví dụ lập trình cho LED nhấp nháy 2. Bộ vi xử lý (Cho 8051) ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0 LOOP: CLR P1.3 ; Led on CALL DELAY Sử dụng ngăn xếp SETB P1.3 ; Led off CALL DELAY khi gọi chương JMP LOOP trình con (thủ tục, DELAY: PUSH PSW MOV PSW,#18h; Bank 3 hàm) MOV R7,#0 DLY1:MOV R6,#0 DLY2:NOP NOP NOP DJNZ R6,DLY2 DJNZ R7,DLY1 POP PSW RET END 5 August 2010 95 5 August 2010 96 L.T.Vinh 16
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Nội dung 2. Bộ vi xử lý 2.1. Tổ chức phần cứng 2. Bộ vi xử lý (tiếp): CPU 8088 EU : khối thực hiện 1. Tổ chức phần cứng lệnh(Execution Unit) ALU : khối số học và 2. Xử lý và truyền dữ liệu logic(Arithmetic anh Logic Unit) 3. Một số máy tính lớn CU: Khối điều khiển BIU : khối phối ghép bus(Bus Interface Unit) 5 August 2010 97 5 August 2010 98 2. Bộ vi xử lý 2. Bộ vi xử lý CPU: 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ấp thông tin về địa chỉ cho BIU để khối này đọc lệnh và dữ liệu, còn bản thân EU thì giải mã lệnh và thực hiện lệnh. 5 August 2010 99 5 August 2010 100 2. Bộ vi xử lý 2. Bộ vi xử lý + BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi CU: dữ 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ạch giả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ừ đầu ra được đưa đến mạch tạo xung điều khiển, kết quả là ta ALU: thu đượ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ên ngoà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 nhau với các toán hạng của lệnh. 5 August 2010 101 5 August 2010 102 L.T.Vinh 17
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 2. Bộ vi xử lý 2. Bộ vi xử lý CU: sơ đồ khối Bộ thanh ghi 5 August 2010 103 5 August 2010 104 2. Bộ vi xử lý 2. Bộ vi xử lý Thanh ghi truy cập bộ nhớ Thanh ghi chuyển tải lệnh Thanh ghi trạng thái 5 August 2010 105 5 August 2010 106 2. Bộ vi xử lý 2. Bộ vi xử lý 2.2. Xử lý và truyền dữ liệu 2.2. Xử lý và truyền dữ liệu 5 giai đoạn thực hiện lệnh: 5 giai đoạn thực hiện lệnh: 5 August 2010 107 5 August 2010 108 L.T.Vinh 18
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 2. Bộ vi xử lý 2. Bộ vi xử lý Đọc lệnh: 2.2. Xử lý và truyền dữ liệu Giải mã lệnh và thi hành lệnh Lưu kết quả: 5 August 2010 109 5 August 2010 110 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 111 5 August 2010 112 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ịch Bit D (direction) chỉ hướng cho thanh ghi REG. chuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanh + D=1 chỉ dữ liệu đi đến REG. ghi hoặc giữa ô nhớ và thanh ghi. + D=0 thì chỉ dữ liệu đi từ REG. Bit W (Word) chỉ xem thanh ghi được dùng là 8 bit hay 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. 5 August 2010 113 5 August 2010 114 L.T.Vinh 19
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Bảng mã thanh ghi Bảng mã thanh ghi 5 August 2010 115 5 August 2010 116 Ví dụ Ví dụ Mã hoá các lệnh: a/ MOV CL,[BX]; b/ MOV 0F3H[SI],CL; 5 August 2010 117 5 August 2010 118 2. Bộ vi xử lý Cơ chế xử lý xen kẽ liên tục dòng mã lệnh (instruction pipelining) BIU có thêm một bộ nhớ đệm lệnh với dung 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) 5 August 2010 119 5 August 2010 120 L.T.Vinh 20
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 2. Bộ vi xử lý Kỹ thuật pipelining 2.3. Máy tính lớn Bộ xử lý gồm các phần tử xử lý độc lập Processing Elements/Stage Được ứng dụng để thiết kế quá trình xử lý lệnh song song từng công đoạn (Instruction pipelining) 5 August 2010 121 5 August 2010 122 2. Bộ vi xử lý Phân loại theo Flynn 2.3. Máy tính lớn 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ột chuỗ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ính toá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 123 5 August 2010 124 2. Bộ vi xử lý 2. Bộ vi xử lý 2.3. Máy tính lớn 2.3. Máy tính lớn 5 August 2010 125 5 August 2010 126 L.T.Vinh 21
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 2. Bộ vi xử lý 2. Bộ vi xử lý 2.3. Máy tính lớn 2.3. Máy tính lớn 5 August 2010 127 5 August 2010 128 2. Bộ vi xử lý 2. Bộ vi xử lý 2.3. Máy tính lớn 2.3. Máy tính lớn 5 August 2010 129 5 August 2010 130 2. Bộ vi xử lý 2. Bộ vi xử lý 2.3. Máy tính lớn 2.3. Máy tính lớn 5 August 2010 131 5 August 2010 132 L.T.Vinh 22
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Phân loại kiến trúc máy tính song song Các cấp kiến trúc máy tính song song (a) On-chip parallelism (d) Multicomputer (b) Coprocessor (c) Multiprocessor (e) Grid 5 August 2010 133 5 August 2010 134 Phân loại theo cấu trúc kết nối máy tính 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áy tính chia sẻ bộ nhớ + Một tập hợp n>=1 bộ xử lý, hay đơn vị xử lý trung tâm (CPU): + Hệ thống máy tính có một P1,P2,P3 Pn bộ nhớ chung và n bộ XL + M>=0 (đơn vị nhớ chia sẻ) M1, M2 Mn kết nối trong mạng N Chia thành hai loại kết nối với nhau qua mạng + Máy tính chia sẻ bộ nhớ ( Share Memory Computer) N + Máy tính phân tán bộ nhớ ( Distributed Memory Computer) Máy tính phân tán bộ nhớ + Mỗi một bộ XL kết nối với một bộ nhớ riêng biệt 5 August 2010 135 5 August 2010 136 Bộ nhớ dùng chung (shared memory) Bộ nhớ dùng chung (tt) 5 August 2010 137 5 August 2010 138 L.T.Vinh 23
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Distributed system Multicomputer a. Multicomputer với 16 CPU, mỗi CPU có bộ nhớ riêng-> máy tính bộ 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 139 5 August 2010 140 Multiprocessor NUMA multiprocessor Máy tính NUMA dựa trên hai cấp bus a. Multiprocessor với 16 CPU dùng chung 1 bộ nhớ -> máy tính chia sẻ bộ nhớ b. Một hình ảnh được chia thành 16 phần cho 16 CPU xử lý 5 August 2010 141 5 August 2010 142 Kiến trúc Cluster So sánh giữa Multiprocessor và MultiComputer Giống nhau: Cùng thực hiện một nhiệm vụ chung, hay nhữ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ác PE(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àng hoạt động liên tục của máy tính khi có bất kỳ sự cố nào trong hệ thống. 5 August 2010 143 5 August 2010 144 L.T.Vinh 24
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 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ề. Kiến trúc song song đều cho khả năng tăng + Việc xử lý một lệnh có thể được hoàn tất trong vài chu tốc độ tính toán của máy tính hoặc VXL kỳ xung nhịp (số chu kỳ xung nhịp đích xác bao nhiêu là tuỳ thuộc vào lệnh cụ thể) Tăng độ tin cậy vì khi có một bộ XL hay khi bộ nhớ bị hỏng thì quá trình tính toán chung Kỹ thuật xử lý theo đường ống (pipelining) Xử lý lệnh liên tiếp (Intruction Pipelining) cho phép vẫn thực hiện bình thường do các thành phần lệnh mới bắt đầu được xử lý trong khi các lệnh hiện tại còn lại vẫn đảm nhiệm chức năng của thành vẫn đang được xử lý. phần bị hỏng CPU có thể được thực hiện vài lệnh trong cùng một chu kì xung nhịp. Nhược điểm là phức tạp về cấu trúc và khó Đối với một chu kì xung nhịp cho trước bất kỳ, có thể khăn cho quản lý 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ài nguyên xử lý trong khi một lệnh nào đó đang được hoàn tất. 5 August 2010 145 5 August 2010 146 2. Bộ vi xử lý 2. Bộ vi xử lý Một số câu hỏi, bài tập Một số câu hỏi, bài tập 5 August 2010 147 5 August 2010 148 Nội dung 3. Ghép nối máy tính với thiết bị Thiết bị ngoại vi 1. Giới thiệu Thiế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ắn 2. Bộ vi xử lý kế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ột 3. Ghép nối máy tính với các T.Bị dạng bộ nhớ phụ). Thiết bị ngoại vi của máy tính có thể là: 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 Thiết bị cấu thành lên máy tính và không thể [2]. Võ Văn Chín, BG Kiến trúc máy tính, ĐH Cần thơ, 1997 thiếu được ở một số loại máy tính. [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 Thiết bị có mục đích mở rộng tính năng hoặc khả [5]. M. Morris Mano (Atmiya Infotech), Computer Organization & Architecture, E-book năng của máy tính. [6]. MIT, Computer System Architecture, 2005, OpenCourseWare 5 August 2010 149 5 August 2010 150 L.T.Vinh 25
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 3. Ghép nối máy tính với thiết bị Common System Components Một số loại thiết bị ngoại vi Có 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ành lên máy tính như sau: 1. Màn hình máy tính This figure shows 2. Ổ cứng gắn ngoài hoặc ổ cứng di động several devices that 3. Các loại thiết bị nhớ mở rộng: Bút nhớ USB are common com- 4. Ổ quang (CD, DVD) ponents of a com- 5. Chuột (máy tính) puter system. 6. Bàn phím máy tính 7. Máy in 8. 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. Webcam 9. Modem các loại (cho quay số, ADSL ) 10. Loa máy tính 5 August 2010 151 5 August 2010 152 3. Ghép nối máy tính với thiết bị Các thiết bị ngoại vi Hệ thống vào-ra (Input/Output System) Chức năng Chức năng + Chuyển đổi dữ liệu giữa bên trong và bên Trao đổi thông tin giữa máy tính với thế giới bên ngoài máy tính. ngoài. Các loại thiết bị ngoại vi (TBNV) cơ bản Các thao tác cơ bản Vào dữ liệu (Input) + Thiết bị vào: bàn phím, chuột, máy quét Ra dữ liệu (Output) + Thiết bị ra: màn hình, máy in Các thành phần chính + Thiết bị nhớ: các ổ đĩa Các thiết bị ngoại vi (Peripheral Devices) Các môđun vào-ra (IO Modules) + Thiết bị truyền thông: MODEM 5 August 2010 153 5 August 2010 154 Modul vào-ra Bộ nhớ máy tính 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ổng vào-ra (I/O Port). + Mỗi cổng vào-ra được đánh Chức năng: lưu trữ chương trình và dữ liệu. một địa chỉ xác định. Các thao tác cơ bản với bộ nhớ: + Các TBNV được kết nối và + Đọc (Read) trao đổi dữ liệu với máy tính + Ghi (Write) thông qua các cổng vào-ra. Các thành phần chính: + Bộ nhớ trong (Internal Memory) + Bộ nhớ ngoài (External Memory) 5 August 2010 155 5 August 2010 156 L.T.Vinh 26
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Phân lớp hệ thống nhớ 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 đổi trự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 157 5 August 2010 158 Bộ nhớ chính (Main memory) Bộ nhớ chính + Chứa các chương trình và Bộ nhớ RAM (Random access memory) dữ liệu đang được CPU sử + Tốc độ truy cập nhanh dụng. + Lưu trữ giữ liệu tạm thời, + Tổ chức thành các ngăn + Dữ liệu sẽ bị mất vĩnh viễn khi không còn nguồn điện nhớ được đánh địa chỉ. cung cấp. + Ngăn nhớ thường được tổ Bộ nhớ ROM (Read Only Memory) chức theo byte. + Lưu trữ các chương trình mà khi mất nguồn điện + Nội dung của ngăn nhớ có cung cấp sẽ không bị (xóa) mất. thể thay đổi, song địa chỉ + Ngày nay còn có công nghệ FlashROM tức bộ nhớ vật lý của ngăn nhớ luôn cố ROM không những chỉ đọc mà còn có thể ghi lại định. được, nhờ có công nghệ này BIOS được cải tiến thành FlashBIOS. 5 August 2010 159 5 August 2010 160 RAM SRAM Dung lượng của SRAM 2n x m (bit) Các ô nhớ có thể đọc hoặc ghi trong khoảng thời n : là số bit địa chỉ gian bằng nhau cho dù chúng ở bất kỳ vị trí nào m: là số bit dữ liệu trong ô nhớ. + Bộ nhớ SRAM thường được tổ chức theo ma trận vuông số hàng Mỗi ô nhớ có một địa chỉ ghi 1byte, nhưng hệ và số cột bằng nhau, giao điểm thống nhớ có thể đọc ra hay viết vào nhiều byte của hàng và cột chính là 1 ô bit Phân loại nhớ + Mỗi bit trong 1 thanh SRAM được chứa trong 4 transistor tạo SRAM (Static RAM): Chế tạo theo công nghệ thành 2 cặp chéo nhau.Ô chứa có 2 trạng thái 0 và 1. CMOS, vẫn lưu dữ liệu nếu có điện Ngoài ra còn 2 transistor được sử dụng điều khiển quyền truy + DRAM (Dynamic RAM): Dùng nguyên tắc tích cập tới 1 ô nhớ trong quá trình đọc và ghi. Tổng cộng, cần 6 điện của tụ điện C được tạo ra bởi bản mạch transistor để 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 2 Transistor và đế của vi mạch transistor truy cập M5 và M6, được kết nối tới các đường bit: BL và 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) 5 August 2010 161 5 August 2010 162 L.T.Vinh 27
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 DRAM DRAM Dùng kỹ thuật CMOS mỗi Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời vì tụ bit nhớ, mỗi bit nhớ có một transistor và một tụ điện điện sẽ phóng hết điện tích vào và làm tươi bộ nhớ sau mỗi 2µs Việc ghi nhớ dựa vào việc duy trì nạp vào tụ điện và Làm tươi bộ nhớ là đọc ô nhớ và viết lại nội dung đó việc đọc một bit nhớ làm nội vào ô nhớ. Việc làm tươi bộ nhớ được thực hiện tự dung bit này bị hủy động bởi một vi mạch bộ nhớ. Sau mỗi lần đọc ô nhớ, bộ + SDRAM (Synchronous DRAM) phận điều khiển bộ nhớ viết + DDR SDRAM (Double Data Rate SDRAM lại ô nhớ đó nội dung vừa đọc do đó chu kỳ bộ nhớ + RDRAM (Rambus RAM): Hoạt động đồng bộ theo một động ít nhất gấp đôi thời hệ thống lặp và truyền dữ liệu theo một hướng. gian thâm nhập ô nhớ 5 August 2010 163 5 August 2010 164 ROM Bộ nhớ đệm nhanh (Cache memory) Đượ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) + Bộ nhớ có tốc độ nhanh, dung lượng nhỏ hơn bộ nhớ chính được đặt và có thể xóa (bằng tia cực tím - trung hòa tĩnh điện) để viết lại đệm giữa CPU và bộ nhớ chính bởi người sử dụng. + Thường nằm trong CPU, một số cache cũ có thể nằm ngoài CPU EEPROM (Electrically Erasable Programable ROM) + Các cache trên đế cắm kiểu slot 1, + Chế tạo bằng công nghệ bán dẫn. + Cache dạng thanh, có thể tháo rời giống các thanh RAM ngày nay. + 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 165 5 August 2010 166 Thao tác đọc bộ nhớ, bộ xử lý gởi một địa chỉ Cache thường được chia thành một số mức. và nhận một dữ liệu từ bộ nhớ trong. + Cache L1: On-chip cho VXL, nằm bên trong CPU. Thao tác ghi bộ nhớ, bộ xử lý viết một dữ liệu + Cache L2: Off-chip của hệ thống nhớ phân lớp, nằm vào một ô nhớ với một địa chỉ được chỉ ra bên ngoài CPU. trong bộ nhớ. + Cache L3 (L3 chỉ có ở một số CPU) có tốc độ truy Để cho chương trình vận hành bình thường xuất gần bằng tốc độ truyền dữ liệu trong CPU, mức thì cache phải chứa một phần con của bộ nhớ trung gian giữa cache L2 và bộ nhớ. trong để bộ xử lý có thể thâm nhập vào các lệnh hoặc dữ liệu thường dùng từ bộ nhớ + Cache có thể có (hoặc không) được tích hợp trên chip vi xử lý 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 trong bộ nhớ trong. 5 August 2010 167 5 August 2010 168 L.T.Vinh 28
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Bộ nhớ ngoài (External memory) Auxiliary Storage Floppy Disk Chức năng và đặc điểm No longer standard + Lưu giữ tài nguyên phần mềm của máy tính Hard (fixed) disk + Được kết nối với hệ thống dưới dạng các thiết bị 30 Gb and higher vào-ra 5400rpm, 7200 rpm + Dung lượng lớn Removable storage + Tốc độ chậm CD-ROM Các loại bộ nhớ ngoài (SAM: Sequential Access Memory) CD-R/CD-RW DVD/DVD-R/DVD-RW + Bộ nhớ từ: đĩa cứng, đĩa mềm (Digital Video Disk HD) + Bộ nhớ quang: đĩa CD, DVD Zip disks + Bộ nhớ bán dẫn: Flash disk, memory card Tape USB 5 August 2010 169 5 August 2010 170 Disk Storage Disk Storage Based on bytes per track Cylinder per sector Same track on each 1 track on 1 Sector surface make up a contains 512 bytes cylinder Track-sector on each surface (top & bottom) Storage = 1,024 bytes per track-sector (top & bottom) = 1K All data in one cylinder can be read without moving read/write arm 5 August 2010 171 5 August 2010 172 3. Ghép nối máy tính với thiết bị 3. Ghép nối máy tính với thiết bị Thiết bị ngoại vi Một số loại thiết bị ngoại vi Thiết bị ngoại vi là tên chung nói đến một số Có 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ành loại thiết bị bên ngoài thùng máy được gắn lên máy tính như sau: kết với máy tính với tính năng nhập xuất (IO) 1. Màn hình máy tính hoặc mở rộng khả năng lưu trữ (như một 2. Ổ cứng gắn ngoài hoặc ổ cứng di động dạng bộ nhớ phụ). 3. Các loại thiết bị nhớ mở rộng: Bút nhớ USB 4. Ổ quang (CD, D+D) Thiết bị ngoại vi của máy tính có thể là: 5. Chuột (máy tính) 6. Bàn phím máy tính Thiết bị cấu thành lên máy tính và không thể 7. Máy in thiếu được ở một số loại máy tính. 8. 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. Webcam Thiết bị có mục đích mở rộng tính năng hoặc khả 9. Modem các loại (cho quay số, ADSL ) năng của máy tính. 10. Loa máy tính 5 August 2010 173 5 August 2010 174 L.T.Vinh 29
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 3. Ghép nối máy tính với thiết bị Common System Components Hệ thống vào-ra (Input/Output System) Chức năng This figure shows Trao đổi thông tin giữa máy tính với thế giới bên se+eral devices that ngoài. are common com- ponents of a com- Các thao tác cơ bản puter system. 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 175 5 August 2010 176 3. Ghép nối máy tính với thiết bị 3. Ghép nối máy tính với thiết bị Modul vào-ra Thiết bị ngoại vi Chức năng: phương tiện chuyển đổi thông tin giữa bên Chức năng trong và bên ngoài máy tính + Nối ghép các TBNV với máy tính. Đặc điểm các thiết bị + Mỗi môđun vào-ra có một hoặc một vài cổng Trên thị trường tồn tại rất nhiều các thiết bị ngoại vào-ra (I/O Port). vi khác nhau về: Nguyên tắc hoạt động, tốc độ, định dạng dữ liệu truyền, v.v. Đồng thời các thiết bị này có + Mỗi cổng vào-ra được đánh một địa chỉ xác tốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chính định. vì lý do trên cần có Module vào ra để ghép nối các thiết + Các TBNV được kết nối và trao đổi dữ liệu với bị ngoại vi vào hệ thống của máy tính. máy tính thông qua các cổng vào-ra. 5 August 2010 177 5 August 2010 178 3. Ghép nối máy tính với thiết bị 3. Ghép nối máy tính với thiết bị Module I/O Chức năng: Nối ghép thiết bị ngoại vi với máy tính. Cấu trúc chung: + Điều khiển và định thời Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi + Trao đổi thông tin với CPU Cổng nối ghép vào ra: kết nối thiết bị ngoại vi, mỗi cổng có địa + Trao đổi thông tin với thiết bị ngoại vi chỉ xác định và chuẩn kết nối riêng phụ thuộc sơ đồ chân. + Đệm giữa máy tính với thiết bị ngoại vi Thanh ghi trạng thái/điều khiển: lưu trữ thông tin trạng thái cho + Phát hiện lỗi của các thiết bị ngoại vi. các cổng vào ra Khối logic điều khiển: điều khiển Module vào ra 5 August 2010 179 5 August 2010 180 L.T.Vinh 30
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 3. Ghép nối máy tính với thiết bị 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 thanh ghi 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à: Cấu trúc tổng quát của thiết bị ngoại vi: LPT1: 378h (379h ; 37Ah) + Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên LPT2: 3BCh trong và bên ngoài Máy tính LPT3: 278h + Bộ đệm dữ liệu: nơi lưu trữ dữ liệu trung gian giữa Máy LPT4: 2BCh tí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 181 5 August 2010 182 3. Ghép nối máy tính với thiết bị 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 Ví dụ cổng COM: Để nhập vào dữ liệu: IN AL, DX hoặc IN AX, DX • Các thanh ghi chính: (DX chứa địa chỉ; AL chứa giá trị) + Thanh ghi đệm (Buffer Register) Địa chỉ cơ sở • Turbo C + Thanh ghi trạng thái (Status Register) ĐCCS+5 Để xuất ra dữ liệu: outportb(đia_chỉ, giá_trị) + Thanh ghi điều khiển (Control Register) ĐCCS+3 Để nhập vào dữ liệu: bien = inportb(địa_chỉ) • Các địa chỉ cổng có thể là: • Turbo Pascal COM1: 3F8h (3FDh ; 3FBh) Để xuất ra dữ liệu: port[đia_chỉ]:= giá_trị COM2: 2F8h Để nhập vào dữ liệu: bien:=port[địa_chỉ] COM3: 3E8h COM4: 2E8h 5 August 2010 183 5 August 2010 184 3. Ghép nối máy tính với thiết bị 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 phương pháp ĐK vào/ra 1. vào ra bằng chương trình Nguyên tắc chung: • Phân loại: + Sử dụng lệnh vào ra trong chương trình để trao đổi dữ liệu với cổng vào ra. 1. Vào ra bằng chương trình + Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điều 2. Vào ra bằng ngắt khiển trao đổi dữ liệu với cổng vào ra. 3. Truy cập bộ nhớ trực tiếp DMA 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ào ra chuyên dụng + với không gian vào ra dùng chung bộ nhớ thì các lệnh trao đổi dữ liệu sử dụng như ngăn nhớ. 5 August 2010 185 5 August 2010 186 L.T.Vinh 31
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 3. Ghép nối máy tính với thiết bị 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 vào ra bằng chương trình Nhận xét: + CPU gặp lệnh trao đổi vào ra, yêu cầu thao tác vào ra + CPU trực tiếp điều + Module vào ra thao tác vào ra khiển vào ra: đọc trạng + Module vào ra thiết lập các bit trạng thái(State) thái, kiểm tra trạng thái, thực hiện trao đổi. + CPU kiểm tra các bit trạng thái: + Trong trường hợp Nếu chưa sẵn sàng thì quay lại kiểm tra lại nhiều thiết bị cùng cần Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với Module trao đổi dữ liệu và vào ra thiết bị chưa sẵn sàng tốn rất nhiều thời gian CPU + việc thực hiện trao đổi đơn giản 5 August 2010 187 5 August 2010 188 3. Ghép nối máy tính với thiết bị 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 phương pháp ĐK vào/ra 2. Vào ra bằng ngắt 3. Truy nhập bộ nhớ trực tiếp Nguyên tắc chung: (DMA: Direct Memory Access) Với nhược điểm chính của hai phương pháp trên là: + CPU không phải đợi trạng thái sẵn sàng của CPU tham gia trực tiếp vào trao đổi dữ liệu và việc trao đổi Module vào ra. lượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên một + Module vào ra khi nó sẵn sàng phát ra tín hiệu phương pháp mới có tên DMA sẽ sử dụng thêm một Module phần cứng có DMAC (DMA Controller). Vì vậy yêu cầu ngắt CPU khi trao đổi dữ liệu không qua 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 189 5 August 2010 190 3. Ghép nối máy tính với thiết bị 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 phương pháp ĐK vào/ra Truy nhập bộ nhớ trực tiếp 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 địa chỉ 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ều khiển hoạt động của DMAC 5 August 2010 191 5 August 2010 192 L.T.Vinh 32
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 3. Ghép nối máy tính với thiết bị 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 phương pháp ĐK vào/ra Hoạt động của DMA Khi 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 ra 2. Đị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ệu 4. CPU sẽ thực hiện việc khác 5. 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ệu ngắt CPU để báo kết thúc DMA 5 August 2010 193 5 August 2010 194 3. Ghép nối máy tính với thiết bị 3. Ghép nối máy tính với thiết bị 5 August 2010 195 5 August 2010 196 3. Ghép nối máy tính với thiết bị 3. Ghép nối máy tính với thiết bị 5 August 2010 197 5 August 2010 198 L.T.Vinh 33
- ĐHSư phạm Kỹ thuật Vinh 5 August 2010 Chúc các anh chị học tốt 5 August 2010 199 L.T.Vinh 34