Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
516,69 KB
Nội dung
1 Bài 1.1 n ca kin trúc máy tính tun t ca von Neuman - Máy tính Von Neumann là h tht b x lý. - Không cho phép thc hin nhiu công vic cùng mt lúc. - Ti mi thm, máy tính ch thc hic mt phép toán nên khi phi x lý mt khng d liu rt ln thì s mt rt nhiu th gii quyt. - T x lý ca các b x lý theo kin tin ti gii hn, không th ci tic. c xây dng t các kh : - B nh d liu; - logic và s hc: thc hic ký hiu là ALU; - Các phn t x u khin CU và truyn d liu vào/ra; - ng truyn d liu. S khác nhau chính ca các máy tính là s liên kt gia các khi nhau. Trong các h thng máy tính truyn thng có hai khi quan trng nht là b nh và BXL. BXL thao tác trên các d li trong b nh thông qua các ch th (câu lnh). Các câu l nh c chuyn t b nh t thc hin. D liu di chuyn trong h thng theo c hai chic và ghi vào b nh. Hình 1-1 mô t hong ca mô hình máy tính kiu von Neumann M rng mô hình von Newmann là mi nút là mt máy tính có th c lp v khác. Mng máy tính có th t cha lý. 1.2: Các kin trúc máy tính có th c phân lo nào? da vào nhng yu t phân loi? Mt h th c gi là máy tính song song? Kin trúc máy tính nghiên cu cách t ch liên kt các thành phn ca các h thng máy tính. V c xây dng t các kh B nh (Memory): d liu trong quá trình x lý d liu. logic và s hc (ALU): Nhm thc hin các phép toán logic và phép toán s hc. Khu khin (CU): u khin và truyn d liu vào/ra. ng truyn d liu (BUS). Da vào kin trúc trên thì có nhi phân loi các ki cách thông dng nht là dc tính v s ng b x lý (BXL), s thc hing thi, cu trúc b nh B nh B x lý Ghi d liu c d liu Câu lnh 2 Cách phân lo c nhi i chp nhn: ng lng d liu là loi máy tính ch có mt CPU, mi thm ch thc hin một lệnh và ch c hoc ghi một mục dữ liệu. ng lng d liu là loi máy tính có nhiều đơn vị xử lý thc hin theo một luồng các câu lệnh. CPU phát sinh tín hiu khin tt c các phn t x lý, nhng b x lý này cùng thc hin mt phép toán trên các mc d lii b x lý có lung d liu riêng. ng lng d liu là loi máy tính có th thc hin nhiều chương trình (nhiều lệnh) trên cùng một mục dữ liệu. Loc chia thành hai lp: o Lp các máy tính yêu cu nh x lý khác nhau có th nhc nhng ch l thc hin trên cùng mt mc d liu. o Lp các máy tính có các lung d lic chuyn tun t theo dãy các CPU liên tip. CU 1 Phn t x lý 2 Lung lnh 1 Phn t x lý n Phn t x lý 1 . . . CU 2 CU n . . . Lung lnh 2 Lung lnh n Lung d liu u khin (CU) Phn t x lý 1 Tín hiu u khin Phn t x lý n Phn t x lý 2 . . . Tín hiu u khin u khin B nh BXL s hc Lung lnh Lung d liu Lung kt qu Tín hiu u khin 3 MIMD ng lng d liu là loi máy tính đa bộ xử lýi b x lý có th thc hin nhng lung lcác luồng dữ liệu riêng. Mt h thng có th u thành các bài toán con nh thc hin (gii quyng thng hp các kt qu các bài toán c kt qu cu. H thc gi là máy tính song song. Vi khái niy thì ta thy hai loi kin trúc máy tính SIMD và MIMD có th Câu 1.4: Máy tính kiu MIMD khác vi m nào? MIMD Mng các máy tính x i b x lý có th thc hin nhng lung l trên các lung d liu riêng. + i li vi nhau + Có b nh truy cp vào c b nh chung (global) khi cn, do vy gim thic s i gia các BXL trong h thng. + B nh riêng a ch o chung + Ma ch riêng + X lý phân tán trên mt s c lp + X lý phân tán trên các máy +Mc lp và có th thc hin ng thi vi nhau. + Mi máy trong mc lp và có th thc hing thi vi nhau + Mi BXL chy m + Mi máy chy m CU 1 Phn t x lý 2 Lung lnh 1 Phn t x lý n Phn t x lý 1 . . . CU 2 CU n . . . Lung lnh 2 Lung lnh n Lung d liu 1 Lung d liu 2 Lung d liu n 4 Bài 1.5 Nêu nguyên lý x lý theo hình ng. Nhng bài toán có nhng tính cht gì thì thích hp vi kin trúc x lý hình ng? Nguyên lý hình ng (pipelined) dn hoc chia nh mt tin trình tính toán thành mt s n nh thc hin trong các pha liên tip. Tt c n ca mt tic thc hin tun t, khi thc hin xong thì bu thc hin ca tin trình tip theo. Mi pha thc hin xong s truyn kt qu cho pha tip theo. y, trong cách thc hin theo nguyên lý hình ng, khi mn công vi thc hin thì mn khác có th np d liu vào, và d liu vào cn này có th là kt qu cc nó. Ví d, hình 1-10 mô t mt tin thc hin tun t, thc hin song song theo nguyên lý hình tính toán khi phi thc hin nhiu ti. Mt tin: Thc hin tun t hai tin trình phn: Thc hin theo hình ng hai tin trình trên ch cn tri qua 5 gin: Hình 1-10: Thc hin tun t và hình ng ca hai tin trình gn Nu ký hiu S i là thi gian cn thi thc hin th i thì: Tng thi gian tính toán tun t là: 2 * (S 1 + S 2 + S 3 + S 4 ) Tng thi gian tính toán hình ng là: S 1 + S 2 + S 3 + S 4 + S 4 Nguyên lý hình ng có th áp dng theo hai mc: Hình s hc: s hc t chc thành mc thc hin theo nguyên lý hình ng (hình (a)). Hình câu lnh: u khin và t chc theo hình ng (hình (b)). Hình 1-11: (a) X lý hình ng theo ALU, (b) X lý hình ng theo CU Pha 1 Pha 2 Pha 3 Pha 4 Pha 1 Pha 2 Pha 3 Pha 4 Pha 1 Pha 2 Pha 3 Pha 4 Pha 1 Pha 2 Pha 3 Pha 4 Pha 1 Pha 2 Pha 3 Pha 4 CU ALU ALU . . . ALU B nh CU . . . CU CU ALU B nh 5 t, vic x lý theo hình ng c s d thc hin gu nhiu pha thc hin các câu lnh liên tip và s truyn thông d liu. Do vy có th xây dng hình ng vòng tròn gia các BXL, b nh và mng liên kt Các phép toán thc hin bi CU theo kin trúc này có th n: c d liu: c d liu t b nh chia s. n 2. Chuyn ti d liu: chuyn d liu t b nh ti các phn t x lý PE thông qua mc (Read Network). n 3. Thc hin câu lnh: s d thc hin các câu lnh. n 4. Chuyn ti d liu: chuyn các kt qu t các PE ti b nh thông qua mng ghi (Write Network). d liu : ghi li các kt qu vào b nh chia s. Nói chung, nguyên lý hình ng cho phép nhiu thao tác gu nhau thc hing thi và h tr c kh a kin trúc song song theo các mc khác nhau. Mc câu lnh. Tng câu lnh chuyn vào cho mn trong chu trình thc hin nh vào hình ng thì chúng s thc hin lp li theo tng chu k. Mc h thng con. Nhiu phép toán có th thc hin theo hình ng có trong nhiu kin trúc ca máy tính. Nhng phép c s dng theo hình ng rng xuyên. Mc h thng. Nhin trong hình ng không cn phi thc hin mc phn cng mà có th mc phn mm. Kt qu nguyên lý hình c ng d thit k nhiu h CDC STAR 100, Texas Instruments ASC, Cray 1, v.v. Bài 1.7. Mt công vic chia thành m công vic con, mi công vi hi m th thc hin. Hi c th h hình ng gm m-b x lý tuyn tính (gm m pha thc hin) thc hic nhim v cho c? Cách 1: Theo kin trúc ca b x lý hình ng m b x lý tuyn tính thì vi nhim v c chia thành m công viy s m th thc hin. Cách 2: Gi s có n công vic vi mt công vic chia thành m công vic con, mi công vic coi m th thc hin. Nu x lý theo kiu tun t thì m thi gian x lý. Nu S dng nguyên lý hình ng mt m+n - thi gian x lý. Write Network Shared Memory Shared Memory Read Network 6 Nu mt công vic chia thành m công vic con, mi công vii mt th thc hin thì c thi gian x lý. Bài 2.1 Nêu nhng v cn quan tâm khi thit k kin trúc máy tính song song S dng tp nhiu thanh ghi: s làm gim hiu ng ph ca các thanh ngt S dng không gian nh ln: làm gim hiu ng ph ca s i chu qu i d liu ca h thng. Lp lch cho BXL: v là xây dng b lch cp phát hu hiu các BXL cho tng nhim v mng dng yêu cu. ng b các BXL: u khin nhiu tin trình hong thi, cùng truy cp n mt s hu hn các tài nguyên chung, ví d nhm bc s tc nghn (deadlock) Thit k cu hình mng liên kt: tp trung vào vic kt ni BXL vi BXL, BXL vi b nh trong h thng. Cu hình tôpô ca mng kt ni là v rt quan trng trong thit k h thng song song. n: nh m song song trong các thu c các lung x ng thi. S n có th thc hin nhiu mc khác nhau: mc lnh, mc th tc, hoc m m bo tin cy: v dung th lm bo nu có mt BXL c hic thì công vic mà nó phm nhim s c giao cho BXL khác thc hi m bo trong mi tình hu công vic chung vn c hoàn thành. Bài 2.2: B nh kt hp là gì? nêu nguyên lý hng ca b nh kt hp. B nh (Memory) là mt trong nhng thành phn quan trng nht ca kin trúc máy tính John von Neumann. B nh kt hp (AM Associative Memory) bao gm các ô nh (gi là cell) và logic kt hp. Mi ô nh c Các đầu vào của mỗi ô nhớ bao gồm: i s a. s k q a R/W m Kt qu i sánh Chn Khóa i s c/Ghi Cấu trúc của ô nhớ AM 7 c/ghi R/W nhng cn thc hin. Bit khóa k. Bit la chn s nh ô nh thích hp cho vic thc hic/ghi. Hai kết quả ở đầu ra bao gồm: i sánh m ch ra d li nh c vi s a hay không. Bit ra kt qu q. Nguyên lý hong ca b nh kt hp: Tt c các b nh kt hc t chc thành các t (wordc xây dng thành mng các ô gi mt b nh kt hp có n t và mi t có m bit. Mi ô trong s m*n ô nh có mt mch vòng i s vi giá tr r trong các ô nhng thi ch ra kt qu i sánh thành công. H th i s, m u nhng ng ca mi t mà b nh ci sánh) ch ra nhng t tìm thy. Argument Register Mask Register Buffer Register Output Input Input 0 1 . . m-1 Tags Mask Register 0 1 n-1 Cấu trúc của bộ nhớ kết hợp 8 Bài 2.4: Da mng liên kt hình kh xây dng cu trúc tôpô cho mng liên kt hình khi cho 16 b x lý. Câu 2.7 Xây dng mng liên kt theo mô hình xáo trn hoàn ho cho 16 phn t 3.1nh s ph thuc d liu ca các lnh trong chu trình sau: Do i = 1 to N e[i] = x[i] z[i] (S1) a[i+1] = e[i] + 2*d[i] (S2) a[i] = e[i] (S3) end DEF(S1) : ph thuc dòng d liu gia câu lnh S1 và S2. DEF(S1) ): ph thuc dòng d liu gia câu lnh S1 và S3. USE(S2) : ph thuc d liu vào gia lnh S2 và S3 0 3 2 1 5 4 6 7 P 0000 P 0001 P 0011 P 0111 P 0110 P 0010 P 0100 P 0101 8 11 10 9 13 12 14 15 P 1000 P 1001 P 1011 P 1111 P 1110 P 1010 P 1100 P 1101 9 T th ph thuc d li Câu 3.2 ni dung tính toán hay không? Hãy bình lun v kh c hin song song c 1. Do i = 1 to N a[i] = a[i + 1] + i end 2. Do i = N downto 1 a[i] = a[i + 1] + i end - ni dung tính toán vì Chu trình 1 : giá tr phn t mng th i bng giá tr phn t mng th i + 1 cng vi ch s phn t mng th i + 1 không b Chu trình 2 : Giá tr phn t mng th i bng giá tr phn t mng th i + 1 cng vi ch s phn t mng th - Chu trình 1 có th thc hic vì Chu trình 1 làm nhim v sao tt c các phn t ca mt mng sang chính m vi ch s git và giá tr ca mc cng thêm giá tr chính bng ch s mng, i thc hin tun t. Nu hai mng ngun ca chu trình trên là khác nhau thì bng cách to ra mt bn sao ca mng g 1.1. Do i = 1 to N a1[i] = a[i]; end Do i = 1 to N a[i] = a1[i + 1] + i ; end c hai chu trình trên là kh song song. Nu chúng ta có N b x lý thì ch c v thi gian ca CPU là thc hic chu trình trên. - Chu trình 2 không th thc hin song song vì 10 Chu trình 2 có th khai trin thành a[N] = a[N + 1] + N; a[N 1] = a[N] + N 1; a[i] = a[i + 1] + i a[j] = a[j + 1] + j (gi s i > j) kim tra s ph thuc ca các lnh trên chúng ta tính DEF và USE USE(i) = {a[i + 1]} DEF(i) = {a[i]} USE(j) = {a[j + 1]} DEF(j) = {a[j]} Ta nói rng vòng lp th i và th j là ph thuc dòng d liu, nu DEF(i) và USE(j) có cha bin chung. Trong chu trình trên, hai tp DEF(i) = {a[i]} và USE(j) = {a[j + 1]} có cha phn t chung khi i = j + 1. Theo gi thic tri trình i = j + 1 có vô s nghi kt lun chu trình 2 không th thc hin song song. Câu 3.3 : nh tt c các s ph thuc d li int a[MAX]; read(a); for(i = 0; i < N; i++) for(j = 0; j < i; j++){ S1: a[i] = max(a[i], a[j]); S2: a[j] = min(a[i], a[j]); } nh khai báo mng a và lc d liu vào cho m Tuy nhiên hai lnh này không n s ph thuc d liu nên ta ch n các lnh gán hai chu trình lng nhau theo các bin i và j. DEF(S 1 ) = {a[i]}, USE(S 1 ) = {a[i], a[j]} DEF(S 2 ) = {a[j]}, USE(S 2 ) = {a[i], a[j]} Ta có các ph thuc d liu sau : DEF(S 1 ) USE(S 2 suy ra S 1 và S 2 ph thuc dòng d liu. DEF(S 2 ) USE(S 1 suy ra S 1 và S 2 phn ph thuc d liu. [...]... hiện song song tính z[i] được mà ta chỉ có thể thực hiện song song các bước tính tổng như sau: Int z[100],j; z[0] = 0; For(j=1; j . create_process(2); Switch(id){ Case 1: *tong += z[j-1]*z[j-1]*z[j-1]; Break; 16 Case 2: *tong += (c-1)*z[j-1]; Break; Case 3: *tong += -c; Break; } Join_process(3,id); z[j] = *tong;. + (c-1)z i c 0 = 0, c là s phnh t cm nh. n t: z[0] = 0; For (int j=1; j<=n; j++) { z[j] = z[j-1]*z[j-1]*z[j-1] + (c-1)*z[j-1]. z[j] = z[j-1]*z[j-1]*z[j-1] + (c-1)*z[j-1] c; } + Nhn xét: Ta thy muc z[i] thì phi bit z[i-1], muc z[i-1] thì phi bit z[i-c là có s phn ph thuc d