Kiến trúc bộ xử lý ppt

28 350 1
Kiến trúc bộ xử lý ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 1 8 September 2009 1 NKK-HUT Hệ thống máy tính Chương 4 KIẾN TRÚC BỘ XỬ LÝ Nguyễn Kim Khánh Trường ĐạihọcBáchkhoaHàNội 8 September 2009 2 NKK-HUT Nội dung học phần  Chương 1. Giới thiệu chung  Chương 2. Kiến trúc bộ nhớ  Chương 3. Kiến trúc vào-ra  Chương 4. Kiến trúc bộ xử  Chương 5. Kiến trúc máy tính tiên tiến 8 September 2009 3 NKK-HUT 4.1. Cấutrúccơ bảncủa CPU 4.2. Tậplệnh 4.3. Hoạt động củaCPU 4.4. Kỹ thuật đường ống lệnh 4.5. Các kiến trúc song song mức lệnh 4.6. Một số kiến trúc thông dụng Nộidung 8 September 2009 4 NKK-HUT 4.1. Cấutrúccơ bảncủaCPU  Nhiệmvụ củaCPU:  Nhậnlệnh (Fetch Instruction): CPU đọclệnh từ bộ nhớ.  Giảimãlệnh (Decode Instruction): xác định thao tác mà lệnh yêu cầu.  Nhậndữ liệu (Fetch Data): nhậndữ liệutừ bộ nhớ hoặccáccổng vào-ra.  Xử dữ liệu (Process Data): thựchiện phép toán số học hay phép toán logic vớicácdữ liệu.  Ghi dữ liệu (Write Data): ghi dữ liệurabộ nhớ hay cổng vào-ra 1. Nhiệmvụ và cấutrúccủaCPU Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 2 8 September 2009 5 NKK-HUT Sơđồcấutrúccơ bảncủaCPU 8 September 2009 6 NKK-HUT  Đơnvịđiềukhiển (Control Unit - CU)  Đơnvị số học và logic (Arithmetic and Logic Unit - ALU)  Tập thanh ghi (Register File - RF)  Đơnvị nối ghép bus (Bus Interface Unit - BIU)  Bus bên trong (Internal Bus) Các thành phầncơ bảncủaCPU 8 September 2009 7 NKK-HUT 2. Đơnvị số học và logic  Chứcnăng: Thựchiệncácphéptoán số học và phép toán logic:  Số học: cộng, trừ, nhân, chia, tăng, giảm, đảodấu  Logic: AND, OR, XOR, NOT, phép dịch bit. 8 September 2009 8 NKK-HUT Mô hình kếtnốiALU Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 3 8 September 2009 9 NKK-HUT 3. Đơnvịđiềukhiển  Chứcnăng  Điềukhiểnnhậnlệnh từ bộ nhớđưavào thanh ghi lệnh  Tăng nội dung củaPC để trỏ sang lệnh kế tiếp  Giảimãlệnh đã đượcnhận để xác định thao tác mà lệnh yêu cầu  Phát ra các tín hiệu điềukhiểnthựchiệnlệnh  Nhậncáctínhiệuyêucầutừ bus hệ thống và đáp ứng vớicácyêucầu đó. 8 September 2009 10 NKK-HUT Mô hình kếtnối đơnvịđiềukhiển 8 September 2009 11 NKK-HUT Các tín hiệu đưa đến đơnvịđiềukhiển  Clock: tín hiệunhịptừ mạch tạodao động bên ngoài.  Mã lệnh từ thanh ghi lệnh đưa đến để giảimã.  Các cờ từ thanh ghi cờ cho biếttrạng thái củaCPU.  Các tín hiệuyêucầutừ bus điềukhiển 8 September 2009 12 NKK-HUT Các tín hiệu phát ra từđơnvịđiềukhiển  Các tín hiệu điềukhiển bên trong CPU:  Điềukhiển các thanh ghi  ĐiềukhiểnALU  Các tín hiệu điềukhiển bên ngoài CPU:  Điềukhiểnbộ nhớ  Điềukhiểncácmô-đun vào-ra Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 4 8 September 2009 13 NKK-HUT Các phương pháp thiếtkếđơnvịđiềukhiển  Đơnvịđiềukhiểnvi chương trình (Microprogrammed Control Unit)  Đơnvịđiềukhiểnnốikếtcứng (Hardwired Control Unit) 8 September 2009 14 NKK-HUT Đơnvịđiềukhiểnvi chương trình 8 September 2009 15 NKK-HUT Đơnvịđiềukhiểnvi chương trình (tiếp)  Bộ nhớ vi chương trình (ROM) lưutrữ các vi chương trình (microprogram)  Mộtvi chương trình bao gồmcácvi lệnh (microinstruction)  Mỗivi lệnh mã hoá cho một vi thao tác (microoperation)  Để hoàn thành mộtlệnh cầnthựchiện mộthoặcmột vài vi chương trình  Tốc độ chậm 8 September 2009 16 NKK-HUT Đơnvịđiềukhiểnnốikếtcứng Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 5 8 September 2009 17 NKK-HUT Đơnvịđiềukhiểnnốikếtcứng (tiếp)  Sử dụng mạch cứng để giảimãvàtạo các tín hiệu điềukhiểnthựchiệnlệnh  Tốc độ nhanh  Đơnvịđiềukhiểnphứctạp 8 September 2009 18 NKK-HUT 4.Tập thanh ghi  Chứcnăng và đặc điểm:  Chứacácthôngtin tạmthờiphụcvụ cho hoạt động ở thời điểmhiệntạicủaCPU  Đượccoilàmức đầutiêncủahệ thống nhớ  Số lượng thanh ghi nhiều Æ tăng hiệunăng củaCPU  Có hai loại thanh ghi:  Các thanh ghi lậptrìnhđược  Các thanh ghi không lậptrìnhđược 8 September 2009 19 NKK-HUT Phân loại thanh ghi theo chứcnăng  Thanh ghi địachỉ: quảnlýđịachỉ củangăn nhớ hay cổng vào-ra.  Thanh ghi dữ liệu: chứatạmthờicácdữ liệu.  Thanh ghi đanăng: có thể chứa địachỉ hoặcdữ liệu.  Thanh ghi điềukhiển/trạng thái: chứacác thông tin điềukhiểnvàtrạng thái củaCPU.  Thanh ghi lệnh: chứalệnh đang đượcthực hiện. 8 September 2009 20 NKK-HUT Mộtsố thanh ghi điểnhình  Các thanh ghi địachỉ  Bộđếmchương trình PC (Program Counter)  Con trỏ dữ liệu DP (Data Pointer)  Con trỏ ngănxếp SP (Stack Pointer)  Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register)  Các thanh ghi dữ liệu  Thanh ghi trạng thái Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 6 8 September 2009 21 NKK-HUT Bộđếmchương trình PC  Còn đượcgọi là con trỏ lệnh IP (Instruction Pointer)  Giữđịachỉ củalệnh tiếp theo sẽđược nhận vào.  Sau khi mộtlệnh đượcnhận vào, nội dung PC tựđộng tăng để trỏ sang lệnh kế tiếp. 8 September 2009 22 NKK-HUT Minh họabộđếmchương trình 8 September 2009 23 NKK-HUT Thanh ghi con trỏ dữ liệu  Chứa địachỉ củangănnhớ dữ liệumà CPU muốntruynhập  Thường có mộtsố thanh ghi con trỏ dữ liệu 8 September 2009 24 NKK-HUT Minh hoạ thanh ghi con trỏ dữ liệu Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 7 8 September 2009 25 NKK-HUT Ngănxếp (Stack)  Ngănxếplàvùngnhớ có cấutrúcLIFO (Last In - First Out)  Ngănxếpthường dùng để phụcvụ cho chương trình con  Đáy ngănxếplàmộtngănnhớ xác định  Đỉnh ngănxếplàthôngtin nằm ở vị trí trên cùng trong ngănxếp  Đỉnh ngănxếpcóthể bị thay đổi 8 September 2009 26 NKK-HUT Con trỏ ngănxếp SP (Stack Pointer)  Chứa địachỉ củangănnhớđỉnh ngănxếp  Khi cấtmộtthôngtin vàongănxếp:  Nội dung của SP tựđộng giảm  Thông tin đượccất vào ngănnhớđượctrỏ bởiSP  Khi lấymột thông tin ra khỏingănxếp:  Thông tin được đọctừ ngănnhớđượctrỏ bởi SP  Nội dung của SP tựđộng tăng  Khi ngănxếprỗng, SP trỏ vào đáy 8 September 2009 27 NKK-HUT Minh họa con trỏ ngănxếpSP 8 September 2009 28 NKK-HUT Thanh ghi cơ sở và thanh ghi chỉ số  Thanh ghi cơ sở: chứa địachỉ củangăn nhớ cơ sở (địachỉ cơ sở)  Thanh ghi chỉ số: chứa độ lệch địachỉ giữangănnhớ mà CPU cầntruynhập so vớingănnhớ cơ sở (chỉ số)  Địachỉ củangănnhớ cầntruynhập= địachỉ cơ sở + chỉ số Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 8 8 September 2009 29 NKK-HUT Minh họa thanh ghi cơ sở và thanh ghi chỉ số 8 September 2009 30 NKK-HUT Các thanh ghi dữ liệu  Chứacácdữ liệutạmthờihoặccáckết quả trung gian  Cần có nhiều thanh ghi dữ liệu  Các thanh ghi số nguyên: 8, 16, 32, 64 bit  Các thanh ghi số dấuphẩy động 8 September 2009 31 NKK-HUT Thanh ghi trạng thái (Status Register)  Còn gọi là thanh ghi cờ (Flag Register)  Chứa các thông tin trạng thái củaCPU  Các cờ phép toán: báo hiệutrạng thái của kếtquả phép toán  Các cờđiềukhiển: biểuthị trạng thái điều khiểncủaCPU 8 September 2009 32 NKK-HUT Ví dụ cờ phép toán  Cờ Zero (cờ rỗng): đượcthiếtlậplên1 khi kếtquả của phép toán bằng 0.  Cờ Sign (cờ dấu): đượcthiếtlậplên1 khikết quả phép toán nhỏ hơn0  Cờ Carry (cờ nhớ): đượcthiếtlậplên1 nếu phép toán có nhớ ra ngoài bit cao nhất Æ cờ báo tràn vớisố không dấu.  Cờ Overflow (cờ tràn): đượcthiếtlậplên1 nếucộng hai số nguyên cùng dấumàkếtquả có dấungượclại Æ cờ báo tràn vớisố có dấu. Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 9 8 September 2009 33 NKK-HUT Ví dụ cờđiềukhiển  Cờ Interrupt (Cờ chophépngắt):  NếuIF = 1 Æ CPU ở trạng thái cho phép ngắtvới tín hiệuyêucầungắttừ bên ngoài gửitới  NếuIF = 0 Æ CPU ở trạng thái cấmngắt với tín hiệuyêucầungắttừ bên ngoài gửi tới 8 September 2009 34 NKK-HUT 4.2. Tậplệnh  Mỗibộ xử có mộttậplệnh xác định  Tậplệnh thường có hàng chục đến hàng trămlệnh  Mỗilệnh là mộtchuỗisố nhị phân mà bộ xử lý hiểu được để thựchiệnmộtthaotácxác định.  Các lệnh đượcmôtả bằngcáckýhiệugợi nhớ Æ chínhlàcáclệnh củahợpngữ 1. Giớithiệu chung về tậplệnh 8 September 2009 35 NKK-HUT Các thành phầncủalệnh máy  Mã thao tác (operation code Æ opcode): mã hóa cho thao tác mà bộ xử phảithực hiện  Địachỉ toán hạng: chỉ ra nơichứacáctoán hạng mà thao tác sẽ tác động  Toán hạng nguồn: dữ liệuvàocủa thao tác  Toán hạng đích: dữ liệuracủa thao tác 8 September 2009 36 NKK-HUT Số lượng địachỉ toán hạng trong lệnh (1)  Ba địachỉ toán hạng:  2 toán hạng nguồn, 1 toán hạng đích  c = a + b  Từ lệnh dài vì phải mã hoá địachỉ cho cả ba toán hạng  Đượcsử dụng trên các bộ xử tiên tiến Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 10 8 September 2009 37 NKK-HUT Số lượng địachỉ toán hạng trong lệnh (2)  Hai địachỉ toán hạng:  Mộttoánhạng vừalàtoánhạng nguồn vừalàtoánhạng đích; toán hạng còn lạilà toán hạng nguồn  a = a + b  Giá trị cũ của 1 toán hạng nguồnbị mấtvì phảichứakếtquả  Rút gọn độ dài từ lệnh  Phổ biến 8 September 2009 38 NKK-HUT Số lượng địachỉ toán hạng trong lệnh (3)  Một địachỉ toán hạng:  Mộttoánhạng đượcchỉ ra trong lệnh  Mộttoánhạng là ngầm định Æ thường là thanh ghi (thanh chứa –accumulator)  Đượcsử dụng trên các máy ở các thế hệ trước 8 September 2009 39 NKK-HUT Số lượng địachỉ toán hạng trong lệnh (4)  0 địachỉ toán hạng:  Các toán hạng đều đượcngầm định  Sử dụng Stack  Ví dụ: push a push b add pop c có nghĩalà: c = a+b  không thông dụng 8 September 2009 40 NKK-HUT Đánh giá về sốđịachỉ toán hạng  Nhiều địachỉ toán hạng  Các lệnh phứctạphơn  Cầnnhiều thanh ghi  Chương trình có ít lệnh hơn  Nhậnlệnh và thựchiệnlệnh chậmhơn  Ít địachỉ toán hạng  Các lệnh đơngiảnhơn  Cần ít thanh ghi  Chương trình có nhiềulệnh hơn  Nhậnlệnh và thựchiệnlệnh nhanh hơn [...]... kiến trúc thông dụng 1 Kiến trúc Intel Kiến trúc 4-bit: Kiến trúc 8-bit: Kiến trúc 16-bit: Kiến trúc 32-bit: Kiến trúc 64-bit: Kiến trúc 16-bit (IA-16) 4004 8008,8080,8085 8086/8088,80186,80286 80386, 80486, Pentium,Pentium II, Celeron, Pentium III, Pentium 4, Core Itanium, Core 2 8 September 2009 Các thanh ghi bên trong: 16-bit Xử các phép toán số nguyên với 16-bit Quản bộ nhớ theo đoạn 64KBytes... 64-bit Xử các phép toán số dấu phẩy động Không tương thích phần cứng với các bộ xử trước đó Tương thích phần mềm bằng cách giả lập môi trường Xử các phép toán số dấu phẩy động (từ 80486) 8 September 2009 Nguyễn Kim Khánh - ĐHBKHN 107 8 September 2009 108 27 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 2 Một số kiến trúc khác Kiến trúc MIPS (đã học) Kiến trúc ARM Kiến trúc Sun SPARC Kiến trúc. .. NKK-HUT Kiến trúc 32-bit (IA-32) Kiến trúc 64-bit (IA-64) Các thanh ghi bên trong: 32-bit Xử các phép toán số nguyên với 32-bit Có ba chế độ làm việc: Chế độ 8086 thực (Real 8086 mode): làm việc như một bộ xử 8086 Chế độ 8086 ảo (Virtual 8086 mode): làm việc như nhiều bộ xử 8086 (đa nhiệm 16-bit) Chế độ bảo vệ (Protected mode) đa nhiệm 32-bit quản bộ nhớ ảo Các thanh ghi bên trong: 64-bit Xử lý. .. pipeline lệnh Chuyển dữ liệu Xử số học với số nguyên Xử logic Điều khiển vào-ra Chuyển điều khiển (rẽ nhánh) Điều khiển hệ thống 8 September 2009 45 NKK-HUT 8 September 2009 46 NKK-HUT Các lệnh chuyển dữ liệu MOVE LOAD STORE EXCHANGE CLEAR SET PUSH POP Các lệnh số học ADD Copy dữ liệu từ nguồn đến đích Nạp dữ liệu từ bộ nhớ đến bộ xử Cất dữ liệu từ bộ xử đến bộ nhớ Trao đổi nội dung của... PC (chứa địa chỉ của lệnh_kế_tiếp) ra Stack Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con được gọi Bộ xử được chuyển sang thực hiện chương trình con tương ứng Lệnh trở về từ chương trình con: lệnh RETURN Lấy địa chỉ của lệnh_kế_tiếp được cất ở Stack nạp trả lại cho PC Bộ xử được điều khiển quay trở về thực hiện tiếp lệnh nằm sau lệnh CALL 8 September 2009 57 NKK-HUT 8 September 2009... 4.5 Các kiến trúc song song mức lệnh Superpipeline Siêu đường ống (Superpipeline & Hyperpipeline) Siêu vô hướng (Superscalar) VLIW (Very Long Instruction Word) 8 September 2009 101 NKK-HUT 8 September 2009 102 NKK-HUT Superscalar 8 September 2009 Nguyễn Kim Khánh - ĐHBKHN VLIW (Very Long Instruction Word) 103 8 September 2009 104 26 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 4.6 Một số kiến trúc thông... trưng của RISC CISC và RISC Số lượng lệnh ít Hầu hết các lệnh truy nhập toán hạng ở các thanh ghi Truy nhập bộ nhớ bằng các lệnh LOAD/STORE Thời gian thực hiện lệnh là một chu kỳ máy Các lệnh có độ dài cố định (32 bit) CISC Complex Instruction Set Computer: Máy tính với tập lệnh phức tạp Các bộ xử truyền thống: x86, 680x0 RISC Reduced Instruction Set Computer: Máy tính với tập lệnh thu gọn SunSPARC,... Thanh ghi chứa chỉ số 8 September 2009 77 NKK-HUT 8 September 2009 78 NKK-HUT Giản đồ trạng thái chu trình lệnh Nhận lệnh CPU đưa địa chỉ của lệnh cần nhận từ bộ đếm chương trình PC ra bus địa chỉ CPU phát tín hiệu điều khiển đọc bộ nhớ Lệnh từ bộ nhớ được đặt lên bus dữ liệu và được CPU copy vào thanh ghi lệnh IR CPU tăng nội dung PC để trỏ sang lệnh kế tiếp 8 September 2009 Nguyễn Kim Khánh - ĐHBKHN... Hazard của đường ống lệnh Hazard về cấu trúc Hazard cấu trúc Nguyên nhân: Dùng chung tài nguyên Khắc phục: Hazard dữ liệu nhân tài nguyên để tránh xung đột Làm trễ Ví dụ: Bus dữ liệu: truyền lệnh và dữ liệu Bus lệnh riêng, bus dữ liệu riêng (cache lệnh và cache dữ liệu) Hazard điều khiển 8 September 2009 93 NKK-HUT 8 September 2009 94 NKK-HUT Ví dụ Hazard về cấu trúc conflict on arithmetic unit MULT... September 2009 88 22 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Ngắt Sơ đồ mô tả chu trình ngắt Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu CPU đưa địa chỉ (thường được lấy từ con trỏ ngăn xếp SP) ra bus địa chỉ CPU phát tín hiệu điều khiển ghi bộ nhớ Địa chỉ trở về trên bus dữ liệu được ghi ra vị trí xác định (ở ngăn xếp) Địa chỉ lệnh đầu tiên của chương . tính Chương 4 KIẾN TRÚC BỘ XỬ LÝ Nguyễn Kim Khánh Trường ĐạihọcBáchkhoaHàNội 8 September 2009 2 NKK-HUT Nội dung học phần  Chương 1. Giới thiệu chung  Chương 2. Kiến trúc bộ nhớ  Chương 3. Kiến trúc. 4. Kiến trúc bộ xử lý  Chương 5. Kiến trúc máy tính tiên tiến 8 September 2009 3 NKK-HUT 4.1. Cấutrúccơ bảncủa CPU 4.2. Tậplệnh 4.3. Hoạt động củaCPU 4.4. Kỹ thuật đường ống lệnh 4.5. Các kiến. chuyểndữ liệu  MOVE Copy dữ liệutừ nguồn đến đích  LOAD Nạpdữ liệutừ bộ nhớđếnbộ xử lý  STORE Cấtdữ liệutừ bộ xử lý đếnbộ nhớ  EXCHANGE Trao đổinội dung củanguồnvàđích  CLEAR Chuyển các bit

Ngày đăng: 29/03/2014, 22:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan