Giáo trình kiến trúc máy tính

44 1.2K 3
Giáo trình kiến trúc máy tính

Đ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

Giáo trình kiến trúc máy tính

Mục lục CHƯƠNG 1: Lịch sử phát triển 1.1 Lịch sử kiến trúc vi xử lý 1.1.1 Kiến trúc CISC 1.1.2 Kiến trúc RISC 1.2 Tổng quan về dòng xử lý MIPS CHƯƠNG 2: Kiến trúc MIPS 2.1 Kiến trúc thanh ghi R300 2.1.1 Thanh ghi đa năng 2.1.2 Thanh ghi HI và LO 2.1.3 Thanh ghi dấu phẩy động 2.2 Kiến trúc tập lệnh MIPS 2.2.1 Immediate 2.2.2 Jump 2.2.3 Register 2.3 Quản lý bộ nhớ 2.3.1 Giới thiệu MMU 2.3.2 Chế độ thực thi 2.3.3 Translation Lookaside Buffer 2.3.4 Chuyển địa chỉ ảo sang địa chỉ thật 2.4. Pipeline CHƯƠNG 3: Tìm hiểu phần mềm mô phỏng MIPSIT 3.1 Giới thiệu MipsIt 3.2 Các thành phần của MispIt 3.3 Cài đặt chương trình 3.3.1 Tạo một projet 3.3.2 Thêm file vào project CHƯƠNG 4: Lập trình hợp ngữ MIPS ********************************************* 1 CHƯƠNG 1: LỊCH SỬ PHÁT TRIỂN 1.1 Lịch sử kiến trúc vi xử lý. Các kiến trúc với tập lệnh phức tạp CISC (Complex Instruction Set Computer) được nghĩ ra từ những năm 1960. Vào thời kỳ này, người ta nhận thấy các chương trình dịch khó dùng các thanh ghi, rằng các vi lệnh được thực hiện nhanh hơn các lệnh và cần thiết phải làm giảm độ dài các chương trình. Các đặc tính nầy khiến người ta ưu tiên chọn các kiểu ô nhớ - ô nhớ và ô nhớ - thanh ghi, với những lệnh phức tạp và dùng nhiều kiểu định vị. Điều này dẫn tới việc các lệnh có chiều dài thay đổi và như thế thì dùng bộ điều khiển vi chương trình là hiệu quả nhất. Bảng 1 cho các đặc tính của vài máy CISC tiêu biểu. Ta nhận thấy cả ba máy đều có điểm chung là có nhiều lệnh, các lệnh có chiều dài thay đổi. Nhiều cách thực hiện lệnh và nhiều vi chương trình được dùng. Tiến bộ trong lãnh vực mạch kết (IC) và kỹ thuật dịch chương trình làm cho các nhận định trước đây phải được xem xét lại, nhất là khi đã có một khảo sát định lượng về việc dùng tập lệnh các máy CISC. Bộ xử lý IBM 370/168 DEC 11/780 iAPX 432 Năm sản xuất 1973 1978 1982 Số lệnh 208 303 222 Bộ nhớ vi chương trình 420 KB 480 KB 64 KB Chiều dài lệnh (tính bằng bit) 16 - 48 16 - 456 6 - 321 Kỹ thuật chế tạo ECL - MSI TTl - MSI NMOS VLSI Cách thực hiện lệnh Thanh ghi- thanh ghi Thanh ghi - bộ nhớ Bộ nhớ - bộ nhớ Thanh ghi - thanh ghi Thanh ghi - bộ nhớ Bộ nhớ - bộ nhớ Ngăn xếp Bộ nhớ- bộ nhớ Dung lượng cache 64 KB 64 KB 0 Bảng 1: Đặc tính của một vài máy CISC Ví dụ, chương trình dịch đã biết sử dụng các thanh ghi và không có sự khác biệt đáng kể nào khi sử dụng ô nhớ cho các vi chương trình hay ô nhớ cho các chương trình. 1.1.1 Kiến trúc CISC  Tối thiểu hóa bộ nhớ lưu trữ lệnh bằng cách tăng tính phức tạp. 2  Thực hiện nhiều lệnh bậc cao hơn là chỉ thực hiện 1 thao tác  Các lệnh thường có toán hạng trực tiếp từ bộ nhớ  Có nhiều chế độ đánh địa chỉ khác nhau.  Thực hiện cơ chế vi mã  Các bộ VXL CISC : Digital VAX, Motorola MC 68000, Intel 8086, Pentium Điều này dẫn tới việc đưa vào khái niệm về một máy tính với tập lệnh rút gọn RISC vào đầu những năm 1980. Các máy RISC dựa chủ yếu trên một tập lệnh cho phép thực hiện kỹ thuật ống dẫn một cách thích hợp nhất bằng cách thiết kế các lệnh có chiều dài cố định, có dạng đơn giản, dễ giải mã. Máy RISC dùng kiểu thực hiện lệnh thanh ghi - thanh ghi. Chỉ có các lệnh ghi hoặc đọc ô nhớ mới cho phép thâm nhập vào ô nhớ. Bảng 2 diễn tả ba mẫu máy RISC đầu tiên: mẫu máy của IBM (IBM 801) của Berkeley (RISC1 của Patterson) và của Stanford (MIPS của Hennessy). Ta nhận thấy cả ba máy đó đều có bộ điều khiển bằng mạch điện (không có ô nhớ vi chương trình), có chiều dài các lệnh cố định (32 bits), có một kiểu thi hành lệnh (kiểu thanh ghi - thanh ghi) và chỉ có một số ít lệnh. 1.1.2 Kiến trúc RISC Ta có thể định nghĩa mạch xử lý RISC bởi các tính chất sau:  Có 1 số ít lệnh(thông thường dưới 100 lệnh)  Có một số ít các kiểu định vị (thông thường hai kiểu: định vị tức thì và định vị gián tiếp thông qua một thanh ghi).  Có một số ít dạng lệnh (một hoặc hai)  Các lệnh đều có cùng chiều dài.  Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ nhớ.  Dùng bộ tạo tín hiệu điều khiển bằng mạch điện để tránh chu kỳ giải mã các vi lệnh làm cho thời gian thực hiện lệnh kéo dài.  Bộ xử lý RISC có nhiều thanh ghi để giảm bớt việc thâm nhập vào bộ nhớ trong. Bộ xử lý IBM 801 RISC1 MIPS Năm sản xuất 1980 1982 1983 Số lệnh 120 39 55 Dung lượng bộ nhớ vi chương trình 0 0 0 Độ dài lệnh (tính bằng bit) 32 32 32 Kỹ thuật chế tạo ECL MSI NMOS VLSI NMOS VLSI Cách thực hiện lệnh Thanh ghi- thanh ghi Thanh ghi- thanh ghi Thanh ghi- thanh ghi Bảng 2 : Đặc tính của ba mẫu đầu tiên máy RISC 3 Ngoài ra các bộ xử lý RISC đầu tiên thực hiện tất cả các lệnh trong một chu kỳ máy. Bộ xử lý RISC có các lợi điểm sau : • Diện tích của bộ xử lý dùng cho bộ điều khiển giảm từ 60% (cho các bộ xử lý CISC) xuống còn 10% (cho các bộ xử lý RISC). Như vậy có thể tích hợp thêm vào bên trong bộ xử lý các thanh ghi, các cổng vào ra và bộ nhớ cache • Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, nhờ có nhiều thanh ghi (ít thâm nhập bộ nhớ), và nhờ thực hiện kỹ thuật ống dẫn liên tục và có hiệu quả (các lệnh đều có thời gian thực hiện giống nhau và có cùng dạng). • Thời gian cần thiết để thiết kế bộ điều khiển là ít. Điều này góp phần làm giảm chi phí thiết kế. • Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà ta gặp thường trong bộ điều khiển. 1.2 Tổng quan về dòng xử lý MIPS MIPS : Microprocessor without Interlocked Pipeline Stage là một kiến trúc vi xử lý được phát triển bởi hãng MIPS Technologies . Cuối những năm 1990, 1/3 số lượng chip RISC (Reduced Instruction Set Computer ) được sản xuất dựa trên kiến trúc MIPS Thiết kể MIPS được sử dụng rất rộng rãi trong các dòng máy tính đồ họa silicon, các hệ thống nhúng như TiVo thế hệ 2, các thiết bị sử dụng hệ điều hành Windows CE, Cisco routes và các máy chơi game console như Nitendo 64, Sony Playstation, Play Station 2, Play Station Portable… Kiến trúc MIPS ban đầu là một hệ thống xử lý 32 bit (thanh ghi mở rộng 32 bit và các đường dẫn) trong khi các phiên bản sau này là hệ thống 64 bit. Đã có rất nhiều hiệu chỉnh trong các tập lệnh của MIPS, từ MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS 32 và MIPS 64. Hiện nay tồn tại 2 phiên bản là MIPS 32 (cho các hệ thống 32 bit) và MIPS 64 (cho các hệ thống 64 bit). MIPS 32 và MIPS 64 định nghĩa một tập các thanh ghi điều khiển và một tập lệnh. Một vài thành phần mở rộng bổ sung cũng được cung cấp, như là MIPS-3D: một tập đơn giản các câu lệnh SIMD về dấu chấm động để thực hiện các tác vụ đồ họa 3D; MDMX (MaDMaX) là mở rộng của các câu lệnh SIMD nguyên sử dụng các thanh ghi dấu chấm động 64 bit; MIPS16e chức năng nén vào dòng lệnh khiến cho chương trình chiếm ít không gian hơn và bổ sung gần đây là MIPS MT: kiến trúc đa luồng (MultirTheading) mới được bổ sung cho hệ thống, tương tự như là siêu phân luồng (HyperThreading) trong hệ thống Intel’s Pentium Bởi vì các nhà thiết kế đã tạo ra một tập lệnh rất rõ ràng, các khóa học về kiến trúc máy tính trong các trường đại học và công nghệ thường dạy về kiến trúc MIPS. Các 4 thiết kế MIPS CPU dùng cho gia đình đã ảnh hưởng rất lớn đến kiến trúc RISC sau này, như là DEC Alpha. Năm 1981, một nhóm các nhà nghiên cứu thuộc đại học Stanford do John L. Hennessy đứng đầu đã bắt đầu một công trình nghiên cứu về bộ xử lý MIPS đầu tiên. Khái niệm cơ bản là nhằm tăng đột xuất hiệu năng thông qua sử dụng một đường ống lệnh (pipeline instructions), một công nghệ đã được hiểu rõ nhưng lại khó phát triển. Thông thường một đường ống sẽ mở rộng việc chạy một câu lệnh thành vài bước, bắt đầu thực hiện “bước một” của câu lệnh trước khi câu lệnh trước hoàn thành. Trong khi đó, thiết kế truyền thống yêu cầu phải đợi cho đến khi một câu lệnh hoàn thành mới được chạy câu lệnh tiếp theo. Thiết kế theo pipeline làm giảm đáng kể thời gian rỗi của CPU khi thực hiện liên tiếp các câu lệnh. Một rào cản chính của phương pháp đường ống lệnh là nó yêu cầu một khóa đồng bộ (interlocks) được cài đặt để chắc chắn rằng các câu lệnh chiếm nhiều chu kỳ đồng hồ để thực hiện sẽ dừng đường ống lại để nạp nhiều dữ liệu hơn – đơn giản là dừng lại cho tới khi nó kết thúc. Những khóa đồng bộ này cần một thời gian lớn để cài đặt và được cho là rào cản chính trong việc tăng tốc độ trong tương lai. Một thiết kế chủ chốt trong MIPS là yêu cầu tất cả các câu lệnh phải được hoàn thành trong 1 chu kỳ xung nhịp, nhờ thế loại bỏ được sự cần thiết của khóa đồng bộ. Mặc dù thiết kế này đã loại trừ một số câu lệnh hữu dụng, đáng kể nhất như là các lệnh nhân và chia yêu cầu nhiều bước, nhưng nó cho thấy hiệu suất tổng thể của hệ thống tăng lên rõ rệt bởi vì các vi xử lý có thể chạy ở xung nhịp lớn hơn rất nhiều. Tuy nhiên việc loại bỏ các câu lệnh trên lại không được các nhà thiết kế thời bấy giờ hoan nghênh. Rất nhiều ý kiến cho rằng thiết kế kiểu đường ống lệnh sẽ không thể tồn tại được, nếu chỉ thay một lệnh nhân phức tạp bằng rất nhiều các lệnh cộng đơn giản thì làm sao hệ thống có thể nhanh hơn được. Tuy nhiên thực tế đã cho thấy, tốc độ thuộc về thiết kế đường ống, chứ không phải thiết kế theo câu lệnh. Năm 1984, Hennessy rời trường đại học Stanford để thành lập công ty MIPS Computer System. Họ đã cho ra đời thiết kế đầu tiên vào năm 1985 : R2000 sau đó phát triển tiếp R3000 vào năm 1998. Những CPU 32 bit này tồn tại trong suốt những năm 1980 và được sử dụng chủ yếu trong ác dòng máy chủ SGI. Năm 1991 MIPS cho ra đời bộ vi xử lý 64 bit đầu tiên R4000. Tuy nhiên MIPS gặp khó khăn trong tài chính trong khi tung sản phẩm này ra thị trường. Thiết kế này rất quan trọng đối với SGI-một trong những khách hàng của MIPS lúc bấy giờ, vì thế SGI đã mua lại công ty vào năm 1992 để bảo vệ thiết kế không bị mất đi. Từ đó MIPS trở thành một công ty con của SGI và được biết đến bởi tên MIPS Technologies. Các dòng vi xử lý thương mại MIPS đã được sản xuất: - R2000 : xuất hiện trên thị trường vào năm 1985, được bổ sung thêm nhiều câu lệnh mới, có thể được khởi tạo ở chế độ big-endian hay little-endian,c ó 32 thanh ghi 32 bit, nhưng không có thanh ghi mã điều kiện. R2000 cũng hỗ trợ tới 4 bộ xử lý, một trong số đó đảm nhiệm việc xử lý các ngoại lệ và bẫy trong khi ba chiếc còn lại sử 5 dụng cho các mục đích khác. Điều này được hỗ trợ trong R2010 FTU - bộ xử lý có 32 thanh ghi 32 bit có thể được sử dụng như là 16 thanh ghi 64 bit cho kết quả chính xác gấp đôi - R3000: Theo sau R2000 vào năm 1998, nó bổ sung thêm 32kB Cache (và sớm được tăng lên 64kB) cho các lệnh và dữ liệu, kèm theo đó là cơ chế cache coherency hỗ trợ cho nhiều bộ xử lý. R3000 cũng bao gồm MMU - một tính năng phổ biến của CPUs kỷ nguyên này. R3000 trở thành thiết kế MIPS đầu tiên thành công trong lĩnh vực thương mại. R3000A được sử dụng cực kỳ thành công trong các máy Sony PlayStation, chạy với tốc độ 40 MHz, truyền thông tin ở tốc độ 32 câu lệnh trong 1 giây. R3000 cũng đi kèm với R3100 FTU trong cùng một chip đơn. Các hãng khác cũng tham gia sản xuất như Pacemips với R3400, IDT với R3500. R3900 của Toshiba là chíp đầu tiên dạng SoC (System on a Chip) được sử dụng trong các máy tính cá nhân cầm tay sử dụng hệ điều hành Windows CE - R4000: được đưa ra vào năm 1991, mở rộng tập lệnh MIPS để hỗ trợ đầy đủ kiến trúc 64 bit, chuyển FTU vào main để tạo ra một hệ thống chip đơn lẻ (Single-chip system), xử lý với tốc độ lên tới 100Mhz, tuy nhiên để đạt được tốc độ này bộ nhớ đệm phải bị giảm xuống còn 8kB và cần 3 chu kỳ để truy cập. Tần số xử lý cao đạt được nhờ việc lưu trữ thông qua công nghệ đường ống sâu (deep pipelining – hay còn gọi là super-pipelining tại thời điểm đó). 1993 R4400 xuất hiện với 16kB cache, bộ xử lý 64 bit lớn và 1 bộ điều khiển cache mở rộng lên tới 1MB (cahe level 2). Ngoài ra còn các họ R4200, R4300, VR4300, R4300i, R4600 “Orion”, R4700 “Orion”, R5650, R5000, R5000FTU, RM7000, RM9000 Các bộ xử lý này được sử dụng rất rộng rãi : Các máy Nitendo 64, Cisco routers, WebTV set-top Box (Hiện nay là Micrisoft TV)… - R8000 (1994) : Là thiết kế MIPS siêu vô hướng (superscala) đầu tiên, cho phép xử lý 2 ALU và 2 phép tính nhớ mỗi chu kỳ. Thiết kế này mở rộng tới 6 chip, hỗ trợ 4MB cache mở rộng. - R10000 (1995) : Là một thiết kế chip đơn lẻ, chạy ở tốc độ cao hơn R8000, có 32kB cache chính cho các câu lệnh và dữ liệu. Các thiết kế tiếp theo của R1000 là R12000 và R14000 với hỗ trợ DDR SRAM trong cache và tốc độ lên tới 200 MHz. Ngoài ra còn các thiết kế R16000, R16000A, R6000. 6 MIPS R3000A-compatible (R3051) 32bit RISC chip running at 33.8688 MHz The chip is manufactured by LSI Logic Corp. with technology licensed from SGI. The chip also contains the Geometry Transformation Engine and the Data Decompression Engine. Features: Operating Performance of 30 MIPS Bus Bandwidth 132 MB/s Instruction Cache 4 KB Data Cache 1 KB (non associative, just 1024 bytes of mapped fast SRAM) Mẫu bộ vi sử lý MIPS ứng dụng trong máy PlayStation2 7 CHƯƠNG 2:KIẾN TRÚC MIPS 2.1 Kiến trúc thanh ghi R3000 2.1.1 Thanh ghi đa năng Genaral - Purpose : Kiến trúc MIPS cung cấp 32 thanh ghi genaral-purpose (dùng chung, đa năng ) được kí hiệu trong hợp ngữ là : $0 à $31  Thanh ghi $0 : chức năng cung cấp hằng số 0  Thanh ghi $31:sử dụng lưu địa chỉ trả về từ lời gọi hàm hay thủ tục.  Chức năng cụ thể của từng thanh ghi được xác định bởi bảng sau : 2.1.2 Thanh ghi HI và LO Thao tác nhân của MIPS có kết quả chứa 2 thanh ghi HI và LO, đây không phải là thanh ghi đa năng. Bit 32 đến 63 thuộc Hi và 0 đến 31 thuộc LO 8 Tương tự với phép chia : 2.1.3 Thanh ghi dấu phẩy động MIPS sử dụng 32 thanh ghi dấu phảy động để biểu diễn độ chính xác đõn của số thực.Các thanh ghi này có tên là : $f0 – $f31. Để biểu diễn độ chính xác kép (double precision )thì họ sử dụng sự ghép đôi của 2 thanh ghi có độ chính xác đơn. MIPS cũng có phần cứng cho độ chính xác dấu phẩy động 64 bit. Có 16 cặp với tên là : $f0, $f2, — $f30 2.2 Kiến trúc tập lệnh MIPS MIPS là một bộ xử lý RISC sử dụng các định dạng lệnh có độ dài cố định. Mỗi lệnh có độ dài 32 bit (MIPS32). Nó sử dụng ba định dạng lệnh khác nhau :  Immediate (I-Type) (Trực tiếp, tức thời)  Jump (J-Type)  Register (R-Type) 2.2.1 Immediate Tất cả các lệnh nạp và lưu (load/store) dùng định dạng này : 9 1111 1111 1111 11100100101010001000 immediate valuetarget regsource regop code 16 bits5 bits5 bits 6 bits 2.2.2 Jump Các lệnh nhảy chỉ định một địa chỉ đích 26 bit dùng định dạng lệnh này. 26 bit này kết hợp với các bit cao của bộ đếm chương trình PC để lấy về địa chỉ tuyệt đối. 2.2.3 Register Các lệnh tính toán số học và logic sử dụng lệnh này 10 0x0100003000010 0x0040000c j 26 bits - jump target (words)6 bits - op code 100010 00000001010011101010 000000 functionshift amtDestinationtarget regsource reg 000000 6 bits5 bits5 bits5 bits5 bits6 bits [...]... MIPSIT 3.1 Giới thiệu MipsIt Để hiểu được kiến trúc máy tính, chúng ta cần nắm được cốt lõi của nó : các thành phần làm nên kiến trúc máy tính là gì, và hoạt động của chúng như thế nào.Việc mua thiết bị và lập trình ngay trên thiết bị đòi hỏi người lập trình phải có kinh nghiệm và phải bỏ 1 số tiền tương đối mua thiết bị.Với mục đích hạn chế rủi ro khi lập trình (hỏng thiết bị), phần mềm MipsIt được... pipeline giả tạo có thể thấy được và bắt người lập trình hay trình biên dịch chịu trách nhiệm để thực hiện công việc hệ thống Những điểm sau đây tổng kết cho những pipeline trình bày ở trên:  Branch delay: trong tất cả các CPU theo kiến trúc MIPS, lệnh theo sau một lệnh rẽ nhánh được thực thi dù là rẽ nhánh bị lấy đi Người lập trình hay trình biên dịch nên bắt được một cái có ích hoặc tối thiểu là... thuộc tính cho các phân đoạn bộ nhớ khác nhau Các phân đoạn không được ánh xạ( kseg0 và kseg1) trong 4Kc TLB cũng sẽ được dịch giống như vậy bởi FM trong 4Km và 4Kp MMU FM cũng xác định khả năng cachebility của từng segment Các thuộc tính này được điều khiển thông qua các bit của thanh ghi Config 25 2.4 Pipeline: Kiến trúc MIPS cho phép một vài pipeline giả tạo có thể thấy được và bắt người lập trình. .. được giới thiệu như là một tùy chọn qua kiến trúc tập lệnh MIPS II, lệnh branch slot chỉ được thực hiện khi mà branch được lấy đi  Load delay: ta không thể nghĩ tới bất cứ CPU kiểu MIPS nào mà ờ đó lệnh trực tiếp theo sau một thao tác nạp có thể sử dụng dữ liệu được nạp không có động cơ một delay Nhưng đánh giá một cách lạc quan những trình biên dịch và người lập trình nên nhận thức được rằng CPU cần... mapped sử dụng TLB hoặc FM để dịch từ địa chỉ ảo sang địa chỉ vật lý Đối với nhân 4Kc, việc dịch của các phân đoạn này dựa trên nền tảng phân trang Trong quá trình dịch bao gồm cả những thong tin xác định liệu trang đó có cacheable hay không và thuộc tính bảo vệ của trang Đối với nhân 4Km và 4Kp, những phân đoạn này được dịch cố định từ địa chỉ ảo sang địa chỉ vật lý Khả năng cacheability được xác định... liệu sẵn sàng cho chỉ một lệnh tiếp theo sau việc nạp  Điểm yếu của bộ xử lý dấu phẩy động Coprocessor 1: những tính toán với FP thường chiếm nhiểu chu kỳ đồng hồ để hoàn thành, và đặc trưng kết cấu của FPU của MIPS là có một vài đơn vị pipeline độc lập Kết cấu MIPS nên che dấu FPU pipeline; tính toán với FP được cho phép thực hiện song song với những lệnh trễ hơn  Những vấn đề CPU điểu khiển lệnh:... lý Việc dịch sẽ được thực hiện bằng cách so sánh các bit cao của địa chỉ ảo( cùng với các bit ASID) với từng cổng trong phần tag của cấu trúc JTLB Mỗi cổng tag ảo sẽ tương ứng với 2 cổng dữ liệu vật lý, chẵn và lẻ Bit địa chỉ ảo cao nhất sẽ không tham gia vào quá trình so sánh tag mà để xác định cổng dữ liệu nào sẽ được sử dụng +Instruction TLB ITLB dùng để dịch các luồng lệnh( instruction stream)... đích hạn chế rủi ro khi lập trình (hỏng thiết bị), phần mềm MipsIt được Đại học Lund, bây giờ là KTH, Royal Institute of Technology, Thụy Điển cho ra đời MipsIt mô phỏng được hoạt động của thiết bị có kiến trúc Mips, phục vụ tôt cho công tác giảng dạy và nghiên cứu trong các trường đại học 3.2 Các thành phần của MipsIt Dưới đây là mô tả ngắn gọn các thành phần :  CPU : xem, sửa CPU registers  RAM :... C:\Mips\bin  Include files : C:\MyLab\“tên project”\Objects  Library files : C:\Mips\lib 31 CHƯƠNG 4: Lập trình hợp ngữ MIPS Ví dụ minh họa: Ví dụ 1: globl main main: addu $s7, $0, $ra data globl hello hello: asciiz "\nHello World" text li $v0, 4 la $a0, hello syscall addu $ra, $0, $s7 jr $ra Ví dụ 2: Chương trình chia bằng cách thực hiện phép trừ liên tiếp # Chuong trinh chia bang cach thuc hien phep tru... địa chỉ ảo kseg3 sẽ được chọn và sẽ được đặt tại địa chỉ vật lý 0xE000_0000 đến 0xFFFF_FFFF 2.2.2.4 Chế độ debug 21 Phân đoạn dseg chia thành 2 phân đoạn dmseg từ 0xFF20 đến 0xFF2F_FFFF được sử dụng khi máy dò đang làm việc ở phân đoạn nhớ, và phân đoạn drseg từ 0xFF30_0000 đến 0xFF3F_FFFF được sử dụng khi truy nhập tới bộ nhớ được ánh xạ tới các thanh ghi debug 2.3.3 Translation Lookaside Buffer +Joint . Lịch sử phát triển 1.1 Lịch sử kiến trúc vi xử lý 1.1.1 Kiến trúc CISC 1.1.2 Kiến trúc RISC 1.2 Tổng quan về dòng xử lý MIPS CHƯƠNG 2: Kiến trúc MIPS 2.1 Kiến trúc thanh ghi R300 2.1.1 Thanh. các khóa học về kiến trúc máy tính trong các trường đại học và công nghệ thường dạy về kiến trúc MIPS. Các 4 thiết kế MIPS CPU dùng cho gia đình đã ảnh hưởng rất lớn đến kiến trúc RISC sau này,. Mẫu bộ vi sử lý MIPS ứng dụng trong máy PlayStation2 7 CHƯƠNG 2:KIẾN TRÚC MIPS 2.1 Kiến trúc thanh ghi R3000 2.1.1 Thanh ghi đa năng Genaral - Purpose : Kiến trúc MIPS cung cấp 32 thanh ghi genaral-purpose

Ngày đăng: 11/05/2014, 15:08

Từ khóa liên quan

Mục lục

  • 1.1.1 Kiến trúc CISC

  • 1.1.2 Kiến trúc RISC

  • 2.2.1 Immediate

  • 3.1 Giới thiệu MipsIt

    • 1.1.1 Kiến trúc CISC

    • 1.1.2 Kiến trúc RISC

    • Năm 1981, một nhóm các nhà nghiên cứu thuộc đại học Stanford do John L. Hennessy đứng đầu đã bắt đầu một công trình nghiên cứu về bộ xử lý MIPS đầu tiên. Khái niệm cơ bản là nhằm tăng đột xuất hiệu năng thông qua sử dụng một đường ống lệnh (pipeline instructions), một công nghệ đã được hiểu rõ nhưng lại khó phát triển. Thông thường một đường ống sẽ mở rộng việc chạy một câu lệnh thành vài bước, bắt đầu thực hiện “bước một” của câu lệnh trước khi câu lệnh trước hoàn thành. Trong khi đó, thiết kế truyền thống yêu cầu phải đợi cho đến khi một câu lệnh hoàn thành mới được chạy câu lệnh tiếp theo. Thiết kế theo pipeline làm giảm đáng kể thời gian rỗi của CPU khi thực hiện liên tiếp các câu lệnh.

    • 2.2.1 Immediate

    • +Joint TLB

    • +Instruction TLB

    • + Data TLB

    • +Kích thước trang và giải thuật thay thế

    • +Fixed Mapping MMU (4KM & 4KP Cores)

    • 3.1 Giới thiệu MipsIt

    • 3.2 Các thành phần của MipsIt

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

Tài liệu liên quan