Tải bản đầy đủ (.pdf) (26 trang)

Đề Tài Cpu – Cấếu Tạo Và Chức Năng..pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.04 MB, 26 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG Đ I H C KIẾẾN TRÚC HÀ N IẠỌỘ</b>

<b>KHOA CÔNG NGH THÔNG TINỆ</b>

<i><b>CH ĐỀỀ: Ủ</b></i> <b>KIẾẾN TRÚC MÁY TÍNH</b>

<i><b>ĐỀỀ TÀI: CPU – CẤẾU T O VÀ CH C NĂNG.</b></i><b>ẠỨ</b>

Giáo viên hướng dẫẫn:<b> Nguyễễn Hồồng Thanh.</b>

Nhóm th c hi nự <b>ệ : Nhóm 13.</b>

L p:<b>ớ 20CN5</b>

<b>Thành viên: 2055010263 - Nguyễễn Đ c Thắắng,ứ 2055010168 - Hoàng Kồng Minh, 2055010054 - Tr nh Đình Đ i.ịạ</b>

<i><b> Hà N i, Ngày 22 tháng 10 năm 2021.ộ</b></i>

TI U LU NỂẬ

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

PHỤ LỤC:TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ

…8<i>2 Phân loại thanh ghi ……….</i>

….8III.CHU KỲ HƯỚNG DẪN ………..…

11<i>1. Khái niệm ………...…</i>

12<i>2. Các bước thực hiện hướng </i>……….12

<i>3. Dòng dữ liệu………....14</i>

IV. HƯỚNG DẪN PIPELINING………...16

<i>1. Khái niệm…..………..…</i>

16

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<i>2. Các giai đoạn của Pipelining</i>

………16V. BỘ XỬ LÝ PENTIUM

- Khoa học ngày càng phát triển mạnh mẽ, nhu cầu sử dụng những cơng nghệ càng ngày cao, u cầu độ chính xác và năng xuất hoạt động cao. Từ yêu cầu đó, con người cần phải sản xuất và phát minh ra những công cụ, sản phẩm ứng dung và phát triển ngành cơng nghệ lập trình.

- Đi tiên phong thế hệ vi xử lý lập trình theo nhu cầu mong muốn con người, nhà sản xuất chip vi xử lý Intel đã phát triển và chế tạo thành công chip 4004 vào năm 1917. Là bộ vi xử lý 4 bit đầu tiên mởđầu cho kỷ nguyên thế hệ vi xử lý trong máy tính.

- Một mốc son quan trọng nhất mà Intel đạt được đó là hãng sản xuất ra bộ vi xử lý mang tên 8086. Đó là 1 trong nhưng cột mốc đầy đáng tự hào của nền văn minh nhân loại về khoa học máy tính. Là

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

bước khởi đầu cho sự phát triễn vững mạnh của Intel về sản xuất bộ xử lý trung tâm(CPU).

- Bộ xử lý trung tâm đã mang lại sự bùng nổ cơng nghệ với sự có mặt trong hầu hết các máy tính. Để hiểu rõ hơn về cấu tạo và chức năng của CPU, chúng em xin phép trinh bày nội dung và một số ví dụ cụ thể trong bài tiểu luận này.

Nhóm sinh viên thực hiện: Họ và tên Mã sinh viên

Hồng Kơng Minh 2055010168

- Sự ra đời và phát triển của CPU từ năm 1971 cho đến nay với các tên gọi tương ứng với công nghệ và chiến lược phát triển kinh doanh của hãng Intel: CPU 4004, CPU 8088, CPU 80286, CPU 80386, CPU 80486, CPU 80586,... Core i3, i5, i7.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>1. Nhiệm vụ và cấu trúc cơ bản của CPU: </b>

- Để hiểu tổ chức của CPU, chúng ta hãy xem xét các yêu cầu của CPU, những thứ nó phải làm:

+ Tìm nạp lệnh (Fetch Instruction) : CPU đọc lệnh từ bộ nhớ

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

+ Diễn giải lệnh (Interpret Instruction) : Hướng dẫn giải mã để xác định hành động nào được yêu cầu

+ Tìm nạp dữ liệu (Fetch data) : Việc thực hiện 1 lệnh có thể yêu cầuđọc dữ liệu từ bộ nhớ hoặc mô-đun mở rộng (I/O)

+ Xử lý dữ liệu (Process data) : Việc thực hiện 1 lệnh có thể yêu cầu thực hiện một số phép toán số học hoặc logic trên dữ liệu

+ Ghi dữ liệu (Write data) : Kết quả của 1 quá trình thực thi có thể yêu cầu ghi dữ liệu vào bộ nhớ hoặc mô-đun I/O

- Để làm được những điều này, cần rõ ràng CPU cần lưu trữ 1 số dữ liệu tạm thời. Nó phải ghi nhớ vị trí của lệnh cuối cùng để có thể biếtnơi nhận lệnh tiếp theo. Cần lưu trữ các lệnh và dữ liệu tạm thời 1 cách dễ dàng trong khi 1 lệnh đang được thực thi. Nói cách khác, CPU cần 1 bộ nhớ trong nhỏ.

- Sơ cấu trúc cơ bản CPU:

<b>2. Cấu tạo và chức năng của CPU</b>

- Cấu tạo bên trong:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

+ Đơn vị điều khiển ( Control Unit – CU)

+ Đơn vị số học và logic (Arithmetic anh Logic Unit – ALU)+ Tập thanh ghi (Register file – RF)

+ Đơn vị nối ghép bus (Bus interface Unit – BIU)+ Bus bên trong (Internal Bus)

+ Các thanh ghi (Registers)- Chức năng:

<b>+ Khối điều khiển CU- Control Unit:</b>

Đây là thành phần của CPU thực hiện nhiệm vụ thơng dịch các lệnh của chương trình; đồng thời, điều khiển hoạt động xử lý và được điềutiết chính xác bởi xung nhịp đồng hồ hệ thống. Phần này là phần cốt lõi của một bộ xử lý, được cấu thành từ các mạch logic so sánh với linh kiện bán dẫn tạo thành.

+ ALU – Arithmetic Logic Unit:

Trong các thành phần của máy tính, ALU có chức năng thực hiện các phép toán số học và logic sau đó sẽ trả lại kết quả cho các thanh ghihoặc bộ nhớ.

+ Các thanh ghi (Registers):

Là các bộ nhớ có dung lượng nhỏ nhưng lại có tốc độ truy cập càng cao, nằm ngay trong CPU, dùng để lưu trữ tạm thời các tốn hạng, kết quả tính tốn, địa chỉ các ô nhớ hoặc thông tin điều kiện. Mỗi một thanh ghi có một chức năng cụ thể. Thanh ghi quan trọng nhất đó chính là bộ đếm chương trình (PC- Program Counter) chỉ đến lệnh sẽ thi hành tiếp theo.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

- Hiện nay bộ vi xử lý CPU đều đã được cập nhật công nghệ siêu phân luồng nhằm sử dụng tài nguyên hiệu quả hơn. Nhiều luồng sẽ được xử lý hơn trên mỗi nhân CPU. Ở thời điểm hiện tại, CPU sở hữu xung nhịp mặc định cực cao cho phép xử lý và tính tốn nhanh hơn.- Tốc độ CPU hay còn gọi là tốc độ xung nhịp CPU được đo bằng đơn vị Gigahertz hay GHz biểu thị số chu kỳ xử lý mỗi giây mà CPU có thể thực hiện được.

- Tốc độ xung nhịp cao hơn đồng nghĩa là CPU nhanh hơn. Tuy nhiên,có rất nhiều yếu tố khác tác động.

Tốc độ CPU còn phụ thuộc vào nhiều yếu tố như:

- Số nhân xử lý (2, 4, 10, 22 nhân,...), càng nhiều nhân càng mạnh.- Công nghệ sản xuất (32nm, 22nm, 14nm,...), càng nhỏ càng tiết kiệm điện và hiệu năng cao hơn.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

- Công nghệ làm tăng tốc độ xử lý của CPU (pipeline, turbo boost, siêu phân luồng,...).

- Bộ nhớ đệm dùng để lưu các lệnh/dữ liệu thường dùng hay có khả năng sẽ được dùng trong tương lai gần, giúp giảm bớt thời gian chờ đợi của CPU.

- Đồ họa tích hợp

- TDP (cơng suất thốt nhiệt), lượng nhiệt chip xử lý tỏa ra mà hệ thống làm mát cần phải giải tỏa. TDP thường cho biết mức tiêu thụ điện của con chip, con số này càng thấp càng tốt.

<b>II. Tổ chức thanh ghi1. Khái niệm</b>

- Thanh ghi là đơn vị bộ nhớ <i>nhỏ hơn</i> và có thể truy cập <i>nhanh nhất trong đơn vị xử lý trung tâm (CPU). Theo hệ thống phân cấp bộ </i>

nhớ, các thanh ghi trong bộ vi xử lý, vận hành một mức độ cao hơn các bộ nhớ chính và bộ nhớ cache . Các thanh ghi được sử dụng bởi đơn vị trung tâm còn được gọi là thanh ghi bộ xử lý .

<i>- Một thanh ghi có thể chứa lệnh, vị trí địa chỉ hoặc các tốn hạng . Đơi khi, lệnh có đăng ký như một phần của chính nó.</i>

<b>2. Phân loại CPU</b>

- Các thanh ghi có hai loại chính: Thanh ghi Người dùng có thể nhìn thấy và Thanh ghi Điều khiển và Trạng thái:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

a) Người dùng hiện thị đăng ký: o Sổ đăng ký mục đích chungo Đăng ký dữ liệu

o Đăng ký địa chỉo Mã điều kiện

- Các thanh ghi này có thể nhìn thấy đối với các lập trình viên hợp ngữ hoặc ngôn ngữ máy và họ sử dụng chúng một cách hiệu quả để giảm thiểu các tham chiếu bộ nhớ trong các hướng dẫn. Chà, những thanh ghi này chỉ có thể được tham chiếu bằng ngơn ngữ máy hoặc hợp ngữ. Những thanh ghi này chỉ có thể được tham chiếu

<b>bằng ngôn ngữ máy hoặc hợp ngữ.</b>

<b> </b>

+ Số đăng ký mục đích chung:

- Các thanh ghi mục đích chung giữ cả địa chỉ hoặc dữ liệu . Mặc dù chúng ta có thanh ghi dữ liệu và thanh ghi địa chỉ riêng biệt . Thanh ghi mục đích chung cũng chấp nhận các kết quả trung gian trong quá trình thực hiện chương trình.

- Các lập trình viên có thể hạn chế một số thanh ghi có mục đích chung cho các chức năng cụ thể . Giống như, một số thanh ghi được sử dụng đặc biệt cho các hoạt động ngăn xếp hoặc cho các hoạt động dấu phẩy động. Thanh ghi mục đích chung cũng có thể được sử

<b>dụng cho các chức năng định địa chỉ.</b>

+ Đăng ký dữ liệu:

Người dùng hi n ệth đăng kýị

Mã điêều ki nệĐăng ký đ a ị

Sốố đăng ký m c đích ụ

Đăng ký d ữli uệ

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

- Bản thân thuật ngữ mô tả rằng các thanh ghi này được sử dụng để lưu giữ dữ liệu. Nhưng các lập trình viên khơng thể sử dụng các thanh ghi này để tính tốn địa chỉ tốn hạng

+ Các thanh ghi địa chỉ chứa địa chỉ của một toán hạng hoặc nó cũng có thể hoạt động như một thanh ghi có mục đích chung . Một thanh ghi địa chỉ có thể được dành riêng cho một chế độ địa chỉ nhấtđịnh . Hãy để chúng tôi hiểu điều này với các ví dụ:

<b>(a)Thanh ghi con trỏ phân đoạn</b>

Một bộ nhớ được chia thành các phân đoạn, yêu cầu một thanhghi phân đoạn để giữ địa chỉ cơ sở của phân đoạn . Có thể có nhiều thanh ghi phân đoạn. Vì một thanh ghi phân đoạn có thể được sử dụng để giữ địa chỉ cơ sở của phân đoạn mà hệ điều hành chiếm giữ. Thanh ghi phân đoạn khác có thể giữ địa chỉ cơ sở của phân đoạn được phân bổ cho bộ xử lý.

<b>(b)</b> Thanh ghi chỉ mục được sử dụng để định địa chỉ được lập chỉ mục và giá trị ban đầu là 0. Nói chung, nó được sử dụng để duyệt qua các vị trí bộ nhớ. Sau mỗi tham chiếu, thanh ghi chỉ mục được tăng hoặc giảm 1, tùy thuộc vào bản chất của hoạt động.Đôi khi thanh ghi chỉ mục có thể được tự động lập chỉ mục .

<b>(c)Thanh ghi con trỏ</b>

Thanh ghi ngăn xếp có địa chỉ trỏ đến đỉnh ngăn xếp .b) Thanh ghi Điều khiển và Trạng thái:

o Bộ đếm chương trìnho Đăng ký chỉ dẫno Đăng ký địa chỉ bộ nhớo Đăng ký bộ đệm bộ nhớ

- Thanh ghi trạng thái và điều khiển giữ địa chỉ hoặc dữ liệu quan trọng để điều khiển hoạt động của bộ xử lý . Điều quan trọng nhất lànhững thanh ghi này không được hiển thị cho người dùng. Dưới đây chúng ta sẽ thảo luận về tất cả các thanh ghi điều khiển và trạng thái là cần thiết cho việc thực hiện một lệnh :

<b> </b>

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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

+ Bộ đếm chương trình:

- Bộ đếm chương trình là một thanh ghi bộ xử lý chứa địa chỉ của lệnh sẽ được thực hiện tiếp theo. Nó là một bộ xử lý cập nhật bộ đếm chương trình với địa chỉ của lệnh tiếp theo sẽ được tìm nạp để thực thi.

- Các thanh ghi địa chỉ bộ nhớ (MAR) và thanh ghi bộ đệm bộ nhớ (MBR) được sử dụng để di chuyển dữ liệu giữa bộ xử lý và bộ nhớ .- Ngoài các thanh ghi trên, một số bộ xử lý có một thanh ghi được gọi là Program Status Word (PSW) . Như từ gợi ý nó chứa thơng tin trạng thái .

- Các trường có trong Chương trình Trạng thái Word (PSW) :o <b>Dấu hiệu: Trường này có bit dấu kết quả của phép tính </b>

số học cuối cùng được thực hiện.

Thanh ghi b ộđêốm b nh ộ ớ

Đăng ký đ a ị

chỉ b nhộớ

Bộ đêốm

dẫẫn

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

o <b>Zero: Trường này được đặt khi kết quả của phép </b>

tốn bằng khơng .

o <b>Thực hiện: Trường này được đặt khi một phép toán số </b>

học dẫn đến chuyển vào hoặc đi vay .

o <b>Bằng nhau: Nếu một hoạt động hợp lý kết quả </b>

trong, bình đẳng các bit bằng được thiết lập.o <b>Overflow: Bit này cho biết tràn số học .</b>

o <b>Ngắt: Bit này được thiết lập để bật hoặc tắt các ngắt.</b>

o <b>Người giám sát: Bit này cho biết liệu bộ xử lý đang thực</b>

thi ở chế độ người giám sát hay chế độ người dùng .Vì vậy, đây là các loại thanh ghi mà bộ xử lý có. Người thiết kế bộ xửlý tổ chức có thêm các thanh ghi theo yêu cầu của bộ xử lý.

<b>2. Các bước thực hiện hướng dẫn</b>

- CPU của mỗi máy tính có thể có các chu kỳ khác nhau dựa trên cáctập lệnh khác nhau, nhưng sẽ tương tự như chu kỳ sau:

+ <i>Giai đoạn tìm nạp</i> : Lệnh tiếp theo được tìm nạp từ địa chỉ bộ nhớ hiện đang được lưu trong bộ đếm chương trình và được lưu vào thanh ghi lệnh. Khi kết thúc thao tác tìm nạp, PC trỏ đến lệnh tiếp theo sẽ được đọc ở chu kỳ tiếp theo.

+ <i>Giai đoạn giải mã</i> : Trong giai đoạn này, lệnh được mã hóa được trình bày trong thanh ghi lệnh được bộ giải mã thông dịch

<i>+ Giai đoạn thực thi (Đọc địa chỉ hiệu quả từ bộ nhớ) : Đơn vị điều </i>

khiển của CPU chuyển thông tin đã giải mã dưới dạng một chuỗi các tín hiệu điều khiển đến các đơn vị chức năng liên quan của CPU để thực hiện các hành động theo yêu cầu của lệnh, chẳng hạn như đọc các giá trị từ các thanh ghi, chuyển chúng đến ALU để thực hiện các hàm toán học hoặc logic trên chúng và ghi kết quả trở lại một thanh ghi. Nếu ALU có liên quan, nó sẽ gửi một tín hiệu điều kiện trở lại CU. Kết quả do hoạt động tạo ra được lưu trữ trong bộ nhớ chính hoặc được gửi đến thiết bị đầu ra. Dựa trên phản hồi từ ALU, PC có thể được cập nhật thành một địa chỉ khác mà từ đó sẽ tìm nạp lệnh tiếp theo.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

+ <i>Chu kỳ ngắt</i> : Nếu ngắt được bật và xảy ra ngắt, hãy lưu trạng tháiquy trình hiện tại và phục vụ ngắt

Chu Kỳ Hướng Dẫn

sung, được gọi là chu trình g* Chu trình gián tiếp :

- Có thể yêu cầu truy cập bộ nhớ để lấy toán hạng.- Địa chỉ gián tiếp đòi hỏi truy cập bộ nhớ nhiều hơn. - Có thể được coi như thêm chu kỳ lệnh nhỏ.

- Việc thực hiện một lệnh có thể liên quan đến một hoặc nhiều toánhạng trong bộ nhớ, mỗi toán hạng yêu cầu một quyền truy cập bộnhớ. Hơn nữa, nếu sử dụng địa chỉ gián tiếp, thì cần phải truy cập bộnhớ bổ sung.Các địa chỉ gián tiếp có thể được tìm nạp dưới dạng một

<i>giai đoạn lệnh nữa. Chu trình lệnh gián tiếp:</i>

Giai đo n tmạn pạ

Giai đo n gi iạ ảmã l nhệTh c hi nự ệ

hướng dẫẫn.

Giai đo n th cạ ựthi

Tìm n pạ

Chu kỳ gián tiêốp

Ngăốt

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

* Sơ đồ trạng thái chu trình lệnh :

- Điều này minh họa một cách chính xác hơn bản chất của chu trìnhlệnh. Khi một lệnh được tìm nạp, các chỉ định tố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 đó được tìmnạp và q trình này có thể yêu cầu địa chỉ gián tiếp. Các toán hạngdựa trên thanh ghi khơng cần được tìm nạp. Khi opcode được thựcthi, có thể cần một quy trình tương tự để lưu kết quả vào bộ nhớchính.

<b>3. Dịng dữ liệu</b>

- Giả sử rằng một bộ xử lý sử dụng một thanh ghi địa chỉ bộ nhớ(MAR), một thanh ghi bộ đệm bộ nhớ (MBR), một bộ đếm chươngtrình (PC) và một thanh ghi lệnh (IR). Trong chu kỳ tìm nạp, một lệnhđược đọc từ bộ nhớ. Hình dưới đây cho thấy luồng dữ liệu trong chukỳ tìm nạp này:

khi nể

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Bus Bus Bus địa chỉ dữ liệu điều khiển- MAR : Thanh ghi địa chỉ bộ nhớ

- MBR : Thanh ghi đệm bộ nhớ- PC : Bộ đếm chương trình- IR : Đăng ký chỉ dẫn

- 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à được sao chép vào MBR rồi chuyển đến IR. Trong khi đó, PC được tăng thêm 1, chuẩn bị cho lần tìm nạp tiếp theo.

- Khi chu kỳ tìm nạp kết thúc, đơn vị điều khiển sẽ kiểm tra nội dung của IR để xác định xem nó có chứa một chỉ định toán hạng bằng cách sử dụng địa chỉ gián tiếp hay khơng. Nếu vậy, một chu trình gián tiếp được thực hiện. Như thể hiện trong hình dưới đây, đây là một chu trình lệnh gián tiếp :

- N bit ngoài cùng bên phải của MBR, chứa tham chiếu địa chỉ, được chuyển đến MAR. Sau đó, đơn vị điều khiển yêu cầu đọc bộ nhớ, để lấy địa chỉ mong muốn của toán hạng vào MBR.

- Các chu trình tìm nạp và gián tiếp rất đơn giản và có thể dự đốn được. Chu trình thực thi có nhiều dạng; biểu mẫu phụ thuộc vào hướng dẫn máy khác nhau nằm trong IR. Chu trình này có thể liên quan đến việc chuyển dữ liệu giữa các thanh ghi, đọc hoặc ghi từ bộ nhớ hoặc I / O, và / hoặc lệnh gọi ALU.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

- Giống như chu trình tìm nạp và chu trình gián tiếp, chu trình ngắt đơn giản và có thể dự đốn được. Sơ đồ chu trình ngắt :

- Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu.

- CPU đưa địa chỉ (thường được lấy từ con trỏ ngăn xếp SP) ra bus địa chỉ

- CPU phát tín hiệu điều khiển ghi bộ nhớ

- Địa chỉ trở về bus dữ liệu được ghi ra vị trí xác định (ở ngăn xếp)- Địa chỉ lệnh đầu tiên của chương trinh con điều khiển ngắt được nạp vào PC

<b>IV. Hướng dẫn Pipelining (Instruction Pipelining)1. Khái niệm</b>

- Hướng dẫn Pipelining là một kỹ thuật để thực hiện song song mức hướng dẫn trong một bộ xử lý duy nhất. Pipelining cố gắng giữ cho mọi bộ phận của bộ xử lý bận rộn với một số lệnh bằng cách chia các lệnh đến thành một loạt các bước tuần tự (cùng tên " đường ống ") được thực hiện bởi các bộ xử lý khác nhau với các phần lệnh khác nhau được xử lý song song.

- Khi các hệ thống máy tính phát triển, hiệu suất lớn hơn có thể đạt được bằng cách tận dụng các cải tiến trong công nghệ, chẳng hạn như mạch nhanh hơn, sử dụng nhiều bộ đăng ký thay vì một bộ tích lũy duy nhất và sử dụng bộ nhớ cache. Một cách tiếp cận tổ chức khác là ống dẫn hướng dẫn trong đó các đầu vào mới được chấp nhận ở một đầu trước khi các đầu vào được chấp nhận trước đó xuấthiện dưới dạng đầu ra ở đầu kia.

</div>

×