Iu khiển bằng vi ch ng trình:

Một phần của tài liệu Giáo trình kiến trúc máy tính và hợp ngữ (Trang 41)

S đ nguyên tắc c a b đi u khiển dùng vi ch ng trình đ c trình bày hình 3.4. Trong kỹ thuật này, các đ ng dây đi u khiển c a b đ ng đi d li u ng v i các ngã ra c a m t vi l nh nằm trong b nh vi ch ng trình. Vi c đi u khiển các tác vụ c a m t l nh mã máy đ c thực hi n bằng m t chu i các vi l nh. M t vi máy tính nằm bên trong b đi u khiển thực hi n t ng l nh c a vi ch ng trình này. Chính vì máy tính này đi u khiển vi c thực hi n m t cách tuần tự các vi l nh để hoàn thành tác vụ mà l nh mã máy phải thực hi n. Các tác vụ c a l nh mã máy cũng tuỳ thu c vào tr ng thái c a phần đ ng đi d li u.

B đi u khiển bằng vi ch ng trình đ c dùng r ng rãi trong các b x lý CISC. B x lý này có tập l nh ph c t p v i các l nh có chi u dài khác nhau và có

Đ n v đi u khiển dùng m ch đi n

Automat tr ng thái h u h n Tr ng thái Ngã vào Xung nh p IR Tr ng thái t ng lai Đ ng đi d li u Dây đi u khiển

Ngã ra

d ng th c ph c t p. Trong các b x lý CISC, ng i ta cài đặt m t l nh mã máy bằng cách vi t m t vi ch ng trình. Nh vậy công vi c khá đ n giản và rất h u hi u. Các sai sót trong thi t k automat đi u khiển cũng d s a đ i.

3.5. Các b vi x lý c b n c a Intel 3.5.1 M t s đặc điểm c a các vi x lý

Các máy vi tính họ IBM bao g m các model IBM PC, PC XT, PC AT, PS/1 và PS/2. Chúng đ u dựa trên các vi x lý họ 8086 cuả hãng Intel. Đó là các vi x lý 8086, 8088, 80286, 80386, 80486 và Pentium. Vi x lý 8088 đ c dùng trong PC và PC XT. 80286 dùng trong PC AT và PS/1. Các PS/2 dùng 8086, 80286, 80386 và 80486.

Intel 8080 là vi x lý 8 bit ra đ i vào tháng 4 năm 1971, t ng đ ng 8000 transistor, t c đ 2MHz. V i bus đa ch 16 bit có thểđa ch đ c 64Kbyte b nh .

Đ n v đi u khiển dùng vi ch ng trình B nh Vi ch ng trình PC c a vi CT Xung nh p Xác đ nh đa ch c a vi l nh ti p theo Phần Vi đ a ch ti p theo Đ ng đi d li u Dây đi u khiển Ngã ra

Hình 3.4: Nguyên tắc vận hành của đơn vị điều khiển dùng vi chương trình

IR

+ Intel gi i thi u 8086 lần đầu tiên vào tháng 6 năm 1978. 8086 là vi x lý 16 bit. Nó ch y t c đ 4.77MHz. V i 20 đ ng đ a ch , 8086 truy xuất đ c 1MB (Mega Byte). 8088 đ c gi i thi u vào tháng 6 năm 1979. Bên trong 8088 gi ng h t nh 8086 ch khác là đ ng s li u bên ngoài c a 8088 ch có 8 bit. 8086 và 8088 có cùng tập l nh và nó là tập l nh c bản c a họ x86.

+ 80186 và 80188 là 2 bản nâng cấp t ng ng c a 8086 và 8088 c ng thêm v i sự h tr c a m t vài chip. Chúng có thể thực thi m t tập l nh m i so v i 8086 và 8088 gọi là tập l nh m r ng (Extended instruction set). Tuy nhiên 80186 và 80188 không đ c s dụng trong th ng m i vì chúng nhanh chóng b thay th b i 80286

+ 80286 đ c gi i thi u vào tháng 1 năm 1882, nó có khoảng 139.000 transistor, t c đ 8MHz, có 16 bit. 80286 có nh ng cải ti n c bản sau:

a) Có thể ho t đ ng 2 ch đ là ch đ thực (Real mode) và ch đ bảo v (Protected virtual address mode). Trong ch đ thực, 80286 ho t đ ng gi ng nh 8086. Các ch ng trình vi t cho 8086 có thể ch y trên 80286 ch đ thực mà không cần phải thay đ i gì. Trong ch đ bảo v , 80286 h tr đa nhi m (multitasking). Đa nhi m là ch đ nhi u ch ng trình có thể thực hi n đ ng th i t i cùng m t th i điểm v i ch c năng bảo v b nh . Bảo v b nh là khả năng gi cho m t b nh đang đ c dùng b i m t ch ng trình kh i b s dụng b i m t ch ng trình khác. B nh đ c đ a ch nhi u h n: 80286 trong ch đ bảo v có thể đ a ch đ n 16 MB b nh vật lý. Trong khi đó 8086 và 8088 ch có 1 MB b nh vật lý.

b) B nh ảo trong ch đ bảo v : Đi u này có nghĩa là 80286 có thể dùng b nh ngoài (đĩa c ng) nh là b nh vật lý để thực thi các ch ng trình l n (có thể đ n 1GB).

+ 80386 và 80386SX: Tháng 10 năm 1985 Intel gi i thi u 80386 nh là b vi x lý 32 bit đầu tiên. Nó có khoảng 275.000 transistor, đ ng h 16MHz. các phiên bản sau c a nó có thể ch y t c đ 20; 25; 33; 40 MHz. V i 32 bit đ a ch nên có thể quản lý 4GB b nh vật lý. 80386 có thể s dụng t i 64TB b nh ảo. Nó có 1 cache n i nh và nó cũng cho phép làm vi c v i board mẹ có cache.

M t tính năng m i cuả 386 là khả năng mô ph ng m t hoặc nhi u b vi x lý 8086 ch y đ ng th i. Đi u này làm cho Windows thực sự tr thành m t h đi u hành m nh. Máy tính đ c kh i đ ng t DOS (ch đ thực) r i chuyển sang ch đ bảo v , trong đó nhi u 8086 ảo ch y đ ng th i d i nh ng c a s khác nhau.

80386 SX (Sixteen) là phiên bản cuả 80386. Nó có 16 d ng đ a ch ngoài thay vì 32 đ ng nh 80386. Khi đã có 386SX thì 80386 nguyên th y đ c đ i tên thành 80386DX (deluxe).

Intel 80386SL là bản ti t ki m đi n cuả 80386SX. Nó đ c dùng trong các máy tính xách tay (note book).

+ Intel 80486DX là vi x lý 32 bit đ c gi i thi u vào tháng 4 năm 1989. Nó ch a khoảng 1,2 tri u transistor, t c đ 25MHz. 486 không có đ i m i nào đáng kể so v i 386DX nh ng đã áp dụng các kỹ thuật sau: X lý ng dẫn cho phép x lý hầu h t các l nh trong m t xung đ ng h . Thêm n a, 486DX có gắn sẳn đ ng x lý toán học (Co-Processor) bên trong nên t c đ thực hi n l nh tăng nhi u so v i 386DX có cùng đ ng h .

Bên c nh 486DX còn có các bản 486DX2 và 486DX4. Đây là các bản mà đ ng h trên board mẹ ch cần bằng 1/2 (DX2) hay bằng 1/3 (DX4) th ng là DX4-100, DX4-20. 486SX là phiên bản khác cuả 486DX. 486SX gi ng nh 486DX ch khác là nó không có đ ng x lý toán học.

Pentium là vi x lý 32 bit đ c gi i thi u vào tháng 5-1993. Pentium có khoảng 3 tri u transistor, đ ng h 60 MHz. Gi ng nh 486DX, Pentium có 32 đ ng đa ch . Đ ng s li u trong là 32 bit, nh ng đ ng s li u ngoài là 64 bit. Th h Pentium đầu tiên gọi là K5, đ c thi t k theo CISC nh ng đã áp dụng công ngh sau: Dùng ng dẫn đôi, cấu trúc siêu vô h ng và dự đoán r nhánh. Trong đi u ki n lý t ng Pentium có thể thực hi n 2 l nh trong 1 chu kỳ máy nên ch y nhanh h n 486 cùng đ ng h . Mặt khác K5 vẫn t ng thích hoàn toàn v i 386 và 486, nghĩa là nó vẫn ch y đ c v i các ch ng trình vi t cho DOS và Windows lúc bấy gi . M t đ i m i quan trọng n a là nó có 1 b FPU đ c thi t k t i u do đó nó ch y các phép toán dấu chấm đ ng nhanh gấp 5 lần 486DX2/66. K5 có m t cache n i 8KB dùng cho l nh và m t cache n i 8KB khác dùng cho s li u. Bus 64 bit c a

Pentium cho phép dẫn s li u v i t c đ rất nhanh. M t đĩa cúng dung l ng 528MB có thể truy n vào cho CPU trong vòng 1 giây.

+ Pentium Pro ra đ i vào tháng 11-1995 v i t c đ 150 MHz.

+ Pentium MMX (Multimedia Extensions) đ c gi i thi u vào tháng 1 năm 1997 v i t c đ 166MHz. Cải ti n quan trọng cuả MMX so v i Pentium và Pentium Pro là t c đ bus (đ ng h xung nh p đi u khiển truy n s li u trên bus) là 66MHz so v i 60 MHz cuả K5. Pentium MMX đ c thi t k cho các ng dụng Multimedia chuyên nghi p.

+ Pentium II đ c gi i thi u vào tháng 5-1997 có đ ng h là 233MHz. Ngoài cấu trúc superscalar nh Pentium pro, Pentium II còn có đ n v MMX. Ho t đ ng c a Pentium II có thể t ng k t nh sau:

• CPU lấy l nh t b nh theo th tự nh ch ng trình nguyên th y.

• L nh đ c chuyển thành 1 hoặc nhi u l nh RICS có đ dài c đnh gọi là các micro-operations (micro-ops)

• CPU thi hành các micro-ops bằng ng dẫn superscalar sao cho các l nh có thể out of order. (adsbygoogle = window.adsbygoogle || []).push({});

Thực t Pentium II g m m t v CISC và 1 lõi RICS. Lõi RISC là m t ng dẫn có 11 tầng (thay vì 4 nh x86 và Pentium). B đ m đọc l nh có thể đọc 32 Byte đ ng th i. B giải mã l nh s chuyển m i l nh thành 1 đ n 4 micro-ops dài 118 bit (thay vì 32 bit trong các CPU tr c)

+ Pentium III đ c gi i thi u vào tháng 2 –1999 có đ ng h 450 MHz.

+ Pentium IV đ c gi i thi u vào tháng 11 năm 2000, nó có khoảng 42 tri u transistor, ho t đ ng đi n áp 1,5V. So v i các CPU tr c Pentium IV có nh ng thay đ i quan trọng sau:

Pentium 4 không phải là ki n trúc x86 m r ng. Pentium 4 là ki n trúc m i trong đó khai thác t i đa khả năng t c đ cao c a microchip th h m i bằng kỹ thuật x lý song song. Word l nh rất dài có thể đ n 128 bit, gọi là bó l nh. Bó l nh ch a 3 l nh (120 bit) và 8 bit template. M i l nh dài 40 bit. CPU có thể lấy 1 bó l nh t i 1 th i điểm. Tr ng template đ c CPU dùng để bi t đ c nh ng bó l nh nào có thể x lý song song. Nó còn cho phép n p d li u t b nh tr c khi

ch ng trình yêu cầu. Pentium 4 có nhi u thanh ghi: 128 thanh ghi cho s nguyên và 128 thanh ghi cho dấu chấm đ ng. T c đ c a Pentium IV vào tháng 8 năm 2002 là 2,5 GHz

3.5.2 Cách ghi d li u lên b nh

Các byte trong b nh đ c đánh s liên ti p bắt đầu t 00 sao cho m i ô nh (hay 1 v trí nh ) 1 byte ch có duy nhất 1 đa ch

B vi x lý có thể truy xuất 1 hoặc nhi u byte c a b nh 1 th i điểm. Ví dụ hãy khảo sát s thập phân 1025; biểu di n bằng s hexa c a nó là 0401h, s này chi m 2 byte (hay 1 word) nh . Word này bao g m byte cao ch a 04; byte thấp ch a 01. H th ng l u tr chúng trong b nh theo trình tự ng c l i: Byte thấp đa ch thấp và byte cao đa ch cao trong b nh . Ví dụ có l nh cần chuyển giá tr có trong 1 thanh ghi là 0401h vào trong các v trí c a b nh có đa ch 5612 và 5613 thì ta có hình ảnh nh sau:

B vi x lý ch a d li u trong b nh theo trình tự byte ng c l i v i trình tự byte trong thanh ghi và x lý d li u t ng ng nh vậy. Khi b vi x lý lấy l i d li u t b nh để n p vào thanh ghi thì nó cũng đảo ng c để có giá tr chính xác; quá trình này hoàn toàn tựđ ng.

3.5.3 S đ t ch c c a 8088 và 80286

3.5.3.1 Cấu trúc t ng quát

Intel-8086/88 là m t CPU 16 bit (bus d li u ngo i có 16 dây). Nó đ c dùng để ch t o các máy vi tính PC-AT đầu tiên c a hãng IBM vào năm 1981. Trong

Thanh ghi 04 01 B nh 01 04 V trí 5612 Byte có ý nghĩa thấp nhất V trí 5613 Byte có ý nghĩa l n nhất

thực t , hãng IBM đã dùng CPU 8088 (là m t d ng c a CPU 8086 v i bus s li u giao ti pv i ngo i vi là 8 bit) để ch t o máy vi tính cá nhân đầu tiên gọi là PC-XT. CPU 8086 đã không ng ng cải ti n và đã trải qua các phiên bản 80186, 80286, 80386, 80486, Pentium (80586), Pentium Pro, Pentium MMX, Pentium 2, 3, 4. Các CPU trên t ng thích t trên xu ng (downward compatible) nghĩa là tập l nh c a các CPU m i ch t o g m các tập l nh c a CPU ch t o tr c đó đ c b sung thêm nhi u l nh khác.

Cấu trúc logic c a CPU-8088/86 có d ng nh hình 3.5, g m 2 b phận chính là: B thực hi n l nh EU (Execution Unit) và b phận giao ti p bus BIU (Bus Interface Unit). Hình 3.6 là cấu trúc các chân ra c a 8086 ch đ MIN. ch đ Min 8086 tự t o tra các tín hi u đi u khiển b nh và Bus. ch đ MAX nó cần phải có 1 chip h tr bên ngoài để giải mã các tín hi u đi u khiển.

AH AL AX BH BL BX CH CL CX DH DL DX SP BP SI DI CS DS SS ES 1 2 3 4 5 6 Logic Đi u khiển BUS ngo ài (20 bit) BUS n i (16 bit) Th an h g hi c (F ) ALU CU Th an h g hi l nh (IR ) B thực hi n l nh

(EU – Execution Unit)

B giao ti p Bus

(BIU – Bus Interface Unit)

Hàng đ i l nh

Hình 3.5: Sơ đ khối của bộ vi xử lý 8088/8086

33 MN AD0 16 READY AD1 15 19 > CLK AD2 14 21 RESET AD3 13 18 INT AD4 12 AD5 11 AD6 10 AD7 9 AD8 8 AD9 7 AD10 6 AD11 5 AD12 4 AD13 3 AD14 2 AD15 39 AD16/S3 38 AD17/S4 37 AD18/S5 36 AD19/S6 35 BHE/S7 34 DEN 26 DT/R 27 M/IO 28 30 HLDA RD 32 31 HOLD VR 29 17 NMI ALE 25 23 TEST INTA 24

Hình 3.6: Sơ đ t ng quát của 8086/8088

Các chân ra có ý nghĩa nh sau:

DEN (Data Enable): Cho phép s li u trên Bus

ALE (Address latch Enable): Cho phép đa ch trên Bus M/IO (Memory/IO): Cho phép b nh hay ngo i vi RD (Read): Đọc

WR (Write): Vi t

INTR (Interrup): Đầu vào ngắt (che đ c)

MNI (None Maskable Interrup): Đầu vào ngắt không che đ c RESET: Reset MPU

CLK (Clock): L i vào c a đ ng h (adsbygoogle = window.adsbygoogle || []).push({});

8088 có cấu trúc bên trong gi ng h t 8086 ch khác là bus s li u ngoài c a nó là 8 bit.

3.5.3.2 B phận thực hi n l nh (EU)

Thi hành các tác vụ mà l nh yêu cầu nh : Kiểm soát các thanh ghi (đọc/ghi), giải mã và thi hành l nh. Trong EU có B s học và logis (ALU) thực hi n các phép toán s học và logic. Các thanh ghi đa năng là các ô nh bên trong CPU ch a d li u t ng tự nh ô nh trong b nh . C (flag) cũng là m t thanh ghi dùng để ghi l i tr ng thái ho t đ ng c a ALU. Thanh ghi l nh ch a n i dung l nh hi n t i mà CPU đang thực hi n. Các thanh ghi và bus trong EU đ u là 16 bit. EU không k t n i trực ti p v i bus h th ng bên ngoài. Nó lấy l nh t hàng đ i l nh mà BIU cung cấp. Khi có yêu cầu truy xuất b nh hay ngo i vi thì EU yêu cầu BIU làm vi c. BIU có thể tái đ nh đ a ch để cho phép EU truy xuất đầy đ 1 MB (8086/88 có 20 đ ng đ a ch ngo i).

3.5.3.3 B giao ti p bus (BIU)

BIU thực hi n ch c năng giao ti p gi a EU v i bên ngoài (B nh , thi t b ngo i vi …) thông qua h th ng BUS ngo i (bus d li u và bus đ a ch ). BIU thực hi n tất cả các tác vụ v bus m i khi EU có yêu cầu. Khi EU cần trao đ i d li u v i bên ngoài, BIU s tính toán đ a ch và truy xuất d li u đểphục vụ theo yêu cầu c a EU. Trong BIU có 5 thanh ghi CS, DS, ES, SS và IP ch a đ a ch . Thanh ghi IP ch a đ a ch c a l nh s đ c thi hành k ti p nên gọi là con tr l nh.

Một phần của tài liệu Giáo trình kiến trúc máy tính và hợp ngữ (Trang 41)