Bài giảng Kiến trúc máy tính - Chương 5: Đại cương về kiến trúc máy tính

pdf 18 trang phuongnguyen 3210
Bạn đang xem tài liệu "Bài giảng Kiến trúc máy tính - Chương 5: Đại cương về kiến trúc máy tính", để 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:

  • pdfbai_giang_kien_truc_may_tinh_chuong_5_dai_cuong_ve_kien_truc.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 5: Đại cương về kiến trúc máy tính

  1. ĐẠI HỌC DUY TÂN KHOA ĐIỆN TỬ VIỄN THÔNG CHƯƠNG 5 ĐẠI CƯƠNG VỀ KIẾN TRÚC MÁY TÍNH Nguyễn Văn Thọ Khoa Điện tử viễn thông Đại học Duy Tân – 2010 Nguyen Van Tho – Duy Tan University. VON NEUMANN & MÁY TÍNH VON NEUMANN John Louis von Neumann (1903- 1957) Nhà toán học, vật lý học người Hungari Người đề xuất khái niệm chương trình được lưu trữ qua bản phác thảo đầu tiên cho EDVAC (1945) Bản phác thảo cấu trúc cơ bản trở thành Máy tính Von Neumann. • memory, chứa đựng chỉ thị và dữ liệu • processing unit, xử lý các phép tính số học và logic • a control unit, cung cấp chỉ thị 2-2 1
  2. Nguyen Van Tho – Duy Tan University. MÁY TÍNH VON NEUMANN MEMORY MAR MDR INPUT OUTPUT Keyboard Monitor Mouse PROCESSING UNIT Printer Scanner LED Disk ALU TEMP Disk CONTROL UNIT PC IR 2-3 Nguyen Van Tho – Duy Tan University. MEMORY - BỘ NHỚ Một mảng k x m bit (k = 2n) Address(Địa chỉ) • Giá trị địa chỉ là duy nhất 0000 0001 cho mỗi vị trí trong bộ nhớ 0010 0011 00101101 Contents (Nội dung) 0100 0101 • m-bit value stored in location 0110 • • • Hoạt động cơ bản: 1101 10100010 1110 LOAD 1111 • Đọc 1 giá trị từ 1 vị trí trong bộ nhớ STORE • Ghi 1 giá trị vào 1 vị trí trong bộ nhớ 2-41-4 2
  3. Nguyen Van Tho – Duy Tan University. GIAO TIẾP VỚI BỘ NHỚ Đơn vị xử lý làm gì để đọc/ghi ở bộ nhớ ? MAR: Memory Address Register MEMORY Thanh ghi địa chỉ bộ nhớ MDR: Memory Data Register MAR MDR Thanh ghi dữ liệu bộ nhớ Đọc từ 1 vị trí có địa chỉ (A): 1. Ghi địa chỉ (A) vào MAR. 2. Gửi tín hiệu điều khiển đọc tới bộ nhớ. 3. Đọc dữ liệu từ MDR. Ghi giá trị (X) vào vị trí (A): 1. Ghi giá trị (X) vào MDR. 2. Ghi địa chỉ (A) vào MAR. 3. Gửi tín hiệu điều khiển ghi vào bộ nhớ. 2-51-5 Nguyen Van Tho – Duy Tan University. Control Unit - Đơn vị điều khiển Điều khiển thi hành chương trình IR - Instruction Register CONTROL UNIT Thanh ghi chỉ thị PC IR PC - Program Counter Thanh ghi Bộ đếm chương trình IR chứa chỉ thị hiện tại. PC chứa địa chỉ của chỉ thị kế tiếp sẽ xử lý Control unit: • Đọc 1 chỉ thị từ bộ nhớ (địa chỉ của chỉ thị nằm trong PC) • Căn cứ vào chỉ thị nhận được, phát tín hiệu điều khiển để gọi thành phần tương ứng thực hiện tác vụ 1 chỉ thị có thể mất nhiều chu kỳ máy để thực hiện xong 2-61-6 3
  4. Nguyen Van Tho – Duy Tan University. Processing Unit – Đơn vị xử lý Functional Units • ALU = Arithmetic and Logic Unit PROCESSING UNIT • Có nhiều đơn vị chức năng, trong đócó1 số chức năng đặc biệt ALU TEMP (nhân, căn bậc 2, ) • LC-2 thực hiện được ADD, AND, NOT Registers ( Thanh ghi) • Dung lượng nhỏ, lưu trữ tạm thời • Chứa toán hạng và kết quả của các đơn vị chức năng • LC-2 có 8 thanh ghi (R0, , R7) Word Size (Độ dài từ) • Số bit ALU có thể xử lý trong 1 chỉ thị • Khác với độ rộng của thanh ghi • LC-2 là 16 bits 2-71-7 Nguyen Van Tho – Duy Tan University. Input & Output Dùng để đưa dữ liệu vào bộ nhớ máy tính hoặc lấy dữ liệu ra từ bộ nhớ máy tính OUTPUT Các thiết bị thường sử dụng giao diện là các Monitor Printer thanh ghi giống như 2 thanh ghi MAR và MDR LED Disk của bộ nhớ • LC-2 hỗ trợ keyboard (input) và bảng điện tử (output) • keyboard: thanh ghi dữ liệu KBDR( data register) & thanh ghi trạng thái KBSR (status register) • console: data register (CRTDR) & status register (CRTSR) Một vài thiết bị có thể vừa là input , vừa là output disk, network Chương trình truy cập thiết bị thường sử dụng thông qua trình điều khiển thiết bị (driver) 2-81-8 4
  5. Nguyen Van Tho – Duy Tan University. Instruction Processing - Xử lý chỉ thị LLấấyy chchỉỉ ththịị ttừừ bbộộ nhnhớớ FFETCHETCH GiGiảảii mãmã chchỉỉ ththịị DDECODEECODE TínhTính toántoán địđịaa chchỉỉ EEVALUATEVALUATE AADDRESSDDRESS LLấấyy cáccác toántoán hhạạngng ttừừ bbộộ nhnhớớ FETCHFETCH OPOPERANDSERANDS XXửử lýlý tínhtính toántoán EXEXECUTEECUTE LLưưuu trtrữữ kkếếtt ququảả SSTORETORE 2-91-9 Nguyen Van Tho – Duy Tan University. Instruction - Chỉ thị Chỉ thị là đơn vị cơ bản của công việc Thành phần : • opcode: tác vụ cần thi hành (cộng , trừ ) • operands: (toán hạng) số liệu hoặc địa chỉ số liệu cần cho tác vụ 1 chỉ thị được mã hóa thành 1 chuỗi các bit (Just like data!) •Chỉ thị thường có chiều dài 16, 32 bit. • Control unit thể hiện chỉ thị : phát 1 chuỗi các tín hiệu điều khiển để thi hành tác vụ. • Operation is either executed completely, or not at all. Chỉ thị của computer và định dạng của nó được gọi là Instruction Set Architecture (ISA). 2-101-10 5
  6. Nguyen Van Tho – Duy Tan University. Ví dụ : LC-3 ADD Instruction LC-3 có chỉ thị là 16-bit • Mỗi chỉ thị có 4 bit opcode [15:12]. LC-3 có 8 thanh ghi (R0-R7) . • Nguồn và đích của chỉ thị ADD là các thanh ghi. “Cộng nội dung của thanh ghi R2 với thanh ghi R6, lưu trữ kết quả trong thanh ghi R6.” 2-111-11 Nguyen Van Tho – Duy Tan University. Instruction Processing: FETCH Lấy chỉ thị kế tiếp từ PC đưa vào Instruction Register (IR). FF • Lấy nội dung của PC đưa vào MAR. • Gửi tín hiệu điều khiển đọc tới bộ nhớ DD • Đọc nội dung của MDR, đưa vào IR. EAEA Thanh ghi PC chỉ đến chỉ thị kế tiếp • PC = PC+1. OPOP EXEX SS 2-121-12 6
  7. Nguyen Van Tho – Duy Tan University. Instruction Processing: DECODE Nhận dạng opcode. • LC-3 : 4 bit [12-15] của chỉ thị. [0001] FF Xác định giá trị các toán hạng từ các bit còn lại DD • Example: ¾ADD 3 bit [6-8] toán hạng nguồn 1 : 010 EAEA 3 bit [0-2] toán hạng nguồn 2 : 110 3 bit [9-10] toán hạng đích : 110 OPOP EXEX SS 2-131-13 Nguyen Van Tho – Duy Tan University. Instruction Processing: EVALUATE ADDRESS Trong những chỉ thị cần truy cập bộ nhớ, tính toán địa chỉ sử dụng cho việc truy cập FF bộ nhớ. DD EAEA OPOP EXEX SS 2-141-14 7
  8. Nguyen Van Tho – Duy Tan University. Instruction Processing: FETCH OPERANDS Lấy các toán hạng nguồn để thi hành tác vụ. FF Examples: • Lấy dữ liệu từ bộ nhớ (LDR) DD • Đọc dữ liệu từ thanh ghi EAEA OPOP EXEX SS 2-151-15 Nguyen Van Tho – Duy Tan University. Instruction Processing: EXECUTE Thi hành tác vụ với các toán hạng nguồn FF Examples: • Gửi toán hạng tới ALU và tín hiệu xác định ADD DD EAEA OPOP EXEX SS 2-161-16 8
  9. Nguyen Van Tho – Duy Tan University. Instruction Processing: STORE Lưu trữ kết quả ra bộ nhớ hoặc thanh ghi FF Examples: • result of ADD is placed in destination register DD • result of memory load is placed in destination register • for store instruction, data is stored to memory EAEA ¾write address to MAR, data to MDR ¾assert WRITE signal to memory OPOP EXEX SS 2-171-17 Nguyen Van Tho – Duy Tan University. Ideal Pipelining Cycle: 1 2 3 4 5 6 7 8 9 1 1 1 1 Instr: 0 1 2 3 i F D R X M W i+1 F D R X M W i+2 F D R X M W i+3 F D R X M W i+4 F D R X M W 2-18 9
  10. Nguyen Van Tho – Duy Tan University. VON NEUMAN VS. HARDVARD 2-19 Nguyen Van Tho – Duy Tan University. 3 MỨC ĐỘ XỬ LÝ SONG SONG Many applications have thread-level parallelism • Web server: 100s of users connected simultaneously • O/S has many threads to choose from Could run more than one thread at the same time Possible approaches • Multithreading (Intel hyperthreading) • Multiple processor cores per chip • Multiple processor chips per system 2-20 10
  11. Nguyen Van Tho – Duy Tan University. Multithreading (Intel hyperthreading) Bản chất của siêu phân luồng ? Mô phỏng mỗi bộ xử lý vật lý AS AS như là 2 bộ xử lý logic, tài nguyên vật lý sẽ được chia sẻ Tài nguyên và có cấu trúc chung giống hệt thực thi nhau cho cả 2 bộ xử lý logic. Hệ điều hành và phần mềm coi nó như 2 bộ xử lý song song Kết quả là tốc độ trung bình tăng lên khoảng 20-30%. 2-21 Nguyen Van Tho – Duy Tan University. Multithreading (Intel hyperthreading) Hạn chế của siêu phân luồng ? Khi CPU thực hiện đồng thời 2 chuỗi lệnh đơn giản (add, load,store) Æ xung đột do cả hai chuỗi lệnh đều cùng dùng đến một đơn vị thực thi. Khi đóCPU sử dụng kỹ thuật siêu phân luồng hoá ra chậm hơn so với CPU thông thường (10%) 2-22 11
  12. Nguyen Van Tho – Duy Tan University. BỘ XỬ LÝ ĐA NHÂN Bộ xử lý đa nhân được kiến AS AS trúc bởi 2 hay nhiều CPU vật lý thực sự, có khả năng Tài nguyên Tài nguyên thực hiện đồng thời 2 chuỗi thực thi thực thi lệnh song song thực sự . 9CPU 2 nhân (Core 2 Duo) tăng 40% hiệu năng 9CPU 4 nhân (Quad Core) tăng 50% hiệu năng hệ thống so với CPU 2 nhân. 2-23 Nguyen Van Tho – Duy Tan University. Multiple Processor Cores per Chip Processor Processor Processor Processor Processor Processor Core & L1 Core & L1 Core & L1 Core & L1 Core & L1 Core & L1 L2 Cache L2 Cache L2 Cache L2 Cache L2 Cache Bus I/F Bus I/F Bus I/F Bus I/F Intel Pentium D AMD Athlon X2 IBM Power5 Intel Core2 Duo Increased level of integration per package/chip Perception of 2x performance (not always reality) Can share nothing (Intel), Bus interface (AMD), L2 (IBM) 2-24 12
  13. Nguyen Van Tho – Duy Tan University. Multiple Processor Cores per Chip 2-25 Nguyen Van Tho – Duy Tan University. Multiple processor chips per system 2-26 13
  14. Nguyen Van Tho – Duy Tan University. ĐA NHIỆM VS SONG SONG Xử lý đa nhiệm : - Máy tính có khả năng thực hiện nhiều công việc cùng 1 lúc nhưng có thể không đồng thời - Các công việc được chia nhỏ ra và máy tính luân phiên thực hiện Xử lý song song : -Xử lý đồng thời 2 hoặc nhiều hơn các công việc cùng 1 lúc. - Phải có phần cứng có khả năng xử lý song song 2-27 Nguyen Van Tho – Duy Tan University. Clock (xung nhịp ) – Đơn vị đo tốc độ Clock là tín hiệu để giữ cho đơn vị điều khiển hoạt động. • Tại mỗi nhịp clock, control unit chuyển tới chu kỳ kế tiếp Æ có thể là chỉ thị kế tiếp hoặc bước(phase) kế tiếp của chỉ thị. (1 chỉ thị có thể thực hiện trong 1 hoặc vài chu kỳ) Mạch phát xung nhịp (Clock): • Dao động thạch anh • Phát ổn định liên tục các mức logic 0 và 1 • Chu kỳ - Clock cycle (or machine cycle) “1” “0” Machine time→ Cycle 2-281-28 14
  15. Nguyen Van Tho – Duy Tan University. Instructions & Clock Cycles MIPS & MHz • MIPS = millions of instructions per second số triệu chỉ thị thực hiện được trong 1 giây Ví dụ: Máy tính có tốc độ 1 MIPS nghĩa là máy tính có khả năng thực hiện 1 triệu chỉ thị trong 1 giây • MHz = millions of clock cycles per second số triệu chu kỳ lệnh trong 1 giây Ví dụ : Máy tính có tốc độ 1MHz nghĩa là máy tính có 1 triệu chu kỳ lệnh trong 1 giây MIPS và MHz có khác nhau không ? 2-291-29 Nguyen Van Tho – Duy Tan University. CISC & RISC • CISC (complex Instruction Set computer): máy tính có tập lệnh phức tạp ¾nhiều lệnh ¾cấu trúc phức tạp ¾mỗi lệnh: có độ dài khác nhau và thực hiện trong 1 đến chục chu kỳ xung nhịp ¾Ví dụ: Intel x86, AMD • RISC (reduced instruction Set computer): máy tính có tập lệnh rút gọn ¾ít lệnh ¾mỗi lệnh có độ dài cố định và thực hiện trong 1 đến 2 chu ký xung nhịp ¾cấu trúc vi xử lý đơn giản, có nhiều thanh ghi ¾tốc độ xung nhịp lớn và tiêu thụ năng lượng thấp ¾Ví dụ: ARM, PowerPC 2-30 15
  16. Nguyen Van Tho – Duy Tan University. KiẾN TRÚC MÁY TÍNH HiỆN ĐẠI Cầu Bắc North Bridge Cầu Nam Sound Bridge 2-31 Nguyen Van Tho – Duy Tan University. DUAL CHANNEL MEMORY Sử dụng 2 kênh truyền để tăng tốc độ truy xuất RAM Chanel A DDR2 North Chanel B Bridge DDR2 Main Memory Để tận dụng công nghệ này phải có cặp RAM cắm theo quy định 2-32 16
  17. Nguyen Van Tho – Duy Tan University. DUAL CHANNEL MEMORY 2-33 Nguyen Van Tho – Duy Tan University. SERIAL VS. PARALLEL Parallel : Cổng Printer, giao tiếp ổ cứng ATA , khe cắm mở rộng PCI , chuẩn đồ hoạ AGP Serial : Cổng COM, USB , S-ATA, PCI-Express Xu hướng công nghệ : chuyển từ song song sang nối tiếp PCI,AGP Æ PCI Express ATA Æ S-ATA 0 1 0 01000001 A 0 B A B Truyền 0 Nhận Truyền Nhận 0 0 1 Parallel Serial 2-34 17
  18. Nguyen Van Tho – Duy Tan University. VI KIẾN TRÚC NAHALEM (CORE I7) 2-35 Nguyen Van Tho – Duy Tan University. 2-36 18