Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only H C VI N CƠNG NGH BƯU CHÍNH VI N THÔNG Posts and Telecommunications Institute of Technology KI N TRÚC MÁY TÍNH Chương IV: Ki n trúc t p l nh (ISA) Gi ng viên: TS Nguy n Quý S Email: synq@ptit.edu.vn Hà n i, 17 December 2009 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only N i dung Gi i thi u Phân lo i ki n trúc t p l nh Ch đ đ nh đ a ch Các ghi c a t p l nh Khuôn d ng l nh Các ki u l nh B biên d ch Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u • Các máy đa m c hi n đ i Đây m c ngôn ng máy Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • Ki n trúc t p l nh c u trúc c a m t máy tính mà ngư i l p trình ngơn ng máy ph i hi u đ vi t m t chương trình chu n cho máy – • • Đây phát bi u c a IBM vào năm 1964 gi i thi u ki n trúc IBM 360, ki n trúc đư c rút t t p l nh IBM khác Ngôn ng nh t mà m t máy tính nh n d ng đư c ch y ngôn ng máy c a ho c ki n trúc t p l nh Ki n trúc t p l nh mô t máy mà m t ngư i thi t k ph n c ng c n ph i hi u đ thi t k đư c m t s n ph m máy tính chu n Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • • Ki n trúc t p l nh dùng m t giao di n gi a ph n c ng ph n m m (Là m t ngôn ng c hai đ u ph i hi u) Ki n trúc t p l nh cung c p ch đ ph n m m “nói” v i ph n c ng c n làm High level language code : C, C++, Java, Fortan, compiler Assembly language code: architecture specific statements assembler Machine language code: architecture specific bit patterns software instruction set level hardware Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • M t ki n trúc sư máy tính ph i bàn b c v i c hai: – ngư i vi t chương trình biên d ch – ngư i thi t k ph n c ng thi t k m t máy k t h p thu c tính c a c ph n c ng ph n m m m c ISA: – Đ nh nghĩa v ch c tác v , ch đ v trí lưu tr mà ph n c ng h tr – Mơ t xác g i truy c p b ng ph n m m th • Thơng thư ng, nên tương thích ngư c đ có th ch y chương trình có Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • M t ISA t t? – Kh th c thi • • – M t ISA t t nên đ nh nghĩa m t t p l nh cho các l nh có th th c thi đư c hi u qu hi n t i tương lai, có k t qu b ng thi t k mang l i l i nhu n qua nhi u th h Các th h x86 (IA32): 8086, 286, 386, 486, Pentium, PentiumII, PentiumIII, Pentium4,… Kh l p trình m t target (toolkit) rõ ràng cho mã đư c biên d ch D dàng bi u di n chương trình hi u qu Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • Các đơn v đo ISA – Tính tr c giao • – Tính đ y đ • – Khơng t i ý nghĩa trư ng l nh T ch c h p lý • – – H tr đa d ng tác v ng d ng Tính cân đ i • – Khơng có ghi đ c bi t, vài trư ng h p đ c bi t, t t c ch đ tốn h ng có th s d ng v i d ng d li u ho c d ng l nh b t kỳ Các yêu c u tài nguyên d xác đ nh D biên d ch D th c hi n Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • Các v n đ thi t k t p l nh – Các toán h ng đư c lưu tr • – Thanh ghi, tr c ti pgián ti p, Ki u kích c tốn h ng đư c h tr gì? • – 0, 1, V trí tốn h ng đư c xác đ nh th nào? • – Các ghi, b nh , ngăn x p, tích lu Có tốn h ng? • – đâu? Byte, Int, Float, Double, String, Vector Nh ng tác v đư c h tr ? • Add, Sub, Mul, Move, Compare Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Gi i thi u (t) • S phát tri n c a ki n trúc t p l nh Single Accumulator (EDSAC 1950) Accumulator + Index Registers (Manchester Mark I, IBM 700 series 1953) Separation of Programming Model from Implementation High-level Language Based (B5000 1963) Concept of a Family (IBM 360 1964) General Purpose Register Machines Complex Instruction Sets (Vax, Intel 8086 1977-80) Hà n i, 17 December 2009 Load/Store Architecture (CDC 6600, Cray 1963-76) RISC (Mips,Sparc,88000,IBM RS6000, 1987+) H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn d ng l nh (t) • Các tiêu chí thi t k khuôn d ng l nh – T c đ b nh hi u qu • – – – S d ng h th ng b nh phân c p (các ghi, cache, ) D mã hoá T c đ b x lý (t c đ mà l nh có th thi hành) Khơng gian đ a ch • Kích thư c truy c p (bao nhiêu byte m t l n) • Đ phân gi i truy nh p (t ng byte, t ng t ) (Đ phân gi i tinh, đ a ch dài l nh dài hơn) Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn d ng l nh (t) • M t khn d ng l nh n hình: v i bit tốn t trư ng đ a ch bit • • • Ch có 16 tốn t Ch có 16 ghi Ch có 16 bi n n i b Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn d ng l nh (t) • • Gi thuy t đ dài l nh không đ i, s lư ng toán h ng khác tốn t có kích thư c khác (m r ng toán t ) L nh toán h ng Toán t 4-bit 0-E Toán h ng Toán h ng Toán h ng Toán h ng Toán h ng L nh toán h ng Example 1: OpCodes: 0,1, …, D, E, F0, F1, …, FD, FE, FF0, FF1, …, FFD, FFE, FFF0, FFF1, …, FFFD, FFFE, FFFF Hà n i, 17 December 2009 Khuôn d ng n a byte L nh toán h ng L nh toán h ng Toán t 8-bit F0-FE Toán t 12-bit FF0-FFE Tốn t 16-bit FFF0-FFFF H c vi n Cơng ngh Bưu Vi n thơng Tốn h ng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn d ng l nh (t) • Ví d khuôn d ng l nh – Khuôn d ng 1: Mã l nh bit Các tác v đư c ch th b i mã l nh 0-E F mã m r ng, ch th khuôn d ng 2, 3, ho c 4-bit opcode: 0-E – 4-bit operand 4-bit operand 4-bit operand Khuôn d ng: Mã l nh 12 bit Opcode Các tác v đư c ch th b i mã l nh FF0-FFE mã m r ng ch th khuôn d ng 12-bit opcode: FF0-FFE – 4-bit operand Khuôn d ng 2: Mã l nh bit Các tác v đư c ch th b i mã l nh F0-FE FF is mã m r ng, ch th khuôn d ng ho c 8-bit opcode: F0-FE – 4-bit operand 4-bit operand Khuôn d ng: Mã l nh 16 bit Opcode Các tác v đư c ch th b i mã l nh FFF0-FFFF 16-bit opcode: FFF0-FFFF Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khuôn d ng l nh (t) • 0ijk 1ijk 2ijk … Dijk Eijk F0ij F1ij F2ij … FDij FEij Ví d 1: Các mã l nh m r ng 3-address L nh 16-bit Bit 0-3 4-7 8-B C-F Field 2-address FF0i FF1i FF2i … FFDi FFEi FFF0 FFF1 FFF2 … FFFD FFFE FFFF 1-address 0-address Instruction Type OpCode Size Number Field Field Field Field Three Address bits 15 0-E Address Address Address Two Address bits 15 F 0-E Address Address One Address 12 bits 15 F F 0-E Address No Address 16 bits 16 F F F 0-F Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Khn d ng l nh (t) • Ví d 2: S d ng mã l nh có kích thư c khác đ s d ng không gian l nh hi u qu Example Example Three address instructions 15 15 Two address instructions 15 14 One address instructions 15 31 Zero address instructions 16 16 Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only N i dung Gi i thi u Phân lo i ki n trúc t p l nh Đ nh đ a ch Các ghi c a t p l nh Khuôn d ng l nh Các ki u l nh B biên d ch Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các ki u l nh • • • • • • • • S h c logic: Chuy n giao d li u: Đi u n H th ng D u ph y Th p phân Chu i Đ ho Hà n i, 17 December 2009 AND, ADD MOVE, LOAD, STORE BRANCH, JUMP, CALL OS CALL, VM ADDF, MULF, DIVF ADDD, CONVERT MOVE, COMPARE (DE)COMPRESS H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các ki u l nh (t) Rank Instruction Frequency load 22% branch 20% compare 16% store 12% add 8% and 6% sub 5% register move call 1% 10 return 1% Total Hà n i, 17 December 2009 4% 96% H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các ki u l nh (t) • T n su t tương đ i c a l nh u n Tác v Hà n i, 17 December 2009 SPECfp92 Call/Return ⇒ Thi t k ph n c ng đ x lý nhánh nhanh, l nh x lý thư ng xuyên nh t SPECint92 13% 11% Jumps 6% 4% 81% 87% Branches H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các b biên d ch • Các m c tiêu c a b biên d ch – – – – • B biên d ch đa ngu n – • T t c chương trình chu n biên d ch H u h t chương trình biên d ch thi hành nhanh Đ t đư c kích thư c mã nh Cung c p h tr g r i Cùng m t b biên d ch có th dùng nhi u ngôn ng khác Các b biên d ch cho nhi u đ i tư ng – Cùng m t b biên d ch có th t o mã cho máy khác Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các b biên d ch (t) • Các b biên d ch s d ng giai đo n đ qu n lý – Pha đ u • – T i ưu m c cao • – T o chuy n đ i n i n m ch vòng T i ưu tồn c u • – Chuy n đ i ngôn ng thành d ng trung gian T i ưu toàn c u c c b , c ng v i phân pb ghi B t o mã (và h p mã) • Lo i t s ph thu c, ch n l c l nh s p l ch đư ng ng Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only Các b biên d ch (t) • Thi t k ISA đ nâng cao s biên d ch – – – – – Cung c p đ ghi đ c p phát ghi d dàng (nhi u 16) Cung c p t p l nh thư ng xuyên nh gi tác v , ki u d li u ch đ đ a ch tr c giao Cung c p xây d ng ban đ u c g ng ánh x t i m t ngôn ng b c cao Cân b ng đơn gi n gi a l a ch n Cho phép b biên d ch tr giúp th c hi n trư ng h p chung nhanh Hà n i, 17 December 2009 H c vi n Công ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only N i dung Gi i thi u Phân lo i ki n trúc t p l nh Ch đ đ nh đ a ch Các ghi c a t p l nh Khuôn d ng l nh Các ki u l nh B biên d ch Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thơng Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only K t thúc Hà n i, 17 December 2009 H c vi n Cơng ngh Bưu Vi n thông ... Add R4, R3 R4