1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

chức năng và cấu trúc của vi xử lý trong máy tính

74 1,6K 17
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Chức Năng Và Cấu Trúc Của Vi Xử Lý Trong Máy Tính
Người hướng dẫn PTS. Nguyễn Văn A
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Hệ thống Máy Tính
Thể loại Báo cáo môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 1,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

liển quan đển việc phá vỡ chu kỳ lệnh với giai đoạn riểng biệt xay ra theo thứ tự, chắng hạn toán hạng, lấy toán hạng, thực hiện lệnh, và được làm việc trển một lệnh khác nhau cùng một l

Trang 1

CẤU TRÚC & CHỨC NĂNG CUA VI XỬ LÝ

I Tổ chức bộ xử lý

II Tổ chức thanh ghi

Người sư dụng – các thanh ghi có thể nhìn thấy

III Chu kỳ lệnh

Chu kỳ gián tiểp

IV Cấu trúc đửờng ổng lệnh

Chiển lược Pipelining

Hiệu suất Pipelining

VII Tài liệu tham khao

VIII Tóm tắt, các yêu cấ2 u và cấu hoi ổn tập

Trang 2

NỘI DUNG CHÍNH

có thể nhìn thấy có thể có mục đích sư dụng chung hoặc có một mục đích sư dụng đặc biệt, chắng hạn như điểm cổ định hoặc sổ dấu phấy động, địa chỉ, chỉ mục và con tro phấn đoạn

Một ví dụ rõ ràng là bộ đểm chương trình Một

ví dụ quan trọng khác là chương trình từ trạng

phép toán sổ học, bit cho phép ngắt, và chỉ sổ

sát hoặc chể độ người dùng

liển quan đển việc phá vỡ chu kỳ lệnh với giai đoạn riểng biệt xay ra theo thứ tự, chắng hạn

toán hạng, lấy toán hạng, thực hiện lệnh, và

được làm việc trển một lệnh khác nhau cùng một lúc Sự xuất hiện cua các chi nhánh và phụ

Trang 3

thuộc giữa các hướng dấbn phức tạp thiểt kể và

I TỔ CHỨC BỘ XỬ LÝ

Để hiểu rõ tổ chức cua bộ xư lý, chúng ta hãy xem

O

hoạt động hợp lý trển dữ liệu

đòi hoi ghi dữ liệu vào bộ nhớ hoặc một module

I / O

trí cua lệnh mới nhất để nó có thể biểt được nơi để có

dữ liệu tạm thời trong khi một lệnh đang được thực thi

1 là một cái nhìn đơn gian cua một bộ xư lý, chỉ kểt

Trang 4

Control bus Data bus Address bus System

ALU

Registers

Control unit

Control unit

Registers

Arithmetic and Boolean logic

Control paths

cua bộ vi xư lý là một đơn vị sổ học và logic (ALU) và

xư lý và kiểm soát hoạt động cua ALU

Ngoài ra, hình vẽ cho thấy một bộ

trong đó có một yểu tổ nhãn

bus vi xư lý nội bộ

chuyển dữ liệu giữa các thanh ghi

khác nhau và vì ALU trển thực tể Hình 2

chỉ hoạt động trển dữ liệu trong bộ

Trang 5

nhớ xư lý nội bộ Con sổ này cũng cho thấy các yểu tổ

cơ ban đặc trưng cua ALU

Lưu ý sự giổng nhau giữa cấu trúc bển trong cua máy tính nói chung và các cấu

trúc bển trong cua bộ vi xư lý Trong ca hai trường hợp, có một bộ sưu tập nho

cua yểu tổ chu yểu (máy tính: bộ vi xư lý, I / O, bộ

nhau bằng đường dữ liệu

II TỔ CHỨC THANH GHI

Ở mức cao hơn cua hệ thổng phấn cấp, bộ nhớ nhanh

có một tập các thanh ghi có chức nắng như một cấp

độ cua bộ nhớ trển bộ nhớ chính và bộ nhớ cache trong hệ thổng phấn cấp Các thanh ghi trong bộ vi

xư lý thực hiện hai vai trò:

các lập trình viển máy hoặc ngổn ngữ lắp ráp đểgiam thiểu tham chiểu bộ nhớ chính bằng cách tổi ưu việc sư dụng thanh ghi

hành để kiểm soát việc thực hiện các chương trình

Thanh ghi người sư dụng nhìn thấ y:

Thanh ghi người dùng có thể nhìn thấy là một trong đó

có thể được tham chiểu bằng phương tiện cua ngổn ngữ máy mà bộ vi xư lý thực hiện

Trang 6

Chúng ta có thể mổ ta các trong các loại sau:

• Đa nắng

• Dữ liệu

• Địa chỉ

bơi người lập trình Đổi khi họ sư dụng trong phạm vi các tập lệnh là trực giao với các hoạt động Có nghĩa

là, bất kỳ thanh ghi đa nắng có thể chứa các toán hạng cho bất kỳ mã máy Này cung cấp đúng đa nắng việc sư dụng thanh ghi Thường thì tuy nhiển, có những hạn chể

Ví dụ, thanh ghi có thể được dành riểng cho dấu chấm động và thao tác ngắn xểp

Trong một sổ trường hợp, thanh ghi đa nắng có thể được

sư dụng để giai quyểt các chức nắng (ví dụ, thanh ghi gián tiểp, chuyển) Trong trường hợp khác, có một tách

địa chỉ Thanh ghi dữ liệu có thể được sư dụng để chứa

dữ liệu và khổng thể được sư dụng trong tính toán một địa chỉ toán hạng Thanh ghi địa chỉ ban thấn có thể làthanh ghi đa nắng, hoặc họ có thể dành cho một chể độ giai quyểt cụ thể Ví dụ như sau:

• Con tro đoạn: Trong một máy tính với phấn đoạn giai quyểt, một đoạn thanh ghi giữ địa chỉ cua các cơ sơ cua

Trang 7

• Thanh ghi chỉ sổ: Chúng được sư dụng cho việc giai quyểt được lập chỉ mục và có thể được tự động lập chỉ mục.

• Con tro ngắn xểp: Nểu có người dùng có thể nhìn thấy

khổng nhất thiểt có một ngắn xểp toán hạng rõ ràng

nắng hoặc sư dụng chuyển biệt Với việc sư dụng thanh ghi chuyển biệt, nó thường ấn trong mã máy Bộ ghi rõ toán hạng chỉ phai xác định một trong một bộ các thanh ghi chuyển biệt chứ khổng phai là một trong sổ tất ca

giới hạn sự linh hoạt cua lập trình viển

hoặc dữ liệu cộng thểm địa chỉ, để được cung cấp Một

Tuy nhiển, một cách tiểp cận mới, tìm thấy lợi thể

trong việc sư dụng hàng trắm thanh ghi, được đưa ra trong một sổ hệ thổng RISC

phai giữ địa chỉ rõ ràng tổi thiểu phai đu dài để giữ địa chỉ lớn nhất Thanh ghi dữ liệu có thể giữ giá trị

Trang 8

thanh ghi liển tiểp được sư dụng như một giá trị để giữđổi độ dài

gọi là cờ)

lý là kểt qua cua hoạt động Ví dụ, một phép toán sổ học có thể tạo ra một kểt qua tích cực, khổng tích cực,

lập trình viển khổng thể thay đổi chúng

xác định một so sánh được thực hiện và hoạt động trển

điể+u kiện

Bang 1, dựa trển [DERO87], liệt kể những lợi thể quan

Trong một sổ máy tính, một cuộc gọi chương trình con sẽ

Trang 9

lại Điể+u này cho phép mổbi chương trình con để sư dụng các thanh ghi người dùng có thể nhìn thấy một cách độc lập Trển các máy khác, đó là trách nhiệm cua các lập trình để lưu nội dung cua người sư dụng thanh ghi có

thể nhìn thấy liển quan trước khi gọi chương trình con,

chúng thường không là một phần của đường dẫn dữ liệu chính, vìvậy chúng yêu cầu kết nối thêm phần cứng

phải thêm lệnh không điều

Trang 10

kiện-3. Mã điều kiện thuận

pipelined, mã điều kiện yêu cầuđồng bộ hóa đặc biệt để tránh xung đột

Bảng 1

Thanh ghi điều khiển và thanh ghi trạng thái:

Có rất nhiều thanh ghi xử lý được sử dụng để kiểm soát hoạt động của bộ xử lý Hầu hết trong số này, trên hầu hết các máy móc, không cho người dùng nhìn thấy được

Một số chúng có thể được hiển thị cho lệnh máy thực

nhiên, các máy khác nhau sẽ có các tổ chức thanh ghi

khác nhau và sử dụng thuật ngữ khác nhau Chúng ta liệt

kê ở đây một danh sách hợp lý đầy đủ các loại thanh

ghi, với một mô tả ngắn gọn

Bốn thanh ghi cần thiết cho thực hiện lệnh:

• Chương trình truy cập (PC): Có chứa địa chỉ của một hướng dẫn để được lấy

• Thanh ghi chỉ thị (IR): Chứa các lệnh gần đây nhất

Trang 11

Không phải tất cả bộ vi xử lý có thanh ghi nội bộ chỉ định là MAR và MBR, nhưng một số cơ chế đệm tương đương

là cần thiết nơi bởi các bit được chuyển giao cho bus

hệ thống được tổ chức và các bit được đọc từ bus dữ

cập nhật các máy tính sau mỗi lệnh lấy để máy tính luônluôn trỏ vào lệnh tiếp theo sẽ được thực hiện Rẽ nhánhhoặc bỏ qua lệnh cũng sẽ thay đổi nội dung máy tính Chỉ thị lấy được nạp vào một IR, nơi mà các mã máy và toán hạng đặc tả được phân tích Dữ liệu được trao đổi với bộ nhớ bằng cách sử dụng MAR và MBR Trong một hệ thống bus tổ chức, MAR kết nối trực tiếp đến bus địa chỉ, và MBR kết nối trực tiếp đến bus dữ liệu Thanh ghi người sử dụng nhìn thấy lần lượt trao đổi dữ liệu với MBR

Bốn thanh ghi vừa đề cập được sử dụng cho sự di chuyển của dữ liệu giữa bộ xử lý và bộ nhớ Trong bộ vi xử lý,

dữ liệu phải được trao đổi với ALU để xử lý ALU có thểtruy cập trực tiếp vào MBR và thanh ghi người dùng có thể nhìn thấy Ngoài ra, có thể có thanh ghi đệm thêm tại ranh giới tới ALU, các thanh ghi phục vụ như là đầuvào và đầu ra thanh ghi cho ALU và trao đổi dữ liệu với

thiết kế bộ vi xử lý bao gồm một thanh ghi hoặc tập cácthanh ghi, thường được gọi là từ trạng thái chương trình (PSW), có chứa thông tin trạng thái PSW thường chứa mã điều kiện cộng thêm thông tin trạng thái khác Các trường phổ biến hoặc cờ bao gồm:

• Đăng ký: Chứa các bit dấu hiệu của kết quả của các phép toán số học cuối cùng

• Zero: Thiết lập khi kết quả là 0

Trang 12

• Carry: Thiết lập nếu một hoạt động dẫn đến carry (thêm) vào hoặc vay (trừ) ra

khỏi một chút bậc cao Sử dụng cho các hoạt động nhiều từ số học

• Equal: Thiết lập nếu một logic so sánh kết quả là bằng nhau

Một số thanh ghi liên quan đến trạng thái và điều khiển

có thể được tìm thấy trong một thiết kế bộ vi xử lý cụ thể Có thể có một con trỏ đến một khối bộ nhớ có chứa thông tin trạng thái khác (ví dụ, khối điều khiển tiến

đoạn thanh ghi vector có thể cung cấp Nếu một ngăn xếpđược sử dụng để thực hiện các chức năng nhất định (ví

dụ, gọi chương trình con), khi một con trỏ ngăn xếp hệ thống là cần thiết Một con trỏ được sử dụng với một hệthống bộ nhớ ảo Cuối cùng, thanh ghi có thể được sử dụng trong việc kiểm soát các hoạt động I / O

Một số yếu tố đi vào thiết kế của điều khiển và tổ chứcthanh ghi trạng thái Một vấn đề quan trọng là hoạt động hỗ trợ hệ thống Một số loại thông tin điều khiển được các tiện ích cụ thể cho các hệ điều hành Nếu người thiết kế bộ vi xử lý có một sự hiểu biết chức

Trang 13

bổ các thông tin điều khiển giữa thanh ghi và bộ nhớ

Nó được phổ biến để dành lần đầu tiên (thấp nhất) vài trăm ngàn hoặc từ bộ nhớ cho các mục đích điều khiển Các nhà thiết kế phải chọn bao nhiêu thông tin điều khiển phải có trong các thanh ghi và bao nhiêu trong bộnhớ Thông thường cân bằng của giá so với các tốc độ phát triển

III CHU KỲ LỆNH

Để nhớ lại, một chu kỳ lệnh bao gồm các giai đoạn sau:

• Lấy lệnh: Đọc lệnh kế tiếp từ bộ nhớ vào bộ xử lý

• Thực hiện lệnh: Giải thích các opcode và thực hiện các hoạt động ghi

• Ngắt: Nếu ngắt được kích hoạt và một gián đoạn đã xảy

ra, lưu trạng thái hiện tại và tiến trình phục vụ ngắt

Chu kỳ gián tiếp

Trang 14

Hình 4

Chúng ta có thể nghĩ đến những khi nạp địa chỉ gián tiếp là một đoạn lệnh thêm Kết quả được thể hiện tronghình 4 Dòng chính của hoạt động bao gồm xen kẽ lệnh lấy và các hoạt động thực hiện lệnh Sau khi lệnh đang lấy lệnh, nó được kiểm tra để xác định xem có địa chỉ gián tiếp đang tham gia Nếu vậy, các toán hạng cần được lấy bằng cách sử dụng địa chỉ gián tiếp Tiếp theothực hiện, một ngắt có thể được xử lý trước khi lệnh kếtiếp lấy Một cách khác để xem quá trình này được thể hiện trong hình 5 Điều này cho thấy một cách chính xácthêm tính chất của chu kỳ lệnh Sau khi hướng dẫn một

là lấy lệnh, đặc tả toán hạng của nó phải được xác định Mỗi toán hạng đầu vào trong bộ nhớ sau đó lấy lệnh, và quá trình này có thể yêu cầu địa chỉ gián tiếp Toán hạng thanh ghi trên không cần được lấy Một khi các mã được thực thi, một quá trình tương tự có thểcần thiết để lưu trữ kết quả trong bộ nhớ chính

Trang 15

Hình 5

Luồng dữ liệu

Trình tự chính xác của các sự kiện trong một chu kỳ

lệnh phụ thuộc vào việc thiết kế các bộ vi xử lý Chúng

ta có thể, tuy nhiên, chỉ ra một cách chung chung những

gì phải xảy ra Chúng ta hãy giả định rằng một bộ vi xử

lý sử dụng một địa chỉ bộ nhớ thanh ghi (MAR), đăng ký một bộ nhớ đệm (MBR), một chương trình truy cập (PC),

và thanh ghi lệnh (IR) Trong chu kỳ lấy, một lệnh đượcđọc từ bộ nhớ

Hình 6 cho thấy dòng chảy của dữ liệu trong chu kỳ này

PC chứa địa chỉ của lệnh tiếp theo cần lấy về Địa chỉ này được chuyển đến MAR và được đặt trên bus địa chỉ

Instruction

address

calculation

Instruction operation decoding

Operand address calculation

Data operation

Operand address calculation

Instruction

fetch

Instruction complete, fetcth next instruction

Multiple operands

Return for string

or vector data

No interrupt

Operand fetch

Indirection

Operand store

Interrupt check Interrupt

Multiple results

Indirection

Trang 16

Hình 6

Bộ điều khiển yêu cầu đọc bộ nhớ, và kết quả được đặt trên bus dữ liệu và sao chép vào MBR và sau đó chuyển đến IR Trong khi đó, các máy tính đang tăng thêm 1, chuẩn bị cho việc kế tiếp lấy lệnh Khi chu kỳ lấy lệnhkết thúc, các đơn vị kiểm soát kiểm tra nội dung IR để xác định xem nó có chứa một đặc tả toán hạng bằng cách

sử dụng địa chỉ gián tiếp Nếu như vậy, một chu kỳ giántiếp được thực hiện Như thể hiện trong hình 7, đây là một chu trình đơn Các bit N bên phải của MBR, có chứa các tham chiếu địa chỉ, được chuyển giao cho MAR Sau

đó đơn vị điều khiển yêu cầu đọc bộ nhớ, để có được địachỉ mong muốn của toán hạng vào MBR Chỉ lệnh và chu kỳgián tiếp rất đơn giản và dễ dự đoán Chu kỳ thực hiện

có nhiều hình thức; hình thức phụ thuộc vào của các lệnh máy khác nhau có trong IR Chu kỳ này có thể liên quan đến việc chuyển giao dữ liệu giữa các thanh ghi, đọc hoặc viết từ bộ nhớ hoặc I / O, và / hoặc triệu gọicủa ALU

Address Data Control

PC

CPU

MAR

Control unit

Memory

MBR IR

Trang 17

xử lý có thể tiếp tục hoạt động bình thường sau khi bị gián đoạn Như vậy, nội dung máy tính được chuyển giao cho MBR được ghi vào bộ nhớ Vị trí bộ nhớ đặc biệt dành riêng với mục đích này được nạp vào MAR từ các đơn

vị điều khiển Nó có thể là một con trỏ ngăn xếp Máy tính được nạp với các địa chỉ của các ngắt thường lệ Kết quả là, các chu kỳ lệnh kế tiếp sẽ được truyền bằng

Memory

MBR

Trang 18

Hình 8

IV CẤU TRÚC ĐỬỜNG ỔNG LỆNH

Chiế n lược pipelining

Lệnh pipelining cũng tương tự như việc sư dụng một dấy

lắp ráp tận dụng thực tể là một san phấm đi qua các giai đoạn khác nhau cua san xuất Bằng cách đặt quá

phấm ơ các giai đoạn khác nhau có thể được làm việc cùng một lúc Quá trình này cũng được gọi là

kia Để áp dụng khái niệm này để thực hiện lệnh, chúng

Trang 19

Hình 9

Như phương pháp đơn gian, hãy xem xét chia nho xư lý lệnh thành hai giai đoạn: lấy lệnh và thực hiện lệnh

Có những thời điểm trong khi thực hiện một lệnh khi bộ nhớ chính khổng được truy cập Thời gian này có thể được sư dụng để lấy các lệnh tiểp theo trong song song với việc thực hiện cua một hiện tại Hình 9a mổ ta cách

bất kỳ chu kỳ bộ nhớ khổng sư dụng để lấy và đệm tiểp

giữa các giai đoạn

Rõ ràng rằng quá trình này sẽ tắng tổc độ thực hiện lệnh Nểu lấy lệnh và thực hiện các giai đoạn cua thời gian là như nhau, chu kỳ thời gian lệnh sẽ được giam đimột nưa Tuy nhiển, nểu chúng ta xem xét kỹ hơn đường ổng này (Hình 9b), ta sẽ thấy rằng tắng gấp đổi này tỉ

lệ thực hiện là khổng chắc vì hai lý do:

1 Thời gian thực hiện nói chung sẽ được dài hơn thời

toán hạng và hiệu suất cua một sổ tác vụ Như vậy, giai

Trang 20

đoạn lấy lệnh có thể phai chờ một thời gian trước khi

nó thể làm trổng bộ đệm

đoạn lấy lệnh phai đợi cho đển khi nó nhận được địa chỉlệnh kể tiểp từ khấu thực hiện Sau đó thực các giai đoạn hiện có thể phai chờ trong khi lấy các lệnh tiểp theo

Có thể làm giam mất thời gian từ lý do thứ hai Một

đoạn thực hiện, các giai đoạn lấy lệnh nạp lệnh kể tiểptrong bộ nhớ sau khi lệnh rẽ nhánh Sau đó, nểu rẽ

nhánh là khổng được, khổng có thời gian bị mất Nểu chinhánh được thực hiện, lệnh lấy phai được loại bo và mộtlệnh mới được tai

ra Để đạt được tổc độ tắng hơn nữa, các đường ổng phai

phấn chia dưới đấy trong xư lý lệnh

• Lấy lệnh (FI): Đọc lệnh dự kiển tiểp theo vào một bộ đệm

• Giai mã lệnh (DI): Xác định mã máy và xác định toán hạng

• Tính toán hạng (CO): Tính toán địa chỉ hiệu qua cua

việc di dời, thanh ghi gián tiểp hoặc dạng khác cua phép tính địa chỉ

Trang 21

• Lấy toán hạng (FO): Tìm nạp mổbi toán hạng từ bộ nhớ

• Thực hiện lệnh (EI): Thực hiện các hoạt động ghi và lưu trữ kểt qua, nểu có, trong vị trí toán hạng đích xác định

• Ghi toán hạng (WO): Lưu trữ kểt qua trong bộ nhớ

Với phấn tích này, các giai đoạn khác nhau sẽ có thời

thời gian bằng nhau Sư dụng gia định này, Hình 10 cho

giam thời gian thực hiện cho 9 lệnh từ 54 đơn vị thời gian đển 14 đơn vị thời gian Một sổ nhận xét theo thứ

giai đoạn

các giai đoạn có thể được thực hiện song song Đặc

biệt, nó được gia định rằng khổng có xung đột bộ nhớ

Ví dụ, FI, FO và WO các giai đoạn liển quan đển một truy cập bộ nhớ

khổng làm chậm các đường ổng

Trang 22

Một sổ yểu tổ khác làm hạn chể nấng cao hiệu suất Nểu sáu giai đoạn khổng phai là thời gian bằng nhau, sẽ có

khác nhau, như thao luận trước với các đường ổng có haigiai đoạn

đoán trước giổng như là một ngắt Hình 11 minh họa tác

tự như Hình 10

Cho tới khi thực hiện lệnh, khổng có cách nào để biểt được lệnh sẽ đển tiểp theo

CO

FO

EI WO

Lện

h 2

FI

DI

CO

Trang 23

h 9

Hình 10

Các đường ổng, trong ví dụ này, chỉ đơn gian là tai các

Trong hình 10, các lệnh rẽ nhánh là khổng được, và

khổng được xác định cho đển khi cuổi cua thời gian đơn

xóa các lệnh mà khổng hữu ích Trong thời gian đơn vị

trong đơn vị thời gian 9 đển 12, đấy là giam hiệu suất phát sinh vì chúng ta khổng thể dự đoán các rẽ nhánh

chiểm các rẽ nhánh và ngắt

gian có hai giai đoạn cua chúng ta Giai đoạn CO có thểphụ thuộc vào nội dung cua một thanh ghi có thể được

chắng hạn xung đột thanh ghi và bộ nhớ hoặc các xung đột khác có thể xay ra Hệ thổng phai có logic để giai thích cho các loại xung đột Để làm rõ hoạt động đường ổng, nó có thể là có ích cho hãy nhìn vào một mổ ta khác Hình 10 và 11 cho thấy tiển triển thời gian theo

hàng hiển thị trạng thái cua các đường ổng tại một điểmnhất định trong thời gian

Trang 24

CO

Trang 25

Trong hình 13a (tương ứng với Hình 10), các đường ổng

thổng qua thời gian 9, chúng tổi gia sư rằng lệnh I9 làchỉ thị mới nhất được thực thi

Trong hình 13b, (tương ứng với Hình 11), các đường ổng

Vào thời điểm 7, hướng 3 đang trong giai đoạn thực hiện

No Yes

Fetch instruction

Decode instruction

Uncon ditional branch?

Branch

or interrupt?

Write operands

Fetch operands

Execute instruction

Update PC

Empty pipe

Hình 12 Six-Stage CPU Instruction Pipeline

Trang 26

Tại thời điểm này, hướng dấbn I4 qua i7 đang đo mặt từ các đường ổng, do đó, vào thời điểm 8, chỉ có hai hướng

Hình 13 a, b

Từ phần thảo luận trước đó, ta thấy có thể xuất hiện lớn hơn số lượng giai đoạn trong các đường ống dẫn, làmtốc độ thực hiện nhanh hơn Một số các nhà thiết kế IBMS/360 chỉ ra hai yếu tố làm thất bại mô hình đơn giản này cho thiết kế hiệu suất cao [ANDE67a], và chúng vẫn còn các yếu tố mà nhà thiết kế vẫn còn phải xem xét:

liên quan đến di chuyển dữ liệu từ vùng đệm đến vùng đệm và thực hiện nhiều chuẩn bị và chuyển giaochức năng Trên đầu này có thể thấy rõ kéo dài tổng

số thời gian thi hành của một lệnh Điều này là

Trang 27

đáng kể khi lệnh tuần tự là hợp lý phụ thuộc, hoặc qua sử dụng nhánh hoặc qua tính phụ thuộc truy cập

bộ nhớ

thanh ghi tính phụ thuộc và để tối ưu hóa việc sử dụng ống dẫn gia tăng lên cùng với số các trạng thái Điều này có thể dẫn đến tình huống mà lôgic kiểm soát cổng giữa các trạng thái phức tạp hơn là các trạng thái được điều khiển

Xem xét khác là chậm trễ mạch gài : cần có thời gian cho vùng đệm ống dẫn để vận hành và này thêm vào thờigian chu kỳ chỉ thị

Lập dàn ống dẫn lệnh là kỹ thuật mạnh để cải tiến hiệu năng nhưng yêu cầu thiết kế cẩn thận phải đạt được kết quả tối ưu với độ phức tạp hợp lý

Hiệu suất ống dẫn

Này phần phụ, chúng tôi phát triển một số biện pháp đơn giản của năng suất ống dẫn và tăng tốc tương đối ( dựa trên thảo luận trong [ HWAN93 ] ) Thời gian chu kỳ của ống dẫn lệnh là lúc cần trước tập hợp các lệnh một giai đoạn qua ống dẫn ; mỗi cột trong hình

Trang 28

thời gian trễ của hệ mạch trong trạng thái thứ i của ống dẫn

trễ trạng thái tối đa ( trễ trạng thái mà có chậm trễ lớn nhất )

số trạng thái của đường ống lệnh

thời gian trễ của một chốt, cần thiết để đẩy tín hiệu

và dữ liệu từ trạng thái này đến trạng thái kế tiếp.Nói chung, thời gian trễ d tương đương với một xung

k trạng thái để xử lý n lệnh Thì:

Có tổng cộng k chu kỳ phải hoàn thành ở lệnh đầu tiên,

và còn lại n-1 lệnh yêu cầu n-1 chu kỳ Dễ dàng chứng minh công thức này từ hình 10 và 12 Lệnh thứ 9 được hoàn thành vào khoảng thời gian chu kỳ thứ 14:

14=[6+(9-1)]

Bây giờ hãy xem một bộ xử lý với các chức năng tương đương nhưng không có đường ống, và giả định rằng chu kỳ

dẫn so với thực hiện mà không có đường ống dẫn được định nghĩa là:

Hình 14a các lô yếu tố tăng tốc như một hàm của số các lệnh được thực hiện không có chi nhánh Đúng như dự

lần Hình 14b cho thấy yếu tố tăng tốc như một hàm của

số lượng các giai đoạn trong các đường ống dẫn Trong

Trang 29

trường hợp này, các yếu tố tăng tốc tiếp cận số các lệnh có thể được đưa vào các đường ống dẫn mà không có

rẽ nhánh

Do đó, lớn hơn số lượng các trạng thái đường ống, lớn hơn khả năng có thể tăng tốc Tuy nhiên, là một vấn đề thực tế, lợi ích tiềm năng bổ sung đường ống trạng tháiđược chống lại bởi tăng giá thành, trễ giữa các trạng thái, và thực tế rằng rẽ nhánh sẽ gặp phải yêu cầu xả của đường ống

Hình 14a

Trang 30

Hình 14b

Mối nguy hại đường ống

Một mối nguy hiểm đường ống xảy ra khi đường ống dẫn, hoặc một số phần của đường ống, phải dừng vì điều kiện không cho phép tiếp tục thực hiện Có ba loại của các mối nguy hiểm: tài nguyên, dữ liệu và kiểm soát

Một mối nguy hiểm tài nguyên xảy ra khi hai (hoặc nhiềuhơn) lệnh đã có trong các đường ống dẫn cần cùng một tài nguyên Kết quả là các hướng dẫn phải được thực hiện trong nối tiếp thay vì song song cho một phần của đường ống dẫn Một mối nguy hiểm tài nguyên đôi khi được gọi là một mối nguy hiểm về cơ cấu Chúng ta hãy xem xét một ví dụ đơn giản của một mối nguy hiểm tài

Trang 31

nguyên Giả sử một năm trạng thái đơn giản đường ống dẫn, trong đó mỗi trạng thái có một chu kỳ đồng hồ

hướng dẫn mới đi vào các đường ống dẫn mỗi chu kỳ đồng

hồ Bây giờ giả sử rằng bộ nhớ chính có một cổng duy nhất và tất cả các hướng dẫn nạp dữ liệu và đọc và

ghi phải được thực hiện cùng một lúc Hơn nữa, bỏ qua

bộ nhớ cache Trong trường hợp này, một toán hạng đọc hoặc ghi từ bộ nhớ không thể được thực hiện song song với một lệnh lấy Điều này được minh họa trong hình 12.15b, trong đó giả định rằng nguồn toán hạng để được hướng dẫn I1 là trong bộ nhớ, chứ không phải là thanh ghi Do đó, lệnh lấy trạng thái của đường ống phải nhànrỗi cho một chu kỳ trước khi bắt đầu lệnh lấy I3 Hình

vẽ giả thiết rằng tất cả các toán hạng khác trong thanhghi

Trang 32

Hình 15

Một ví dụ khác cua xung đột tài nguyển là một tình

đoạn thực hiện lệnh và có một đơn vị ALU Một giai phápcho những mổi nguy hiểm tài nguyển như vậy là để tắng

Trang 33

Một mổi nguy hiểm dữ liệu xay ra khi có xung đột trong việc tiểp cận một vị trí toán hạng Nói chung, chúng ta

có thể nểu rõ mổi nguy hiểm theo hình thức này: Hai lệnh trong một chương trình đang được thực hiện theo thứ tự và ca hai truy cập vào cụ thể bộ nhớ hoặc thanh ghi toán hạng Nểu hai lệnh được thực hiện theo trình

các lệnh được thực hiện trong một đường ổng thì nó có thể cho giá trị toán hạng được cập nhật một cách như vậy có thể tạo ra một kểt qua khác nhau sẽ xay ra dểb

các chương trình tạo ra một kểt qua khổng chính xác vì việc sư dụng pipelining

Ví dụ, hãy xem xét trình tự lệnh máy x86 sau:

ADD EAX, EBX / * EAX = EAX + EBX

SUB ECX, EAX / * ECX = ECX – EAX

32-bit EAX và EBX và lưu trữ kểt qua trong EAX Lệnh thứ hai trừ đi các nội dung cua EAX từ ECX và lưu trữ kểt qua trong ECX Hình 16 cho thấy hành vi đường ổng Lệnh ADD khổng cập nhật ghi EAX đển cuổi trạng thái 5,

Trang 34

 Đọc sau khi ghi (RAW), hoặc phụ thuộc đúng: Một lệnh sưa đổi một thanh ghi hoặc vị trí bộ nhớ và một lệnh thành cổng đọc dữ liệu trong đó bộ nhớ hoặc địa điểm thanh ghi Một mổi nguy hiểm xay ra

lệnh đọc một thanh ghi hoặc bộ nhớ vị trí và lệnh thành cổng ghi vào vị trí Một mổi nguy hiểm xay ranểu các hoạt động ghi hoàn tất trước khi các hoạt

lệnh ca hai ghi

để cùng một vị trí Một mổi nguy hiểm xay ra nểu

Ví dụ cua hình 16 là một mổi nguy hiểm RAW:

Hình 16

Trang 35

phai được loại bo chúng ta thao luận phương pháp tiểp

theo

Xư lý rẽ nhánh

đường ổng lệnh được đam bao một ổn định dòng chay cua

thi, nó là khổng thể xác định liệu các rẽ nhánh sẽ đượcthực hiện hay khổng Một loạt các phương pháp đã được

vì nó phai chọn một trong hai lệnh để lấy tiểp theo và

có thể làm cho sai sự lựa chọn Một cách tiểp cận

ổng và cho phép đường ổng tìm nạp ca hai lệnh, cách sư

truy cập vào các thanh ghi và bộ nhớ

• lệnh rẽ nhánh bổ sung có thể nhập vào các đường ổng

Trang 36

Mặc dù có những hạn chể, chiển lược này có thể cai

đường ổng là IBM 370/168 và IBM 3033

kiện được cổng nhận, mục tiểu cua rẽ nhánh là tìm nạp, ngoài các lệnh sau rẽ nhánh Đích này sẽ được lưu lại cho đển khi lệnh rẽ nhánh được thực hiện Nểu các rẽ nhánh được thực hiện, các đích đã được tìm nạp trước IBM 360/91 sư dụng phương pháp này

Một bộ đệm vòng lặp là một bộ nhớ tổc độ rất cao nho duy trì bơi lệnh lấy trạng thái cua đường ổng và chứa n

mục tiểu rẽ nhánh nằm trong bộ đệm Nểu như vậy, tiểp

lợi ích:

1.Với việc sư dụng tìm nạp, bộ đệm vòng lặp sẽ có một

lấy địa chỉ Như vậy, lệnh lấy theo thứ tự sẽ có

thường

2.Nểu một rẽ nhánh xay ra với một mục tiểu chỉ là mộtvài địa điểm trước địa chỉ cua lệnh rẽ nhánh, mục

trong sự xuất hiện khá phổ biển cua IF-THEN và các

Trang 37

các lệnh trong vòng một, sau đó những cấu lệnh cấ+n phai được lấy từ

tiểp theo, tất ca các

Bộ đệm vòng lặp tương tự như trong nguyển tắc một bộ

bộ đệm vòng lặp chỉ giữ lại lệnh trong trình tự và kích

Hình 17 cho một ví dụ cua một bộ đệm vòng lặp Nểu bộ đệm chứa 256 byte, và byte địa chỉ được sư dụng, sau đó

8 bit ít nhất là đáng kể được sư dụng để chỉ sổ đệm

định nểu các chi nhánh đích nằm trong mổi trường bị bắtbơi các bộ đệm Trong sổ các máy sư dụng một bộ đệm vòng lặp là một sổ các máy CDC (Star-100, 6600, 7600)

Motorola 68.010, để thực hiện một vòng lặp ba-lệnh liển

kiện) lệnh Một ba từ đệm được duy trì, và bộ vi xư lý

lặp là hài lòng

Ngày đăng: 16/04/2014, 20:00

HÌNH ẢNH LIÊN QUAN

Hình 6 cho thấy dòng chảy của dữ liệu trong chu kỳ này. - chức năng và cấu trúc của vi xử lý trong máy tính
Hình 6 cho thấy dòng chảy của dữ liệu trong chu kỳ này (Trang 14)
Hình 12 Six-Stage CPU Instruction Pipeline - chức năng và cấu trúc của vi xử lý trong máy tính
Hình 12 Six-Stage CPU Instruction Pipeline (Trang 24)
Hình 17 cho một ví dụ của một bộ đệm vòng lặp. Nếu bộ đệm  chứa 256 byte, và byte địa chỉ được sử dụng, sau đó 8 bit ít nhất là đáng kể được sử dụng để chỉ số đệm - chức năng và cấu trúc của vi xử lý trong máy tính
Hình 17 cho một ví dụ của một bộ đệm vòng lặp. Nếu bộ đệm chứa 256 byte, và byte địa chỉ được sử dụng, sau đó 8 bit ít nhất là đáng kể được sử dụng để chỉ số đệm (Trang 36)
Bảng lịch sử nhánh là một bộ nhớ cache nhỏ liên quan đến  việc lệnh lấy giai đoạn của đường ống - chức năng và cấu trúc của vi xử lý trong máy tính
Bảng l ịch sử nhánh là một bộ nhớ cache nhỏ liên quan đến việc lệnh lấy giai đoạn của đường ống (Trang 40)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w