27
Kiến trúc Harvard [email protected] Mục lục Trang 1.Vị trí của đề tài trong môn Kiến trúc máy tính……………2 2. Kiến trúc Harvard. 2.1 Lịch sử………………………………………………2 2.2 Định nghĩa…………………………………………...5 2.3 Đặc điểm…………………………………………….7 2.4 Ứng dụng……………………………………………12 2.4.1 Vi điều khiển PIC…………………………..13 2.4.2 Vi điều khiển AVR…………………………15 2.4.3 Vi điều khiển 8031…………………………17 3. Tài liệu tham khảo………………………………………….19 1

Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

  • Upload
    buidang

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

Mục lục

Trang

1. Vị trí của đề tài trong môn Kiến trúc máy tính……………2

2. Kiến trúc Harvard.

2.1 Lịch sử………………………………………………2

2.2 Định nghĩa…………………………………………...5

2.3 Đặc điểm…………………………………………….7

2.4 Ứng dụng……………………………………………12

2.4.1 Vi điều khiển PIC…………………………..13

2.4.2 Vi điều khiển AVR…………………………15

2.4.3 Vi điều khiển 8031…………………………17

3. Tài liệu tham khảo………………………………………….19

1

Page 2: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

I. Vị trí của đề tài trong môn Kiến trúc máy tính

Kiế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 vi

II. 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

2

Harvard

Page 3: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

chứa trong các thẻ (với 23 ký tự). Những máy tính đầu tiên này rất

giớ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, 1944

Vào năm 1939, người ta bắt đầu chế tạo chiếc máy Harvard

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

3

Page 4: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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

xoay 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.

4

Page 5: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

Hình 2: Harvard Mark I- một máy tính cơ điện

Một vài hình ảnh khác:

Hình 3

Hình 4

5

Page 6: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

2. Đị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ớ

chươ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 Harvard

6

Page 7: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

Mô hình:

Hình 6: Mô phỏng hoạt động bên trong

Tổng quát, để hình dung rõ hơn ta có sơ đồ:

Hình 7: Khái quát sơ đồ

7

Page 8: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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:

Hình 8: So sánh mô hình kiến trúc Harvard

và kiến trúc von Neumann

Trong 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

8

Page 9: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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

trú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 Neumann

Hầ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

9

Page 10: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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ó

duy 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 Neumann

10

Page 11: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

Tuy 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):

Hình 11: Nhược điểm của Harvard so với von Neumann

4. Ứ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

11

Page 12: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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

đư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ính

Kiế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.

12

Page 13: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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:

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 Harvard

Việ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

13

Page 14: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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:

Hình 13: Mô hình vi điều khiển kiến trúc von-Neumann

PIC 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.

14

Page 15: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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

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.

15

Page 16: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

Cấu trong bên trong của 1 AVR:

Hì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,

16

Page 17: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

instruction register tác động và lựa chọn register file cũng như RAM

cho 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 8031

Chí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

17

Page 18: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

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!!!!!!

18

Page 19: Hình 2: Harvard Mark I- một máy tính cơ điệndulieu.tailieuhoctap.vn/.../file_goc_777093.docx  · Web viewƯu điểm nổi bật của cấu trúc bộ nhớ Harvard so

Kiến trúc [email protected]

Tài liệu tham khảo1. www.wattpad.com

2. www.slideshare.net

3. vi.wikipedia.org/wiki/Kiến_trúc_Harvard

4. www.hocavr.com

5. vi.wikipedia.org/wiki/Vi_điều_khiển_PIC

6. www.picvietnam.com

7. voer.edu.vn

8. www.dientuvietnam.net

9. text.123doc.vn 

19