kiến trúc luân phiên

76
Nhóm 9: Phạm Văn Thanh Nguyễn Văn Thiệu Hoàng Thái Thịnh Nguyễn Thị Thưởng Trương Hồng Thanh

Upload: thieu-mao

Post on 03-Jul-2015

931 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Kiến Trúc Luân Phiên

Nhóm 9:

• Phạm Văn Thanh

• Nguyễn Văn Thiệu

• Hoàng Thái Thịnh

• Nguyễn Thị Thưởng

• Trương Hồng Thanh

Page 2: Kiến Trúc Luân Phiên

Chương 9: Kiến Trúc Luân Phiên

9.1:

Giới Thiệu

Phạm Văn Thanh

9.2:

Máy RISC

Nguyễn Văn Thiệu

9.3:

Phân loại tư duyFLYNN’S

Hoàng Thái Thịnh

9.4:

Kiến Trúc PARALLEL và

MULTIPROCESSOR

Nguyễn Thị Thưởng

9.5:

Phương Pháp Chế BiếnPARALLEL khác

Trương Hồng Thanh

Page 3: Kiến Trúc Luân Phiên

9.1: Giới thiệu

Trọng tâm của chương này là để giới thiệu bạn với một vài trong số các kiến trúc vượt qua những phương pháp tiếp cận cổ điển von Neumann.

Kiến trúc khai thác song song cấp lệnh, và kiến trúc đa xử

lý.

Chúng tôi bắt đầu với RISC nổi tiếng so với cuộc tranh luận CISC cung cấp cho bạn một ý tưởng về sự khác biệt giữa hai ISA và lợi thế tương đối và nhược điểm của họ.

Xem xét chủ đề có liên quan kiến trúc hướng dẫn cấp paral-lel, nhấn mạnh kiến trúc superscalar và EPIC đưa vào sử

dụng lại (máy tính hướng dẫn một cách rõ ràng song song) và VLIW (hướng dẫn từ rất lâu) thiết kế.

Page 4: Kiến Trúc Luân Phiên

Thiết kế phần cứng máy tính bắt đầu đánh giá lại các nguyên tắc kiến trúc khác nhau trong đầu những năm 1980. Mục tiêu đầu tiên của tái thẩm định này là các tập lệnh kiến trúc.

Các nhà thiết kế tự hỏi tại sao một máy tính cần một bộ đầy đủ các hướng dẫn phức tạp khi chỉ có khoảng 20% của các hướng dẫn đã được sử dụng gần hết thời gian. Câu hỏi này đã dẫn đến sự phát triển của máy RISC.

Sự thâm nhập của thiết kế RISC đã dẫn đến một sự kết hợp độc đáo duy nhất của CISC RISC. Nhiều kiến trúc sử dụng RISC lõi để thực hiện các kiến trúc CISC.

Page 5: Kiến Trúc Luân Phiên

Hiện nay, mối quan hệ giữa hiệu suất cung cấp bởi các hệ

thống tiên tiến và chi phí của họ là phi tuyến, với chi phí vượt xa so với lợi nhuận thực hiện trong hầu hết các tình huống. Điều này làm cho chi phí cấm để tích hợp các kiến trúc vào các ứng dụng của dòng chính.Tuy nhiên, Kiến trúc thay thế không có vị trí của mình trên thị trường. Cao khoa học và ứng dụng kỹ thuật số đòi hỏi máy tính tốt hơn hệ thống bộ xử lý đơn tiêu chuẩn. Đối với các máy tính ởgiải đấu này, chi phí thường không phải là một vấn đề.

Page 6: Kiến Trúc Luân Phiên

Khi bạn đọc chương này, giữ trong tâm trí các thế hệ máy tính trước được giới thiệu trong chương 1. Nhiều người tin rằng chúng ta đã bước vào một thế hệ mới dựa trên các kiến trúc này thay thế, đặc biệt là trong lĩnh vực xử lý song song.

Page 7: Kiến Trúc Luân Phiên

9.2 Máy RISC

1. RISC là gì?

2. Định hướng thiết kế RISC

3. Định hướng thiết kế trước thời RISC

4. Cùng lúc đó …

5. Tình hình RISC hiện nay?

Page 8: Kiến Trúc Luân Phiên

1. RISC là gì? RISC (viết tắt của Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản hóa)

là một phương pháp thiết kế các bộ vi xử lý theo hướng đơn giản hóa tập lệnh, trong đó thời

gian thực thi tất cả các lênh đều như nhau.

Hiện nay các bộ vi xử lý RISC phổ biến là ARM, SuperH, MIPS, SPARC, DEC Alpha, PA-

RISC, PIC, và PowerPC của IBM.

Page 9: Kiến Trúc Luân Phiên

2. Định hƣớng thiết kế RISC Tổ chức lại quá trình thực thi trong bộ xử lý hoặc nhằm

giảm bớt số lần truy xuất bộ nhớ.

Andrew Tanenbaum (Minix) cho rằng 98% các hằng hoàn

toàn có thể biểu diễn bằng 13 bit, trong khi đó các CPU

được thiết kế theo bội số của 8 (thường là 8, 16 hoặc 32.)

Do đó nếu CPU cho phép các hằng được lưu trong những

bit dư của mã lệnh sẽ làm giảm đi rất nhiều lần truy xuất

bộ nhớ. Thay vì phải đọc từ bộ nhớ hay từ thanh ghi, các

hằng đã ở ngay đó khi CPU cần, vì thế quá trình thực thi

sẽ nhanh hơn.

Page 10: Kiến Trúc Luân Phiên

So sánh CISC với RISCCISC

Tập lệnh phức tạp

Các bộ VXL x86 (Intel) hoạt động theo ngyên lý CISC

Số lệnh khá nhiều

Chú trọng phần cứng

RISC

Tập lệnh đơn giản

Các bộ VXL Pentium (Intel) hoạt động theo nguyên lý RISC

Tập lệnh rút gọn

Chú trọng tới phần mềm

Page 11: Kiến Trúc Luân Phiên

3. Định hƣớng thiết kế trƣớc thời RISC

Thiết kế phần cứng dễ hơn nhiều so với thiết kế trình

dịch, vì thế mọi phức tạp đều dồn vào phần cứng.

Một nguyên nhân khác thúc đẩy sự ra đời của những lệnh

phức là sự thiếu thốn bộ nhớ. Do bộ nhớ quá nhỏ, do đó sẽ

có lợi hơn nhiều nếu tăng mật độ tập trung thông tin trong

mã lệnh.

Page 12: Kiến Trúc Luân Phiên
Page 13: Kiến Trúc Luân Phiên

4- Cùng lúc đó…

Ý tưởng đầu tiên có lẽ là "kênh dẫn" (pipeline).

Đây là một kỹ thuật nhằm chia nhỏ quá trình thực thi

một lệnh thành nhiều bước, và các bước khác nhau

của các lệnh khác nhau có thể được thực thi đồng thời.

Một bộ xử lý thông thường đọc một lệnh, giải mã nó,

đọc những vùng nhớ lệnh đó cần, thực thi lệnh, trả kết

quả về.

Page 14: Kiến Trúc Luân Phiên

Pipelining (kênh dẫn) Lấy lệnh từ bộ nhớ

Đọc thanh ghi và giải mã lệnh

Thực thi lệnh và tính toán địa chỉ

Truy cập các toán hạng trong bộ nhớ dữ liệu

Ghi kết quả vào thanh ghi

Page 15: Kiến Trúc Luân Phiên

5. Tình hình RISC hiện nay?

RISC được sử ở đâu?

Tại sao RISC đang giảm?

Page 16: Kiến Trúc Luân Phiên

RISC đƣợc sử ở đâu?

Apple

PA-RISC HP Work station

Intel Strong ARM processor (Mobile CPU)

IBM (Work Station)

MOTOROLA (Hand Held Device)

Page 17: Kiến Trúc Luân Phiên

Tại sao RISC đang giảm?

Yêu cầu số lượng lớn bộ nhớ cache $ $ $ $ $ $

Nhiều công ty không muốn mất một cơ hội với các công nghệ mới nổi. Nếu

không có lợi ích thương mại, các nhà phát triển bộ vi xử lý không thể để sản

xuất chip RISC trong khối lượng đủ lớn để làm cho giá của họ cạnh tranh.

Các vấn đề tương thích phần mềm

Quá khó để gỡ lỗi

Page 18: Kiến Trúc Luân Phiên

9.3 Nguyên tắc phân loại Flynn9.3.1 Phân loại của Michael Flynn (1972)

9.3.2 Các hệ thống xử lý song song

9.3.3 Phân loại Flynn mở rộng

Page 19: Kiến Trúc Luân Phiên

9.3.1 Phân loại Flynn Phân loại của Michael Flynn (1966)

SISD - Single Instruction Stream, Single Data Stream

SIMD - Single Instruction Stream, Multiple Data Stream

MISD - Multiple Instruction Stream, Single Data Stream

MIMD - Multiple Instruction Stream, Multiple Data Stream

SISD:Single Instruction Stream, Single Data Stream SIMD :Single Instruction Stream, Multiple Data Stream MISD :Multiple Instruction Stream, Single Data Stream MIMD :Multiple Instruction Stream, Multiple Data Stream

Page 20: Kiến Trúc Luân Phiên

SISD

CU: Control Unit PU: Processing Unit MU: Memory Unit

IS :Instruction Stream DS : Data Stream

Chỉ có một CPU

Ðơn dòng lệnh

Dữ liệu duợc luu trữ trong một bộ nhớ

Chính là Kiến trúc von Neumann

Page 21: Kiến Trúc Luân Phiên

SIMD

Page 22: Kiến Trúc Luân Phiên

SIMD Ðơn dòng lệnh điều khiển đồng thời các phần tử

xử lý PE (processing elements)

Mỗi phần tử xử lý có một bộ nhớ dữ liệu

riêng LM (local memory)

Mỗi lệnh duợc thực hiện trên một tập

các dữ liệu khác nhau

Các mô hình SIMD

Vector Computer

Array processor

Page 23: Kiến Trúc Luân Phiên

MISDMột luồng dữ liệu được truyền đến một tập các bộ

xử lý

Mỗi bộ xử lý thực hiện một dãy lệnh khác nhau

Chưa tồn tại máy tính thực tế

Page 24: Kiến Trúc Luân Phiên

MIMD Đa bộ xử lý

Các bộ xử lý đồng thời thực hiện các dãy lệnh khác nhau trên các dữ riêng

Các mô hình MIMD Multiprocessors (Shared Memory)

Multicomputers (Distributed Memory)

Page 25: Kiến Trúc Luân Phiên

MIMD

Shared Memory

Distributed Memory

Page 26: Kiến Trúc Luân Phiên

Nhƣợc điểm phân loại Flynn

Nguyên tắc phân loại Flynn không thành côngtrong một số lĩnh vực, có rất ít (nếu có) ứngdụng cho các máy MISD

Theo Flynn tính song song là đồng nhất. Mộttập hợp các bộ xử lý có thể đồng nhất hoặckhông đồng nhất

Một kiến trúc với nhiều bộ xử lý thuộc loạiMIMD mà không cần xét đến các bộ vi xử lýđược kết nối như thế nào hoặc chúng hiển thịbộ nhớ như thế nào

Page 27: Kiến Trúc Luân Phiên

9.3.2 Các hệ thống xử lý song song Hai mô hình kiến trúc song song chính, SMP (hệ thống đa

xử lý đối xứng) và MPP (các bộ vi xử lý song song lớn)

Đều là các kiến trúc MIMD

SMP:symmetric multi-processorsand MPP:massively parallel processors

Page 28: Kiến Trúc Luân Phiên

SMPMột máy tính có n >= 2 bộ xử lý giống nhau

Các bộ xử lý dùng chung bộ nhớ và hệ thống vào-ra

Các bộ xử lý có thể thực hiện chức năng giống nhau

Hệ thống được điều khiển bởi một hệ điều hành phân tán

Page 29: Kiến Trúc Luân Phiên

MPP Nhiều máy tính được kết nối với nhau bằng mạng

liên kết tốc độ cao

Mỗi máy tính có thể làm việc độc lập

Các máy tính có thể được quản lý làm việc song song theo nhóm

Toàn bộ hệ thống có thể coi như là một máy tính song song

Page 30: Kiến Trúc Luân Phiên

9.3.3Nguyên tắc Flynn mở rộng(SPMD)

Gộp vào các kiến trúc SPMD:Nhiều dữ liệu đơn chương trình

Mỗi máy hoạt động theo nhịp đồng hồ riêng của mình và chỉ có

thể đọc dữ liệu ở trên máy của mình

Trên mỗi máy ta có thể cho chạy một trình riêng và dữ liệu của

mỗi trình là riêng

Các trình này có thể khác nhau, tức là chúng giải quyết các bài

toán khác nhau, hoạt động độc lập và chỉ đến một lúc nào đó

thì chúng mới trao đổi dữ liệu cho nhau

SPMD : single programmultiple data

Page 31: Kiến Trúc Luân Phiên

9.4.1 Superscalar và VLIW

9.4 Parallel and Multiprocessor Architectures

9.4.2.Vector Processors

9.4.3 Interconnection Networks

9.4.4.Shared Memory Muntiprocessors

9.4.5 Distributed Computing

Page 32: Kiến Trúc Luân Phiên

Kể từ máy tính ra đời các nhà khoa học đã luôn cố gắng

để tạo ra một loại máy tính mà có chất lượng giải quyết vấn đề

nhanh hơn và tốt hơn.Việc thu nhỏ công nghệ không chỉ cải

thiện được mạch mà còn trên cả chip; CPU có thể chạy với tốc

độ gigahz.

Tuy nhiên, luôn có những rào cản vật lý kiểm soát giới

hạn cải thiện được của 1 bộ vi xử lý đơn. Chip bán dẫn bị giới

hạn bởi nhiệt & mật độ nhiễu điện từ. Thậm chí nếu điều này

được giải quyết thì tốc độ của bộ xử lý sẽ luôn luôn bị hạn chế

9.4 Parallel and Multiprocessor

Page 33: Kiến Trúc Luân Phiên

Một trong những giới hạn vật lý đầu tiên là kinhtế.Tại một số thời điểm,chi phí của bộ xử lý increment làquá đắt. Cách duy nhất nâng cao hiệu suất xử lý là phânphối để load giữa các bộ vi xử lý. Vì vậy xử lý song songtrở nên phổ biến.

Xử lý song song mắc ít lỗi hơn, hiệu suất và giá cảhấp dẫn hơn; giúp tăng tốc độ một cách đáng kể, nhưngviệc này không bao giờ là hoàn hảo. Với n bộ xử lý chạysong song,việc tăng tốc độ là lý tưởng nhất trong côngviệc tính toán nếu nó có thể hoàn thành công việc trong1/n (đơn vị thời gian),điều này dẫn đến sự gia tăng nănglượng tiêu hao lên n lần

9.4 Parallel and Multiprocessor

Page 34: Kiến Trúc Luân Phiên

Cả kiến trúc superscalar và kiến trúc VLIW đều sửdụng xử lý song song,nhưng khác nhau ở cách tiếp cậntrong từng kiến trúc. Nhưng trước tiên,chúng ta cần hiểuđịnh nghĩa của kiến trúc superpipelining. Pipelining trong mỗi chu kì “nhận dữ liệu –giải mã - thực hiện” mỗi chu kì là các giai đoạn nhỏ, tại đó 1 tập các lệnh sẽ có mặt tạinhiều giai đoạn khác nhau trong cùng 1 thời điểm.

Trong môi trường lý tưởng,một trong những tập lệnhsẽ thoát khỏi các đường ống trong mỗi chu kì.Tuy nhiêndo sự phân nhánh lệnh và sự phụ thuộc dữ liệu trong cácđoạn mã nên điều này là hầu như không bao giờ xảy ra.

9.4.1 Superscalar và VLIW

Page 35: Kiến Trúc Luân Phiên

Mặc dù superlinelining được áp dụng tương đương đốivới cả hai kiến trúc RISC và CISC,nhưng nó thường được tíchhợp trong bộ xử lý RISC. Superlinelining là 1 khía cạnh củathiết kết superscalar,và đây cũng là lý do tại sao ta thườngnhầm lẫn trong việc phân biệt.

Vậy bộ xử lý superscalar chính xác là gì? Superscalar làmột phương thức thiết kế cho phép thực thi đồng thời nhiều tậplệnh trong một chu kì. Tuy vậy, superscalar khác với pipelining trong một vài đặc điểm.Cách thức thiết kế superscalar với mụctiêu tăng tốc độ tương tự như ý tưởng gắn thêm làn đường chomột làn xe đang bị tắc. Mặc dù phải bổ sung “phần cứng” nhưng kết quả sẽ có thêm nhiều xe từ điểm A tới điểm B trongcùng một quãng thời gian.

9.4.1 Superscalar và VLIW

Page 36: Kiến Trúc Luân Phiên

Các thành phần superscalar tương tự các tuyến đường cao

tốc được thêm vào và được gọi là các đơn vị thực thi. Đơn vị

thực thi bao gồm: floating point adders ,multipliers, integer

adders and multipliers, và 1 số thành phần chuyên môn khác.

Mặc dù các đơn vị có thể làm việc độc lập,nhưng điều

quan trọng là kiến trúc phải có đủ số lượng các đơn vị chuyên

ngành để xử lý một số các hướng dẫn trong kiến trúc song

song.

9.4.1 Superscalar và VLIW

Page 37: Kiến Trúc Luân Phiên

Trong khi đó bộ xử lý superscalar dựa trên cả phần cứng

và trình biên dịch, bộ xử lý VLIW chỉ dựa vào trình biên

dịch.Gói xử lý VLIW đóng vai trò đóng gói các tập lệnh độc

lập thành một các tập lệnh,và lần lượt chỉ dẫn các đơn vị thực

thi cần phải làm gì.

Tuy nhiên trình biên dịch không có một bức tranh toàn

diện về các mã thời gian chạy vì vậy nó bắt buộc phải thận

trọng trong việc lập kế hoạch. Bởi vì các tập lệnh được cố định

nên bất kì sự chỉnh sửa nào cũng ảnh hưởng tới chuỗi các tập

lệnh(chẳng hạn như thay đổi bộ nhớ), đòi hỏi phải biên dịch lại

mã. Đó chính là nguyên nhân gây ra vô số các vấn đề cho nhà

cung cấp phần mềm.

9.4.1 Superscalar và VLIW

Page 38: Kiến Trúc Luân Phiên

Được coi như là 1 siêu máy tính, bộ xử lý vecto là những

bộ xử lý đường ống cỡ lớn, chuyên biệt, cái mà làm việc rất

hiệu quả trên toàn bộ hệ thống vecto và ma trận cùng một lúc.

Vecto có 1 chiều dài cố định, gồm 1 mảng các giá trị hoặc

1 loạt các lệnh vô hướng.Phép tính số học khác nhau trên vecto

bao gồm cộng trừ nhân chia.Xử lý vecto là kiểu kiến trúc như

đường ống nhưng cao hơn,vì vậy các phép tính số học có thể

chồng chéo.Mỗi lệnh chỉ tập hợp các hoạt động thực hiện trên

1 vecto.

9.4.2.Vector Processors

Page 39: Kiến Trúc Luân Phiên

Vecto đăng kí có thể giữ một số yếu tố của vecto trong 1 thời gian.Nội dung đăng kí được lần lượt tới đường ốngvecto,và đầu ra từ ống được lần lượt gửi trả lại vecto đăng kí. Những thanh ghi theo cơ chế FIFO này có khả năng nắm giữnhiều giá trị cùng 1 lúc.

Bộ vi xử lý vecto được chia thành 2 loại theo hướng dẫntruy cập toán hạng. Đăng kí xử lý vecto yêu cầu tất cả các hoạtđộng sử dụng đăng kí như là toán hạng nguồn và toán hạngđích.Bộ nhớ của bộ xử lý vecto cho phép chuyển trực tiếp từ bộnhớ vào các đơn vị toán học.Kết quả của hoạt động này sau đốđược trực tiếp trở lại bộ nhớ.Thanh ghi đăng kí xử lí là một bấtlợi trong đó véc to dài bị phân đoạn thành các phân đoạn cóchiều dài cố định đủ nhỏ để vừa với thanh ghi.

9.4.2.Vector Processors

Page 40: Kiến Trúc Luân Phiên

Trong các hệ thông song song MIMD,truyền thông là điềucần thiết cho quá trình đồng bộ và chia sẻ dữ liệu. Mức độtruyền tin phụ thuộc vào các yếu tố sau:o Băng thông

o Độ trễ tin

o Độ trễ đường truyền

o Overhead

Kết nối mạng có 2 phương thức chính là tĩnh và động. Mạng động cho phép đường truyền giữa hai thực thể thay đổitừ bộ giao tiếp này tới bộ khác, trong khi mạng tĩnh thìkhông.Mạng lưới kết nối tĩnh được sử dụng chủ yếu trong việctruyền tin và được chia thành nhiều dạng, trong số đó có thể có1 vài dạng quen thuộc với bạn.

9.4.3.Interconnection networks

Page 41: Kiến Trúc Luân Phiên

Mạng được kết nối hoàn toàn là tất cả các thành phần

trong mạng đều kết nối với tất cả các thành phần khác. Nó

không chỉ tốn kém để xây dựng mà còn rất khó để quản lý khi

mà thêm vào thiết bị mới.

Kết nối mạng hình sao có một hub ở trung tâm, tất cả

thông tin đều phải đi qua đó.

Mạng line và mạng ring cho phép 1 thực thể giao tiếp trực

tiếp với 2 thực thể xung quanh, nhưng bất kỳ thông tin liên lạc

nào khác thì phải đi qua nhiều thực thể mới đến được đích.

9.4.3.Interconnection networks

Page 42: Kiến Trúc Luân Phiên

Mạng mesh liên kết mỗi thực thể đến 4 hoặc 6 thực thể

xung quanh. Phần mở rộng của mạng lưới này bao gồm những

liên kết xung quanh.

Mạng hình cây sắp xếp các thực thể trong cấu trúc

noncyclic, dễ bị tắc nghẽn giao tiếp ở rễ.

Mạng siêu khối lập phương là đa chiều mở rộng của các

mạng lưới, mỗi chiều có hai bộ xử lý. Siêu khối lập phương hai

chiều bao gồm các cặp của các bộ vi xử lý có kết nối bởi một

liên kết trực tiếp nếu và chỉ nếu biểu diễn nhị phân của nhãn

khác nhau chính xác vị trí từng bit một. Với khối lập phương n-

chiều, mỗi bộ vi xử lý kết nối trực tiếp tới n bộ vi xử lý khác.

9.4.3.Interconnection Networks

Page 43: Kiến Trúc Luân Phiên

Hình 9.3 - Minh họa các loại của các mạng tĩnh

9.4.3.Interconnection Networks

Page 44: Kiến Trúc Luân Phiên

Mạng động cho phép cấu hình động của mạng bằng một

trong hai cách: hoặc bằng cách sử dụng một bus hoặc bằng

cách sử dụng một switch. Mạng bus cơ sở là đơn giản và hiệu

quả nhất khi giá trị là một mối quan tâm và số lượng trung bình

của các đơn vị. Bất lợi nút cổ chai có thể là kết quả của kết nối

bus ganh đua như số lượng của các đơn vị phát triển lớn. Xử lí

trực tuyến song song có thể làm giảm bớt vấn đề, nhưng chi

phí lại là một vấn đề cần cân nhắc.

9.4.3.Interconnection Networks

Page 45: Kiến Trúc Luân Phiên

Mạng chuyển mạch sử dụng thiết bị chuyển mạch để tự

động thay đổi định tuyến. Có 2 loại thiết bị chuyển mạch:

Crossbar và switch 2x2.

Mạng Crossbar là một mạng mở. Tuy nhiên, nếu có một

công tắc duy nhất tại mỗi giao điểm, n thực thể yêu cầu n^2 bộ

chuyển mạch.Trong thực tế, nhiều bộ đa xử lý đòi hỏi các thiết

bị chuyển mạch tại mỗi điểm qua. Như vậy sẽ khó khăn và tốn

kém. Các thiết bị chuyển mạch Crossbar chỉ làm việc trên

những máy tính có bộ đa xử lý vecto tốc độ cao

9.4.3.Interconnection Networks

Page 46: Kiến Trúc Luân Phiên

Loại thứ hai của chuyển đổi là switch 2x2. Nó tương tự

như crossbar switch, ngoại trừ việc nó có khả năng định tuyến

các đầu vào tới các điểm đến khác nhau,trong khi đó crossbar

chỉ đơn giản là mở hoặc đóng các kênh thông tin liên lạc.

Switch 2x2 có hai đầu vào và hai đầu ra. Tại bất kỳ thời điểm

nào, một có thể là một trong bốn trạng thái:

through,cross,upper broadcast và lower broadcast

9.4.3.Interconnection Networks

Page 47: Kiến Trúc Luân Phiên

Trong giai đoạn through , các đầu vào trên được trực tiếp

dẫn tới các đầu ra tương ứng

Trong giai đoạn crosss,đầu vào trên là hướng đến đầu ra

thấp hơn, và đầu vào thấp hơn là hướng đến đầu ra cao hơn.

Trong upper broatcast, đầu vào cao hơn được phát sóng

cho cả hai đầu ra cao hơn và đầu ra thấp hơn.

Trong lower broadcast, đầu vào thấp hơn được phát sóng

cảtrên đầu ra thấp và đầu ra cao.

Các through và cross lài có liên quan đến kết nối mạng.

9.4.3.Interconnection Networks

Page 48: Kiến Trúc Luân Phiên

Các lớp tiên tiến nhất của mạng, nhiều tầng mạng kếtnối,được xây dựng bằng cách sử dụng switches 2x2? Ý tưởnglà để kết hợp các giai đoạn của thiết bị chuyểnmạch, thườngvới bộ vi xử lý ở một bên và những bộ nhớ vềviệc khác, với một loạt các chuyển đổicác yếu tố như các nútbên trong.

Các thiết bị chuyển mạch tự động cấu hình để cho phépmột đường dẫn từ bộ xử lý tới bất kỳ bộ nhớ nhất định nào. Sốlượng thiết bị chuyển mạch và số lượng của các giai đoạn đónggóp cho chiều dài đường đi của mỗi kênh giao tiếp. Một chútchậm trễ có thể xảy ra như chuyển đổi xác định cấu hình yêucầu thông qua một tin từ các nguồn quy định tới đích mongmuốn.

Những mạng lưới nhiều tầng thường được gọi là mạngshuffle network.

9.4.3.Interconnection Networks

Page 49: Kiến Trúc Luân Phiên

Chúng ta biết rằng bộ đa xử lý được phân loại theo tổ

chức bộ nhớ.Hệ thông đôi sử dụng các bộ nhớ giống nhau và

được biết đến là bộ nhớ chia sẻ đa xử lý.Điều này không có

nghĩa là tất cả các bộ xử lý phải chia sẻ bộ nhớ.Mỗi bộ xử lý có

thể có những bộ nhớ địa phương,nhưng nó phải chia sẻ với các

bộ xử lý khác.Những bộ nhớ đệm địa phương hoàn toàn có thể

được sử dụng như 1 bộ nhớ đơn toàn cầu.

Có 3 ý tưởng về bộ nhớ chia sẻ

9.4.4 Share Memory Multiprocessor

Page 50: Kiến Trúc Luân Phiên
Page 51: Kiến Trúc Luân Phiên

Thiết kế bộ nhớ máy tính (NUMA):

Máy có được những vẫn đề xung quanh vốn có trong kiến

trúc bộ nhớ chia sẻ (UMA) bằng cách cung cấp cho mỗi bộ xử

lý với phần riêng của bộ nhớ.Không gian bộ nhớ của máy được

phân phối trên tất cả các bộ vi xử lý,nhưng các bộ vi xử lý của

bộ nhớ này như một thực thể địa chỉ tiếp giáp. Mặc dù bộ nhớ

máy tính(NUMA) tạo thành một thực thể địa chỉ duy nhất,bản

chất phân phối không phải là hoàn toàn minh bạch.vì thế bộ

nhớ mất ít thời gian để đọc gần hơn bộ nhớ xa.Như vậy,thời

gian truy cập bộ nhớ là không phù hợp qua không gian,địa chỉ

của máy

9.4.4.Shared Memory Multiprocessors.

Page 52: Kiến Trúc Luân Phiên

(NUMA) dễ bị các vấn đề về sự gắn kết mạch lạc của bộnhớ cache. Để giảm thời gian truy cập bộ nhớ,mỗi bộ vi xử lý(NUMA) duy trì một bộ nhớ cache riêng.Tuy nhiên,khi thayđổi một phần tử bộ vi xử lý dữ liệu trong bộ nhớ cache củanó,thì các bản sao khác của dữ liệu trở nên không phù hợp. Mâu thuẫn trong dữ liệu không được cho phép,do đó,cơ chếphải được cung cấp để đảm bảo sự gắn kết bộ nhớ cache.

(NUMA) sử dụng bộ nhớ hư cấu và duy trì bộ nhớ cache gọi là CC-NUMA.Cách tiếp cận dễ nhất để thống nhất bộ nhớcache là yêu cầu bộ vi xử lý có giá trị cũ hiệu có hiệu lực hoặctừ bố nhớ cache của nó hoặc để cập nhất giá trị mới. Vớiphương pháp này,dữ liệu được ghi vào bộ nhớ cache và bộ nhớđồng thời.

9.4.4.Shared Memory Muntiprocessors.

Page 53: Kiến Trúc Luân Phiên

Phương pháp thứ thứ hai tiếp cận để duy trì sự mạch lạc

bộ nhớ cache là việc sử dụng một giao thức mà chỉ thay đổi dữ

liệu trong bộ nhớ cache tại thời điểm sửa đổi.Bộ nhớ chính

không được sửa đổi cho đến khi khối bộ nhớ cache sửa đổi

phải được thay thế và ghi vào bộ nhớ.

Với giao thức này,giá trị dữ liệu được đọc theo cách thông

thường,nhưng trước khi dữ liệu có thể được viết,bộ vi xử lý

thực hiện sửa đổi được độc quyền với dữ liệu bằng cách yêu

cầu quyền sở hữu của dữ liệu.Khi được cấp quyền sở hữu bất

kỳ bản sao của các dữ liệu ở bộ xử lý khác có hiệu lực.

9.4.4.Shared Memory Muntiprocessors

Page 54: Kiến Trúc Luân Phiên

Điện toán phân tán là một dạng khác của Đa xửlý. Mặc dù nó là 1 nguồn cung sức mạnh tính toánphố biến, nhưng nó có ý nghĩa khác nhau tùy vàođối tượng. 1 mặt nào đó, tất cả các hệ thống Đa xửlý cũng được hệ thống phân phối vì việc xử lý tảiđược chia giữa một nhóm các bộ vi xử lý làm việcchung để giải quyết một vấn đề. Khi hầu hết mọingười sử dụng thuật ngữ hệ thống phân phối, họđang đề cập đến một hệ thống nhiều máy tính rấtlỏng lẻo. Sự lỏng lẻo của điện toán phân tán phụthuộc vào mạng lưới liên lạc giữa các bộ vi xử lý.

9.4.5. Distributed Computing

Page 55: Kiến Trúc Luân Phiên

Một vấn đề mã hóa gần đây đã được giải quyết bằng tài nguyên của hàng

ngàn máy tính, mỗi máy thực hiện giải mã bằng cách sử dụng một chuỗi các từ khóa

có thể

Đại học California ở Berkeley tạo ra 1 máy chủ sử dụng sóng radio,RETI nhằm

phân tích dữ liệu trong phạm vi sử dụng sóng radio.Để sử dụng người dùng PC có

thể cài thêm 1 giao diện SETI riêng trên máy tính riêng của họ. Dự án đã thành công

lớn, với tích lũy nửa triệu năm thời gian làm việc của CPU trong 18 tháng.

9.4.5. Distributed Computing

Page 56: Kiến Trúc Luân Phiên

Đối với máy tính dùng chung khái niệm minh bạch rấtquan trọng trong phân bố hệ thống.Như các phần chi tiết vềphân bố mẫu của mạng nên ẩn đi hết mức có thể.Sử dụng tàinguyên hệ thống từ xa nên bắt buộc thực hiện nhiều yêu cầuhơn là truy cập hệ thống cục bộ.

RPCs mở rộng khái niệm về phân bố máy tính và cungcấp sự minh bạch cần thiết khi chia sẻ tài nguyên.Sử dụngRPCs 1 máy tính có thể sử dụng 1 thủ tục để truy cập cácnguồn tài nguyên có sẵn của 1 máy tính khác.Các thủ tục tựbản thân nó tồn tại trên 1 máy ở xa nhưng có thể coi việc truycập như thực hiện trên 1 hệ thống điện thoại cục bộ. ngày nay các nhà thiết kế phần mềm đang thiên về hướng đối tượng củathuật toán phân tán.điều này thúc đẩy sự phổ biến củaDCOM, CORBA, RMi

9.4.5. Distributed Computing

Page 57: Kiến Trúc Luân Phiên

9.5 NHỮNG PHƢƠNG PHÁP XỬ LÍ SONG SONG KHÁC

Giới thiệu tới các bạn một vài trong số những hệ thống đáng chú ý hơn, tách ra từ kiến trúc truyền thống Von Neumann.

Page 58: Kiến Trúc Luân Phiên

Nội dung chính 9.5.1 Luồng dữ liệu

9.5.2. Mạng Nơ ron- thần kinh.

9.5.3. Dãy Systolic- tâm thu.

Page 59: Kiến Trúc Luân Phiên

9.5.1. Luồng dữ liệu Máy Von Neumann thể hiện sự kiểm soát luồng tuần

tự. Bộ đếm chương trình xác định lệnh tiếp theo đểthực thi. Dữ liệu và lệnh tách biệt.Cách duy nhất làm thay đổi thứ tự thực hiện lệnh là nếu giá trị của bộ đếm chương trình được thay đổi theo quy tắc đểkết quả thông báo tham chiếu tới một giá trị dữ liệu.

hình 9.11 là ví dụ về một kiến trúc luồng dữ liệu tĩnh, trong đó luồng thẻ xuyên qua biểu đồ trong một đường ống kiểu phân đoạn.

Page 60: Kiến Trúc Luân Phiên

Xem xét mã mẫu tính toán N:(initial j <- n; k <- 1while j > 1 donew k <- k * j;new j <- j - 1;return k)

Page 61: Kiến Trúc Luân Phiên
Page 62: Kiến Trúc Luân Phiên

HInh 9.12 Biểu đồ luồng dữ liệu tƣơng ứng chƣơng trình tính N!

Page 63: Kiến Trúc Luân Phiên

Kiến trúc của máy luồng dữ liệu bao gồm một số thành phần xử lívà chúng phải giao tiếp với nhau.

Mỗi thành phần xử lí có một đơn vị cấp phép, chấp nhận liên tục các thẻ và lƣu trữ chúng trong bộ nhớ.

Page 64: Kiến Trúc Luân Phiên

- Kiến trúc truyền thốnglà những chương trình tính toán và thực thi lệnh khá nhanh.Tuy nhiên, chúng lại có nhược điểm về các mặt sau: ứng dụng song song lớn, khả năng chịu lỗi, thích nghi kém khi có sự thay đổi.

- Mạng Noron- thần kinh, mặt khác, lại rất hữu ích trong các tình huống động, mà không thể xây dựng một giải pháp bằng thuật toán một cách chính xác. Chúng lại xử lí các công việc dựa vào những sự tích lũy của các hành vi trước đó.Chúng có thể xử lí với những thông tin không chính xác, có xác suất. Chúng có cơ chế cho phép tương tác thích ứng giữa các thành phần xử lí.Mạng thần kinh, giống như mạng sinh học, có thể

học hỏi từ những kinh nghiệm.

Mạng Nơron được biết đến với nhiều tên khác nhau: hệ thống người kết nối, hệ thống thích ứng, hệ

thống xử lí phân bố song song.

Page 65: Kiến Trúc Luân Phiên

Các ứng dụng : kiểm soát chất lƣợng, dự báo thời tiết, dự báo kinh tế và tài chính, nhận dạng giọng nói và mẫu, thăm dò dầu khí, giảm thiểu chi phí chăm sóc sức khỏe, dự đoán phá sản, máy chuẩn đoán, giao dịch chứng khoán, và tiếp thị.Điều quan trọng cần lƣu ý là mỗi mạng nơron này đƣợc thiết kế đặc biệt cho một nhiệm vụ nhất định, vì vậy chúng ta không thể mong chờ một mạng nơron thiết kế để dự báo thời tiết lại làm tốt công việc dự báo kinh tế.Ví dụ đơn giản nhất về mạng nơron là the perceptron, một tế nào thần kinh đơn đào tạo.

Page 66: Kiến Trúc Luân Phiên

Perceptron

Page 67: Kiến Trúc Luân Phiên

Những perceptron đƣợc đào tạo bằng cách sử dụng thuật toán học hỏi có giám sát hoặc không có giám sát.Học có giám sát giả định là biết trƣớc đƣợc kết quả đúng, chúng đƣợc nuôi dƣỡng tới mạng nơron trong suốt giai đoạn đào tạo.Nếu có trên 10 đến 20 tế bào thần kinh, thì sẽ không thể hiểu đƣợc cách mà mạng đƣa đến kết quả của nó.

Học có giám sát giả định là biết trước được kết quả đúng, chúng được nuôi dưỡng tới mạng nơ ron trong suốt giai đoạn đào tạo.

Trong khi đang học, mạng nơron được thông báo cho dù trạng thái kết thúc của nó đúng.

Nếu đầu ra không đúng, mạng thay đổi trọng số vào để tạo ra kết quả mong muốn

Học tập không giám sát không tạo đầu ra đúng cho mạng trong khi đào tạo.

Mạng chỉ thích nghi để đáp ứng đầu vào của nó, học tập để nhận ra các mẫu và cấu trúc trong tập hợp đầu vào.

Page 68: Kiến Trúc Luân Phiên

Qua cuộc thử nghiệm của quân đội để xác định sự tồn tại của xe tăng trong một bức ảnh.Voi hệ thống học có giám sát.Mà chinh phủ Mĩ ngày nay tự hào về một mạng nơron rất đắt tiền có thể phân biệt chính xác giữa ngày nắng và nhiều mây trong ảnh. Tuy nhiên để tiết kiệm thời gian, em se khong trinh bay li do va qua trinh thuc hien.Mạng nơron có thể cấu hình để mỗi giá trị đầu ra đối chiếu chính xác với mỗi điểm ảnh. Nếu các điểm ảnh là một phần của chiếc xe tăng, thì mạng nên đƣa đầu ra là 1, nếu không thì là 0.Thông tin đầu vào rất có thể bao gồm màu sắc của điểm ảnh.

Mạng sẽ được đào tạo bằng cách cho nó hấp thu nhiều hình ảnh có và không có xe tăng.

Mạng nơron đã tách 2 nhóm ảnh, nhưng dùng màu của bầu trời để phân biệt hơn là việc sự tồn tại của chiến xe tăng ẩn.

Page 69: Kiến Trúc Luân Phiên

9.5.3. Dãy Systolic- tâm thu.

Những máy tính dãy tâm thu được lấy tên từ bản vẽtương tự với dòng máu chảy nhịp nhàng qua một trái tim sinh học.

Chúng là một mạng lưới các thành phần xử lí tính toán dữ liệu bằng cách cho chúng lưu thông qua hệ thống.

Mảng tâm thu là một biến thể của máy SIMD, kết hợp những mảng lớn của các bộ xử lí đơn giản được sử dụng đường ống dẫn cho luồng dữ liệu, như hình 9.14b.

Page 70: Kiến Trúc Luân Phiên
Page 71: Kiến Trúc Luân Phiên

Một mảng tâm thu tuyến tính, trong đó bộ xử lí đƣợc sắp xếp theo cặp, có thể đƣợc sửdụng để đánh giá một đa thức bằng cách sử dụng Luật của Horner, nhƣ hình 9.15.

Page 72: Kiến Trúc Luân Phiên

Một ví dụ tốt để sử dụng mảng tâm thu là việc đánh giá đa thức

có thể sử dụng Luật của Horner :

Page 73: Kiến Trúc Luân Phiên

Một mảng tâm thu tuyến tính, trong đó bộ xử lí đƣợc sắp xếp theo cặp, có thể đƣợc sử dụng để đánh giá một đa thức bằng cách sử dụng Luật của Horner, nhƣ hình 9.15.

Mảng tâm thu thƣờng đƣợc sử dụng cho thao tác lặp, bao gồm cả biến đổi Fourier, xử lí ảnh, nén dữ liệu, tìm đƣờng đi ngắn nhất, phân loại, xử lí tín hiệu, tính toán các loại ma trận (nhƣ phép ngƣợc và nhân ).Nói ngắn gọn, những máy tính mảng tâm thu phù hợp cho việc tính toán các vấn đề tự chúng cho vay với giải pháp song song bằng cách sử dụng một sốrất lớn các thành phần xử lí đơn giản.

Page 74: Kiến Trúc Luân Phiên

Tóm tắt chƣơng Chương này trình bày tổng quan về một số khía cạnh của hệ thống đã xử lí và đa máy

tính. Các hệ thống này cung cấp một phương tiện để giải quyết các vấn đềkhông thể kiếm

soát một cách hiệu quả. Các cuộc tranh luận so RISC với CISC ngày càng trở nên nhiều hơn là so sánh giữa

kiến trúc chip, không là ISAs. Những vấn đề quan trọng là thời gian thực thi chương trình, và cả những người thiết

kế RISC à CISC sẽ tiếp tục cải thiện hiệu suất. Nguyên tắc phân loại kiến trúc của Flynn phụ thuộc vào số lệnh và luồng dữ liệu. Máy MIMD nên được chia nhỏ hơn để sử dụng chia sẻ mộ nhớ và không. Năng lượng của máy tính kĩ thuật số ngày nay thực sự đáng kinh ngạc. Những bộ xử

lí song song bên trong đã góp phần làm tăng năng lượng thông qua kiến trúc siêu vô hướng và kiến trúc siêu đường ống.

Bna đầu, bộ xử lí làm một việc tại một thời điểm, nhưng ngày nay nó lại được dùng để thực hiện đồng thời nhiều hoạt động.

Bộ xử lí hướng hoạt động theo hướng, trong khi các máy MIMD kết hợp nhiều bộ xửlí.

Bộ xử lí SIMD à MIMD được kết nối thông qua mạng kết nối tooàn cầu.

Page 75: Kiến Trúc Luân Phiên

Những bộ đa xử lí chia sẻ bộ nhớ xử lí với các bộ sưu tập của bố nhớ vật lí như là một thực thể duy nhất, trong khi kiến trúc bộ nhớ phân phối cho phép bộ xử lí truy cập độc quyền tới bộ nhớ của nó.

Cách tiếp cận cho phép người dùng thường có khả năng siêu máy tính với giá cảphải chăng.

Các kiến trúc đa xử lí phổ biến nhất là MIMD, bộ nhớ chia sẻ, hệ thống cơ sở bus. Một số vấn đề phức tạp không thể được giải quyết bằng cách dùng các mô hình tinh

toán truyền thống của chúng ta. Kiến trúc thay thế là cần thiết cho những ứng dụng cụ thể. Máy tính luồng dữ liệu cho phép dữ liệu đẩy tính toán, chú không phải là đường

quanh khác. Mạng nơron học để giải quyết những vấn đề mang tính phức tạp cao nhất. Mảng tâm thu khai thác sức mạnh của các yếu tố xử lí nhỏ, đẩy dữ liệu thông suốt cả

mảng đến khi vấn đề được giải quyết.

Page 76: Kiến Trúc Luân Phiên

Thanks for listening ^^!

Nhóm 9

Lớp AT7B

Học Viện Kỹ Thuật Mật Mã