Kiến trúc CISC và RISC. Phân tích so sánh kiến ​​trúc CISC và RISC

Lớp kiến ​​trúc lệnh bao gồm một tập hợp các lệnh máy được thực thi bởi phần mềm hoặc phần cứng trình thông dịch.

Hai kiến ​​trúc tập lệnh chính được ngành công nghiệp máy tính sử dụng ngày nay là kiến ​​trúc CISC và RISC.

– Máy tính tập lệnh hoàn chỉnh (kiến trúc CISC, máy tính dựa trên bộ vi xử lý với bộ hướng dẫn đầy đủ)

– Máy tính tập lệnh rút gọn (kiến trúc RISC, máy tính có tập lệnh rút gọn)

CISC RISC
Người sáng lập, người mẫu IBM, IBM/360 CDC6600 (Cray)
Lãnh đạo hôm nay x86 Alpha, PowerPC, SPARC
Chợ Máy tính cá nhân (do khả năng tương thích với phần mềm của các mẫu máy thấp hơn, tổng chi phí của nó - vào đầu những năm 90 - lên tới vài tỷ đô la Mỹ) Máy tính hiệu suất cao (chi phí phần mềm không đáng kể)
Thực hiện Phần sụn (thông dịch) Phần cứng
Số lượng thanh ghi mục đích chung bé nhỏ to lớn
Định dạng lệnh một số lượng lớn các định dạng lệnh có kích thước bit khác nhau lệnh có độ dài cố định và định dạng cố định
Địa chỉ một số lượng lớn các phương pháp đánh địa chỉ, ưu thế của định dạng lệnh hai địa chỉ phương pháp đánh địa chỉ đơn giản, định dạng lệnh ba địa chỉ

Người sáng lập, người mẫu

Việc tổ chức các mẫu bộ xử lý đầu tiên - i8086/8088 - đặc biệt nhằm mục đích giảm âm lượng chương trình, điều này rất quan trọng đối với các hệ thống có RAM nhỏ vào thời điểm đó. Việc mở rộng phạm vi hoạt động được thực hiện bởi hệ thống lệnh giúp giảm kích thước của chương trình cũng như độ phức tạp của việc viết và gỡ lỗi chúng. Tuy nhiên, sự gia tăng số lượng lệnh đã làm tăng độ phức tạp của việc phát triển triển khai cấu trúc liên kết và chương trình vi mô của chúng. Điều thứ hai thể hiện ở việc kéo dài thời gian phát triển của bộ xử lý CISC, cũng như biểu hiện nhiều lỗi khác nhau trong hoạt động của chúng.

Những thiếu sót này đòi hỏi phải phát triển một kiến ​​trúc thay thế - RISC, nhằm chủ yếu vào việc giảm tính bất thường của luồng lệnh bằng cách giảm tổng số lệnh.

Lãnh đạo hôm nay

Bộ xử lý Intel, bắt đầu từ 486, chứa lõi RISC thực thi các lệnh đơn giản nhất (và thường là phổ biến nhất) trong một chu kỳ đường dẫn dữ liệu, trong khi các lệnh phức tạp hơn được diễn giải bằng công nghệ CISC thông thường. Kết quả là, các lệnh thông thường được thực thi nhanh chóng, trong khi các lệnh phức tạp và hiếm hơn được thực thi chậm. Mặc dù cách tiếp cận “hỗn hợp” này không nhanh bằng RISC, nhưng kiến ​​trúc này có một số ưu điểm vì nó cho phép sử dụng phần mềm cũ mà không cần sửa đổi.

Mẫu vi xử lý Intel đầu tiên tiến gần đến kiến ​​trúc RISC– PentiumPRO (Tổ chức RISC chính xác - Kiến trúc RISC chính thức).

Thực hiện

Việc loại bỏ lớp thông dịch đảm bảo tốc độ thực thi cao cho hầu hết các lệnh. Trong máy tính CISC, các lệnh phức tạp hơn có thể được chia thành nhiều phần, sau đó được thực thi dưới dạng một chuỗi các vi lệnh. Thao tác bổ sung này làm giảm tốc độ của máy nhưng có thể hữu ích đối với các lệnh không thường xuyên.

Số lượng đăng ký

Sự phát triển của kiến ​​trúc RISC phần lớn được quyết định bởi sự tiến bộ trong việc tạo ra các trình biên dịch tối ưu hóa. Công nghệ biên dịch hiện đại giúp tận dụng hiệu quả số lượng thanh ghi lớn hơn, tổ chức đường dẫn và tốc độ thực hiện lệnh cao hơn.

Một số lượng lớn các thanh ghi cho phép lưu trữ nhiều dữ liệu hơn trong các thanh ghi trên chip xử lý trong thời gian dài hơn và giúp trình biên dịch phân bổ các thanh ghi cho các biến dễ dàng hơn.

Định dạng lệnh

Các lệnh phải dễ giải mã. Giới hạn về số lượng lệnh được gọi mỗi giây phụ thuộc vào quá trình giải mã của từng lệnh riêng lẻ. Các lệnh được giải mã để xác định những tài nguyên nào chúng cần và những hành động nào cần được thực hiện. Bất kỳ phương tiện nào giúp đơn giản hóa quá trình này đều hữu ích. Ví dụ: các lệnh thông thường có độ dài cố định và một số trường nhỏ được sử dụng. Càng ít định dạng lệnh khác nhau thì càng tốt.

Địa chỉ

Các phương pháp đánh địa chỉ đơn giản có thể đơn giản hóa đáng kể việc giải mã lệnh. Việc tổ chức cơ cấu đăng ký là ưu điểm chính và là vấn đề chính của RISC. Hầu hết mọi triển khai của kiến ​​trúc RISC đều sử dụng các hoạt động xử lý ba, trong đó kết quả và hai toán hạng có địa chỉ độc lập - R1:= R2, R3. Điều này cho phép bạn chọn các toán hạng từ các thanh ghi hoạt động có địa chỉ và ghi kết quả của phép toán vào thanh ghi mà không tốn nhiều thời gian. Ngoài ra, ba thao tác mang lại cho trình biên dịch tính linh hoạt cao hơn so với các thao tác bộ nhớ đăng ký kép điển hình của kiến ​​trúc CISC. Khi kết hợp với số học tốc độ cao, hoạt động đăng ký để đăng ký RISC trở thành một cách rất mạnh mẽ để cải thiện hiệu suất bộ xử lý.

So sánh CISC và
Kiến trúc RISC
bộ vi xử lý

CISC
Trong lịch sử, bộ vi xử lý đầu tiên xuất hiện ở
Những năm 70 của thế kỷ XX, có cách làm tương đối đơn giản
hệ thống chỉ huy, được giải thích bằng nhỏ
khả năng của công nghệ mạch tích hợp BẰNG
tăng mức độ tích hợp của các nhà phát triển vi mạch
MP đã cố gắng mở rộng hệ thống chỉ huy và thực hiện
ra lệnh có nhiều chức năng hơn, "về mặt ngữ nghĩa
nạp vào."

CISC
Điều này được giải thích đặc biệt bởi hai điểm:
Đầu tiên, yêu cầu tiết kiệm bộ nhớ cho
sắp xếp các chương trình, để lại nhiều bộ nhớ hơn cho
dữ liệu, v.v., và thứ hai – cơ hội
thực hiện các quy trình phức tạp bên trong chip xử lý
hướng dẫn nhanh hơn khi được lập trình
thực hiện. Kết quả là, các bộ xử lý có
tập hợp lớn các lệnh và các lệnh này
cũng thường khá phức tạp. TRONG
Sau đó, các nghị sĩ này được gọi là CISC.

CISC
CISC (Tính toán tập lệnh phức tạp hoặc tập lệnh phức tạp
máy tính - một máy tính có đầy đủ các lệnh) - khái niệm
thiết kế bộ xử lý, được đặc trưng bởi những điều sau đây
tập thuộc tính:
● giá trị không cố định của độ dài lệnh;
● các phép tính số học được mã hóa trong một lệnh;
● một số lượng nhỏ các thanh ghi, mỗi thanh ghi thực hiện nghiêm ngặt
một chức năng nhất định.

Nhược điểm của CISC
Cùng với những ưu điểm nổi bật, bộ xử lý CISC
cũng có một số nhược điểm, đặc biệt - các đội
hóa ra là rất bất bình đẳng về thời gian
thực hiện (số chu kỳ khác nhau), xấu
được băng tải, yêu cầu phức tạp (và tốn thời gian)
giải mã và thực thi. Để tăng
năng suất bắt đầu sử dụng logic cứng
quản lý, điều này ảnh hưởng đến tính thường xuyên và phức tạp
tinh thể (tinh thể không đều ít tiên tiến về mặt công nghệ
trong quá trình sản xuất). Có rất ít không gian còn lại trên tinh thể
cho RON và CACHE.

Lịch sử của CISC
Đại diện tiêu biểu là
hầu hết các bộ xử lý thuộc họ x86.
Ví dụ:
Intel 8008, Intel 80286, Motorola 68k

RISC là gì?
Kiến trúc RISC (Máy tính tập lệnh giảm)
bộ xử lý với tập lệnh rút gọn.
Nghiên cứu trong lĩnh vực này đã bắt đầu
của IBM vào năm 1975. Thực tế là RISC
kiến trúc tương tự được tạo ra bởi Seymour Cray
vào năm 1964 và được thử nghiệm trên siêu máy tính CDC
6600.

"Giảm bộ lệnh" không có nghĩa là
Bộ xử lý có một số lượng nhỏ các hướng dẫn. Cái này
nó chỉ có nghĩa là các hướng dẫn được chia thành
hành động mà kết quả có thể được tính toán
trong một khoảng thời gian nhất định (thường là một chu kỳ đồng hồ).

Đặc điểm của RISC
1. Mọi thao tác phải được thực hiện trong một chu kỳ đồng hồ, bên ngoài
tùy thuộc vào loại của nó.
2. Hệ thống chỉ huy phải có số lượng tối thiểu
hướng dẫn cơ bản được sử dụng phổ biến nhất
cùng chiều dài.
3. Các thao tác xử lý dữ liệu chỉ được thực hiện dưới dạng
"registerregister" (toán hạng được chọn từ hoạt động
các thanh ghi bộ xử lý và kết quả của thao tác được ghi
cũng vào sổ đăng ký; và trao đổi giữa các sổ đăng ký hoạt động và
bộ nhớ chỉ được thực thi bằng các lệnh đọc/ghi).
4. Cấu trúc của hệ thống lệnh phải “thuận tiện” cho việc biên dịch
toán tử của các ngôn ngữ bậc cao.

RISC
Một kiến ​​trúc mới được tạo ra để loại bỏ
nhược điểm của kiến ​​trúc CISC, nhưng không nhận được
phổ biến vào thời điểm đó do sự thống nhất của tiêu chuẩn
Intelx86 và tất cả các chương trình được phát hành vào thời điểm đó dưới
Bộ xử lý CISC (chính xác hơn là việc miễn cưỡng viết lại chúng
một lần nữa, vì quá trình này tốn kém).

RISC
Lõi tính toán không còn cần thiết nữa
truy cập RAM chậm hơn để ghi và
đọc kết quả. Những mục tiêu này hiện đã được hoàn thành
các thanh ghi mục đích chung và vào RAM
kháng cáo chỉ xảy ra trong quá trình đọc ban đầu
dữ liệu và xuất kết quả tính toán.
Lộ trình "đăng ký" được hỗ trợ.

RISC
Vấn đề chính
triển khai kiến ​​trúc RISC
không đủ
hỗ trợ phần mềm và
phần mềm. Mũi
sự ra đời của sự hỗ trợ UNIX
Các hệ thống giống Linux, điều này
vấn đề thực tế đã được giải quyết.

RISC
Những đại diện nổi tiếng và thành công nhất
Kiến trúc RISC là ARM của nhà phát triển
Tập đoàn ARM. Bộ xử lý với kiến ​​trúc này,
được sử dụng trong phần lớn điện thoại di động
các thiết bị và thậm chí cả hệ thống máy chủ, nhờ
tiêu thụ điện năng và tản nhiệt rất thấp.

RISC
Hiện tại, kiến ​​trúc RISC là một
phổ biến nhất trên thế giới, có hơn 40%
thị trường thế giới. Kết quả này chủ yếu
nhờ vào kiến ​​trúc ARM và những gì trong hiện đại
thiết bị di động được sử dụng đặc biệt
Bộ xử lý ARM (chiếm đa số tuyệt đối).

RISC
CDC 6600 nguồn gốc của ý tưởng
Bộ xử lý RISC trên đó
hầu hết hiện đang làm việc
thiết bị điện tử: từ tủ lạnh
sang iPhone.

So sánh CISC và RISC
Sự xuất hiện của một kiến ​​trúc RISC hoàn chỉnh trên
bộ xử lý, giúp đơn giản hóa việc thiết kế
lõi tính toán; giảm chi phí, diện tích
đồng thời tăng số lượng sổ đăng ký chung
các cuộc hẹn; Thống nhất các lệnh cho
lõi tính toán và cân bằng thời gian thực hiện
của tất cả các nhóm, điều này cũng giúp thực hiện được
xử lý các hướng dẫn theo đường ống (thực hiện
hướng dẫn phức tạp từ kết quả của những hướng dẫn đơn giản hơn).

So sánh CISC và RISC
Bắt đầu với Intel 486DX, tất cả bộ xử lý x86 đều có
lõi RISC bên trong, chỉ còn lại
bộ chuyển đổi và băng tải bổ sung,
ở đầu vào chuyển đổi các hướng dẫn CISC thành
RISC và đầu ra trở lại CISC. Điều này là cần thiết từ
do đặc điểm của kiến ​​trúc x86 nhưng đôi khi nó bị chậm
công việc của bộ xử lý và số lượng
so sánh bóng bán dẫn, diện tích và tản nhiệt
với bộ xử lý RISC đầy đủ.

1.1 Sự khác biệt chính giữa kiến ​​trúc CISC và RISC

Hai kiến ​​trúc tập lệnh chính được ngành công nghiệp máy tính sử dụng ở giai đoạn phát triển công nghệ máy tính hiện nay (theo) là kiến ​​trúc CISC và RISC. Người sáng lập kiến ​​trúc CISC có thể được coi là công ty IBM với kiến ​​trúc cơ bản /360, cốt lõi của kiến ​​trúc này đã được sử dụng từ năm 1964 và tồn tại cho đến ngày nay, chẳng hạn như trong các máy tính lớn hiện đại như IBM ES/9000. Dẫn đầu trong việc phát triển bộ vi xử lý có tập lệnh đầy đủ (CISC - Complete Manual Set Computer) được coi là Intel với dòng x86 và Pentium. Kiến trúc này là tiêu chuẩn thực tế cho thị trường máy vi tính. Bộ xử lý CISC được đặc trưng bởi: số lượng thanh ghi đa năng tương đối nhỏ; một số lượng lớn các lệnh máy, một số lệnh được tải về mặt ngữ nghĩa tương tự như các toán tử của ngôn ngữ lập trình cấp cao và được thực thi trong nhiều chu kỳ xung nhịp; một số lượng lớn các phương pháp đánh địa chỉ; một số lượng lớn các định dạng lệnh có kích thước bit khác nhau; ưu thế của định dạng lệnh hai địa chỉ; sự hiện diện của các lệnh xử lý thuộc loại bộ nhớ đăng ký.

Cơ sở kiến ​​trúc của các máy trạm và máy chủ hiện đại là kiến ​​trúc của một máy tính có tập lệnh rút gọn (RISC - Máy tính tập lệnh rút gọn). Sự khởi đầu của kiến ​​trúc này quay trở lại với các máy tính CDC6600, các nhà phát triển của chúng (Thornton, Cray, v.v.) đã nhận ra tầm quan trọng của việc đơn giản hóa bộ hướng dẫn để xây dựng các máy tính nhanh. S. Cray đã áp dụng thành công truyền thống đơn giản hóa kiến ​​trúc này khi tạo ra loạt siêu máy tính nổi tiếng của Cray Research. Tuy nhiên, khái niệm RISC theo nghĩa hiện đại cuối cùng đã được hình thành trên cơ sở ba dự án nghiên cứu máy tính: bộ xử lý 801 của IBM, bộ xử lý RISC của Đại học Berkeley và bộ xử lý MIPS của Đại học Stanford.

Các tính năng khác của kiến ​​trúc RISC bao gồm sự hiện diện của một tệp thanh ghi khá lớn (bộ xử lý RISC điển hình triển khai 32 thanh ghi trở lên, so với 8 đến 16 thanh ghi trong kiến ​​trúc CISC), cho phép lưu trữ nhiều dữ liệu hơn trong các thanh ghi trên chip xử lý. và đơn giản hóa công việc của trình biên dịch trong việc cấp phát các thanh ghi cho các biến.

Để xử lý, theo quy định, các lệnh ba địa chỉ được sử dụng, ngoài việc đơn giản hóa việc giải mã, còn giúp lưu trữ số lượng biến lớn hơn trong sổ đăng ký mà không cần tải lại chúng sau đó.

Sự phát triển của kiến ​​trúc RISC phần lớn được quyết định bởi sự tiến bộ trong việc tạo ra các trình biên dịch tối ưu hóa. Chính các kỹ thuật biên dịch hiện đại giúp tận dụng hiệu quả tệp đăng ký lớn hơn, tổ chức đường dẫn và tốc độ thực hiện lệnh cao hơn. Các trình biên dịch hiện đại cũng tận dụng các kỹ thuật tối ưu hóa hiệu suất khác thường thấy trong bộ xử lý RISC: trì hoãn triển khai nhánh và xử lý siêu vô hướng, cho phép thực thi nhiều lệnh cùng một lúc.

Cần lưu ý rằng những phát triển mới nhất của Intel (có nghĩa là Pentium và Pentium Pro), cũng như các đối thủ cạnh tranh của nó (AMD R5, Cyrix M1, NexGen Nx586, v.v.) sử dụng rộng rãi các ý tưởng được triển khai trong bộ vi xử lý RISC, vì vậy có rất nhiều điểm khác biệt giữa CISC và RISC đang mờ dần. Tuy nhiên, sự phức tạp của kiến ​​trúc x86 và tập lệnh vẫn là yếu tố chính hạn chế hiệu suất của các bộ xử lý dựa trên nó.

Ưu điểm và nhược điểm của kiến ​​trúc Hewlett Packard PA-RISC

Cơ sở để phát triển các sản phẩm hiện đại của Hewlett-Packard là kiến ​​trúc PA-RISC. Nó được công ty phát triển vào năm 1986 và kể từ đó đã trải qua nhiều giai đoạn phát triển nhờ sự thành công của công nghệ tích hợp từ thiết kế đa chip đến thiết kế một chip. Vào tháng 9 năm 1992, Hewlett-Packard công bố việc tạo ra bộ xử lý siêu vô hướng PA-7100, từ đó trở thành nền tảng cho dòng máy trạm HP 9000 Series 700 và dòng máy chủ doanh nghiệp HP 9000 Series 800. Hiện có 33, 50 - và triển khai 99 MHz của tinh thể PA-7100. Ngoài ra, được sửa đổi, cải tiến ở nhiều khía cạnh, tinh thể PA-7100LC với tần số xung nhịp 64, 80 và 100 MHz và PA-7150 với tần số xung nhịp 125 MHz, cũng như PA-7200 với tần số xung nhịp 90 và 100 MHz. đã được phát hành. Công ty đang tích cực phát triển bộ xử lý HP 8000 thế hệ tiếp theo, sẽ hoạt động ở tốc độ xung nhịp 200 MHz và cung cấp 360 đơn vị SPECint92 và 550 đơn vị SPECfp92. Sự xuất hiện của tinh thể này được mong đợi vào năm 1996. Ngoài ra, Hewlett-Packard, phối hợp với Intel, có kế hoạch tạo ra bộ xử lý mới với từ hướng dẫn rất dài (kiến trúc VLIW), sẽ tương thích với cả dòng Intel x86 và dòng PA-RISC. Việc phát hành bộ xử lý này được lên kế hoạch vào năm 1998.

1.3 Đặc điểm của bộ xử lý dựa trên kiến ​​trúc PA-RISC

1.3.1 Đặc điểm và tính năng của bộ xử lý PA 7100

Một tính năng của kiến ​​trúc PA-RISC là triển khai bộ đệm ngoài chip, giúp có thể triển khai các lượng bộ nhớ đệm khác nhau và tối ưu hóa thiết kế tùy thuộc vào điều kiện ứng dụng (Hình 1.3.1). Các hướng dẫn và dữ liệu được lưu trữ trong các bộ đệm riêng biệt và bộ xử lý kết nối với chúng bằng bus 64 bit tốc độ cao. Bộ nhớ đệm được triển khai trên các chip nhớ tĩnh tốc độ cao (SRAM), được đồng bộ hóa trực tiếp với tốc độ xung nhịp của bộ xử lý. Ở tốc độ 100 MHz, mỗi bộ đệm có băng thông đọc 800 MB/s và băng thông ghi 400 MB/s. Phần cứng bộ vi xử lý hỗ trợ lượng bộ nhớ đệm khác nhau: bộ đệm lệnh có thể có dung lượng từ 4 KB đến 1 MB, bộ đệm dữ liệu - từ 4 KB đến 2 MB.

Để giảm tỷ lệ bỏ lỡ, cơ chế băm địa chỉ được sử dụng. Cả hai bộ đệm đều sử dụng các bit kiểm tra bổ sung để cải thiện độ tin cậy và các lỗi bộ đệm lệnh được sửa bằng phần cứng.

Hình.1.3.1 Sơ đồ khối của bộ xử lý PA 7100

Bộ xử lý được kết nối với bộ nhớ và hệ thống con I/O thông qua một bus đồng bộ. Bộ xử lý có thể hoạt động ở ba tỷ lệ khác nhau về tốc độ xung nhịp bên trong và bên ngoài tùy thuộc vào tần số bus bên ngoài: 1:1, 3:2 và 2:1. Điều này cho phép các hệ thống sử dụng chip bộ nhớ có tốc độ khác nhau.

Về mặt cấu trúc, chip PA-7100 chứa: bộ xử lý số nguyên, bộ xử lý dấu phẩy động, thiết bị quản lý bộ đệm, bộ đệm TLB hợp nhất, thiết bị điều khiển và một số mạch giao diện. Bộ xử lý số nguyên bao gồm ALU, bộ dịch chuyển, bộ cộng nhánh, mạch kiểm tra mã điều kiện, mạch bypass, tệp thanh ghi mục đích chung, thanh ghi điều khiển và thanh ghi đường dẫn địa chỉ. Trình quản lý bộ đệm chứa các thanh ghi đặt lại bộ đệm khi xảy ra lỗi và giám sát sự gắn kết của bộ nhớ. Thiết bị này cũng chứa các thanh ghi địa chỉ phân đoạn, bộ đệm dịch địa chỉ TLB và phần cứng băm điều khiển việc tải lại TLB. Bộ xử lý dấu phẩy động bao gồm một đơn vị nhân, một đơn vị logic số học, một đơn vị căn bậc hai và chia, một tệp thanh ghi và các mạch ngắn mạch kết quả. Các thiết bị giao diện bao gồm tất cả các mạch cần thiết để giao tiếp với lệnh, bộ nhớ đệm dữ liệu và bus dữ liệu. TLB tổng quát chứa 120 dòng bộ nhớ kết hợp có kích thước cố định và 16 dòng có kích thước thay đổi.

Đơn vị dấu phẩy động thực hiện số học có độ chính xác đơn và kép theo tiêu chuẩn IEEE 754. Đơn vị nhân của nó cũng được sử dụng để thực hiện các phép nhân số nguyên. Các đơn vị căn bậc hai và chia hoạt động với tốc độ gấp đôi bộ xử lý. Đơn vị logic số học thực hiện các phép tính cộng, trừ và chuyển đổi các định dạng dữ liệu. Tệp thanh ghi bao gồm 28 thanh ghi 64 bit, mỗi thanh ghi có thể được sử dụng như hai thanh ghi 32 bit để thực hiện các phép toán dấu phẩy động chính xác duy nhất. Tệp thanh ghi có năm cổng đọc và ba cổng ghi, cho phép thực hiện các thao tác nhân, cộng và tải/ghi đồng thời.

Quy trình được thiết kế để tối đa hóa thời gian cần thiết để hoàn tất quá trình đọc từ khuôn bộ nhớ đệm dữ liệu SRAM bên ngoài. Điều này cho phép tối đa hóa tần số bộ xử lý ở tốc độ SRAM nhất định. Tất cả các lệnh tải (LOAD) thực thi trong một chu kỳ xung nhịp và chỉ yêu cầu một chu kỳ xung nhịp của băng thông bộ đệm dữ liệu. Do bộ nhớ đệm lệnh và dữ liệu được đặt trên các bus khác nhau nên không có tổn thất nào trong đường dẫn liên quan đến xung đột giữa các lệnh gọi tới bộ đệm dữ liệu và bộ đệm lệnh.

Bộ xử lý có thể đưa ra một lệnh số nguyên và một lệnh dấu phẩy động để thực thi trong mỗi chu kỳ xung nhịp. Băng thông bộ nhớ đệm lệnh đủ để hỗ trợ việc đưa ra hai lệnh liên tục trong mỗi chu kỳ xung nhịp. Không có hạn chế nào về việc căn chỉnh hoặc thứ tự của một cặp lệnh được thực thi cùng nhau. Ngoài ra, không có chu kỳ xung nhịp nào liên quan đến việc chuyển từ thực hiện hai lệnh sang thực hiện một lệnh.

Cần đặc biệt chú ý để đảm bảo rằng việc đưa ra hai lệnh trong một chu kỳ đồng hồ không giới hạn tần số đồng hồ. Để đạt được điều này, một bit có thể giải mã trước chuyên dụng đã được triển khai trong bộ đệm lệnh để tách các lệnh thiết bị số nguyên khỏi các lệnh thiết bị dấu phẩy động. Bit giải mã trước lệnh này giảm thiểu thời gian cần thiết để phân tách các lệnh một cách chính xác.

Tổn thất liên quan đến dữ liệu và sự phụ thuộc vào điều khiển là tối thiểu trong quy trình này. Các lệnh tải được thực thi trong một chu kỳ xung nhịp, trừ khi lệnh tiếp theo sử dụng thanh ghi đích của lệnh LOAD. Theo quy định, trình biên dịch cho phép bạn bỏ qua những tổn thất như vậy trong một chu kỳ. Để giảm tổn thất liên quan đến các lệnh rẽ nhánh có điều kiện, bộ xử lý sử dụng thuật toán để dự đoán hướng truyền điều khiển. Để tối ưu hóa hiệu suất của các vòng lặp, việc truyền điều khiển thuận qua chương trình được dự đoán là các nhánh chưa được thực hiện và việc truyền điều khiển ngược qua chương trình được dự đoán là các nhánh đã thực hiện. Các nhánh có điều kiện được dự đoán chính xác sẽ được thực thi trong một chu kỳ đồng hồ.

Số lượng dấu tích cần thiết để viết một từ hoặc từ kép bằng lệnh STORE đã giảm từ ba xuống còn hai dấu tích. Trong các triển khai trước đây của kiến ​​trúc PA-RISC, cần có thêm một chu kỳ xung nhịp để đọc thẻ bộ đệm nhằm đảm bảo lần truy cập, đồng thời để hợp nhất dữ liệu dòng bộ đệm dữ liệu cũ với dữ liệu đang được ghi. PA 7100 sử dụng bus thẻ địa chỉ riêng để tính thời gian đọc thẻ với việc ghi dữ liệu lệnh STORE trước đó. Ngoài ra, việc có các tín hiệu cho phép ghi riêng biệt cho từng từ của dòng bộ nhớ đệm giúp loại bỏ nhu cầu hợp nhất dữ liệu cũ với dữ liệu mới từ các lệnh ghi từ hoặc dword. Thuật toán này yêu cầu việc ghi vào chip SRAM chỉ xảy ra sau khi xác định được rằng việc ghi đi kèm với một lần nhấn bộ đệm và không gây ra gián đoạn. Điều này đòi hỏi một bước quy trình bổ sung giữa việc đọc thẻ và ghi dữ liệu. Đường ống này không dẫn đến lãng phí thêm các chu kỳ xung nhịp vì bộ xử lý thực hiện các mạch bỏ qua đặc biệt cho phép dữ liệu lệnh ghi bị trì hoãn được định tuyến đến các lệnh tải tiếp theo hoặc các lệnh STORE chỉ ghi một phần của từ. Đối với một bộ xử lý nhất định, chi phí đường dẫn cho lệnh ghi từ hoặc từ kép được giảm xuống 0 trừ khi lệnh tiếp theo ngay lập tức là lệnh tải hoặc ghi. Nếu không, tổn thất sẽ bằng một chu kỳ. Tổn thất khi ghi một phần của từ có thể dao động từ 0 đến hai chu kỳ đồng hồ. Các mô phỏng cho thấy phần lớn các lệnh ghi thực sự hoạt động ở định dạng một từ hoặc hai từ.

Tất cả các phép toán dấu phẩy động, ngoại trừ lệnh chia và căn bậc hai, đều được dẫn đường đầy đủ và có độ trễ kéo đẩy ở cả chế độ chính xác đơn và kép. Bộ xử lý có thể đưa ra các lệnh dấu phẩy động độc lập để thực hiện trong mỗi chu kỳ xung nhịp mà không bị tổn thất. Các hoạt động liên tiếp với các phụ thuộc vào thanh ghi dẫn đến mất một chu kỳ. Các lệnh chia và căn bậc hai được thực thi trong 8 chu kỳ xung nhịp cho độ chính xác đơn và 15 chu kỳ xung nhịp cho độ chính xác kép. Việc thực thi lệnh không bị dừng lại bởi các lệnh chia/căn bậc hai cho đến khi cần có thanh ghi kết quả hoặc lệnh chia/căn bậc hai tiếp theo được ban hành.

Bộ xử lý có thể thực hiện song song một lệnh số nguyên và một lệnh dấu phẩy động. Trong trường hợp này, “lệnh số nguyên” cũng bao gồm các hướng dẫn để tải và ghi các thanh ghi dấu phẩy động và “lệnh dấu phẩy động” bao gồm các lệnh FMPYADD và FMPYSUB. Các lệnh sau này kết hợp phép toán nhân với các phép toán cộng hoặc trừ tương ứng, được thực hiện song song. Hiệu suất cao nhất là 200 MFLOPS cho một chuỗi lệnh FMPYADD trong đó các lệnh liền kề được đăng ký độc lập.

Chi phí chung cho các hoạt động dấu phẩy động sử dụng tải trước toán hạng với lệnh LOAD là một chu kỳ xung nhịp nếu lệnh tải và dấu phẩy động liền kề nhau và hai chu kỳ xung nhịp nếu chúng được thực hiện cùng lúc. Đối với lệnh ghi sử dụng kết quả của phép toán dấu phẩy động, sẽ không bị mất, ngay cả khi nó được thực thi song song.

Chi phí bỏ lỡ bộ nhớ đệm dữ liệu được giảm thiểu thông qua việc sử dụng bốn kỹ thuật khác nhau: truy cập sai đối với các lệnh LOAD và STORE, phân luồng bộ nhớ đệm dữ liệu, mã hóa đặc biệt các lệnh ghi để tránh sao chép dòng bị thiếu và các hoạt động semaphore trong bộ nhớ đệm. Thuộc tính đầu tiên cho phép thực thi bất kỳ loại lệnh nào khác trong khi xử lý lỗi bộ đệm dữ liệu. Đối với các lỗi xảy ra trong lệnh LOAD, việc xử lý các lệnh tiếp theo có thể tiếp tục cho đến khi thanh ghi kết quả lệnh LOAD được yêu cầu làm thanh ghi toán hạng cho lệnh khác. Trình biên dịch có thể sử dụng thuộc tính này để tìm nạp trước dữ liệu cần thiết vào bộ đệm từ rất lâu trước khi nó thực sự cần thiết. Đối với các lỗi xảy ra trong lệnh STORE, việc xử lý các lệnh tải tiếp theo hoặc ghi một phần từ sẽ tiếp tục cho đến khi không có tham chiếu nào đến dòng xảy ra lỗi. Trình biên dịch có thể sử dụng thuộc tính này để thực thi các lệnh trong khi ghi lại kết quả tính toán trước đó. Trong thời gian trễ xử lý sai, các lệnh LOAD và STORE khác chạm vào bộ đệm dữ liệu có thể được thực thi giống như các lệnh số nguyên và dấu phẩy động khác. Trong toàn bộ thời gian xử lý lỗi lệnh STORE, các lệnh ghi khác vào cùng một dòng bộ đệm có thể xảy ra mà không mất thêm thời gian. Đối với mỗi từ trong một dòng bộ đệm, bộ xử lý có một bit chỉ báo đặc biệt để ngăn các từ trong dòng được viết bởi lệnh STORE khỏi bị sao chép từ bộ nhớ. Tính năng này áp dụng cho các phép toán số nguyên và float LOAD và STORE.

Việc thực thi lệnh dừng khi thanh ghi đích của lệnh LOAD được thực hiện sai được yêu cầu làm toán hạng cho lệnh khác. Thuộc tính threading cho phép tiếp tục thực thi ngay khi từ mong muốn hoặc từ kép được trả về từ bộ nhớ. Do đó, việc thực thi lệnh có thể tiếp tục cả trong thời gian trễ liên quan đến việc xử lý lỗi và trong khi dòng tương ứng được điền vào khi xảy ra lỗi.

Khi thực hiện sao chép khối dữ liệu, trong một số trường hợp, trình biên dịch biết trước rằng việc ghi phải được thực hiện vào dòng bộ đệm đầy đủ. Để tối ưu hóa việc xử lý các tình huống như vậy, kiến ​​trúc PA-RISC 1.1 xác định một mã hóa đặc biệt cho các lệnh ghi ("sao chép khối"), nghĩa là phần cứng không cần tìm nạp một dòng từ bộ nhớ vì điều này có thể gây ra lỗi bộ nhớ đệm. Trong trường hợp này, thời gian truy cập data cache là tổng thời gian cần thiết để sao chép dòng cache cũ vào bộ nhớ tại cùng địa chỉ trong cache (nếu nó bị bẩn) và thời gian cần thiết để ghi tag cache mới. Bộ xử lý PA 7100 cung cấp khả năng này cho cả lệnh có đặc quyền và không có đặc quyền.

Cải tiến mới nhất đối với việc quản lý bộ đệm dữ liệu bao gồm việc triển khai các hoạt động semaphore "không tải" trực tiếp vào bộ đệm. Nếu một thao tác semaphore được thực hiện trong bộ đệm thì thời gian bị mất trong quá trình thực thi của nó không vượt quá thời gian mất của các thao tác ghi thông thường. Điều này không chỉ làm giảm chi phí đường ống mà còn giảm lưu lượng bus bộ nhớ. Kiến trúc PA-RISC 1.1 cũng cung cấp một loại mã hóa lệnh đặc biệt khác giúp loại bỏ yêu cầu đồng bộ hóa các hoạt động semaphore với các thiết bị I/O.

Việc quản lý bộ nhớ đệm lệnh cho phép, trong trường hợp bị thiếu, tiếp tục thực hiện các lệnh ngay sau khi lệnh không có trong bộ đệm đến từ bộ nhớ. Bus dữ liệu 64-bit được sử dụng để điền vào các khối bộ đệm lệnh tương ứng với băng thông bus bộ nhớ ngoài tối đa là 400 MB/s ở 100 MHz.

Bộ xử lý cũng cung cấp một số biện pháp để giảm thiểu tổn thất liên quan đến việc chuyển đổi địa chỉ ảo thành địa chỉ vật lý.

Thiết kế của bộ xử lý cung cấp việc thực hiện hai cách để xây dựng hệ thống đa bộ xử lý. Trong phương pháp đầu tiên, mỗi bộ xử lý được kết nối với một chip giao diện, chip này giám sát tất cả các giao dịch trên bus bộ nhớ chính. Trong hệ thống như vậy, tất cả các chức năng duy trì trạng thái nhất quán của bộ nhớ đệm được gán cho tinh thể giao diện, tinh thể này sẽ gửi các giao dịch tương ứng đến bộ xử lý. Bộ đệm dữ liệu được xây dựng trên nguyên tắc lười biếng và mỗi khối bộ đệm duy trì các bit trạng thái riêng tư, bẩn và hợp lệ, các giá trị của chúng thay đổi theo các giao dịch được phát hành hoặc chấp nhận bộ xử lý.

Phương pháp tổ chức hệ thống đa bộ xử lý thứ hai cho phép bạn kết hợp hai bộ xử lý và bộ nhớ và bộ điều khiển I/O trên cùng một bus bộ nhớ cục bộ. Cấu hình này không yêu cầu chip giao diện bổ sung và tương thích với hệ thống bộ nhớ hiện có. Sự gắn kết của bộ đệm được đảm bảo bằng cách giám sát bus bộ nhớ cục bộ. Việc truyền dòng giữa các bộ đệm được thực hiện mà không có sự tham gia của bộ điều khiển bộ nhớ và I/O. Cấu hình này cho phép xây dựng các hệ thống đa bộ xử lý hiệu suất cao, chi phí rất thấp.

Bộ xử lý hỗ trợ một số thao tác cần thiết để cải thiện hiệu suất đồ họa của máy trạm dòng 700: truyền khối, đệm Z, nội suy màu và lệnh truyền dữ liệu dấu phẩy động để trao đổi với không gian I/O.

Bộ xử lý được xây dựng trên công nghệ xử lý CMOS với tiêu chuẩn thiết kế 0,8 micron, cung cấp tần số xung nhịp 100 MHz.

1.3.2 Đặc điểm và tính năng của bộ xử lý PA 7200

Bộ xử lý PA 7200 có một số cải tiến về kiến ​​trúc so với PA 7100, những cải tiến chính là bổ sung đường dẫn số nguyên thứ hai, xây dựng bộ đệm dữ liệu phụ trợ trên chip và triển khai giao diện bus bộ nhớ 64-bit mới .

Bộ xử lý PA 7200, giống như người tiền nhiệm của nó, cung cấp chế độ vận hành siêu vô hướng với việc đưa ra đồng thời tối đa hai lệnh trong một chu kỳ xung nhịp. Tất cả các lệnh của bộ xử lý có thể được chia thành ba nhóm: các phép toán số nguyên, các phép toán tải/ghi và các phép toán dấu phẩy động. PA 7200 đồng thời đưa ra hai lệnh thuộc các nhóm khác nhau hoặc hai lệnh số nguyên (do có đường dẫn số nguyên thứ hai với ALU và các cổng đọc và ghi bổ sung trong tệp đăng ký). Các lệnh nhảy được thực thi trong một đường dẫn số nguyên và các bước nhảy này có thể được ghép nối để được thực hiện đồng thời chỉ với lệnh trước đó.

Việc tăng tần số xung nhịp của bộ xử lý đòi hỏi phải đơn giản hóa việc giải mã các lệnh ở giai đoạn phát hành. Với mục đích này, việc giải mã sơ bộ luồng lệnh được thực hiện ở giai đoạn tải bộ nhớ đệm. Đối với mỗi từ kép, bộ nhớ đệm lệnh bao gồm 6 bit bổ sung chứa thông tin về sự hiện diện của các phụ thuộc dữ liệu và xung đột tài nguyên, giúp đơn giản hóa đáng kể việc ban hành lệnh ở chế độ siêu vô hướng.

Bộ xử lý PA 7200 thực hiện thuật toán tìm nạp trước lệnh hiệu quả, thuật toán này cũng hoạt động tốt trên các phần tuyến tính của chương trình.

Giống như PA 7100, bộ xử lý triển khai giao diện với bộ đệm dữ liệu bên ngoài hoạt động ở tần số xung nhịp của bộ xử lý với độ trễ một chu kỳ. Bộ nhớ đệm dữ liệu ngoài được xây dựng trên nguyên tắc ánh xạ trực tiếp. Ngoài ra, để tăng hiệu quả, một bộ nhớ đệm phụ nhỏ có dung lượng 64 dòng được triển khai trên chip xử lý. Việc hình thành, dịch địa chỉ và truy cập vào bộ đệm dữ liệu chính và phụ được thực hiện ở hai giai đoạn của đường ống. Độ trễ tối đa khi phát hiện một cú đánh là một chu kỳ đồng hồ.

Bộ đệm trong phụ trợ chứa 64 dòng 32 byte. Khi truy cập vào bộ nhớ đệm, 65 thẻ được kiểm tra: 64 thẻ đệm phụ và một thẻ đệm dữ liệu ngoài. Khi tìm thấy kết quả khớp, dữ liệu sẽ được chuyển tiếp đến thiết bị chức năng mong muốn.

Nếu dòng yêu cầu không có trong bộ nhớ đệm, nó sẽ được tải từ bộ nhớ chính. Trong trường hợp này, dòng đi vào bộ nhớ đệm phụ, trong một số trường hợp có thể giảm số lần tải lại của bộ nhớ đệm ngoài, được tổ chức theo nguyên tắc ánh xạ trực tiếp. Kiến trúc của bộ xử lý mới cho các lệnh tải/ghi cung cấp khả năng mã hóa một tính năng đặc biệt của vị trí dữ liệu cục bộ (“chỉ vị trí không gian”). Khi thực hiện các lệnh tải được đánh dấu bằng cờ này, dòng bộ đệm phụ sẽ được lấp đầy như bình thường. Tuy nhiên, việc ghi một dòng tiếp theo được thực hiện trực tiếp vào bộ nhớ chính, bỏ qua bộ đệm dữ liệu bên ngoài, điều này làm tăng đáng kể hiệu quả làm việc với các mảng dữ liệu lớn mà kích thước của dòng bộ đệm được ánh xạ trực tiếp là không đủ.

Một bộ hướng dẫn bộ xử lý mở rộng cho phép bạn triển khai các công cụ lập chỉ mục tự động để cải thiện hiệu quả làm việc với mảng, cũng như các hướng dẫn tìm nạp trước được đặt trong bộ đệm nội bộ phụ trợ. Bộ đệm phụ này cung cấp phần mở rộng động về khả năng kết hợp của bộ đệm được ánh xạ trực tiếp chính và là một giải pháp thay thế đơn giản hơn cho tổ chức liên kết theo tập hợp.

Bộ xử lý PA 7200 bao gồm giao diện bus hệ thống Runway ghép kênh 64-bit mới thực hiện phân tách giao dịch và hỗ trợ giao thức kết hợp bộ nhớ. Giao diện này bao gồm bộ đệm giao dịch, mạch phân xử và mạch kiểm soát tỷ lệ tốc độ xung nhịp bên ngoài và bên trong.

1.3.3 Đặc điểm của bộ xử lý siêu vô hướng PA 8000

Bộ xử lý PA-8000 được công bố vào tháng 3 năm 1995 tại hội nghị COMPCON 95. Người ta thông báo rằng các chỉ số hiệu suất của nó sẽ lần lượt đạt 8,6 đơn vị SPECint95 và 15 đơn vị SPECfp95 cho các phép toán số nguyên và số học thực. Hiện tại, mức hiệu suất rất cao này được xác nhận bằng các thử nghiệm trên máy trạm và máy chủ được xây dựng trên cơ sở bộ xử lý này.

Bộ xử lý PA-8000 kết hợp tất cả các phương pháp đã biết để tăng tốc thực thi lệnh. Nó dựa trên khái niệm “thực thi thông minh”, dựa trên nguyên tắc thực thi lệnh không theo thứ tự. Tính năng này cho phép PA-8000 đạt được hiệu suất siêu vô hướng cao nhất thông qua việc sử dụng rộng rãi cơ chế quản lý phần cứng và giải quyết tranh chấp dữ liệu tự động. Những công cụ này được bổ sung tốt bởi các thành phần kiến ​​trúc khác được nhúng trong cấu trúc tinh thể: một số lượng lớn các đơn vị chức năng điều hành, phương tiện để dự đoán hướng chuyển đổi và thực thi các lệnh theo giả định, tổ chức bộ nhớ đệm được tối ưu hóa và giao diện bus hiệu suất cao.

Hiệu suất cao của PA-8000 phần lớn được xác định bởi sự hiện diện của một bộ thiết bị chức năng lớn, bao gồm 10 đơn vị thực thi: hai đơn vị logic số học (ALU) để thực hiện các phép toán số nguyên, hai thiết bị để thực hiện các phép toán dịch chuyển/hợp nhất dữ liệu , hai thiết bị để thực hiện phép nhân/cộng dấu phẩy động, hai thiết bị chia/căn bậc hai và hai thiết bị tải/ghi.

Khả năng thực thi không theo thứ tự của bộ xử lý PA-8000 cung cấp khả năng lập lịch phần cứng cho tải đường ống và sử dụng tốt hơn các đơn vị chức năng. Trong mỗi chu kỳ đồng hồ, có thể đưa ra tối đa bốn lệnh, đưa vào bộ đệm sắp xếp lại 56 dòng. Bộ đệm này cho phép bạn duy trì khả năng sử dụng liên tục của các thiết bị chức năng và đảm bảo giảm thiểu xung đột tài nguyên một cách hiệu quả. xung đột tài nguyên. Tinh thể có thể phân tích đồng thời tất cả 56 dòng lệnh và đưa ra 4 lệnh sẵn sàng thực thi cho các thiết bị chức năng trong mỗi chu kỳ xung nhịp. Điều này cho phép bộ xử lý tự động phát hiện sự song song ở mức lệnh.

Bộ xử lý siêu vô hướng PA-8000 cung cấp đầy đủ các phép toán 64 bit, bao gồm địa chỉ, số học dấu phẩy cố định và dấu phẩy động. Đồng thời, tinh thể vẫn tương thích hoàn toàn với các ứng dụng 32-bit. Đây là bộ xử lý đầu tiên triển khai kiến ​​trúc PA-RISC 64-bit. Nó vẫn hoàn toàn tương thích với việc triển khai PA-RISC trước đây và tương lai.

Tinh thể được sản xuất bằng công nghệ CMOS 0,5 micron với điện áp cung cấp 3,3 Vôn và chúng ta có thể tin tưởng vào việc giảm thêm kích thước phần tử trong tương lai.

2. TÍNH NĂNG CỦA MÁY CHỦ HEWLETT-PACKARD DỰA TRÊN BỘ XỬ LÝ CÓ KIẾN TRÚC PA-RISC

Hewlett-Packard được thành lập tại California vào năm 1938 để tạo ra các thiết bị đo lường và kiểm tra điện tử. Công ty hiện đang phát triển, sản xuất, tiếp thị và cung cấp các hệ thống dịch vụ cho các ứng dụng thương mại, tự động hóa quy trình, quy trình phát triển, thử nghiệm và đo lường, cũng như các hệ thống và dụng cụ phân tích và y tế, thiết bị ngoại vi, máy tính và linh kiện để sử dụng trong nhiều ngành công nghiệp. . Nó bán hơn 4.500 sản phẩm được sử dụng trong công nghiệp, kinh doanh, khoa học, giáo dục, y học và kỹ thuật.

Cơ sở cho sự phát triển của máy tính Hewlett-Packard hiện đại là kiến ​​trúc PA-RISC. Nó được công ty phát triển vào năm 1986, và kể từ đó, nhờ những thành công của công nghệ tích hợp, nó đã trải qua nhiều giai đoạn phát triển từ thiết kế đa chip sang thiết kế một chip. Kiến trúc PA-RISC được phát triển có tính đến khả năng xây dựng các hệ thống đa bộ xử lý, được triển khai trong các mô hình máy chủ cũ hơn.

2.1 Máy chủ HP9000 Lớp D

Trong thị trường máy chủ nhóm làm việc, HP có một dòng hệ thống HP9000 Class D khá rộng. Đây là dòng hệ thống có chi phí tương đối thấp cạnh tranh với các máy chủ dựa trên PC. Các hệ thống này dựa trên kiến ​​trúc bộ xử lý PA-RISC (75 và 100 MHz PA-7100LC, 100 và 120 MHz PA-7200 và 160 MHz PA-8000) và chạy hệ điều hành HP-UNIX.

D200, D210 và D310 là (theo) hệ thống bộ xử lý đơn. Các mẫu D250, D260, D270 và D350 có thể được trang bị một hoặc hai bộ xử lý. Trong các mẫu D3XX của mình, HP nhấn mạnh các tính năng có tính sẵn sàng cao như ổ đĩa bên trong có thể tráo đổi nóng, khả năng lưu trữ RAID và nguồn điện liên tục. Những mẫu này cũng có khả năng nâng cao để mở rộng RAM và hệ thống con I/O.

Mẫu D2XX có 5 khe cắm mở rộng I/O và 2 khoang ổ đĩa SCSI-2. Trong các mẫu D3XX, số lượng khe cắm mở rộng I/O đã được mở rộng lên 8; 5 khay có thể chứa các ổ đĩa có giao diện SCSI-2 Nhanh/Rộng, có thể thay thế mà không cần tắt nguồn hệ thống.

Các mẫu cũ hơn của dòng này cung cấp khả năng mở rộng RAM ECC lên tới 1,5 GB, trong khi hệ số phân lớp có thể tăng lên 12. Dung lượng ổ đĩa tối đa khi sử dụng mảng đĩa ngoài có thể đạt tới 5,0 TB.

2.2 Máy chủ HP9000 Lớp K

Máy chủ HP9000 Class K là hệ thống tầm trung hỗ trợ đa xử lý đối xứng (tối đa 4 bộ xử lý). Cũng giống như các hệ thống lớp D, chúng dựa trên kiến ​​trúc PA-RISC (120 MHz PA-7200 với bộ nhớ đệm lệnh/dữ liệu cấp một là 256/256 KB hoặc 1/1 MB, cũng như PA-160 và 180 MHz PA- 8000 với bộ nhớ đệm lệnh/dữ liệu cấp một 1/1 MB, hoạt động ở tốc độ xung nhịp của bộ xử lý).

Thiết kế của máy chủ Lớp K đảm bảo thông lượng hệ thống cao. Các thành phần chính để duy trì hiệu suất cao là bus hệ thống có tốc độ tối đa 960 MB / s, RAM lớn có chức năng kiểm soát lỗi và sửa lỗi đơn (ECC) với dung lượng lên tới 4 GB với khả năng phân chia 32 lần, một hệ thống con I/O đa kênh với thông lượng lên tới 288 MB/s, bus SCSI-2 vi sai nhanh/rộng tốc độ cao tiêu chuẩn, cũng như các khả năng bổ sung để kết nối các mạng và kênh tốc độ cao như FDDI, ATM và Kênh sợi quang.

Thiết kế máy chủ cung cấp 4 khoang để cài đặt ổ đĩa và với sự trợ giúp của các giá đỡ (tủ) mở rộng đặc biệt, dung lượng bộ nhớ đĩa của hệ thống có thể tăng lên 8,3 TB.

2.3 Máy chủ đa bộ xử lý đối xứng HP9000 Class T

Dòng máy chủ doanh nghiệp dựa trên UNIX mạnh mẽ và có khả năng mở rộng mạnh mẽ nhất của HP là dòng HP9000 T-class. Đây là thế hệ máy chủ tiếp theo được công ty phát triển theo mẫu HP9000 870. Hệ thống HP9000 T500, có thể chứa tới 12 bộ xử lý PA7100 , lần đầu tiên được giới thiệu ra thị trường. HP sau đó đã công bố các hệ thống T520 14 bộ xử lý dựa trên bộ xử lý PA7150 120 MHz. Hiện tại, hệ thống T600 12 bộ xử lý dựa trên bộ xử lý PA-8000 đã được công bố và việc giao hàng dự kiến ​​bắt đầu vào năm 1997. Các hệ thống hiện tại (T500 và T520) cho phép thay thế bộ xử lý cũ bằng bộ xử lý PA-8000.

Một tính năng đặc trưng của kiến ​​trúc máy chủ loại T là dung lượng lớn của bộ nhớ đệm lệnh (1 MB) và dữ liệu (1 MB) cho mỗi bộ xử lý hệ thống. Máy chủ loại T sử dụng bus giao dịch phân chia 64 bit hỗ trợ tối đa 14 bộ xử lý chạy ở tần số 120 MHz. Hiệu suất của xe buýt này, giống như xe buýt Runway, là 80%, cung cấp thông lượng ở trạng thái ổn định là 768 MB/s với hiệu suất cao nhất là 960 MB/s.

Máy chủ Loại T có thể hỗ trợ tối đa 8 kênh HP-PB (HP Precision Bus) chạy ở tốc độ 32 MB/s, nhưng chỉ hỗ trợ một kênh HP-PB trong giá hệ thống chính. Để đảm bảo cấu hình hoàn thiện hệ thống con I/O cần lắp đặt 7 giá đỡ mở rộng, chiếm diện tích khá lớn. Tổng băng thông I/O cao nhất trong hệ thống 8 giá được cấu hình đầy đủ là 256 MB/s, thấp hơn băng thông I/O của máy chủ Lớp K. Tuy nhiên, dung lượng lưu trữ đĩa tối đa khi sử dụng mảng RAID lên tới 20 bệnh lao.

Cấu trúc bus hai tầng của máy chủ mang lại sự cân bằng tối ưu giữa bộ xử lý và các yêu cầu I/O, đảm bảo thông lượng hệ thống cao ngay cả khi xử lý khối lượng công việc nặng. Bộ xử lý truy cập bộ nhớ chính thông qua bus hệ thống bộ nhớ-bộ xử lý mạnh mẽ, bus này duy trì trạng thái nhất quán của bộ nhớ đệm của toàn bộ hệ thống. Trong các hệ thống tương lai, thông lượng I/O được lên kế hoạch tăng gấp 4 lần.

2.4 Dòng máy chủ song song doanh nghiệp HP9000

Một trong những sản phẩm mới nhất được HP phát hành là dòng hệ thống song song, hiện được đại diện bởi hai mẫu ESP21 và ESP30. Khái niệm cơ bản về các hệ thống này khá đơn giản. Đó là về việc tạo ra một khung kết hợp kết hợp các khả năng và sức mạnh của đa xử lý đối xứng hiệu suất cao đã được thử nghiệm theo thời gian với tiềm năng hầu như không giới hạn để tăng hiệu suất và khả năng mở rộng có thể đạt được thông qua kiến ​​trúc song song. Kết quả của sự kết hợp này là một kiến ​​trúc hiệu suất cao cung cấp mức độ song song hóa cực cao của các phép tính.

Không giống như một số kiến ​​trúc song song khác sử dụng các nút bộ xử lý đơn được ghép nối lỏng lẻo, kiến ​​trúc song song của máy chủ ESP21 và ESP30 sử dụng công nghệ SMP hiệu suất cao làm khối xây dựng có thể mở rộng. Ưu điểm của phương pháp này là các hệ thống ứng dụng có thể tận dụng sức mạnh và khả năng xử lý của nhiều bộ xử lý được kết hợp chặt chẽ trong cơ sở hạ tầng SMP và có thể mang lại hiệu suất ứng dụng tốt nhất có thể một cách hiệu quả. Khi cần, các mô-đun SMP bổ sung có thể được thêm vào hệ thống để tăng mức độ song song nhằm mở rộng hiệu năng, công suất, thông lượng I/O tổng thể của hệ thống hoặc tài nguyên hệ thống như bộ nhớ chính và bộ nhớ đĩa.

Các sản phẩm trong dòng này được thiết kế chủ yếu để cung cấp khả năng mở rộng vượt quá khả năng thông thường của kiến ​​trúc SMP cho các hệ thống ra quyết định quy mô lớn, hệ thống xử lý giao dịch trực tuyến và xây dựng kho dữ liệu trên Internet. Đối với hầu hết các ứng dụng, mô hình ESP cung cấp mức hiệu suất tăng gần như tuyến tính. Điều này đạt được bằng cách tận dụng kiến ​​trúc bus SMP hiệu suất cao của các nút ESP kết hợp với khả năng cài đặt các nút SMP bổ sung bằng Bộ chuyển mạch doanh nghiệp Fibre Channel của HP. Tất cả tài nguyên hệ thống được quản lý từ một bảng điều khiển quản lý duy nhất.

Khi cần có tính sẵn sàng cao, hệ thống ESP hỗ trợ một lớp phần mềm MC/ServiceGuard đặc biệt. Những công cụ này cung cấp sự kết hợp hiệu quả giữa hiệu suất cao, khả năng mở rộng và tính sẵn sàng cao, đồng thời ngoài các khả năng RAS (độ tin cậy, tính khả dụng và khả năng phục vụ) tiêu chuẩn, chúng cho phép thay thế các nút mà không cần dừng hệ thống.

Về cơ bản, dòng EPS cung cấp phương tiện để kết hợp các mô hình loại K (EPS21) và loại T (EPS30) thành một hệ thống duy nhất. Bộ chuyển kênh Fibre Channel 16 kênh cho phép tối đa 64 bộ xử lý trong mô hình EPS21 (lên tới 256 bộ xử lý trong tương lai) và lên tới 224 bộ xử lý trong mô hình EPS30 (lên tới 768 bộ xử lý trong tương lai). Tổng thông lượng cao nhất của hệ thống có thể đạt tới 15 GB/s.

Giới thiệu

Ở giai đoạn phát triển khoa học công nghệ hiện nay, việc lựa chọn nền tảng phần cứng và cấu hình hệ thống là một nhiệm vụ vô cùng khó khăn. Điều này đặc biệt là do bản chất của các hệ thống ứng dụng, hệ thống này có thể xác định phần lớn khối lượng công việc của tổ hợp máy tính nói chung. Tuy nhiên, thường rất khó để dự đoán tải với đủ độ chính xác, đặc biệt nếu hệ thống phải phục vụ nhiều nhóm người dùng có nhu cầu không đồng nhất. Cần lưu ý rằng việc lựa chọn một nền tảng và cấu hình phần cứng cụ thể cũng được xác định bởi một số yêu cầu chung áp dụng cho các đặc điểm của hệ thống máy tính hiện đại. Chúng bao gồm: tỷ lệ chi phí/hiệu suất, độ tin cậy và khả năng chịu lỗi, khả năng mở rộng, khả năng tương thích và tính di động của phần mềm. Thách thức chính trong việc thiết kế toàn bộ các mô hình hệ thống PA-RISC là tạo ra một kiến ​​trúc giống nhau theo quan điểm của người dùng đối với tất cả các mô hình hệ thống, bất kể giá cả và hiệu suất của từng mô hình. Ưu điểm to lớn của phương pháp này là cho phép duy trì nền tảng phần mềm hiện có khi chuyển sang các mẫu máy mới, nhanh chóng được cả nhà sản xuất máy tính và người dùng đánh giá cao, và từ đó trở đi, hầu hết tất cả các nhà cung cấp thiết bị máy tính đều áp dụng các nguyên tắc này, cung cấp một loạt các giải pháp tương thích. máy tính.

Xây dựng vấn đề

Trong quá trình thực hiện dự án khóa học này, cần phải xem xét các loại kiến ​​trúc bộ xử lý hiện có và mô tả các ưu điểm và nhược điểm của chúng. Bạn nên xem xét chi tiết bất kỳ kiến ​​trúc nào (trong trường hợp này là kiến ​​trúc PA-RISC của Hewlett Packard), đồng thời xem xét các lĩnh vực ứng dụng của bộ xử lý với kiến ​​trúc đã chọn (đặc điểm của máy chủ Hewlett Packard dựa trên bộ xử lý PA-RISC) . Cũng cần phát triển một chương trình điều khiển để truyền thông tin giữa các máy trạm trên mạng cục bộ.

Phần kết luận

Dự án khóa học này xem xét các kiến ​​trúc bộ xử lý chính. Kiến trúc PA-RISC của Hewlett Packard được xem xét chi tiết, những ưu điểm và nhược điểm của kiến ​​trúc này được phân tích. Các lĩnh vực ứng dụng bộ xử lý có kiến ​​trúc PA-RISC cũng được xem xét (đặc điểm của máy chủ Hewlett Packard dựa trên bộ xử lý PA-RISC). Phụ lục chứa một chương trình đảm bảo việc truyền thông tin giữa các máy trạm trên mạng cục bộ.

Tên tham số Nghĩa
Chủ đề bài viết: Đặc điểm của kiến ​​trúc RISC
Phiếu tự đánh giá (thể loại chuyên đề) Máy tính

Kế hoạch

Kiến trúc tập lệnh giảm

1. Đặc điểm của kiến ​​trúc RISC.

2. Các thanh ghi trong bộ xử lý RISC.

3. Bộ vi xử lý R10000.

Công nghệ lập trình hiện đại hướng tới các ngôn ngữ cấp cao (HLL), nhiệm vụ chính của nó là tạo điều kiện thuận lợi cho quá trình viết chương trình. Hơn 90% toàn bộ quá trình lập trình được thực hiện trong một chương trình máy tính. Thật không may, các hoạt động cụ thể của một chương trình máy tính khác với các hoạt động được thực hiện bởi các lệnh máy. Vấn đề này được gọi là khoảng cách ngữ nghĩa và dẫn đến việc thực hiện các chương trình không hiệu quả.

Cố gắng thu hẹp khoảng cách ngữ nghĩa giữa các ngôn ngữ cấp cao (HLL) và các hoạt động được thực hiện bằng lệnh máy, các nhà phát triển VM mở rộng hệ thống lệnh, bổ sung cho nó các lệnh triển khai toán tử HLL phức tạp ở cấp độ phần cứng, giới thiệu các loại địa chỉ bổ sung, vân vân. Kiến trúc của máy tính nơi các công cụ này được triển khai thường được gọi là kiến trúc với tập lệnh mở rộng (đầy đủ) (CISC- Máy tính tập lệnh phức tạp).

Các hệ thống có kiến ​​trúc CISC có một số nhược điểm. Điều này buộc chúng tôi phải phân tích kỹ hơn các chương trình thu được sau khi biên dịch từ chương trình máy tính. Một loạt các nghiên cứu đã được thực hiện, kết quả là các mô hình thú vị đã được phát hiện:

1) việc thực hiện các lệnh phức tạp tương đương với người vận hành máy tính hạt nhân đòi hỏi phải tăng dung lượng của ROM điều khiển trong bộ điều khiển vi chương trình;

2) Trong chương trình biên dịch, các toán tử của chương trình máy tính được thực hiện dưới dạng thủ tục (chương trình con), do đó các thao tác gọi thủ tục và trả về từ thủ tục đó chiếm từ 15 đến 45% khối lượng tính toán;

3) gần một nửa số thao tác trong quá trình tính toán là các thao tác gán, nhằm chuyển dữ liệu giữa các thanh ghi, ô nhớ hoặc thanh ghi và bộ nhớ.

4) phần lớn các lệnh (hơn 90-95%) tạo nên chương trình tạo thành một tập hợp con tương đối nhỏ gọn của hệ thống lệnh của máy (20%);

5) một tập lệnh tương đối nhỏ có thể được triển khai hiệu quả trong phần cứng để mỗi thao tác được thực hiện trong một (ít thường xuyên hơn là hai) chu kỳ đồng hồ.

Một phân tích chi tiết về kết quả nghiên cứu đã dẫn đến việc xem xét lại nghiêm túc các giải pháp kiến ​​trúc truyền thống, dẫn đến sự xuất hiện kiến trúc tập lệnh giảm(RISC - Máy tính tập lệnh rút gọn).

Những nỗ lực chính trong kiến ​​trúc RISC là nhằm xây dựng đường dẫn lệnh hiệu quả nhất. Điều này có thể được thực hiện tương đối dễ dàng ở giai đoạn lấy mẫu. Điều cần thiết duy nhất là tất cả các đội đều có chiêu dai tiêu chuẩn, bằng chiều rộng của bus dữ liệu kết nối CPU và bộ nhớ. Thống nhất thời gian thực hiện cho các lệnh khác nhau là một nhiệm vụ khó khăn hơn nhiều, vì cùng với các lệnh đăng ký còn có các lệnh truy cập bộ nhớ.

Ngoài độ dài lệnh bằng nhau, điều quan trọng là phải có tương đối hệ thống con giải mã đơn giảnsự quản lý: một thiết bị điều khiển phức tạp (CD) sẽ gây ra độ trễ bổ sung trong việc tạo tín hiệu điều khiển. Một cách rõ ràng để đơn giản hóa đáng kể hệ thống điều khiển là giảm số lượng nhiệm vụ được thực hiện. đội, định dạng lệnh và dữ liệu, Và các loại địa chỉ.

Lý do chính chống lại việc cô đọng tất cả các giai đoạn của chu kỳ lệnh thành một chu kỳ xung nhịp duy nhất là do mức độ quan trọng tiềm ẩn của việc truy cập bộ nhớ để tìm nạp toán hạng và/hoặc ghi kết quả. Số lượng lệnh truy cập bộ nhớ phải được giảm càng nhiều càng tốt. Vì lý do này, bạn chỉ nên truy cập bộ nhớ bằng các lệnh “Đọc” và “Ghi” và thực hiện tất cả các thao tác ngoại trừ “Đọc” và “Ghi” cùng loại - “đăng ký-đăng ký”.

Để đơn giản hóa việc thực hiện hầu hết các lệnh và đưa chúng đến loại thanh ghi-thanh ghi, cần phải cung cấp cho CPU một số lượng đáng kể các thanh ghi đa năng. Số lượng lớn các thanh ghi trong tệp thanh ghi CPU cho phép lưu trữ tạm thời các kết quả trung gian được sử dụng làm toán hạng trong các hoạt động tiếp theo và dẫn đến giảm số lượng truy cập bộ nhớ, tăng tốc độ thực hiện các hoạt động.

Gốc của bộ xử lý RISC là ba nguyên tắc:

1) giảm thiểu thời lượng của chu kỳ;

2) hoàn thành việc thực hiện lệnh trong mỗi chu kỳ xung nhịp;

3) giảm thiểu số lượng lệnh do biên dịch hiệu quả.

Các tính năng của bộ xử lý RISC:

1. Hệ thống chỉ huy bao gồm một số lượng tương đối nhỏ các thao tác đơn giản (không quá 128).

2. Hầu hết các lệnh được thực thi trong một chu kỳ (ít nhất 75% số lệnh);

3. Tất cả các lệnh đều có độ dài một từ tiêu chuẩn và định dạng cố định (số lượng định dạng lệnh không quá 4). Điều này cho phép bạn tìm nạp lệnh từ bộ nhớ trong một lần truy cập và sau đó giải mã opcode trong một chu kỳ xung nhịp.

4. Giải mã lệnh được thực hiện trong phần cứng.

5. Một số phương thức đánh địa chỉ được sử dụng có giới hạn (không quá 4).

6. Hệ thống lệnh cung cấp các lệnh để làm việc với bộ nhớ, sao chép và xử lý.

7. Lệnh xử lý được tách biệt khỏi lệnh truy cập bộ nhớ. Khi thực hiện các lệnh vận hành, các đối số phải được đặt trong bộ nhớ thanh ghi và kết quả cũng được đặt trong bộ nhớ thanh ghi (các lệnh thuộc loại thanh ghi-thanh ghi (lệnh R)).

8. Chỉ truy cập vào bộ nhớ thông qua lệnh “Đọc” và “Ghi”;

9. Tất cả các lệnh, ngoại trừ “Đọc” và “Ghi”, đều sử dụng chuyển khoản giữa các thanh ghi của bộ xử lý nội bộ;

10. Tệp bộ xử lý tương đối lớn của các thanh ghi có mục đích chung.

11. Thiết bị điều khiển có logic “cứng”;

Như đã lưu ý, tập lệnh của bộ xử lý RISC nhỏ hơn đáng kể so với tập lệnh của máy tính có kiến ​​trúc truyền thống.

Tất cả đội vận hành(đối với RISC I) là loại R 3 địa chỉ; khi được thực thi, một giá trị nhất định được đặt trong thanh ghi mã điều kiện đặc biệt. Các lệnh này có định dạng như trong Hình. 4.1, A.

Đặt độ dài lệnh là 32 bit, sau đó:

COp – mã hoạt động – 7 bit;

S 1 – thanh ghi nguồn – 5 bit;

S 2 – thanh ghi nguồn – 13 bit;

Rd – thanh ghi đích – 5 bit;

F 1 và F 2 – cờ tính năng – mỗi cờ 1 bit.

Nếu F 1 = 0 thì các đặc tính của kết quả không được cài đặt. Nếu F 2 = 0 thì nội dung của S 2 được hiểu là toán hạng tức thời.

Định dạng lệnh đọc/ghi bộ nhớ thể hiện trong hình. 4.2,b. Khi truy cập bộ nhớ, chỉ sử dụng một chế độ địa chỉ có lập chỉ mục.

Một số cơ chế làm việc với chương trình con được thực hiện. Khi một chương trình con được gọi, thay vì lưu trữ nội dung của các thanh ghi trên ngăn xếp hoặc bộ nhớ, chương trình con đó được cấp phát một bộ thanh ghi mới (khoảng 140 thanh ghi).

Đặc điểm của kiến ​​trúc RISC - khái niệm và các loại. Phân loại và đặc điểm của chuyên mục “Đặc điểm của kiến ​​trúc RISC” năm 2017, 2018.

  • - Đặc điểm kiến ​​trúc và điêu khắc trong văn hóa Lưỡng Hà (Mesopotamia).

    Sự phát triển của nghệ thuật Ai Cập cổ đại. Ai Cập là quốc gia lâu đời nhất trên thế giới và nghệ thuật của nước này là đóng góp sớm nhất cho lịch sử văn hóa của các quốc gia Phương Đông Cổ đại. Sáu nghìn năm trước, tại Thung lũng sông Nile màu mỡ, chế độ chuyên quyền sở hữu nô lệ đầu tiên đã trỗi dậy, thống nhất trong... .


  • - Đặc điểm của kiến ​​trúc Windows 2000

    Kiến trúc WIN 2000, cài đặt trình điều khiển · Đa nhiệm ưu tiên (theo mức độ ưu tiên): bạn có thể chạy nhiều chương trình cùng lúc, nhưng chúng được thực thi từng phần một, “chuyển chỗ” cho nhau tùy theo mức độ ưu tiên của chương trình. · Đa luồng: một... .


  • - Nguyên tắc kiến ​​trúc tổ chức bộ xử lý RISC

    Như đã lưu ý trong /1, 14, 15/, danh sách lệnh của bộ vi xử lý hiện đại có thể chứa một số lượng lệnh khá lớn. Tuy nhiên, không phải tất cả chúng đều được sử dụng thường xuyên và thường xuyên như nhau. Thuộc tính này của hệ thống hướng dẫn là điều kiện tiên quyết để phát triển bộ xử lý có kiến ​​trúc RISC.... .


  • - Đặc điểm kiến ​​trúc lõi bộ xử lý của bộ xử lý SHARC thế hệ thứ hai.

    ADSP-21160 là bộ xử lý SHARC DSP thế hệ thứ hai đầu tiên. Các bộ xử lý thuộc họ này được phát triển để giải quyết vấn đề tăng hiệu suất tính toán trong khi vẫn duy trì khả năng tương thích mã tối đa với bộ xử lý SHARC DSP thế hệ đầu tiên. Chiến thắng trong....


  • - Đánh giá các kỹ thuật tối ưu hóa mã cho bộ xử lý RISC

    Như đã đề cập ở trên, lợi thế về hiệu suất của việc sử dụng bộ xử lý RISC do việc thực thi các lệnh đơn giản hơn “nhanh hơn” chỉ có thể đạt được nếu đơn vị thực thi được tải liên tục. Với thời gian ngừng hoạt động thường xuyên....


  • đại diện cho một phần của hệ thống mà người lập trình hoặc nhà phát triển trình biên dịch có thể nhìn thấy được. Theo nghĩa rộng, kiến ​​trúc bao trùm khái niệm tổ chức hệ thống, bao gồm các khía cạnh cấp cao của thiết kế máy tính như hệ thống bộ nhớ, cấu trúc bus hệ thống, tổ chức đầu vào/đầu ra, v.v.

    Liên quan đến hệ thống máy tính, thuật ngữ "kiến trúc" có thể được định nghĩa là sự phân bổ các chức năng được hệ thống thực hiện giữa các cấp độ của nó, hay chính xác hơn là định nghĩa về ranh giới giữa các cấp độ này. Vì vậy, kiến ​​trúc của một hệ thống máy tính liên quan đến một tổ chức đa cấp. Kiến trúc cấp một xác định chức năng xử lý dữ liệu nào được toàn bộ hệ thống thực hiện và chức năng nào được gán cho thế giới bên ngoài (người dùng, người vận hành, quản trị viên cơ sở dữ liệu, v.v.). Hệ thống tương tác với thế giới bên ngoài thông qua tập hợp các giao diện: ngôn ngữ (ngôn ngữ vận hành, ngôn ngữ lập trình và các chương trình hệ thống (chương trình tiện ích, chương trình soạn thảo, sắp xếp, lưu trữ và khôi phục thông tin).

    Giao diện của các lớp tiếp theo có thể phân định các lớp nhất định trong phần mềm. Ví dụ: lớp quản lý tài nguyên logic có thể bao gồm việc triển khai các chức năng như quản lý cơ sở dữ liệu, quản lý tệp và quản lý bộ nhớ ảo. Cấp độ quản lý tài nguyên vật lý bao gồm các chức năng quản lý bộ nhớ ngoài và RAM, quản lý các tiến trình đang chạy trong hệ thống.

    Cấp độ tiếp theo phản ánh đường phân định chính của hệ thống, cụ thể là ranh giới giữa phần mềm hệ thống và phần cứng. Ý tưởng này có thể được phát triển hơn nữa và nói về sự phân bổ chức năng giữa các bộ phận riêng lẻ của hệ thống vật lý. Ví dụ: một số giao diện xác định chức năng nào được thực hiện bởi các đơn vị xử lý trung tâm và chức năng nào được thực hiện bởi các bộ xử lý đầu vào/đầu ra.

    Chương 4.2. Kiến trúc hệ thống lệnh. Phân loại bộ xử lý (CISC và RISC).

    Hai kiến ​​trúc tập lệnh chính là kiến ​​trúc CISC và RISC. Người sáng lập kiến ​​trúc CISC có thể coi là IBM với kiến ​​trúc cơ bản/360, cốt lõi của kiến ​​trúc này đã được sử dụng từ năm 1964.

    Đi đầu trong việc phát triển các bộ vi xử lý có tập lệnh hoàn chỉnh (CISC - Complete Manual Set Computer) được coi là Intel với dòng x86 và Pentium. Kiến trúc này là tiêu chuẩn thực tế cho thị trường máy vi tính. Bộ xử lý CISC được đặc trưng bởi: số lượng thanh ghi đa năng tương đối nhỏ; một số lượng lớn các lệnh máy, một số lệnh được tải về mặt ngữ nghĩa tương tự như các toán tử của ngôn ngữ lập trình cấp cao và được thực thi trong nhiều chu kỳ xung nhịp; một số lượng lớn các phương pháp đánh địa chỉ; một số lượng lớn các định dạng lệnh có kích thước bit khác nhau; ưu thế của định dạng lệnh hai địa chỉ; sự hiện diện của các lệnh xử lý thuộc loại bộ nhớ đăng ký.

    Cơ sở kiến ​​trúc của các máy trạm và máy chủ hiện đại là kiến ​​trúc của một máy tính có tập lệnh rút gọn (RISC - Máy tính tập lệnh rút gọn). Sự khởi đầu của kiến ​​trúc này quay trở lại với các máy tính CDC6600, các nhà phát triển của chúng (Thornton, Cray, v.v.) đã nhận ra tầm quan trọng của việc đơn giản hóa bộ hướng dẫn để xây dựng các máy tính nhanh. Cray đã áp dụng thành công truyền thống đơn giản hóa kiến ​​trúc này khi tạo ra loạt siêu máy tính nổi tiếng của Cray Research. Tuy nhiên, khái niệm RISC theo cách hiểu hiện đại cuối cùng đã được hình thành trên cơ sở ba

    dự án nghiên cứu máy tính: bộ xử lý 801 của IBM, bộ xử lý RISC của Berkeley và bộ xử lý MIPS của Đại học Stanford.

    Ba chiếc xe này có rất nhiều điểm chung. Tất cả đều tuân theo một kiến ​​trúc tách biệt các lệnh xử lý khỏi các lệnh bộ nhớ và nhấn mạnh vào việc tạo đường ống hiệu quả. Hệ thống lệnh được thiết kế sao cho việc thực hiện bất kỳ lệnh nào chỉ mất một số lượng nhỏ chu kỳ máy (tốt nhất là một chu kỳ máy). Bản thân logic để thực thi các lệnh nhằm tăng hiệu suất đã tập trung vào phần cứng hơn là triển khai phần sụn. Để đơn giản hóa logic giải mã lệnh, các lệnh có độ dài cố định và định dạng cố định đã được sử dụng.

    Sự phát triển của kiến ​​trúc RISC phần lớn được quyết định bởi sự tiến bộ trong việc tạo ra các trình biên dịch tối ưu hóa. Chính các kỹ thuật biên dịch hiện đại giúp tận dụng hiệu quả tệp đăng ký lớn hơn, tổ chức đường dẫn và tốc độ thực hiện lệnh cao hơn. Các trình biên dịch hiện đại cũng tận dụng các kỹ thuật tối ưu hóa hiệu suất khác thường thấy trong bộ xử lý RISC: trì hoãn triển khai nhánh và xử lý siêu vô hướng, cho phép thực thi nhiều lệnh cùng một lúc.

    Cần lưu ý rằng sự phát triển của Intel (nghĩa là Pentium P54C và bộ xử lý thế hệ tiếp theo P6), cũng như các đối thủ kế nhiệm của nó (AMD R5, Cyrix M1, NexGen Nx586, v.v.) sử dụng rộng rãi các ý tưởng được triển khai trong bộ vi xử lý RISC.

    Vào những năm 70 của thế kỷ 20, các nhà khoa học đã đưa ra một ý tưởng mang tính cách mạng vào thời điểm đó là tạo ra một bộ vi xử lý chỉ “hiểu” được số lượng lệnh tối thiểu có thể.

    Ý tưởng về bộ xử lý RISC (Máy tính tập lệnh rút gọn, máy tính có bộ lệnh rút gọn) ra đời là kết quả của các nghiên cứu thực tế về tần suất sử dụng lệnh của các lập trình viên, được thực hiện vào những năm 70 ở Mỹ và Anh . Kết quả ngay lập tức của họ là “quy tắc 80/20” nổi tiếng: 80% mã trong một chương trình ứng dụng điển hình chỉ sử dụng 20% ​​lệnh máy đơn giản nhất trong toàn bộ tập hợp có sẵn.

    Bộ xử lý RISC 31 lệnh "thực sự" đầu tiên được tạo ra dưới sự chỉ đạo của David Patterson tại Đại học Berkeley, tiếp theo là bộ xử lý 39 lệnh. Chúng bao gồm 20-50 nghìn bóng bán dẫn. Thành quả lao động của Patterson đã được Sun Microsystems tận dụng, công ty đã phát triển kiến ​​trúc SPARC với 75 nhóm vào cuối những năm 70. Năm 1981, dự án MIPS được khởi động tại Đại học Stanford nhằm sản xuất bộ xử lý RISC với 39 nhóm. Kết quả là Tập đoàn máy tính Mips được thành lập vào giữa những năm 80 và bộ xử lý tiếp theo với 74 lệnh đã được thiết kế.

    Theo công ty độc lập IDC, năm 1992, kiến ​​trúc SPARC chiếm 56% thị trường, tiếp theo là MIPS - 15% và PA-RISC - 12,2%.

    Cùng khoảng thời gian đó, Intel đã phát triển dòng 80386, bộ xử lý CISC "thực sự" cuối cùng trong dòng IA-32. Lần trước, những cải tiến về hiệu suất chỉ đạt được bằng cách tăng độ phức tạp của kiến ​​trúc bộ xử lý: nó chuyển từ 16 bit sang 32 bit, các thành phần phần cứng bổ sung hỗ trợ bộ nhớ ảo và một số thành phần mới đã được thêm vào

    Các tính năng chính của bộ xử lý RISC:

    1. Giảm bộ lệnh (từ 80 xuống 150 lệnh).

    2. Hầu hết các lệnh được thực thi trong 1 chu kỳ xung nhịp.

    3. Một số lượng lớn các thanh ghi có mục đích chung.

    4. Có sẵn băng tải nhiều tầng cứng nhắc.

    5. Tất cả các lệnh đều có định dạng đơn giản và ít phương pháp đánh địa chỉ được sử dụng.

    6. Có sẵn phòng riêng rộng rãi bộ nhớ đệm.

    7. Việc sử dụng các trình biên dịch tối ưu hóa để phân tích mã nguồn và thay đổi một phần thứ tự các lệnh.

    Bộ xử lý RISC thế hệ thứ 3

    Các nhà phát triển bộ xử lý RISC lớn nhất là Sun Microsystems (SPARC - kiến ​​trúc Ultra SPARC), IBM (bộ xử lý Power đa chip, PowerPC đơn chip - PowerPC 620), Digital Equipment (Alpha - Alpha 21164), Mips Technologies (Rxx00 - R 10000) gia đình), cũng như Hewlett-Packard (kiến trúc PA-RISC - PA-8000).

    Tất cả các bộ xử lý RISC thế hệ thứ ba:

    ∙ là 64-bit và siêu vô hướng (ít nhất 4 lệnh được khởi chạy trong mỗi chu kỳ đồng hồ);

    có các đơn vị số học dấu phẩy động được tích hợp sẵn;

    có đa cấp bộ nhớ đệm. Hầu hết các bộ xử lý RISC đều lưu các hướng dẫn được giải mã trước vào bộ nhớ đệm;

    được sản xuất theo Công nghệ CMOS với 4 lớp kim loại hóa.

    Để xử lý dữ liệu, thuật toán dự đoán nhánh động và phương pháp gán lại thanh ghi được sử dụng, cho phép thực hiện các lệnh không theo thứ tự.

    Việc tăng hiệu suất của bộ xử lý RISC đạt được bằng cách tăng tốc độ xung nhịp và tăng độ phức tạp của thiết kế chip. Đại diện của hướng đầu tiên là bộ xử lý Alpha của DEC, bộ xử lý phức tạp nhất vẫn là của Hewlett-Packard. Chúng ta hãy xem xét bộ xử lý của các công ty này chi tiết hơn.

    Cấu trúc bộ xử lý Alpha: 21064, 21264

    Cấu trúc của bộ xử lý Alpha 21064 được hiển thị trong Hình 2.

    Cơm. Cấu trúc bộ xử lý Alpha 21064

    Các khối chức năng chính của bộ xử lý Alpha 21064:

    ∙ I-cache - bộ đệm lệnh.

    IRF là một tệp thanh ghi số học số nguyên.

    ∙ F-box - thiết bị số học dấu phẩy động.

    ∙ Hộp điện tử - thiết bị số học số nguyên (7 tầng băng tải).

    ∙ I-box - thiết bị lệnh (điều khiển bộ đệm lệnh, tìm nạp và giải mã lệnh).

    ∙ A-box - thiết bị điều khiển tải/lưu dữ liệu. Kiểm soát quá trình trao đổi dữ liệu giữa IRF, FRF, bộ đệm dữ liệu và bộ nhớ ngoài.

    Write Buffer - ghi lại bộ đệm.

    ∙ D-cache - bộ đệm dữ liệu.

    BIU - đơn vị giao diện được kết nối với bộ nhớ đệm ngoài, kích thước 128 KB-8 MB.

    Đặc điểm so sánh của Alpha 21164 và 21264

    Bộ xử lý Alpha 21264 là một cải tiến đáng kể so với người tiền nhiệm của nó, 21164, với bộ đệm L1 lớn hơn, các khối chức năng bổ sung, dự đoán nhánh hiệu quả hơn, hướng dẫn xử lý video mới và bus rộng hơn.

    Alpha 21264 đọc tối đa bốn lệnh trong mỗi chu kỳ đồng hồ và có thể thực hiện đồng thời tối đa sáu lệnh. Điểm khác biệt lớn nhất của nó so với mẫu 21164 là khả năng thực thi các lệnh (lần đầu tiên dành cho Alpha) với sự thay đổi trong thứ tự của chúng

    Hiệu quả của việc thực thi không theo thứ tự được xác định bởi số lượng lệnh mà CPU có thể thao tác để xác định thứ tự thực hiện lệnh tối ưu. CPU có thể sử dụng càng nhiều lệnh cho việc này thì càng tốt và nó càng có thể nhìn xa hơn. Bộ xử lý lớp Intel P6 (Pentium Pro, Pentium II, Xeon) có thể xử lý đồng thời ít nhất 40 lệnh. Đối với các bộ xử lý khác, con số này cao hơn nhiều: PA-8000 của HP hoạt động với 56 lệnh và bộ xử lý Alpha xử lý 80 lệnh.

    Giống như hầu hết các bộ xử lý RISC, Alpha chứa một bộ gồm 32 thanh ghi số nguyên và 32 thanh ghi dấu phẩy động, tất cả đều rộng 64 bit. Để tăng hiệu quả thực hiện lệnh không theo thứ tự, bộ xử lý 21264 được trang bị 48 thanh ghi số nguyên và 40 thanh ghi dấu phẩy động bên cạnh bộ thanh ghi thông thường.

    Mỗi thanh ghi có thể lưu trữ tạm thời các giá trị của lệnh hiện tại. Nếu bất kỳ lệnh nào được xử lý, không cần phải đổ kết quả vào thanh ghi đích - thay vào đó, CPU chỉ cần đổi tên thanh ghi tạm thời (Register Renaming).

    Việc đổi tên các thanh ghi tương tự cũng tồn tại trong các bộ xử lý khác. Tuy nhiên, 21264 thực hiện một “thủ thuật” độc đáo - nó có một bộ thanh ghi số nguyên trùng lặp, mỗi thanh ghi trong số 80 thanh ghi số nguyên lại được sao chép lại. Như vậy, có tổng cộng 160 thanh ghi số nguyên trên chip. Đây là một trong những lý do tại sao mặc dù gặp khó khăn khi thực hiện Out-of-Order nhưng tần số cao của bộ xử lý 21264 vẫn có thể chấp nhận được.

    Các khối phép toán số nguyên trong cả hai nhóm không hoàn toàn giống nhau. Một trong số chúng chứa khối nhân và khối thứ hai chứa logic đặc biệt để xử lý hình ảnh chuyển động (MPEG). Để đạt được điều này, bộ lệnh Alpha đã được bổ sung năm lệnh mới. Điều thú vị nhất trong số chúng - PERR - được sử dụng để ước tính chuyển động, tức là. thực hiện một tác vụ xảy ra trong cả quá trình nén và giải nén MPEG. Lệnh PERR thực hiện công việc của chín lệnh thông thường. Do đó, bộ xử lý 21264 có thể giải mã chuỗi video MPEG-2 cũng như dữ liệu âm thanh DVD AC-3 trong thời gian thực mà không cần thêm thiết bị ngoại vi.

    Trong bộ xử lý 21264, không giống như các bộ xử lý trước đó, hệ thống phân cấp bộ nhớ đệm gần như được tổ chức lại hoàn toàn. Nó có một bộ đệm L1 64 KB dành cho hướng dẫn và bộ đệm L1 64 KB khác dành cho dữ liệu; cả hai đều có tính kết hợp kép. Bộ đệm cấp hai (L2) đã được di chuyển ra ngoài chip - nó có thể được truy cập thông qua bus phía sau 128 bit.

    Đặc điểm so sánh của Alpha 21164 và 21264 được đưa ra trong bảng. .

    Bảng 10.1. Đặc điểm so sánh của Alpha 21164 và 21264

    Tần số đồng hồ, MHz

    Công suất:8(I)+8(D)

    Công suất: 64(I)+64(D)