1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu tìm hiểu về thế hệ VXL 80386 (SL, SX, DX,...)

23 1,2K 14

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 281,5 KB

Nội dung

1bit tại tại 1 thời điểm- Có chức năng liên kết các thành phần khác nhau trong hệ thống dovậy còn gọi là bus liên kết hệ thống - Tập các đờng dây vận chuyển thông tin đồng thời đợc gọi l

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN

ĐỀ TÀI: .

Giảng viên hướng dẫn : .

Nhóm thực hiện : .

Lớp : .

Trang 2

Họ vi xử lý Intel 80386

Mở đầu

Trái tim của một bản mạch chính là bộ vi xử lý Cho đến nay bộ vi xử lý

đợc coi là sản phẩm nhân tạo phát triển nhanh nhất và có vai trò quan trọng nhất trong lịch sử loài ngời Bộ vi xử lý CPU là cốt lõi của một máy vi tính Từ các bộ

vi xử lý để chế tạo ra máy tính cá nhân và Intel đang hớng cấu trúc máy vi tính cá nhân hiện đại Vai trò của máy vi tính trong nửa cuối thế kỷ hai mơi đợc chứng minh bởi đà phát triển chức năng theo hàm mũ của bộ vi xử lý và mức độ thâm nhập của nó trong xã hội Máy tính đã thay đổi hoàn toàn công nghệ, thay

đổi hình thức buôn bán thậm trí thay đổi cấu trúc xã hội loài ngời Vì vậy sau

đây chúng ta cùng tìm hiểu về tất cả những gì thuộc về bộ vi xử lý và cụ thể là bộ

vi xử lý 80386 là bộ vi xử lý 32 bit đầu tiên mở đầu cho công nghệ phát triển máy tính sau này

Bố cục chung của báo cáo:

Báo cáo gồm 8 phần:

I.Lịch sử phát triển họ vi xử lý iX86II.Cấu trúc khối

III Các chế độ vận hành của bộ vi xử lí 80386IV.Hệ thống vào ra

V.Quản lý bộ nhớVI.Kiến trúc tập lệnhVII.Công nghệ mới VIII.Kết luận

Bài viết dới đây do nhóm gồm : Nguyễn Thị Sim,Bựi Văn Thắng,Chu VănThõn,Nguyễn Trường Sơn cùng nhau tìm tài liệu và thảo luận trong thời giankhá dài Tuy nhóm đã có nhiều cố gắng và nghiên cứu để làm tài liệu này rấtnghiêm túc song không tránh khỏi sai sót Rất mong Thầy giáo và các bạn đọctài liệu cùng tham khảo và cho ý kiến để tài liệu đợc hoàn chỉnh hơn Chân thànhcảm ơn!

I.Lịch sử phát triển họ vi xử lý iX86

Trang 3

2.VXL 32 bit

 Intel 386 gồm các họ 386DX,386SX,386LX là một bớc nhảy vọt so vớicác VXL trớc đó Có khả năng xử lý đa nhiệm, có thể chạy nhiều chơng trìnhcùng một thời điểm

 Intel 486 gồm các phiên bản 486DX,486SX,486SL Những phiên bảnnày có bộ nhớ sơ cấp có thiết kế pipeline

8 bit và 16 bít 386 LX cũng đợc dùng trong nhiều loại IBM PC/XT

 80386 dùng diện thế Vss,Vcc = 5.0 V tiêu thụ dòng trung bình 550 mB –phiên bản tần số 25MHz, 600mA – phiên bản tần số 20MHz…

 Các chân tín hiệu :

 80386 có 20 chân tín hiệu : A31 –A3; D31-D0; BE#-BE0;M/ìO#;W/R#;ADS#(address data strobe); RESET…

 Với 32 bit địa chỉ không gian địa chỉ của CPU386 là 4 GB CPU 386 có 64

K cứa vào/ra 8 bit, 16 bit, 32 bit

 CPU 386 có thể hoạt động với bộ đồng xử lý toán học 387

Trang 4

1bit tại (tại 1 thời điểm)

- Có chức năng liên kết các thành phần khác nhau trong hệ thống dovậy còn gọi là bus liên kết hệ thống

- Tập các đờng dây vận chuyển thông tin đồng thời đợc gọi là độ rộngcủa bus ( ví dụ 8 đờng dây thì độ rộng là 8 bit)

- Chức năng của bus :

Bus chia làm 3 loại : +bus địa chỉ

+bus dữ liệu +bus điều khiển Chú ý : chỉ có bus địa chỉ và bus dữ liệu mới có khái niệm độ rộng

Bus dữ liệuBus điều khiển

Sơ đồ khối phối ghép bus

Lý do tồn tại của các loại bus:

+ Bus địa chỉ :

- CPU muốn trao đổi dữ liệu với ngăn nhớ nào, với cổng vào ra nào thì cầnphải có bus địa chỉ

Bus địa chỉ vận chuyển địa chỉ từ CPU đến bộ nhớ hay cổng vào ra để xác

định ngăn nhớ nào hay cổng vào ra nào cần trao đổi thông tin

Trang 5

- Bus địa chỉ nói tổng quát gồm n đờng dây Ao - An-1 thì gọi độ rộng bus

là n bit và n bit này đợc dùng để đánh dấu địa chỉ , do đó có khả năng quản lý tối

đa 2n địa chỉ ngăn nhớ hay 2n byte nhớ ( vì bộ nhớ chính quản lý theo byte) vàvới 386 thì n =32 quản lý tối đa 232 byte = 4 GB

+Bus dữ liệu :

- Vận chuyển dữ liệu từ bộ nhớ đến CPU

- Vận chuyển dữ liệu giữa các thành phần với nhau

Bus dữ liệu kí hiệu Do – Dm-1 thì độ rộng bus là m bit m trong 386 là 32tức là vận chuyển cùng một lúc 4 byte

+Bus điều khiển dữ liệu

- Là tập hợp các tín hiệu điều khỉên hoặc phát ra từ CPU để điều khiển bộnhớ hay hệ thống vào ra hoặc là từ bộ nhớ hay hệ thống vào ra đến yêu cầu CPU

3 Khối quản lý bộ nhớ

Bộ vi xử lý có khả năng quản lý bộ nhớ trực tiếp bằng cách đánh địa chỉvật lý hay định địa chỉ ảo ( phân trang ) Khi dùng định địa chỉ vật lý, địa chỉtuyến tính đợc coi là địa chỉ vật lý

Khi dùng phân trang các đoạn mã, dữ liệu, ngăn xếp, hệ thống, GDT vàIDT đều đợc nhận phân trang, chỉ có trang vừa truy nhập là nằm trong địa chỉ vật

lý Vị trí của trang ( hay còn gọi là khung trang đợc xác định qua hai dạng cấutrúc hệ thống :

ra làm 3 phần : 10 bit định vị danh mục trang, 10 bit định vị bảng trang, 12 bit

định vị khung trang Nh vậy kích thớc của một trang là 212=4 Kbyte Mỗi nhiệm

vụ có thể có một danh mục trang riêng của nó, có nghĩa là hệ vi xử lý có thểquản lý đợc nhiều danh mục trang khác nhau

4 Khối điều khiển

Dùng để điều khiển và để đồng bộ các hoạt động của hệ thống, cụ thể:

- Điều khiển nhận lệnh từ bộ nhớ và sau đó tăng nội dung PC( bộ đếm

ch-ơng trình – program counter) để trỏ sang lệnh tiếp theo

- Giải mã lệnh nằm ở thanh ghi lệnh để xác định yêu cầu của lệnh và phát

ra tín hiệu điều khiển thực hịên lệnh đó

- Nhận các tín hiệu yêu cầu từ bên ngoài, xử lý và đáp ứng yêu cầu đó

Mã lệnh

Thanh ghi lệnh

Trang 6

Các cờ từ

Thanh ghi cờ Mã lệnh các tín hiệu điều

Khiển bên trong CPU –Các thanh ghi

giữa

các tín các tín hiệu yêu cầu

điều khiển bên ngoài từ bên ngoài

Bus điều khiển

- Đơn vị điều khiển gồm hai phần chính : khối giải mã lệnh và khối tạoxung nhịp điều khiển thực hiện lệnh

5 Khối giải mã lệnh

Bộ giải mã lệnh gồm ba bộ giải mã cũn làm việc song song: hai bộ giải mãlệnh đơn giản và một bộ giải mã phức tạp Một bộ giải mã chuyển một mã lệnhthành một hay nhiều vi lệnh ba thành phần ( hai nguồn lôgic vầ một đích lôgic)

Vi lệnh là những lệnh sơ đẳng đợc 6 bộ thực hiện của bộ vi xử lý thực hiện songsong

Nhiều mã lệnh đợc chuyển trực tiếp thành một vi lệnh duy nhất qua bộ giảimã lệnh đơn giản Một số mã lệnh khác đợc chuyển thành một hay bốn vi lệnh

Bộ giải mã cũng chịu trách nhiệm giải mã phần đầu lệnh và lệnh quay vòng Bộgiải mã lệnh có thể tạo ra đến 6 vi lệnh trong một chu kỳ đồng hồ ( 2 từ hai bộgiải mã lệnh đơn giản và 4 từ bộ giải mã lệnh phức tạp )

đơn vị điều khiển

Trang 7

Thanh ghi 80386 đều là thanh ghi 32 bit, một số thanh ghi có thề chia thành

16 bit hoặc 8 bit

Với 32 bit địa chỉ không gian địa chỉ của CPU 386 là 4 GB CPU 386 có 64Kcửa vào / ra 8 bit , 16 bit, 32 bit

CPU có thể hoạt động với bộ đồng xử lý toán học

Tập các thanh ghi:

 Thanh ghi đa dụng và thanh ghi con trỏ : đợc mở rộng thành thanhghi 32 bit : EAX, EBX,ESP… tuy nhiên vẫn có thể sử dụng thanh ghi 8 bit hoặc

16 bit Chúng có trách nhiệm lu trữ những nội dung sau:

-Tham số của các phép toán logic và số học -Tham số của các phép tính địa chỉ

- Con trỏ bộ nhớ

Tuy vậy, tất cả các thanh ghi này đều có thể dùng để lu trữ mọi tham sốkết quả và con trỏ Cần lu ý khi dùng thanh ghi ESP vì thanh ghi này chỉ dùngcho con trỏ ngăn xếp và không đợc phép dùng cho mục đích khác

Một số lệnh cần một thanh ghi nhất định để lu trữ tham số của nó ví dụlệnh chuỗi dùng các thanh ghi ECX,ESI, EDI Khi sử dụng bộ nhớ mô hình phân

đoạn , một số cặp thanh ghi đợc ngầm định để lu địa chỉ lôgic( vi dụ DS:EBX)

Ngoài ra, mỗi thanh ghi còn có một nhiệm vụ đặc biệt đợc liệt kê sau:

- EAX : thanh ghi kết quả các phép toán

- EBX : thanh ghi con trỏ mà địa chỉ đoạn nẳm trong DS

- ECX : thanh ghi số đếm cho các phép toán chuỗi và quay vòng

- EDX : thanh ghi địa chỉ cổng cứng

- ESI : thanh ghi con trỏ địa chỉ nằm trong ES con trỏ nguồn của phép toánchuỗi

- EDI : thanh ghi con trỏ mà địa chỉ đoạn nằm trong ES con trỏ đích củaphép toán chuỗi

- ESP : thanh ghi con trỏ ngăn xếp mà địa chỉ đoạn nằm trong SS

Trang 8

Các thanh ghi đa chức năng

 Các thanh ghi đoạn : vẫn giữ nguyên chiều dài 16 bit nhng có haithanh ghi đoạn FS và GS đợc dùng giống nh thanh ghi ES Các thanh ghi đoạn(CS,DS,SS,ES,FS,GS) lu trữ bộ chọn đoạn 16 bit Một bộ chọn đoạn là một contrỏ đặc biệt chỉ đến bộ mô tả đoạn là nơi lu trữ địa chỉ và đặc tính của đoạn Đểtruy nhập một đoạn trong bộ nhớ bộ chọn đoạn phải nằm trong thanh ghi đoạn t-

ơng ứng

Khi viết một chơng trình ứng dụng ngời lập trình chọn đoạn qua lệnh định ớng trong hợp ngữ Hợp ngữ dùng lệnh định hớng của hợp ngữ hay dụng cụ lậptrình để tạo nên đoạn và các gía trị tơng ứng trong bộ chọn đoạn cũng nh bộ môtả đoạn

h-Cách sử dụng thanh ghi đoạn phụ thuộc vào mô hình bộ nhớ mà hệ thống

điều hành sử dụng Nếu sử dụng mô hình bộ nhớ phẳng ( không phân đoạn ),thanh ghi đoạn lu trữ bộ chọn đoạn trỏ lên những đoạn chồng lên nhau Mỗi

đoạn đều bắt đầu từ địa chỉ số 0 của không gian địa chỉ tuyến tính Thông thờng

có hai đoạn chồng lên nhau: một đoạn cho mã lệnh, một đoạn cho dữ liệu vàngăn xếp Thanh ghi CS trỏ đến đoạn mã lệnh các thanh ghi đoạn khác trỏ đến

đoạn dữ liệu

Trang 9

Các thanh ghi đoạn

DSSSESFS

GS GSCác thanh ghi đoạn trong mô hình nhớ phẳng

Nếu sử dụng mô hình bộ nhớ phân đoạn, mỗi thanh ghi đoạn chứa một bộchọn đoạn trỏ tới các đoạn khác nhau trong không gian địa chỉ tuyến tính Chơngtrình có thể truy nhập đồng thời 6 đoạn khác nhau Mỗi thanh ghi đều liên hệtrực tiếp với ba loại nhớ : mã lệnh, dữ liệu và ngăn xếp ví dụ : thanh ghi CS chứa

bộ chọn đoạn mã lệnh Bộ xử lý lấy lệnh từ đoạn mã lệnh bằng địa chỉ đoạntrong CS và con trỏ lệnh trong EIP Thanh ghi EIP chứa địa chỉ tuyến tính của tớicần đợc thực hiện trong đoạn mã lệnh Chơng trình ứng dụng bên ngoài khôngthể thay đổi đợc thanh ghi CS Chỉ các phép lệnh điều khiển chơng trình bêntrong bộ vi xử lý mới thay đổi đợc giá trị của CS( nh gọi tiểu trình, phục vụ ngắtthay đổi nhiệm vụ

Các thanh ghi đoạn

CS các đoạn đều cùng nằm

gian

SS bộ nhớ tuyếntính

ESFSGS

Cách sử dụng thanh ghi đoạn trong mô hình bộ nhớ phân đoạn

Các thanh ghi DS , ES, FS, GS chứa bộ chọn đoạn trỏ đến 4 bộ mô tả đoạndữ liệu Bốn đoạn dữ liệu riêng rẽ này đảm bảo an toàn truy nhập an toàn vào cácdạng cấu trúc dữ liệu khác nhau

Thanh ghi SS chứa bộ chọn đoạn ngăn xếp Khác với thanh ghi CS thanhghi SS có thể đợc ghi từ bên ngoài bởi chơng trình ứng dụng Điều này cho phép

40 Gbyte

đoạn chồng lên nhau

đoạn mã

lệnh

đoạn ễ liệu

đoạn ngân xếp

đoạn dữ

liệu

đoạn dữ

liệu

đoạn dữ

liệu

Trang 10

chơng trình dùng nhiều ngăn xếp khác nhau Bốn thanh ghi đoạn CS, DS, SS, ES,

có từ đời 8086 Hai thanh ghi FS và GS bắt đầu xuất hiện ở 80386

 Thanh ghi trạng thái SR và thanh ghi đếm chơng trình : cũng nh đợcnâng lên 32 bit gồm 16 bit thấp nh trong 286 và 16 bit cao Thanh ghi trạng thái

để quản lý trạng thái của hệ thống nó chứa các thông tin trạng thái của CPU

Có hai thông tin trạng thái chính :

- trạng thái 0

- trạng thái 1

Gồm có các thanh ghi cờ Mỗi bit cờ phản ánh trạng thái làm việc củaCPU :Cờ trạng thái (bit 0,2,4,6,7,11) trong thanh ghi EFLAGS đợc dùng để ghilại trạng thái kết quả của các lệnh số học nh : ADD, SUB, MUL,DIV

- IF( interrupt flag): cờ ngắt: nếu IF=1 thì CPU cho phép ngắt ngợc lại IF=0thì CPU cấm ngắt

- CF( carry flag) : cờ nhớ : nếu kết quả phép tính có nhớ thì CF=1

- SF(Sign flag) :cờ dấu : nếu kết quả phép tính là số âm thì SF=1

- OF(overflow flag): cờ tràn: nếu kết quả là số bù 2 vợt quá giới hạn biểudiễn dành cho nó thì OF=1 Cờ này đánh dấu trạng thái tràn của phép toán sốhọc có dấu

- PF(parity flag) cờ chẵn lẻ: đợc đặt về 1 khi số 1 trong byte thấp nhất củakết quả là số chẵn

- AF( adjust flag) cờ chỉnh: đợc đặt về 1 khi phép toán gây ra nhớ hoặc mợntại bít 3 của kết quả Cờ này đợc sử dụng trong phép toán số học với mã BCD

- ZF(zero flag ) cờ không: đợc đặt về 1 khi kết quả bằng 0

Trong các cờ trên chỉ có cờ CF là có thể gây ra trực tiếp bằng các lệnhSTC,CLC,CMC Những lệnh thay đổi bit nh BT, BTS,BTR,BTC Có thể chuyểnmột bít nhất định về cờ CF Các cờ trạng thái dành cho phép toán số học có kếtquả dới ba dạng dữ liệu khác nhau: số nguyên có dấu, số nguyên không dấu, sốnguyên BCD Nếu kết quả là số nguyên không dấu thì cờ CF đánh dấu trạng tháinhớ hoặc mợn Nếu kết quả là số BCD thì cờ AF đánh dấu nhớ hoặc mợn Cờ SFghi lại dấu của số nguyên có dấu Cờ ZF đánh dấu trạng thái bằng 0 của sốnguyên có và không có dấu Cờ CF đợc dùng để cộng thêm hay trừ đi khi dùnglệnh ADC(cộng với số nhớ) hay lệnh SBB( trừ với số mợn ) để tiến hành phéptoán số học chính xác Các lệnh nhảy có điều kiện Jcc, đặt byte có điều kiệnSETcc quay vòng có điều kiện LOOPcc và dịch chuyển có điều kiện CMOVcc( cc là mã điều kiện ) dùng một hay nhiều cờ trạng thái để rẽ nhánh đặt byte hayquay vòng

 Các thanh ghi gỡ rối (DR0-DR7) và kiểm tra (TR0-TR1):

Bộ vi xử lý có nhiều lệnh dùng để kiểm tra quyền truy nhập bộ chọn đoạn và

bộ mô tả đoạn Những lệnh này lặp lại việc kiểm tra quyền truy nhập mà bộ vi

xử lý tiến hành tự động Chúng cho phép hệ điều hành và các chơng trình ở mức

u tiên 0 ngăn không cho ngoại lệ xảy ra:

Trang 11

- ARPL: chỉnh mức u tiên đợc yêu cầu RPL của bộ chọn đoạn cho thích hợpvới mức u tiên của các chơng trình dùng đoạn đó

- LAR: chứng nhận khả năng truy nhập vào một đoạn và nạp quyền truy nhập

từ bộ mô tả đoạn về một thanh ghi đa chức năng Chơng trình ứng dụng sau đó

có thể kiểm tra quyền truy nhập đoạn trực tiếp từ thanh ghi đa chức năng

- LSL: chứng nhận khả năng truy nhập vào một đoạn và kích thớc đoạn từ bộmô tả đoạn về một thanh ghi đa chức năng Chơng trình ứng dụng sau đó có thể

so sánh kích thớc đoạn với địa chỉ lệch để bíêt địa chỉ có nằm bên trong đoạnhay không

- VERR và VERW: kiểm tra khả năng ghi lên hay đọc từ một đoạn bộ nhớ

 Thanh ghi quản lý bộ nhớ : thanh ghi GDTR,LDTR,IDTR,TR có chứcnăng giống nh trong 286 chỉ khác ở chỗ: địa chỉ cơ sở 32 bit và giá trị giới hạn là

20 bit Bốn thanh ghi trên đợc dùng để xác định vị trí của các bảng quản lý bộnhớ Để truy nhập và lập trình các thanh ghi này ngời ta cần có những lệnhchuyên dùng

` - Thanh ghi bảng bộ mô tả toàn cục GDTR

Thanh ghi bảng cục bộ mô tả toàn cục GDTR lu trữ 32 bít địa chỉ cơ sở và

16 bit kích thớc của bảng mô tả toàn cục Địa chỉ cơ sở là địa chỉ tuyến tính (vật

lý ) của byte đầu tiên trong bảng Kích thớc cho biết số byte tối đa có thể lu trữ

đợc trong bảng Để nạp và ghi lên GDTR ta dùng lệnh LGDT và lệnh SGDT Khikhởi động bộ vi xử lý địa chỉ cơ sở đợc đặt về 0 và giới hạn đợc đặt về FFFFh vìthế chơng trình khởi động BIOS cần nạp một giá trị mới vào GDTR

- Thanh ghi bảng mô tả cục bộ LDTR

Thanh ghi bảng bộ mô tả cục bộ LDTR lu trữ 32 bit địa chỉ cơ sở , 16 bitkích thớc và các tham số bộ mô tả cho bảng mô tả cục bộ LDT Để nạp và ghilên GDTR ta dùng lệnh LLDT và lệnh SLDT Đoạn bộ nhớ chứa LDT phải cómột bộ mô tả đoạn tơng ứng nằm trong bảng mô tả toàn cục GDT Khi lệnhLLDT nạp một bộ chọn đoạn vào LDTR, địa chỉ cơ sở kích thớc và tham số bộmô tả tự động đợc nạp lên LDTR Khi cần chuyển nhiệm vụ, bộ chọn đoạn và

đoạn mô tả LDT của nhiệm vụ mới tự động đợc nạp vào thanh ghi LDTR Tơng

tự nh GDTR , địa chỉ cơ sở và kích thớc trong LDTR đợc đặt về 0 và FFFF h khikhởi động máy

- Thanh ghi bảng bộ mô tả ngắt IDTR

Thanh ghi bảng bộ mô tả ngắt IDTR chứa 32 bit địa chỉ cơ sở và 16 bit kíchthớc của bảng mô tả ngắt IDT Để nạp và ghi lên IDTR ta dùng lệnh LIDT vàSIDT

- Thanh ghi nhiệm vụ TR

Thanh ghi nhiệm vụ TR chứa cho nhiệm vụ đang chạy 16 bit bộ chọn

đoạn, 32 bit địa chỉ cơ sở, 16 bit kích thớc và tham số bộ mô tả cho đoạn trạngthái nhiệm vụ TSS Địa chỉ cơ sở là địa chỉ của byte 0 trong TSS Lệnh LTR vàSTR đọc và ghi tên phần bộ chọn đoạn của thanh ghi nhiệm vụ Khi lệnh LTRnạp bộ chọn đoạn vào thanh ghi nhiệm vụ, các phần khác của thanh ghi nhiệm

vụ đợc tự động nạp lên từ bộ mô tả đoạn trạng thái nhiệm vụ TSS Trạng thái củathanh ghi TR khi khởi động tơng tự nh các thanh ghi hệ thống khác

Ngày đăng: 19/03/2015, 22:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w