Bài giảng Kiến trúc máy tính - ĐH sư phạm kỹ thuật Vinh

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

pdf34 trang | Chia sẻ: truongthinh92 | Lượt xem: 1796 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Bài giảng Kiến trúc máy tính - ĐH sư phạm kỹ thuật Vinh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
lements 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) 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 computers 5 August 2010 8 1. Giới thiệu 1.1. Kiến trúc máy tính Computer Computer CPU Main memory I/O unit System interconnection CPU Registers ALU CU Internal CPU Interconnection CU Sequencing logic CU register & decoders Control memory 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ây nối + 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 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ực hiện các hàm logic cơ bản củ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 +5 v 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 logic gọi là cổng (gate) 2. Cổng được chế tạo từ một hoặc nhiều transistor tùy theo 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ạch lậ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ức năng như đơn vị số học logic + Ví dụ: ALU, thanh ghi (khối thanh 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ần mềm_phần cứng mà người lập trình nhìn nhận được ở mức ngôn ngữ máy + ISA bao gồm: © Tập lệnh máy (Instructions Set) © Kiểu lấy địa chỉ (Addressing Models) © 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ện 3 - Vòng lặp 4 - Thâm nhập bộ nhớ ngăn xếp 5 - Các thủ tục VD: Bật đèn LED ORG 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0 CLR P1.3 ; Led on END 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 (Virtual Memory) + BIOS: Hệ thống vào ra cơ bản + Các lệnh ảo, máy tính ảo mô 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ối mạ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ộc vào phần cứng + Dạng ký tự tượng trưng của ngô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ạng hợp ngữ có thể can thiệp vào phầ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 2000H MOV SP,#50H MOV PSW,#00H CLR P1,00H ; LED on ; SETB P1,0FH ;LED off END 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ú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 Đ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ủa cá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ớn VLSI (Very Large Scale Intergrated ) 5 August 2010 26 1. Giới thiệu 1.2. Các thế hệ máy tính Máy tính ENIAC (Electronic Numerical Integrator and Computer) Tg xây dựng: 1943-1946, được sử dụng đến 1955 (thầy trò Eckert và Mauchly, ĐH Pennsylvania, 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 (Princeton Institute 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 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ớ 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 khi vừ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úc Harvard và 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 Scale Integrated) • 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ăm 1978,1979 đây được coi là ngày sinh nhật của các máy tính sau nà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 the first PC. It was 16-bit, but it talked to the cards via a 8-bit connection. It ran at a whopping 4 MHz and could address only 1 MB of RAM. 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 of addressing 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 many different versions and ran at speeds from 16 Mhz 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 of 25 MHz (SX only) and 33 MHz. As it was developed the 486 was enhanced with a clock doubled processor core (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. Đ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 Intel processor not to use the x86 naming system. Tên thương mại là, không hàm ý nghĩa gì khác ngoài pent 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ệu 2. 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ủa tin 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óa a) Hệ đếm Hệ 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óa a) 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.v Mã ASCII dùng 8 bit (binary digit) để mã hoá 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 Đ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 bit sẽ đượ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óa Mã 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 On Off ON bits are said to be in a 1 state OFF 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ê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). Đ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à 1 Bù 1: 1111 1111 1111 1010 + 1 Bù 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ép 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 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 (-128127) 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ị: -215215-1 (-3276832767)  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 AND Input2 Output Input-1 Input-2 AND Gate A 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ố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 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ở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 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ận chuyển dữ liệu giữa CPU, các môđun nhớ và môđun và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ển môđun nhớ và môđun vào-ra + Các tín hiệu từ môđun nhớ hay môđun vào-ra gử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ải data.  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 tin hoặ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 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 80 Chu kỳ Bus 5 August 2010 81 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 tác vụ sẽ được thực thi (đọc/ghi/đến mem/đến I/O).  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 ứ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.  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 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ản 5 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 con trỏ 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ứa thô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ạng kế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ệnh từ bộ nhớ chính.  Bộ đếm chương trình PC (Program Counter) 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 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 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 A Bước 6  Thực hiện lệnh Bước 7  Cất giữ kết quả lệnh Bướ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 cho nhau + Lệnh PUSP Cất nội dung của một toán hạng nguồn vào stack + 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 đến khi 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 2000h MOV SP,#50h MOV PSW,#0 ; Bank 0 LOOP: CLR P1.3 ; Led on CALL DELAY SETB P1.3 ; Led off CALL DELAY JMP LOOP DELAY: PUSH PSW MOV PSW,#18h; Bank 3 MOV R7,#0 DLY1:MOV R6,#0 DLY2:NOP NOP NOP DJNZ R6,DLY2 DJNZ R7,DLY1 POP PSW RET END 5 August 2010 96 2. Bộ vi xử lý Sử dụng ngăn xếp khi gọi chương trì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ện lệnh(Execution Unit) ALU : khối số học và logic(Arithmetic anh Logic Unit) CU: Khối điều khiển BIU : khối phối ghép bus(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ấ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 101 2. Bộ vi xử lý + BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc/ghi 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 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 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ịch chuyển MOV đích, nguồn dùng để truyền dữ liệu giữa 2 thanh ghi 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 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. Đ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ớ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) 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 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 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ộ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 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,P3Pn + M>=0 (đơn vị nhớ chia sẻ) M1, M2Mn 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ột bộ nhớ chung và n bộ XL kết nối với nhau qua mạng N  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 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í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 141 Multiprocessor 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 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, 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. Đ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ăng tố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 khi bộ nhớ bị hỏng thì quá trình tính toán chung vẫn thực hiện bình thường do các thành phần còn lại vẫn đảm nhiệm chức năng của thành phầ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êu là 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ại vẫn đang được xử lý.  CPU có thể được thực hiện vài lệnh trong cùng một chu 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ài nguyên xử lý trong khi một lệnh nào đó đang được hoà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ệu 2. 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 vi 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 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 dạ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 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 2. Ổ cứng gắn ngoài hoặc ổ cứng di động 3. 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í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 152 Common System Components This figure shows several devices that are 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ên ngoà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ên ngoà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á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 mộ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ính thô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 đổ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 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ăn nhớ đượ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ến thành FlashBIOS. 5 August 2010 161 RAM  Các ô nhớ có thể đọc hoặc ghi trong khoảng thời gian bằng nhau cho dù chúng ở bất kỳ vị trí nào trong ô 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ạch Transistor và đế của vi mạch 5 August 2010 162 SRAM Dung 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àng và số cột bằng nhau, giao điểm của hàng và cột chính là 1 ô bit nhớ  Mỗi bit trong 1 thanh SRAM được chứa trong 4 transistor tạo thà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 truy cập tới 1 ô nhớ trong quá trình đọc và ghi. Tổng cộng, cần 6 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 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) Đ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ỗi bit nhớ, mỗi bit nhớ có một transistor và một tụ điện  Việc ghi nhớ dựa vào việc duy trì nạp vào tụ điện và việc đọc một bit nhớ làm nội dung bit này bị hủy  Sau mỗi lần đọc ô nhớ, bộ phận điều khiển bộ nhớ viết lại ô nhớ đó nội dung vừa đọc do đó chu kỳ bộ nhớ động ít nhất gấp đôi thời gian 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ớ sau mỗ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ột hệ 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ại bở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ằm bên ngoài CPU. + Cache L3 (L3 chỉ có ở một số CPU) có tốc độ truy xuất gần bằng tốc độ truyền dữ liệu trong CPU, mức trung gian giữa cache L2 và bộ nhớ. + Cache có thể có (hoặc không) được tích hợp trên chip vi 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ệu vào một ô nhớ với một địa chỉ được chỉ ra trong bộ nhớ.  Để cho chương trình vận hành bình thường thì 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ác lệ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 trong bộ 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 track per sector  1 track on 1 Sector contains 512 bytes  Track-sector on each surface (top & bottom)  Storage = 1,024 bytes per track-sector (top & bottom) = 1K 5 August 2010 172 Disk Storage  Cylinder  Same track on each surface make up a cylinder  All data in one cylinder can be read without moving read/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 vi 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 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 dạ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 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 2. Ổ cứng gắn ngoài hoặc ổ cứng di động 3. 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í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 ĐH Sư phạm Kỹ thuật Vinh 5 August 2010 L.T.Vinh 30 5 August 2010 175 Common System Components This figure shows se+eral devices that are 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ên ngoà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 vi Chức năng: phương tiện chuyển đổi thông tin giữa bên trong 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ại 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ó tốc độ làm việc chậm hơn CPU và RAM rất nhiều. Chính vì lý do trên cần có Module vào ra để ghép nối các thiết bị 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ổng và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ới má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/O Chứ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 đổi 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 chỉ 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 cho các cổng vào ra Khố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ên trong 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áy 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 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 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à: LPT1: 378h (379h ; 37Ah) LPT2: 3BCh LPT3: 278h LPT4: 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: 2F8h COM3: 3E8h COM4: 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ình 2. Vào ra bằng ngắt 3. 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ới cổng vào ra. + Khi CPU thực hiện chương trình gặp lệnh vào ra thì CPU điều khiể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à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ớ. Đ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ều khiển vào ra: đọc trạng thái, kiểm tra trạng thái, thực hiện trao đổi. + Trong trường hợp nhiều thiết bị cùng cần trao đổi dữ liệu và 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 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ắt Nguyê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 đổi lượng dữ liệu nhỏ. Để khắc phục hai phương pháp trên một 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 khi 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 đị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 Đ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 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 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

Các file đính kèm theo tài liệu này:

  • pdfltvinh_computerorganizationandarchitectur_7897.pdf