Mỗi lệnh đềuphải được thực hiện qua các giai đoạn có sự tham gia của vi sửlí.Trong một số trường hợp ví dụ khi cần chuyển một mảng dữ liệu cóđặc điểm giống nhau giữa các bộ và các ngoại
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Khoa Công Nghệ Thông Tin - -
Đề tài:
PHÂN TÍCH KIẾN TRÚC VÀ NGUYÊN LÝ LÀM VIỆC
CỦA BỘ VI SỬ LÝ 64 BÍT CỦA AMD
Nhóm sinh viên thực hiện : Nhóm 3
Lớp: KHMT3-K6
Hà Nội, 2012
Trang 2CHƯƠNG 1: LỊCH SỬ CỦA AMD 64 BÍT
1.Lịch sử của AMD64
AMD64 được thiết kế bởi Hewlett Parkard như một sự thay thế cho kiến trúc IA64,được công bố vào năm 1999 và hoàn thiện kỹ thuật đầy đủ vào năm 2000.Kiến trúc của AMD64 như 1 sự thay thế hoàn hảo của AMD cộng với khả năng tính toán 64bit cho các kiến trúc x86 hiện có.AMD64 dựa trên bộ xử lý Opteron,được phát hành vào tháng 4 năm 2003.
AMD đã làm 1 cuộc cách mạng lớn khi đưa vào nhân bộ xử lý A64 2 công nghệ thật tuyệt vời, đó là khả năng xử lý 64bit và tích hợp
luôn bộ điều khiển bộ nhớ.
CHƯƠNG2: KIẾN TRÚC CỦA BỘ VI SỬ LÝ
không cần phải biên dịch lại và hiệu xuất không bị suy giảm như khi chạy ở chế độ mô phỏng X84-32 trên bộ vi sử lí intanium Ngoài
ra những lợi thế của các kiến trúc trước đây , còn có những tính năng tiên tiến khác.
Giải thuật 64 bít rất đơn giản : thêm vào tập thanh ghi một vài
thyanh ghi mới và mở rộng các thanh ghi củ có 8 thanh ghi đa dụng mới được thêm vào, chúng được sử dụng tronh model 64 bít;
và các thanh ghi cũ EAX, EBX được mở rộng từ 32 bít lên 64 bít tám thanh ghi mới được thêm vào các đơn vị SSE để hổ trợ SSE2, việc tăng hiệu năng của các ứng dụng đói tài nguyên
Để hổ trợ cả mả lệnh 32 bít và 64 bít, kiến trúc X86-64 cho phép bộ
vi sử lí làm việc ở 2 chế độ:
Trang 31 chế độ “ sâu” (long mode)
a, chế độ 64 bít: hỗ trợ địa chỉ 64 bít thật,8 thanh ghi đa dụng 64 bít mới, các thanh ghi GPR 64 pít, con trỏ lệnh 64 bít, không gian địa chỉ liên tục.
b, chế độ tương thích: hổ trợ tương thích cho các ứng dụng 16 hay
32 bít, nó được thực hiện dựa trên nguyên tác sử dụng các phân đoạn mã riêng biệt làm việc trong chế độ bảo vệ ứng dụng sẽ xem
bộ vi sử lí như CPU X86 thông thường trong chế đọ bảo vệ hệ điều hành sẽ đảm nhận vịc dịch chuyển địa chỉ, xử lí cách ngắt và hệ thống cấu trúc dữ liệu
2 chế độ “kế thừa” (legacy mode):
hổ trợ tương thích với các hệ điều hành 16 bít và 32 bít Khi ở mode “kế thừa” , bộ vi sử lí sẽ có nhưng chức năng của một CPU 32 bít thông thường, không có bất kì tập lệnh 64 pít nào Kiểu hoạt động này cung cấp chế độ tương thích đầy đủ nhất với tất cả các kiến trúc hiện tại , bao gôm việc hổ trợ các phân đoạn bộ nhớ, các thanh ghi GPR và con trỏ lệnh 32 bít
3. Phương pháp AMD
Phương pháp đảm bảo thời gian phục vụ yêu cầu vào ra số liệu củangoại vi là ngắn nhưng vẫn thực hiện bằng phần mềm Mỗi lệnh đềuphải được thực hiện qua các giai đoạn có sự tham gia của vi sửlí.Trong một số trường hợp ví dụ khi cần chuyển một mảng dữ liệu cóđặc điểm giống nhau giữa các bộ và các ngoại vi nhanh như màn hìnhthì phương pháp bàng phần mềm không đủ nhanh để đáp ứng các yêucầu chuyển số liệu rất cao Lúc này phải dùng phương pháp bằng phầncứng,thay chương trình con thực hiện chuyển số liệu giữa bộ nhớ vàthiết bị ngoại vi mà không thông qua vi sử lý Cách thức này gọi làtruy nhập bộ nhớ trực tiếp AMD ( access memory direct) Làm nhiệm
vụ điều khiển quá trình này là chíp bổ trợ AMD-8232 ,hay còn đượcgọi là AMD Với phương pháp AMD , tốc độ truyền dữ lieeujchir bịhạn chế bởi thoeif gian truy nhập của bộ nhớ Vi sử lí không cần phải
Trang 4đọc, giải mã và thực hiện các lệnh chuyển số liệu, cá lệnh điều chỉnhđịa chỉ và cá lệnh kiểm tra độ dài mảng đã chuyển để biết thời điểmkết thúc Nó hoàn toàn chuyển quyền diều khiển bus cho chíp AMD và
số kiệu được truyền trực tiếp giữa ngoại vi và bộ nhớ dưới sự điềukhiển của chíp này
3.1 Bộ điều khiển bộ nhớ(Memory control)
Kể từ dòng K7 trở về trước, bộ điều khiển bộ nhớ do chipset cầu bắc đảm nhận, nhiệm vụ chính của chipset cầu bắc là làm cầu nối
trung gian giữa CPU và bộ nhớ chính thông qua FontSideBus (FSB)
Do đó về mặt lý thuyết bus bộ nhớ sẽ bị giới hạn theo bus của CPU hay bus của chipset, trong khi đó, bus bộ nhớ hiện nay đã được đẩy lên rất cao, ta thường nghe nói đến bộ nhớ
DDR500,DDR550,DDR600 và cao hơn nữa
Đến dòng K8 - A64, AMD đã tích hợp luôn bộ điều khiển bộ nhớ vào trong nhân của CPU (core) nên có thể nói rằng trong chừng mực nào đó bus bộ nhớ cao đến bao nhiêu CPU đều có thể đáp ứng được.Bên cạnh đó việc tích hợp bộ điều khiển bộ nhớ còn góp phần rất lớn trong việc giảm đáng kể “độ trễ” của dữ liệu do không phải truyền từ CPU qua chipset cầu bắc và ngược lại, đồng thời “vứt bỏ” nút thắt dữ liệu giúp gia tăng băng thông giữa CPU và bộ nhớ chính (Edit bởi linhVNDIY)
Theo đánh giá chủ quan chính điều này đã góp phần đáng kể trong việc kéo dài tuổi thọ của RAM DDRI, trước sự cạnh tranh lăm le thay thế của RAM DDRII
3.2 HyperTransport Technology (HTT)
Công nghệ HyperTransport là 1 kết nối tốc độ cực nhanh theo kiểu điểm đến điểm để kết nối các thành phần trên motherboard Công nghệ này được phát minh bởi AMD và được ứng dụng trong những lĩnh vực đòi hỏi dữ liệu được truyền đi với cường độ cao, tốc độ lớn và
độ trễ nhỏ Và AMD đã ứng dụng luôn công nghệ này vào bộ xử lý A64
Trang 5Bằng công nghệ HyperTransport, bộ xử lý A64 sẽ giao tiếp với 2 thành phần chính trong hệ thống là memory và chipset thông qua
HyperTransport bus (gọi là HTT) Tuyến giao tiếp giữa CPU và
chipset được gọi với tên mới là HT bus Và điểm đặc biết là 2 tuyến giao tiếp này hoàn toàn độc lập với nhau, sự thay đổi của tuyến bus này sẽ không gây ảnh hưởng đến bus kia và nguợc lại Do đó AMD đãkhông gọi HT bus là FSB nữa, mặc dù nhìn bề ngoài chúng có vẻ giống nhau
Ở dòng K7 trở về trước, FSB đóng vai trò quan trọng nhất trong tốc độ của hệ thống, FSB thấp đồng nghĩa với việc đang sỡ hữu 1 hệ
thống có tốc độ chậm
A64 thì hoàn toàn không xảy ra điều này, có thể bạn đang cài đặt
HT bus ở mức thấp (thấp hơn cả mức mặc định của nhà sản xuất chẳnghạn), nhưng tốc độ của toàn bộ hệ thống lại không thấp tí nào
4.Hệ số nhân
Trong hệ thống A64 có 2 HSN khác nhau cần quan tâm đó là :
Hệ số nhân của CPU – Multiplier (hay còn gọi là CPU Ratio)
HSN này có nhiệm vụ xác lập tốc độ thực của CPU (core speed)
HSN này giống như các dòng CPU K7 trở về trước
Core speed sẽ được xác định qua công thức sau :
Core speed = HTT x Multiplier
Căn cứ vào HSN, có thể thấy rằng A64 được chia thành 2 dòng
Trang 6Hệ số nhân của HT bus – LDT (Lightning Data Transport)
HSN LDT dùng để xác lập tần số HT bus khi CPU giao tiếp với
chipset, HT bus được tính bằng công thức sau :
HT bus = HTT x LDT
Ở dòng A64, để có hệ thống ổn định và hiệu quả nhất thì HT bus phải được cài đặt với tần số tối đa trong khoảng 1.000Mhz Do đó trong quá trình sử dụng chúng ta nên cài đặt HTT và LDT ở mức độ
hợp lý để luôn đảm bảo rằng HT bus chạy trong khoảng 1.000Mhz
Bộ chia nhằm xác định tỷ lệ giữa HTT bus và Memory bus, được
sử dụng trong trường hợp memory bus không theo kịp với HTT bus, hay nói cách khác ta vẫn có thể đẩy HTT bus lên cao khi sử dụng bộ nhớ có tốc độ chậm thông qua bộ chia
Trên hệ thống A64 thông thường có các bộ chia sau :
Trang 77 Phòng chống virus :
Được kích hoạt khi sử dụng hệ điều hành window XP SP2 trở lên ,tự động ngăn ngừa hiện tượng tràn bộ đệm khi bị virus tấn công
8 Tích hợp tấm tản nhiệt trên CPU:
Bảo vệ an toàn cho CPU ,tránh hiện tượng mẻ core trước đây củadòng CPU AMD,tăng tính giải nhiệt cho CPU vì có mặt tiếp xúc lớn với bộ tản nhiệt
Trang 8CHƯƠNG 3: NGUYấN LÍ LÀM VIỆC
1 Hoạt động của chíp điều khiển AMD
Chíp AMD sẽ tạo ra địa chỉ , các tín hiệu điều khiển đọc đọc/viếtngoại vi , tính số từ đã chuyển và thông báo khi chuyển xong mảng sốliệu cho vi xử lý Ta có thể hình dung nh sơ đồ sau :
Hình 3-1:Các đờng liên hệ trực tiếp trong quá trình AMD
Hình 3-2: Sơ đồ nối AMD với bộ nhớ, thiết bị ngoại vi và vi xử lý Khi hoạt động AMD , một ngoại vi ( ví dụ, bộ điều khiển ổ đĩa)muốn gửi byte số liệu bằng phơng pháp này thì trớc hết nó phải gửi tínhiệu theo yêu cầu AMD là DREQ tới một lối vào (gọi là một kênh) của
Vi xử Lý
Không gian
Bộ nhớ
Không gian vào ra
DRQ
DRQ
Thiết bị I/O
Bộ nhớ
BUS số liệu
BUS điều khiển ,các tín hiệu IOR, IOW, MEMR, MEMW
BUS địa chỉ
Trang 9chíp AMD Nếu kênh này không bị che, chíp AMD sẽ đáp lại bằng tínhiệu ghi nhận yêu cầu HRQ.Vi xử lý sẽ đáp ứng bằng cách thả nổi bus
và gửi ra tín hiệu ghi nhận HLDA tới AMD Khi AMD nhận đợc tínhiệu này, nó sẽ gửi đợc một tín hiệu điều khiển các chuyển mạch kểtrên tới vị trí AMD của chúng.Việc này làm ngát xử lý khỏi bus và nốiAMD với bus Lúc này AMD nhận quyền điều khiển bus và gửi ra địachỉ nhớ mà số liệu từ ngoại vi cần viết vào Tiếp theo nó gửi tín hiệunhận AMD là DACK0 tới ngoại vi để báo cáo cho ngoại vi hãy sẵnsàng gửi tiếp số liệu Cuối cùng, chíp AMD hạ cả hai đờng IOR vàMEMW trên bus điều khiển tới mức lôgic thấp để cho phép ngoại vixuất byte số liệu ra và viết vào bộ nhớ Khi việc truyền số liệu hoàn tất,chip AMD lấy di tín hiệu khi yêu cầu HRQ thả nổi bus Các chuyểnmạch quay về vị trí ban đầu cho phép xử lý nắm lại quyền điều khiểnbus cho đến khi AMD yêu cầu tiếp theo Việc truyền số liệu bằngAMD từ bộ nhớ tới ngoại vi cũng đợc thực hiện theo cách tơng tự chỉ
có điều chíp AMD lúc này sẽ làm tích cực đờng điều khiển đọc bộ nhớMEMR và đờng điều khiển số liệu ra IOW
Thông thờng chip AMD chuyển lên tục cả mảng số liệu, nên trong
nó có thanh đếm số từ (word count register) cho mỗi kênh Sau mỗichuyển đợc một từ, nội dung thanh đếm giảm đi 1, địa chỉ AMD đợchiệu chỉnh lại (hoặc tăng hoặc giảm l) Khi nội dung thanh đếm số từbằng 0, chip AMD thông báo kết thúc hoạt động AMD bằng tín hiệu
TC (terminal count) đợc tạo ra từ thanh đếm số từ Kết thúc quá trìnhAMD, chip AMD sẽ đa theo tín hiệu yêu cầu treo HRQ trở về mức tíchcực (HRQ = 0)
Có hai phơng pháp thực hiện AMD:
Trang 10
Trong đó AMD tận dụng những khoảng thời gian trong một chu kì bus
mà CPU không truy cập bộ nhớ (khi CPU bật phát tín hiệu địa chỉ chocác chu kì đọc huặc viết bộ nhớ) để thực hiện phép AMD Phơng phápthứ hai đòi hỏi việc đồng bộ thời gian rất nghiêm ngặt Ta có giản đồthời gian của phép AMD bằng phơng pháp lấy lén chu kì
Trang 11Hình3 - 3: Sơ đồ khối chíp AMD-8237 AMD-8237A gồm 3 khối chính :
- Khối điều khiển và phân chia thời gian cho các hoạt động bêntrong và tạo tín hiệu điều khiển cho bên ngoài
- Khối điều khiển mã lệnh do CPU đa tới trớc khi phục vụ AMD
và giảI mã từ điều khiển chế độ để chọn điều kiểu AMD
- Khối mã hoá đàu tiên làm trọng tài yêu tiên giải quyết u tiên chonhững kênh AMD yêu cầu phục vụ trong cùng một thời điểm
Trang 12• MEMW:số liệu đang đợc viết ở bộ nhớ chính
• READY: tín hiệu vào từ bộ nhớ hoặc ngoại vi
• HLDA: CPU hoặc bus master báo cho biết nó đã rời khỏi bus cho AMD
• ADSTB: nhận byte cao vào chốt địa chỉ ngoài của DAM
• AEN: kích hoạt chốt địa chỉ của AMD
• HQR: tín hiệu yêu cầu AMD từ chip 8237
• CS: tín hiệu chọn chip
• CLK: lối vào xung nhịp đồng hồ(4,77 MHz hoặc 7,16 MHz trong PC)
• RESET: khởi động lại chip
• DACK0-DACK3: chấp nhận AMD
• DREQ0-DREQ3: đòi hỏi AMD tử ngoại vi
• DB0-DB7: bus số liệu 2 hớng
• A0-A3: ở trạng thái standby,CPU dùng nibble này để định địa chỉ các thanh ghi Khi 8237 đợc kích hoạt,đây là 4 bit địa chỉ thấp
• A4-A7: khi 8237 đợc kích hoạt, đay là 4 bit địa chỉ
• EOP: Kết thúc xử lý AMD
• Vcc: nguồn nuôi +5V
• GND: nối đất
2.2 Các trạng thái làm việc
Tên thanh ghi Độ dài( bit) số lợng Địa chỉ gốc 16 4
Số từ gốc 16 4
Địa chỉ tức thời 16 4
Số từ tức thời 16 4
Trạng thái 8 1
Lệnh 8 1
Tạm thời 8 1
Chế độ 6 4
Mặt nạ 4 1
Trang 132.3 Các thanh ghi bên trong 8237
Các thanh ghi trong chip đợc chia thành hai nhóm: nhóm các thanhghi điều khiển, trạng thái và nhóm các thanh ghi làm việc
2.4 Chu kỳ nghỉ
Khi không có yêu cầu AMD, 8237 ở chu kỳ nghỉ bằng cách liêntục thực hiện trạng thái SI Nó kiểm tra các đờng yêu cầu số liệu DQRvào tất cả các chu kỳ đồng hồ, đồng thời kiểm tra chân chọn mạch CS
để xem CPU có ý định gửi lệnh đến hoặc đọc/ghi thông số, trạng thái,chế độ AMD từ (hoặc vào) chip AMD hay không Nếu CS=0 và HRQ
= 0, 8237 tuân theo sự điều khiển bằng chơng trình của CPU A0-A3 lànhững đầu vào địa chỉ để chọn các thanh ghi trong của 8237 Nhữngthanh ghi này đợc ghi vào hoặc đọc ra tuỳ thuộc vào tín hiệu điềukhiển đọc/ viết IORD và IOWD của CPU
2.5 Chu kì hoạt động
Lúc này chip AMD phát yêu cầu treo HRQ cho CPU Số liệu đợcchuyển bằng AMD trong những chu kỳ này theo một trong những chế
độ sau:
- Chế độ chuyển từng từ (Single Transfer Mode)
- Chế độ chuyển mảng (Bolock Transfer)
- Chế độ chuyển theo nhu cầu (Đeman Transfer)
Trang 14- Chế độ u tiên vòng: kênh vừa phục vụ sẽ có mức u tiên thấpnhất, lúc mới lập chế độ kênh 0 ở mức cao nhất.
2.7 Làm việc với vi xử lý
8237 có thể làm việc một trong hai chế độ u tiên khác nhau theoquy định phần mềm từ CPU là: chế độ u tiên cố định: kênh 0 có mức utiên cao nhất, kênh 3 có mức thấp nhất và chế độ u tiên vòng: kênhvừa phục vụ sẽ có mức u tiên thấp nhất, lúc mới lập chế độ kênh 0 ởmức cao nhất Trớc khi để AMD làm việc, chơng trình cần phải lập cho
nó cho chế độ u tiên, mặt nạ (che) cho từng kênh, v.v và quy địnhcho từng kênh địa chỉ AMD, đọ dài mảng (số đếm từ) bằng cách ghivào các thanh ghi trong của 8237 theo quy định
Trong quá trình hoạt động, 8237 luôn cập nhật trạng thái củamình vào thanh ghi trạng thái để vi xử lý có thể độc ở thời điểm nào.Thông tin trạng thái cho biết kênh AMD nào đã đạt đến số đém kếtthúc TC (terminal count) tức đã chuyển xong mảng số liệu có độ dàiquy định ở thanh ghi số đếm từ gốc, hoặc bị bắt buộc kết thúc chuyển
do tác động của tín hiệu EOP đang vhờ phục vụ bất cứ ở kênh nào nếucó
8237 còn có thể nhận và thực hiện hai lệnh phần mềm vi xử lý: Lệnh xoá mạch lật bên trong nhằm để đa về trạng thái ban đầu tr-
ớc khi đọc học đợc viết địa chỉ hoặc số đếm từ mới vào 8237,
Lệnh xoá toàn bộ có chức năng nh RESET lạnh: tất cả các thanhghi lệnh, trạng thái, yêu cầu mạch lật trong đều bị xoá, thanh ghi mặtnạ đợc lập và 8237 chuyển sang chu kì nghỉ
Thanh ghi yêu cầu AMD:
Hình 3-4: Thanh ghi yêu cầu AMD Thanh ghi lệnh:
Trang 15Hình3- 5: Thanh ghi lệnh Thanh ghi chế độ :
Hình 3-6 :Thanh ghi chế độ Thanh ghi mặt nạ :
Hình 3-7: thanh ghi mặt nạ
Trang 16§Þnh d¹ng cho c¸c thanh ghi
/viÕt
lËt trong
Bus sè liÖu DB0-DB7
A0-A7 A8-A15 A0-A7 A8-A15 W0-W7 W8-W15 W0-W7 W8-W15
A0-A7 A8-A15 A0-A7 A8-A15 W0-W7 W8-W15 W0-W7 W8-W15
Trang 17A0-A7 A8-A15 A0-A7 A8-A15 W0-W7 W8-W15 W0-W7 W8-W15
A0-A7 A8-A15 A0-A7 A8-A15 W0-W7 W8-W15 W0-W7 W8-W15
Bảng 3-1:định dang cho các thanh ghi
C¸c lÖnh cña chip AMD-8237A
TÝn hiÖuA3 A2 A1 A0 O R IOW LÖnh
1 0 0 0 0 1 §äc thanh ghi trang th¸i
1 0 0 0 1 1 N¹p thanh ghi lÖnh
1 0 0 1 0 1 kh«ng hîp lÖ
1 0 0 1 1 0 N¹p thanh ghi yªu cÇu
AMD