Xem mẫu

  1. ĐH Sư phạm Kỹ thuật Vinh 5 August 2010 TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT VINH KHOA ĐIỆN TỬ 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
  2. ĐH Sư 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 ALU Sơ đồ khối Internal CPU Interconnection CU CU Sequencing logic CU register & decoders Parallel computers Control 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 + Mạch chốt, mạch mã 50 tỉ transistor trên một chip 1cm2 (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
  3. ĐH Sư 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 _ A gọi là cổng (gate) 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ẠN TẬP LỆ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
  4. ĐH Sư 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 ngôn ngữ máy dùng với một số MOV SP,#50H Ngôn ngữ 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
  5. ĐH Sư 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. - Sử dụng hệ thập phân. (Intergrated Circuit) - 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
  6. ĐH Sư 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
  7. ĐH Sư 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
  8. ĐH Sư 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: [1]. Nguyễn Đình Việt, Kiến trúc máy tính, NXB Giáo dục, 2000 t/h tương tự: liên tục cả về biên độ [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 [6]. MIT, Computer System Architecture, 2005, OpenCourseWare thời gian 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 (1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = 8 + 2 + 1 =11  Hệ nhị phân, cơ số 2 (Binary System): Máy tính sử dụng (4F)16 = 4FH = 4x161 + 15x160 = 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ư b0, b1, Mã ASCII dùng 8 bit (binary digit) để mã hoá ..., bn, khi đó Y=bn ... bi... b1b0 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
  9. ĐH Sư 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 MSB  Với một Byte/Word 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
  10. ĐH Sư 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  bit dấu 0: Số dương 1: Số âm 01001000 = 64 + 8 = 72  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
  11. ĐH Sư 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 8 bit: 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
  12. ĐH Sư phạm Kỹ thuật Vinh 5 August 2010 3- C¸c phÐp to¸n, phÇn tö logic c¬ b¶n Cổng AND 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 Input-2 A t-¬ng 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
  13. ĐH Sư 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
  14. ĐH Sư 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 5 August 2010 Cấu trúc của một hệ máy tính đơn giản 83 5 August 2010 84 L.T.Vinh 14
  15. ĐH Sư 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ừ bộ nhớ chính. + Tập lệnh là tập hợp các lệnh mã máy (mã nhị phân)  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. CPU nhận lệnh từ ngăn nhớ được trỏ bởi được trình bày dưới dạng hợp ngữ. Mỗi lệnh chứa  PC (Program Counter). thông tin yêu cầu bộ xử lý thực hiện, bao gồm: mã  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ự động tăng để trỏ sang lệnh kế tiếp. + Kiểu định vị chỉ ra cách thức thâm nhập toán hạng. 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
  16. ĐH Sư 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 Test Thực hiện lệnh AND thiết lập cờ + 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 đế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 SETB DELAY P1.3 ; Led off Sử dụng ngăn xếp CALL DELAY khi gọi chương JMP LOOP DELAY: PUSH PSW trình con (thủ tục, 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
  17. ĐH Sư 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
  18. ĐH Sư 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
  19. ĐH Sư 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
  20. ĐH Sư 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
nguon tai.lieu . vn