So sánh kiến trúc von-neumann và harvard

Ki ế n trúc Harvard ục lục Trang1. Vị trí của đề tài trong môn Kiến trúc máy tính……………22. Kiến trúc Harvard.2.1 Lịch sử………………………………………………22.2 Định nghĩa………………………………………… 52.3 Đặc điểm…………………………………………….72.4 Ứng dụng……………………………………………122.4.1 Vi điều khiển PIC………………………… 132.4.2 Vi điều khiển AVR…………………………152.4.3 Vi điều khiển 8031…………………………173. Tài liệu tham khảo………………………………………….191Ki ế n trúc Harvard . Vị trí của đề tài trong môn Kiến trúc máy tínhKiến trúc máy tính: 1. Khái niệm chung về Hệ thống máy tính 2. Lịch sử phát triển: 4 thế hệ máy tính 3. Phân loại: 3.1. Phân loại theo kích thước, tốc độ… 3.2. Phân loại theo kiến trúc• SISD [single instruction - single data]• SIMD [Single Instruction Multiple Data]• MIMD [Multiple Instruction Multiple Data]• Hai kiến trúc phổbiến Von neumann CPU Bộnhớ Ngoại vi BộnhớCT CPU Bộnhớdữliệu Ngoại viII. Kiến trúc Harvard.1. Lịch sử.Kiến trúc Harvard bắt đầu với máy tính Harvard Mark I, nó cho phép các lệnh được đặt trong các tape đục lỗ [với 24 bit] và dữ liệu thì được chứa trong các thẻ [với 23 ký tự]. Những máy tính đầu tiên này rất 2HarvardKi ế n trúc Harvard ới hạn dung lượng dữ liệu, nó được chứa hoàn toàn trong bộ xử lý trung tâm [CPU], và không cho phép truy cập vào khu vực chứa lệnh [chương trình] như với dữ liệu [làm cho việc tạo, load, sửa chữa, v.v. toàn bộ chương trình phải được thực hiện offline].Hình 1: Harvard Mark-I in use, 1944Vào năm 1939, người ta bắt đầu chế tạo chiếc máy Ha rvard Mark I tại phòng thí nghiệm Endicott của IBM. Được biết đến chính thức với tên gọi Automatic Sequence Controlled Calculator [Máy tính được điều khiển bằng chuỗi tự động], Mark I là một máy tính cơ-điện đa năng được chế tạo bằng tiền bạc và sự hỗ trợ nhân lực từ IBM, dưới sự hướng dẫn của nhà toán học Howard Aiken của trường Harvard. Bản thiết kế của nó ảnh hưởng từ Máy phân tích của Babbage, sử dụng số thập phân và bánh xe lưu trữ cùng với công tắc 3Ki ế n trúc Harvard kèm với rờ-le điện từ. Nó có thể lập trình được nhờ cuộn giấy đục lỗ, và có thể cùng lúc tính toán vài đơn vị song song. Các phiên bản sau đó có vài bộ đọc cuộn giấy và nó có thể thay đổi giữa các bộ đọc dựa trên một điều kiện nào đó. Tuy nhiên, chiếc máy không hoàn toàn là máy Turing đầy đủ. Mark I được chuyển đến Đại học Harvard và bắt đầu được đưa vào hoạt động vào tháng 5 năm 1944. Máy nặng 5 tấn, kết hợp 500 dặm của dây kim loại, cao 8 feet và 51 feet dài, và có một trục 50 ft quay chạy chiều dài của nó, quay bởi một động cơ điện 5 mã lực, chạy không ngừng trong 15 năm, âm thanh giống như hàng chục phụ nữ đan. Để đánh giá cao quy mô của máy này lưu ý bốn máy đánh chữ ở mặt trước của bức ảnh sau.Hình 2: Harvard Mark I- một máy tính cơ điện4Ki ế n trúc Harvard ột vài hình ảnh khác:Hình 3Hình 42. Định nghĩa. Cụm từ kiến trúc Harvard được dùng để chỉ những kiến trúc máy tính mà trong đó phân biệt rõ ràng bộ nhớ dữ liệu và bộ nhớ 5Ki ế n trúc Harvard ương trình, chúng có những đường truyền [bus] riêng để truy cập vào bộ nhớ dữ liệu và bộ nhớ chương trình [ngược lại, kiến trúc von Neumann có bộ nhớ và bộ nhớ chương trình chung]. Hình 5: Sơ đồ kiến trúc HarvardMô hình:6Ki ế n trúc Harvard ình 6: Mô phỏng hoạt động bên trongTổng quát, để hình dung rõ hơn ta có sơ đồ:Hình 7: Khái quát sơ đồ 3. Đặc điểm. Để làm rõ đặc điểm của kiến trúc Harvard, ta so sánh nó với kiến trúc von Neumann.Ta có sơ đồ sau:7Ki ế n trúc Harvard ình 8: So sánh mô hình kiến trúc Harvard và kiến trúc von NeumannTrong kiến trúc von Neumann không phân biệt vùng chứa dữ liệu và mã chương trình. Cả chương trình và dữ liệu đều được truy nhập theo cùng một đường. Điều này cho phép đưa dữ liệu vào vùng mã chương trình ROM, và cũng có thể lưu mã chương trình vào vùng dữ liệu RAM và thực hiện từ đó. CPU có thể đọc một lệnh, hoặc đọc/ghi dữ liệu từ bộ nhớ. Tuy vậy, cả hai quá trình tương tác với lệnh hoặc với dữ liệu, không thể thực hiện cùng lúc, vì nó sử dụng chung một đường truyền và bộ nhớ.Trong một máy tính kiến trúc Harvard, 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, do Kiến 8Ki ế n trúc Harvard úc Havard tách/phân biệt vùng lưu mã chương trình và dữ liệu. Mã chương trình chỉ có thể được lưu và thực hiện trong vùng chứa ROM và dữ liệu cũng chỉ có thể lưu và trao đổi trong vùng RAM:Hình 9: Quá trình đọc lệnh ở kiến trúc Harvard và kiến trúc von NeumannHầu hết các vi xử lý nhúng ngày nay sử dụng kiến trúc bộ nhớ Havard hoặc kiến trúc Havard mở rộng [tức là bộ nhớ chương trình và dữ liệu tách biệt nhưng vẫn cho phép khả năng hạn chế để lấy dữ liệu ra từ vùng mã chương trình]. Trong kiến trúc bộ nhớ Havard mở rộng thường sử dụng một số lượng nhỏ các con trỏ để lấy dữ liệu từ vùng mã chương trình theo cách nhúng vào trong các lệnh tức thời. Một số Chip vi điều khiển nhúng tiêu biểu hiện nay sử dụng cấu trúc Havard là 8031, PIC, Atmel AVR90S. Nếu sử dụng Chip 8031 chúng ta sẽ nhận thấy điều này thông qua việc truy nhập lấy dữ liệu ra từ vùng dữ liệu RAM hoặc từ vùng mã chương trình. Chúng ta có một vài con trỏ được sử dụng để lấy dữ liệu ra từ bộ nhớ dữ liệu RAM, nhưng chỉ có 9Ki ế n trúc Harvard nhất một con trỏ DPTR có thể được sử dụng để lấy dữ liệu ra từ vùng mã chương trình.Ưu điểm nổi bật của cấu trúc bộ nhớ Harvard so với kiến trúc von Neumann là có hai kênh tách biệt để truy nhập vào vùng bộ nhớ mã chương trình và dữ liệu nhờ vậy mà mã chương trình và dữ liệu có thể được truy nhập đồng thời và làm tăng tốc độ luồng trao đổi với bộ xử lý, có thể thực hiện ngay lệnh tiếp theo khi vừa kết thúc lệnh trước đó . Nên một máy tính kiến trúc Harvard có thể chạy nhanh hơn:Hình 10: Mô hình Bus hệ thống ở Harvard và von NeumannTuy nhiên tốc độ được tăng lên nhưng phải trả giá bằng sự thiết kế phần cứng phức tạp hơn [cụ thể nhất mà chúng ta thấy, đó là việc phải thiết kế 2 bus khác nhau cho dữ liệu và chương trình]:10Ki ế n trúc Harvard ình 11: Nhược điểm của Harvard so với von Neumann4. Ứng dụng: Thực tế, Những năm gần đây, tốc độ CPU tăng lên rất nhiều lần so với tốc độ truy cập vào bộ nhớ chính. Người ta cần quan tâm đến việc giảm số lần truy cập vào bộ nhớ để đảm bảo tốc độ hoạt động của CPU. Nếu trong cùng một lúc, mỗi lệnh của CPU cần phải truy cập vào bộ nhớ 1 lần, vậy thì việc tăng tốc độ CPU chẳng còn ý nghĩa gì nữa, bởi vì nó luôn luôn bị giới hạn bởi việc truy cập vào bộ nhớ.Bộ nhớ có thể được thiết kế để có tốc độ truy cập cao, nhưng nó đồng nghĩa với việc giá sản xuất sẽ cao. Giải pháp là cung cấp một dung lượng nhỏ bộ nhớ đệm, với tốc độ truy cập rất cao, và chúng ta gọi đó là cache [bộ nhớ đệm]. Khi bộ nhớ CPU cần tương tác đang nằm trong cache, vì việc tương tác vào đó tốn ít thời gian hơn rất nhiều lần so với khi cache phải thay đổi và lấy dữ liệu từ bộ nhớ chính 11Ki ế n trúc Harvard đưa vào. Việc điều chỉnh cache là một vấn đề quan trọng trong việc thiết kế máy tính.Những thiết kế chip CPU tốc độ cao ngày này thường kết hợp hai kiến trúc Harvard và von Neumann. Bộ nhớ cache trên chip được phân thành cache chương trình và cache dữ liệu. Kiến trúc Harvard được dùng khi CPU truy cập vào cache. Tuy nhiên, trong trường hợp không có cache, dữ liệu được lấy từ bộ nhớ chính, mà bộ nhớ chính không được chia thành vùng nhớ chương trình và vùng nhớ dữ liệu. Như vậy, kiến trúc von Neumann được dùng ở tầm vực truy cập bộ nhớ chínhKiến trúc Harvard cũng thường được dùng trong một số DSP chuyên dụng, thường dùng trong các sản phẩm xử lý âm thanh, hình ảnh. Ví dụ như vi xử lý Blackfin của Analog Devices Inc. dùng kiến trúc Harvard.Thêm vào đó, hầu hết các vi điều khiển thông dụng được dùng trong các ứng dụng điện tử như là PIC được sản xuất bởi Microchip Technology Inc và AVR của hãng Atmel Corporation, được phát triển dựa trên kiến trúc Harvard. Những vi xử lý này có đặc tính là có lượng bộ nhớ dữ liệu và bộ nhớ chương trình nhỏ, rất phù hợp với kiến trúc Harvard và tập lệnh RISC để đảm bảo hầu hết các lệnh được thực hiện trong 1 chu kỳ máy. Việc phân chia bộ nhớ ra thành bộ nhớ chương trình và bộ nhớ dữ liệu có thể làm cho bus dữ liệu và bus chương trình có kích thước băng truyền khác nhau. Ta có thể đi tìm hiểu một vài vi điều khiển có sử dụng kiến trúc Harvard như sau:12Ki ế n trúc Harvard 4.1 V i điều khiển PIC :PIC có bus dữ liệu 8-bit [phụ thuộc vào dòng PIC], nhưng bus chương trình có thể là 12-bit, 14-bit hoặc 16-bit word. Điều này cho phép mỗi một lệnh đơn có đủ chỗ chứa cho một giá trị hằng. PIC được tổ chức phần cứng theo kiến trúc Harvard, và tập lệnh RISC [reduced instruction set computer - máy tính với tập lệnh giản lược]. Trong kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình nằm riêng biệt, do đó CPU có thể làm việc trực tiếp với cả hai bộ nhớ dữ liệu và bộ nhớ chương trình cùng một lúc, làm cho tốc độ xử lý nhanh hơn.Hình 12: Mô hình tổng thể Vi điều khiển PIC kiến trúc HarvardViệc bộ nhớ chương trình và bộ nhớ dữ liệu được tách riêng, do đó, tập lệnh trong kiến trúc Harvard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển. Bằng chứng, độ dài lệnh của dòng PIC16 luôn luôn là 14 bit. Trong khi đó, độ dài lệnh của các vi điều khiển kiến trúc von-Neumann là bội số của 1 byte:13Ki ế n trúc Harvard ình 13: Mô hình vi điều khiển kiến trúc von-NeumannPIC là một Vi điều khiển RISC, tập lệnh của PIC chỉ có 35 lệnh, phần lớn các lệnh này chỉ thực hiện trong một chu kỳ máy. Chính nhờ kiến trúc phần cứng tiên tiến, PIC tỏ ra vướt trội so với các loại Vi điều khiển 8 bít khác về mặt tốc độ và hiệu năng sử dụng. PIC xử lý song song [Pipeline]: Việc xử lý lệnh trong PIC được thực hiện song song, trong khi xử lý một lệnh thì đồng thời CPU cũng nạp lệnh mới vào để quá trình xử lý lệnh là liên tục. Chính phương thức xử lý đó giúp cho tốc độ hoạt động của PIC nhanh hơn rất nhiều những CPU RISC khác, ví dụ như ARM, thường cần ít nhất 2 lệnh để load một hằng số đủ kích thước.4.2 AVR: có cấu trúc Harvard, trong đó đường truyền cho bộ nhớ dữ liệu [data memory bus] và đường truyền cho bộ nhớ chương trình [program memory bus] được tách riêng. Data memory bus chỉ có 8 bit 14Ki ế n trúc Harvard và được kết nối với hầu hết các thiết bị ngoại vi, với register file. Trong khi đó program memory bus có độ rộng 16 bits và chỉ phục vụ cho instruction registers. Hình sau mô tả cấu trúc bộ nhớ của AVR.Hình 14: Cấu trúc bộ nhớ của AVR.Cấu trong bên trong của 1 AVR:15Ki ế n trúc Harvard ình 15. Cấu trúc bên trong AVR.Bạn thấy rằng 32 thanh ghi trong Register File được kết nối trực tiếp với Arithmetic Logic Unit -ALU [ALU cũng được xem là CPU của AVR] bằng 2 line, vì thế ALU có thể truy xuất trực tiếp cùng lúc 2 thanh ghi RF chỉ trong 1 chu kỳ xung clock [vùng được khoanh tròn màu đỏ].Các instruction được chứa trong bộ nhớ chương trình Flash memory dưới dạng các thanh ghi 16 bit. Bộ nhớ chương trình được truy cập trong mỗi chu kỳ xung clock và 1 instruction chứa trong program memory sẽ được load vào trong instruction register, instruction register tác động và lựa chọn register file cũng như RAM 16Ki ế n trúc Harvard o ALU thực thi. Trong lúc thực thi chương trình, địa chỉ của dòng lệnh đang thực thi được quyết định bởi một bộ đếm chương trình – PC [Program counter]. Đó chính là cách thức hoạt động của AVR. AVR có ưu điểm là hầu hết các instruction đều được thực thi trong 1 chu kỳ xung clock, vì vậy có thể nguồn clock lớn nhất cho AVR có thể nhỏ hơn 1 số vi điều khiển khác như PIC nhưng thời gian thực thi vẫn nhanh hơn. 4.3 Bộ vi điều khiển 8031Chíp 8031 là một thành viên của 8051. Chíp này thường được coi như là 8051 không có ROM trên chíp vì nó có 0 K byte ROM trên chíp. Để sử dụng chíp này ta phải bổ xung ROM ngoài cho nó. ROM ngoài phải chứa chương trình mà 8031 sẽ nạp và thực hiện. So với 8051 mà chương trình được chứa trong ROM trên chíp bị giới hạn bởi 4K byte, còn ROM ngoài chứa chương trinh được gắn vào 8031 thì có thể lớn đến 64K byte. Khi bổ xung cổng, như vậy chỉ còn lại 2 cổng để thao tác. Để giải quyết vấn đề này ta có thể bổ xung cổng vào - ra cho 8031. Phối phép 8031 với bộ nhớ và cổng vào - ra chẳng hạn với chíp 8255. Ngoài ra còn có các phiên bản khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau, các bạn có thể tìm hiểu thêm.Ngoài ra, Kiến trúc Harvard còn được ứng dụng cho thiết kế rất nhiều thiết bị khác, nhưng nhóm 8 xin phép được trình bày 1 số nội 17Ki ế n trúc Harvard dung trên, mong thầy và các bạn theo dõi và cho ý kiến bổ sung cho đề tài. Xin cảm ơn!!!!!!18Ki ế n trúc Harvard Tài liệu tham khảo1. www.wattpad.com 2. www.slideshare.net 3. vi.wikipedia.org/wiki/Kiến_trúc_Harvard4. www.hocavr.com 5. vi.wikipedia.org/wiki/Vi_điều_khiển_PIC6. www.picvietnam.com 7. voer.edu.vn8. www.dientuvietnam.net 9. text.123doc.vn 19

Video liên quan

Chủ Đề