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
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
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ế.
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.
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 đề.
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.
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?
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.
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.
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
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.
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ề.
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
5. Tình hình RISC hiện nay?
RISC được sử ở đâu?
Tại sao RISC đang giảm?
RISC đƣợc sử ở đâu?
Apple
PA-RISC HP Work station
Intel Strong ARM processor (Mobile CPU)
IBM (Work Station)
MOTOROLA (Hand Held Device)
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
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
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
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
SIMD
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
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ế
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)
MIMD
Shared Memory
Distributed Memory
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
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
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
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
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
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
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
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
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
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
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
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
Đượ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
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
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
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
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
Hình 9.3 - Minh họa các loại của các mạng tĩnh
9.4.3.Interconnection Networks
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
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
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
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
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
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
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.
(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.
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
Đ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
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
Đố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
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.
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.
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.
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)
HInh 9.12 Biểu đồ luồng dữ liệu tƣơng ứng chƣơng trình tính 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ớ.
- 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.
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.
Perceptron
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.
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.
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.
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ộ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 :
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.
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.
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.
Thanks for listening ^^!
Nhóm 9
Lớp AT7B
Học Viện Kỹ Thuật Mật Mã
Top Related