118
William Stallings Computer Organization and Architecture8 th Edition Chương 1: Introduction Giới thiệu Architecture & Organization 1 Kiến trúc & tổ chức 1 Architecture is those attributes visible to the programmer Kiến trúc là những thuộc tính hiển thị cho các lập trình viên o Instruction set, number of bits used for data representation, I/O mechanisms, addressing techniques. Hướng dẫn thiết lập, số lượng bit dùng để biểu diễn dữ liệu, I / O cơ chế, kỹ thuật giải quyết. o eg Is there a multiply instruction? ví dụ: Có một nhân dẫn? Organization is how features are implemented Tổ chức là tính năng được thực hiện như thế nào o Control signals, interfaces, memory technology. Kiểm soát tín hiệu, giao diện, bộ nhớ công nghệ. o eg Is there a hardware multiply unit or is it done by repeated addition? ví dụ như là có một phần cứng nhân đơn vị hoặc là nó thực hiện bằng cách Ngoài ra lặp đi lặp lại? Architecture & Organization 2 Kiến trúc & Tổ chức 2 All Intel x86 family share the same basic architecture Tất cả x86 Intel gia đình chia sẻ cùng một kiến trúc cơ bản The IBM System/370 family share the same basic architecture IBM System/370 gia đình chia sẻ cùng một kiến trúc cơ bản This gives code compatibility Điều này cho phép khả năng tương thích mã o At least backwards Ít nhất ngược Organization differs between different versions Tổ chức khác nhau giữa các phiên bản khác nhau Structure & Function Cơ cấu và chức năng Structure is the way in which components relate to each other Cơ cấu là cách thức mà các thành phần liên quan với nhau 1

Bản dịch Cấu Trúc Máy Tính

Embed Size (px)

Citation preview

Page 1: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Chương 1: Introduction Giới thiệu

Architecture & Organization 1 Kiến trúc & tổ chức 1

Architecture is those attributes visible to the programmer Kiến trúc là những thuộc tính hiển thị cho các lập trình viên

o Instruction set, number of bits used for data representation, I/O mechanisms, addressing techniques. Hướng dẫn thiết lập, số lượng bit dùng để biểu diễn dữ liệu, I / O cơ chế, kỹ thuật giải quyết.

o eg Is there a multiply instruction? ví dụ: Có một nhân dẫn?

Organization is how features are implemented Tổ chức là tính năng được thực hiện như thế nào

o Control signals, interfaces, memory technology. Kiểm soát tín hiệu, giao diện, bộ nhớ công nghệ.

o eg Is there a hardware multiply unit or is it done by repeated addition? ví dụ như là có một phần cứng nhân đơn vị hoặc là nó thực hiện bằng cách Ngoài ra lặp đi lặp lại?

Architecture & Organization 2 Kiến trúc & Tổ chức 2

All Intel x86 family share the same basic architecture Tất cả x86 Intel gia đình chia sẻ cùng một kiến trúc cơ bản

The IBM System/370 family share the same basic architecture IBM System/370 gia đình chia sẻ cùng một kiến trúc cơ bản

This gives code compatibility Điều này cho phép khả năng tương thích mã o At least backwards Ít nhất ngược

Organization differs between different versions Tổ chức khác nhau giữa các phiên bản khác nhau

Structure & Function Cơ cấu và chức năng

Structure is the way in which components relate to each other Cơ cấu là cách thức mà các thành phần liên quan với nhau

Function is the operation of individual components as part of the structure Chức năng là hoạt động của các thành phần riêng biệt như là một phần của cấu trúc

Function Chức năng

All computer functions are: Tất cả các chức năng máy tính là: o Data processing Xử lý dữ liệu

o Data storage Lưu trữ dữ liệu

1

Page 2: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Data movement Dữ liệu chuyển động

o Control Kiểm soát

Functional View Chức năng Xem

Operations (a) Data movement Hoạt động (a) dữ liệu chuyển động

Operations (b) Storage Điều hành (b) Lưu trữ

Operation (c) Processing from/to storage Hoạt động (c) Chế biến từ / cho lưu trữ

Operation (d) Hoạt động (d) Processing from storage to I/O Chế biến từ lưu trữ đến I / O

Structure - Top Level Cơ cấu - Top Level

Computer Máy tính Main Chính Memory Bộ nhớ Input Đầu vào Output Đầu ra

Systems Hệ thống Interconnection Kết nối Peripherals Thiết bị ngoại vi

Communication Thông tin lines đường Central Trung ương Processing Chế biến

Unit Đơn vị

Computer Máy tính

Structure - The CPU Cơ cấu tổ chức - Các CPU

Computer Máy tính Arithmetic Số học Login Unit Đơn vị đăng nhập

Control Kiểm soát Unit Đơn vị Internal CPU Nội bộ CPU Interconnection Kết nối

Registers Đăng ký Memory Bộ nhớ System Hệ thống

Structure - The Control Unit Cơ cấu tổ chức - Các đơn vị kiểm soát

Control Kiểm soát Memory Bộ nhớ Decoders Giải mã Sequencing Chuỗi

Login Đăng nhập

Outline of the Book (1) Phác thảo của cuốn sách (1)

Computer Evolution and Performance Evolution máy tính và Hiệu suất Computer Interconnection Structures Kết nối máy tính cấu trúc

2

Page 3: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Internal Memory Bộ nhớ trong

External Memory Bộ nhớ ngoài

Input/Output Input / Output

Operating Systems Support Hỗ trợ hệ điều hành

Computer Arithmetic Số học máy tính

Instruction Sets Hướng dẫn Sets

Outline of the Book (2) Đề cương của Sách (2)

CPU Structure and Function Cấu trúc và chức năng CPU Reduced Instruction Set Computers Giảm tập lệnh tính

Superscalar Processors Superscalar xử lý

Control Unit Operation Điều khiển hoạt động

Microprogrammed Control Microprogrammed Control

Multiprocessors and Vector Processing Multiprocessors và chế biến Vector

Digital Logic (Appendix) Logic kỹ thuật số (Phụ lục)

Internet Resources Tài nguyên Internet - Web site for book - Web site cho cuốn sách

http://WilliamStallings.com/COA/COA7e.html http://WilliamStallings.com/COA/COA7e.html

o links to sites of interest liên kết đến các trang web quan tâm

o links to sites for courses that use the book liên kết đến các trang web cho các khóa học có sử dụng các cuốn sách

o errata list for book danh sách errata cho cuốn sách

o information on other books by W. Stallings thông tin về những cuốn sách khác của W. Stallings

http://WilliamStallings.com/StudentSupport.html http://WilliamStallings.com/StudentSupport.html

o Math Toán học

o How-to Làm thế nào để

o Research resources Nghiên cứu tài nguyên

o Misc Misc

3

Page 4: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Internet Resources Tài nguyên Internet - Web sites to look for - Các trang web để tìm kiếm

WWW Computer Architecture Home Page Kiến trúc máy tính cá nhân Trang chủ CPU Info Center Trung tâm Thông tin CPU

Processor Emporium Bộ vi xử lý Emporium

ACM Special Interest Group on Computer Architecture ACM Special Interest Group về Kiến trúc máy tính

IEEE Technical Committee on Computer Architecture IEEE Ủy ban kỹ thuật về kiến trúc máy tính

Intel Technology Journal Tạp chí Công nghệ Intel

Manufacturer's sites Nhà sản xuất của các trang web

o Intel, IBM, etc. Intel, IBM, vv

Internet Resources Tài nguyên Internet - Usenet News Groups - Nhóm Usenet

comp.arch comp.arch comp.arch.arithmetic comp.arch.arithmetic

comp.arch.storage comp.arch.storage

comp.parallel comp.parallel

Chương 2:

Computer Evolution and Performance Evolution máy tính và Hiệu suất

ENIAC - background ENIAC - nền

Electronic Numerical Integrator And Computer Electronic Numerical Integrator và Computer

Eckert and Mauchly Eckert và Mauchly

University of Pennsylvania Đại học Pennsylvania

Trajectory tables for weapons Quỹ đạo bảng cho vũ khí

Started 1943 Bắt đầu 1943

Finished 1946 Hoàn thành 1946

o Too late for war effort Quá muộn cho nỗ lực chiến tranh

4

Page 5: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Used until 1955 Được sử dụng cho đến năm 1955

ENIAC - details ENIAC - chi tiết

Decimal (not binary) Thập phân (không nhị phân) 20 accumulators of 10 digits 20 ắc của 10 chữ số

Programmed manually by switches Lập trình bằng tay bằng cách chuyển mạch

18,000 vacuum tubes 18.000 ống chân không

30 tons 30 tấn

15,000 square feet 15.000 feet vuông

140 kW power consumption 140 kW điện năng tiêu thụ

5,000 additions per second 5000 bổ sung một giây

Stored Program concept Chương trình được lưu niệm

Main memory storing programs and data Bộ nhớ chính và các chương trình lưu trữ dữ liệu

ALU operating on binary data ALU hoạt động trên dữ liệu nhị phân

Control unit interpreting instructions from memory and executing Đơn vị điều khiển hướng dẫn giải thích từ bộ nhớ và thực hiện

Input and output equipment operated by control unit Đầu vào và đầu ra thiết bị điều hành bởi bộ điều khiển

Princeton Institute for Advanced Studies Princeton Viện Nghiên cứu Cao cấp

o IAS IAS

Completed 1952 Hoàn thành 1952

Structure of von Neumann machine Cơ cấu tổ chức của von Neumann máy

1000 x 40 bit words 1000 x 40 bit từ o Binary number Số nhị phân

o 2 x 20 bit instructions 2 x 20 bit hướng dẫn

Set of registers (storage in CPU) Thiết lập các sổ đăng ký (lưu trữ trong CPU)

o Memory Buffer Register Bộ nhớ đệm Đăng ký

o Memory Address Register Bộ nhớ ghi địa chỉ

o Instruction Register Hướng dẫn đăng ký

5

Page 6: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Instruction Buffer Register Hướng dẫn đăng ký đệm

o Program Counter Chương trình cập

o Accumulator Accumulator

o Multiplier Quotient Multiplier Quotient

Structure of IAS – Cơ cấu tổ chức của IAS -

Commercial Computers Máy tính thương mại

1947 - Eckert-Mauchly Computer Corporation 1947 - Eckert-Mauchly Computer Corporation

UNIVAC I (Universal Automatic Computer) UNIVAC I (Universal Automatic Computer)

US Bureau of Census 1950 calculations Cục Điều tra Dân số Hoa Kỳ tính toán 1950

Became part of Sperry-Rand Corporation Trở thành một phần của Sperry-Rand Corporation

Late 1950s - UNIVAC II Cuối những năm 1950 - UNIVAC II

o Faster Nhanh hơn

o More memory Thêm bộ nhớ

Punched-card processing equipment Đấm-card thiết bị xử lý

1953 - the 701 1953 - những 701

o IBM's first stored program computer IBM đầu tiên của chương trình máy tính lưu trữ

o Scientific calculations Khoa học tính toán

1955 - the 702 1955 - những 702

o Business applications Kinh doanh ứng dụng

Lead to 700/7000 series Dẫn tới 700/7000 loạt

Transistors Bóng bán dẫn

Replaced vacuum tubes Thay thế các ống chân không Smaller Nhỏ hơn

Cheaper Rẻ hơn

Less heat dissipation Ít tản nhiệt

Solid State device Solid State thiết bị

6

Page 7: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Made from Silicon (Sand) Được làm từ Silicon (Cát)

Invented 1947 at Bell Labs Phát minh năm 1947 tại Bell Labs

William Shockley et al. William Shockley et al.

Transistor Based Computers Transistor dựa trên máy tính

Second generation machines Máy thế hệ thứ hai NCR & RCA produced small transistor machines NCR & RCA máy sản xuất bóng bán

dẫn nhỏ

IBM 7000 IBM 7000

DEC - 1957 Tháng mười hai - 1957

o Produced PDP-1 Sản xuất PDP-1

Microelectronics Vi điện tử

Literally - “small electronics” Nghĩa đen - "nhỏ điện tử" A computer is made up of gates, memory cells and interconnections Một máy tính được

tạo thành cửa, các tế bào bộ nhớ và mối liên kết

These can be manufactured on a semiconductor Đây có thể đc sản xuất trên chất bán dẫn

eg silicon wafer ví dụ như wafer silicon

Generations of Computer Thế hệ máy tính

Vacuum tube - 1946-1957 Ống chân không - 1946-1957 Transistor - 1958-1964 Transistor - 1958-1964

Small scale integration - 1965 on Quy mô nhỏ tích hợp - 1965 trên

o Up to 100 devices on a chip Lên đến 100 thiết bị trên một chip

Medium scale integration - to 1971 Quy mô trung bình tích hợp - đến 1971

o 100-3,000 devices on a chip 100-3,000 các thiết bị trên một chip

Large scale integration - 1971-1977 Quy mô lớn hội nhập - 1971-1977

o 3,000 - 100,000 devices on a chip 3.000 - 100.000 thiết bị trên một chip

Very large scale integration - 1978 -1991 Quy mô rất lớn hội nhập - 1978 -1991

o 100,000 - 100,000,000 devices on a chip 100.000 - 100.000.000 thiết bị trên một chip

Ultra large scale integration – 1991 - Ultra quy mô lớn tích hợp - 1991 -

7

Page 8: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Over 100,000,000 devices on a chip Trên 100.000.000 thiết bị trên một chip

Moore's Law Định luật Moore

Increased density of components on chip Tăng mật độ của các thành phần trên chip Gordon Moore – co-founder of Intel Gordon Moore - đồng sáng lập của Intel

Number of transistors on a chip will double every year Số lượng bóng bán dẫn trên một chip sẽ tăng gấp đôi mỗi năm

Since 1970's development has slowed a little Kể từ năm 1970 phát triển đã chậm lại một chút

o Number of transistors doubles every 18 months Số lượng bóng bán dẫn tăng gấp đôi mỗi 18 tháng

Cost of a chip has remained almost unchanged Chi phí của chip vẫn gần như không thay đổi

Higher packing density means shorter electrical paths, giving higher performance mật độ đóng gói cao hơn có nghĩa là ngắn hơn đường dẫn điện, cho hiệu suất cao hơn

Smaller size gives increased flexibility Nhỏ hơn kích thước cho phép gia tăng tính linh hoạt

Reduced power and cooling requirements Giảm năng lượng và các yêu cầu làm mát

Fewer interconnections increases reliability Ít hơn mối liên kết gia tăng độ tin cậy

Growth in CPU Transistor Count Tăng trưởng Count Transistor CPU

Replaced (& not compatible with) 7000 series Thay thế (và không tương thích với) 7000 series

First planned “family” of computers Đầu tiên kế hoạch "gia đình" của máy tính

o Similar or identical instruction sets Tương tự hoặc giống hệt bộ giảng dạy

o Similar or identical O/S Tương tự hoặc giống hệt O / S

o Increasing speed Tăng tốc độ

o Increasing number of I/O ports (ie more terminals) Tăng số lượng các cổng I / O (tức là thiết bị đầu cuối khác)

o Increased memory size Tăng kích thước bộ nhớ

o Increased cost Tăng chi phí

Multiplexed switch structure Chuyển đổi cơ cấu ghép

DEC PDP-8 DEC PDP-8

8

Page 9: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

1964 First minicomputer (after miniskirt!) Máy tính mini đầu tiên (sau khi chiếc váy ngắn!)

Did not need air conditioned room Không cần điều kiện không khí phòng

Small enough to sit on a lab bench Đủ nhỏ để ngồi trên một băng ghế trong phòng thí nghiệm

$16,000 $ 16.000

o $100k+ for IBM 360 $ 100k + cho IBM 360

Embedded applications & OEM Nhúng các ứng dụng & OEM

BUS STRUCTURE BUS cơ cấu

DEC - PDP-8 Bus Structure DEC - PDP-8 Bus Cấu trúc

Semiconductor Memory Bộ nhớ bán dẫn

1970 Fairchild Fairchild

Size of a single core Kích thước của một lõi đơn

o ie 1 bit of magnetic core storage tức là 1 chút tâm lưu trữ từ tính

Holds 256 bits Nắm giữ 256 bit

Non-destructive read Không phá hủy đọc

Much faster than core Nhanh hơn nhiều so với cốt lõi

Capacity approximately doubles each year Công suất khoảng gấp đôi mỗi năm

Intel Intel

1971 - 4004 1971 - 4004 o First microprocessor Bộ vi xử lý đầu tiên

o All CPU components on a single chip Tất cả các thành phần CPU trên một chip duy nhất

Followed in 1972 by 8008 Tiếp theo vào năm 1972 bởi 8008

o 8 bit 8 bit

o Both designed for specific applications Cả 2 đc thiết kế cho các ứng dụng cụ thể

1974 - 8080 1974 - 8080

9

Page 10: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Intel's first general purpose microprocessor Intel đầu tiên của bộ vi xử lý nói chung mục đích

Speeding it up Đẩy nó lên

Pipelining Pipelining On board cache Trên tàu cache

On board L1 & L2 cache Ngày L1 và L2 cache ban

Branch prediction Chi nhánh dự đoán

Data flow analysis Dữ liệu phân tích lưu lượng

Speculative execution Thực hiện đầu cơ

Performance Balance Hiệu suất dư

Processor speed increased Bộ vi xử lý tốc độ tăng Memory capacity increased Dung lượng bộ nhớ tăng

Memory speed lags behind processor speed Bộ nhớ tốc độ chậm lại phía sau tốc độ xử lý

Login and Memory Performance Gap Đăng nhập và khoảng cách hiệu suất bộ nhớ

Solutions Giải pháp

Increase number of bits retrieved at one time Tăng số lượng bit lấy cùng một lúc o Make DRAM “wider” rather than “deeper” Hãy DRAM "rộng" hơn là "sâu hơn"

Change DRAM interface Thay đổi giao diện DRAM

o Cache Cache

Reduce frequency of memory access Giảm tần số của bộ nhớ truy cập

o More complex cache and cache on chip Phức tạp hơn bộ nhớ cache và bộ nhớ cache trên chip

Increase interconnection bandwidth Tăng băng thông kết nối

o High speed buses Tốc độ cao xe buýt

o Hierarchy of buses Hệ thống cấp bậc của xe buýt

I/O Devices I / O thiết bị

Peripherals with intensive I/O demands Thiết bị ngoại vi với tôi thâm / nhu cầu O Large data throughput demands dữ liệu lớn thông qua nhu cầu

10

Page 11: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Processors can handle this Bộ vi xử lý có thể xử lý này

Problem moving data Vấn đề di chuyển dữ liệu

Solutions: Giải pháp:

o Caching Caching

o Buffering Đệm

o Higher-speed interconnection buses Kết nối tốc độ cao hơn xe buýt

o More elaborate bus structures Xe buýt các cấu trúc phức tạp hơn

o Multiple-processor configurations Nhiều bộ xử lý cấu hình

Typical I/O Device Data Rates Điển hình I / O Device Data Giá

Key is Balance Quan trọng là cân đối

Processor components Xử lý các thành phần Main memory Bộ nhớ chính

I/O devices Thiết bị I / O

Interconnection structures Kết nối cơ cấu

Improvements in Chip Organization and Architecture Chip cải tiến trong tổ chức và Kiến trúc

Increase hardware speed of processor Tăng tốc phần cứng của bộ vi xử lý o Fundamentally due to shrinking logic gate size Về cơ bản do thu hẹp lại kích

thước cổng logic

More gates, packed more tightly, increasing clock rate Nhiều cửa khẩu, đóng gói chặt chẽ hơn, tăng tốc độ đồng hồ

Propagation time for signals reduced Thời gian tuyên truyền cho tín hiệu giảm

Increase size and speed of caches Tăng kích thước và tốc độ của cache

o Dedicating part of processor chip Cống hiến một phần của chip vi xử lý

Cache access times drop significantly Cache giảm đáng kể thời gian truy cập

Change processor organization and architecture Thay đổi tổ chức và kiến trúc vi xử lý

o Increase effective speed of execution Tăng tốc độ hiệu quả thực hiện

o Parallelism Trạng thái tương đồng

11

Page 12: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Problems with Clock Speed and Login Density Vấn đề với đồng hồ tốc độ và đăng nhập Mật độ

Power Điện o Power density increases with density of logic and clock speed Mật độ công suất

tăng lên với mật độ logic và đồng hồ tốc độ

o Dissipating heat Làm mát

RC delay RC chậm trễ

o Speed at which electrons flow limited by resistance and capacitance of metal wires connecting them Tốc độ mà tại đó các electron di chuyển giới hạn bởi điện trở và điện dung của dây kim loại kết nối chúng

o Delay increases as RC product increases Delay tăng lên khi tăng sản phẩm RC

o Wire interconnects thinner, increasing resistance Dây liên kết nối mỏng hơn, tăng sức đề kháng

o Wires closer together, increasing capacitance Dây xích lại gần nhau, làm tăng điện dung

Memory latency Bộ nhớ độ trễ

o Memory speeds lag processor speeds Bộ nhớ tốc độ chậm tốc độ xử lý

Solution: Giải pháp:

o More emphasis on organizational and architectural approaches Nhấn mạnh hơn về phương pháp tổ chức và kiến trúc

Intel Microprocessor Performance Vi xử lý Intel Hiệu suất

Increased Cache Capacity Tăng cường năng lực Cache

Typically two or three levels of cache between processor and main memory Thông thường hai hoặc ba cấp độ của bộ nhớ đệm giữa bộ xử lý và bộ nhớ chính

Chip density increased Chip tăng mật độ

o More cache memory on chip Thêm bộ nhớ cache trên chip

Faster cache access Truy cập nhanh hơn bộ nhớ cache

Pentium chip devoted about 10% of chip area to cache Chip Pentium dành khoảng 10% diện tích chip cho bộ nhớ cache

Pentium 4 devotes about 50% Pentium 4 dành khoảng 50%

More Complex Execution Logic Logic phức tạp hơn Thi

12

Page 13: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Enable parallel execution of instructions Kích hoạt tính năng hướng dẫn thực hiện song song

Pipeline works like assembly line Đường ống làm việc giống như dây chuyền lắp ráp

o Different stages of execution of different instructions at same time along pipeline Các giai đoạn khác nhau thực hiện các hướng dẫn khác nhau tại cùng một thời gian theo đường ống

Superscalar allows multiple pipelines within single processor Superscalar cho phép nhiều đường ống dẫn trong bộ vi xử lý đơn

o Instructions that do not depend on one another can be executed in parallel Hướng dẫn mà không phụ thuộc vào người khác có thể được thực hiện song song

Diminishing Returns Trả giảm dần

Internal organization of processors complex Nội bộ tổ chức của bộ vi xử lý phức tạp o Can get a great deal of parallelism Có thể có được một lượng lớn song song

o Further significant increases likely to be relatively modest Tăng thêm đáng kể khả năng là tương đối khiêm tốn

Benefits from cache are reaching limit Lợi ích từ bộ nhớ cache là đạt giới hạn

Increasing clock rate runs into power dissipation problem Tăng tốc độ đồng hồ chạy vào vấn đề năng lượng tiêu tán

o Some fundamental physical limits are being reached Một số giới hạn vật lý cơ bản đang được đạt

New Approach – Multiple Cores Phương pháp tiếp cận mới - Cores Nhiều

Multiple processors on single chip Nhiều bộ vi xử lý trên chip đơn o Large shared cache Bộ nhớ đệm chia sẻ lớn

Within a processor, increase in performance proportional to square root of increase in complexity Trong thời hạn một bộ vi xử lý, gia tăng hiệu suất tỷ lệ thuận với căn bậc hai của tăng phức tạp

If software can use multiple processors, doubling number of processors almost doubles performance Nếu phần mềm có thể sử dụng nhiều bộ xử lý, tăng gấp đôi số lượng các bộ xử lý gần như tăng gấp đôi hiệu suất

So, use two simpler processors on the chip rather than one more complex processor Vì vậy, sử dụng hai bộ xử lý đơn giản trên chip hơn là thêm một bộ xử lý phức tạp

With two processors, larger caches are justified Với hai bộ xử lý, lưu trữ lớn hơn là hợp lý

13

Page 14: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Power consumption of memory logic less than processing logic Công suất tiêu thụ của logic ít bộ nhớ hơn so với xử lý logic

x86 Evolution (1) x86 Evolution (1)

8080 8080 o first general purpose microprocessor mục đích chung bộ vi xử lý đầu tiên

o 8 bit data path 8 bit dữ liệu đường dẫn

o Used in first personal computer – Altair Được sử dụng trong máy tính cá nhân đầu tiên - Altair

8086 – 5MHz – 29,000 transistors 8086 - 5MHz - 29.000 transistor

o much more powerful mạnh hơn rất nhiều

o 16 bit 16 bit

o instruction cache, prefetch few instructions hướng dẫn bộ nhớ cache, một vài hướng dẫn prefetch

o 8088 (8 bit external bus) used in first IBM PC 8088 (8 bên ngoài xe buýt bit) được sử dụng trong lần đầu tiên IBM PC

80286 80286

o 16 Mbyte memory addressable 16 MB bộ nhớ địa chỉ

o up from 1Mb từ 1Mb

80386 80386

o 32 bit 32 bit

o Support for multitasking Hỗ trợ cho đa nhiệm

80486 80486

o sophisticated powerful cache and instruction pipelining tinh vi mạnh mẽ bộ nhớ cache và hướng dẫn pipelining

o built in maths co-processor xây dựng đồng bộ xử lý toán học

x86 Evolution (2) x86 Evolution (2)

Pentium Pentium o Superscalar Superscalar

o Multiple instructions executed in parallel Nhiều hướng dẫn thực hiện song song

Pentium Pro Pentium Pro

14

Page 15: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Increased superscalar organization Tăng cường tổ chức superscalar

o Aggressive register renaming Aggressive đổi tên đăng ký

o branch prediction ngành dự báo

o data flow analysis lưu lượng dữ liệu phân tích

o speculative execution thực hiện đầu cơ

Pentium II Pentium II

o MMX technology MMX công nghệ

o graphics, video & audio processing đồ họa, video và xử lý âm thanh

Pentium III Pentium III

o Additional floating point instructions for 3D graphics Bổ sung điểm trôi hướng dẫn cho đồ họa 3D

x86 Evolution (3) x86 Evolution (3)

Pentium 4 Pentium 4 o Note Arabic rather than Roman numerals Lưu ý: Ả Rập hơn là chữ số La Mã

o Further floating point and multimedia enhancements Hơn nữa nổi điểm và đa phương tiện cải tiến

Core Core

o First x86 with dual core X86 đầu tiên với lõi kép

Core 2 Core 2

o 64 bit architecture Kiến trúc 64 bit

Core 2 Quad – 3GHz – 820 million transistors Core 2 Quad - 3GHz - 820 triệu bóng bán dẫn

o Four processors on chip Bốn bộ vi xử lý trên chip

x86 architecture dominant outside embedded systems kiến trúc x86 thống trị bên ngoài hệ thống nhúng

Organization and technology changed dramatically Tổ chức và công nghệ thay đổi đáng kể

Instruction set architecture evolved with backwards compatibility Hướng dẫn thiết lập kiến trúc phát triển với tính tương thích ngược

~1 instruction per month added ~ 1 hướng dẫn thêm một tháng

15

Page 16: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

500 instructions available 500 hướng dẫn có sẵn

See Intel web pages for detailed information on processors Xem Intel trang web để biết thông tin chi tiết về bộ vi xử lý

Embedded Systems Hệ thống nhúng ARM ARM

ARM evolved from RISC design ARM phát triển từ thiết kế RISC Used mainly in embedded systems Được sử dụng chủ yếu trong các hệ thống nhúng

o Used within product Được sử dụng trong sản phẩm

o Not general purpose computer Không phải mục đích chung máy tính

o Dedicated function Chức năng chuyên dụng

o Eg Anti-lock brakes in car Ví dụ như hệ thống phanh chống khóa trong xe hơi

Embedded Systems Requirements Yêu cầu hệ thống nhúng

Different sizes Kích cỡ khác nhau o Different constraints, optimization, reuse Hạn chế khác nhau, tối ưu hóa, tái sử

dụng

Different requirements Các yêu cầu khác nhau

o Safety, reliability, real-time, flexibility, legislation An toàn, độ tin cậy, thời gian thực, tính linh hoạt, pháp luật

o Lifespan Tuổi thọ

o Environmental conditions Điều kiện môi trường

o Static v dynamic loads V tĩnh tải năng động

o Slow to fast speeds Chậm tốc độ nhanh

o Computation v I/O intensive V tính toán I / O chuyên sâu

o Descrete event v continuous dynamics Descrete sự kiện v động liên tục

Possible Organization of an Embedded System Tổ chức có thể có một hệ thống nhúng

Designed by ARM Inc., Cambridge, England Thiết kế bởi Inc ARM, Cambridge, Anh Licensed to manufacturers Cấp phép cho các nhà sản xuất

High speed, small die, low power consumption Tốc độ cao, nhỏ chết, ít tiêu thụ điện năng

PDAs, hand held games, phones PDA, bàn tay tổ chức các trò chơi, điện thoại

16

Page 17: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Eg iPod, iPhone Ví dụ như iPod, iPhone

Acorn produced ARM1 & ARM2 in 1985 and ARM3 in 1989 Acorn sản xuất ARM1 & ARM2 năm 1985 và ARM3 năm 1989

Acorn, VLSI and Apple Computer founded ARM Ltd. Acorn, VLSI và Apple Computer ARM Ltd được thành lập

ARM Systems Categories Hệ thống ARM hạng mục

Embedded real time Nhúng thời gian thực Application platform Nền tảng ứng dụng

o Linux, Palm OS, Symbian OS, Windows mobile Linux, Palm OS, hệ điều hành Symbian, Windows điện thoại di động

Secure applications Bảo mật ứng dụng

Performance Assessment Đánh Giá Clock Speed Tốc độ đồng hồ

Key parameters Các thông số chính o Performance, cost, size, security, reliability, power consumption Hiệu suất, chi

phí, kích cỡ, bảo mật, độ tin cậy, tiêu thụ điện năng

System clock speed Hệ thống đồng hồ tốc độ

o In Hz or multiples of Trong Hz hoặc bội số của

o Clock rate, clock cycle, clock tick, cycle time Đồng hồ tốc độ, đồng hồ chu kỳ, đồng hồ tích tắc, thời gian chu kỳ

Signals in CPU take time to settle down to 1 or 0 Tín hiệu trong CPU mất thời gian để giải quyết xuống còn 1 hoặc 0

Signals may change at different speeds Tín hiệu có thể thay đổi tốc độ khác nhau

Operations need to be synchronised Hoạt động cần phải được đồng bộ

Instruction execution in discrete steps Hướng dẫn thực hiện các bước rời rạc

o Fetch, decode, load and store, arithmetic or logical Fetch, giải mã, tải và lưu trữ, số học hoặc logic

o Usually require multiple clock cycles per instruction Thông thường đòi hỏi nhiều chu kỳ đồng hồ theo hướng dẫn

Pipelining gives simultaneous execution of instructions Pipelining cho phép thực hiện đồng thời hướng dẫn

So, clock speed is not the whole story Vì vậy, đồng hồ tốc độ không phải là toàn bộ câu chuyện

17

Page 18: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

System Clock Hệ thống đồng hồ

Instruction Execution Rate Hướng dẫn thi Đánh giá

Millions of instructions per second (MIPS) Hàng triệu lệnh mỗi giây (MIPS) Millions of floating point instructions per second (MFLOPS) Hàng triệu người hướng dẫn

dấu chấm động / giây (MFLOPS)

Heavily dependent on instruction set, compiler design, processor implementation, cache & memory hierarchy Phụ thuộc nhiều vào hướng dẫn cài đặt, thiết kế trình biên dịch, thực hiện xử lý, bộ nhớ cache và hệ thống phân cấp bộ nhớ

Benchmarks Điểm chuẩn

Programs designed to test performance Chương trình được thiết kế để kiểm tra hiệu suất

Written in high level language Được viết bằng ngôn ngữ cấp cao

o Portable Portable

Represents style of task Đại diện cho phong cách của nhiệm vụ

o Systems, numerical, commercial Hệ thống, số, thương mại

Easily measured Dễ dàng đo

Widely distributed Phân phối rộng rãi

Eg System Performance Evaluation Corporation (SPEC) Ví dụ: Đánh giá thực hiện hệ thống Tổng công ty (SPEC)

o CPU2006 for computation bound CPU2006 cho tính ràng buộc

17 floating point programs in C, C++, Fortran 17 chương trình điểm nổi trong C, C + +, Fortran

12 integer programs in C, C++ 12 số nguyên chương trình trong C, C + +

3 million lines of code 3.000.000 dòng mã

o Speed and rate metrics Tốc độ và tốc độ số liệu

Single task and throughput Nhiệm vụ duy nhất và thông qua

SPEC Speed Metric Tốc độ SPEC Metric

Single task Nhiệm vụ duy nhất Base runtime defined for each benchmark using reference machine Cơ sở xác định cho

từng thời gian chạy máy bằng cách sử dụng tiêu chuẩn tham chiếu

Results are reported as ratio of reference time to system run time Kết quả được báo cáo như tỷ lệ thời gian tham khảo hệ thống thời gian chạy

18

Page 19: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Tref i execution time for benchmark i on reference machine Tref tôi thực hiện thời gian cho tôi chuẩn trên máy tính tham chiếu

o Tsut i execution time of benchmark i on test system Tsut tôi thực hiện thời gian của tôi chuẩn trên hệ thống thử nghiệm

Overall performance calculated by averaging ratios for all 12 integer benchmarks Hiệu suất tổng thể tính theo tỷ lệ trung bình cho tất cả các tiêu chí chuẩn về số nguyên 12

o Use geometric mean Sử dụng hình học có nghĩa là

Appropriate for normalized numbers such as ratios Thích hợp cho số lượng bình thường chẳng hạn như tỷ lệ

SPEC Rate Metric SPEC giá Metric

Measures throughput or rate of a machine carrying out a number of tasks Các biện pháp thông hoặc tỷ lệ của một máy thực hiện một số nhiệm vụ

Multiple copies of benchmarks run simultaneously Nhiều bản sao của tiêu chuẩn chạy đồng thời

o Typically, same as number of processors Thông thường, cũng giống như số của bộ vi xử lý

Ratio is calculated as follows: Tỷ lệ được tính như sau:

o Tref i reference execution time for benchmark i Tref tôi tham khảo thực hiện thời gian cho tôi chuẩn

o N number of copies run simultaneously N số bản chạy đồng thời

o Tsuti elapsed time from start of execution of program on all N processors until completion of all copies of program Tsuti thời gian trôi qua từ khi bắt đầu thực hiện chương trình trên tất cả các bộ vi xử lý N cho đến khi hoàn thành tất cả các bản sao của chương trình

o Again, a geometric mean is calculated Một lần nữa, một là hình học được tính

Amdahl's Law Amdahl của Luật

Gene Amdahl [AMDA67] Gene Amdahl [AMDA67] Potential speed up of program using multiple processors Khả năng tăng tốc của chương

trình bằng cách sử dụng nhiều bộ xử lý

Concluded that: Kết luận rằng:

o Code needs to be parallelizable Mã cần phải được parallelizable

o Speed up is bound, giving diminishing returns for more processors Tốc độ lên là bị ràng buộc, cho trở lại giảm dần cho các bộ xử lý hơn

19

Page 20: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Task dependent Nhiệm vụ phụ thuộc

o Servers gain by maintaining multiple connections on multiple processors Máy chủ có được bằng cách duy trì nhiều kết nối trên nhiều bộ xử lý

o Databases can be split into parallel tasks Cơ sở dữ liệu có thể được chia thành các nhiệm vụ song song

Amdahl's Law Formula Công thức của Luật Amdahl

Conclusions Kết luận o f small, parallel processors has little effect f nhỏ, song song với bộ vi xử lý có

hiệu quả thấp

o N ->∞, speedup bound by 1/(1 – f ) N -> ∞, tăng tốc ràng buộc bởi 1 / (1 - f)

Diminishing returns for using more processors Giảm dần trở lại để sử dụng bộ vi xử lý hơn

For program running on single processor Đối với các chương trình đang chạy trên bộ vi xử lý đơn

o Fraction f of code infinitely parallelizable with no scheduling overhead Phân số f của mã vô hạn parallelizable không có chi phí lập kế hoạch

o Fraction (1- f ) of code inherently serial Phân số (1 - f) của mã vốn đã nối tiếp

o T is total execution time for program on single processor T là tổng thời gian thực hiện chương trình xử lý đơn

o N is number of processors that fully exploit parralle portions of code N là số lượng các bộ vi xử lý khai thác đầy đủ các phần của mã parralle

Internet Resources Tài nguyên Internet

http://www.intel.com/ http://www.intel.com/ o Search for the Intel Museum Tìm kiếm Bảo tàng Intel

http://www.ibm.com http://www.ibm.com

http://www.dec.com http://www.dec.com

Charles Babbage Institute Charles Babbage Viện

PowerPC PowerPC

Intel Developer Home Nhà phát triển Intel

References Tài liệu tham khảo

20

Page 21: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

AMDA67 Amdahl, G. “Validity of the Single-Processor Approach to Achieving Large-Scale Computing Capability”, Proceedings of the AFIPS Conference, 1967. AMDA67 Amdahl, G. "Hiệu lực của phương pháp xử lý đơn, để đạt được quy mô lớn năng lực máy tính", Kỷ yếu Hội nghị AFIPS, năm 1967

Chương 3: Hệ thống mạch điện điện là không linh hoạt

Tổng mục đích phần cứng có thể làm nhiệm vụ khác nhau, được đưa ra tín hiệu điều khiển chính xácThay vì hệ thống dây điện lại, cung cấp một tập mới của tín hiệu điều khiển

trình tự các bướcĐối với mỗi bước, một phép toán số học hoặc logic được thực hiệnĐối với từng hoạt động, một bộ khác nhau của tín hiệu điều khiển là cần thiết

Đối với mỗi hoạt động một mã duy nhất được cung cấpví dụ: ADD, DI CHUYỂNMột bộ phận phần cứng chấp nhận mã và các vấn đề tín hiệu điều khiển

Chúng tôi có một máy tính! Các đơn vị kiểm soát và số học và logic đơn vị cấu thành Central Processing

UnitDữ liệu và hướng dẫn cần phải nhận được vào hệ thống và kết quả raĐầu vào / đầu raLưu trữ tạm thời của mã và kết quả là cần thiếtBộ nhớ chính

Chương trình cập (PC) đúng địa chỉ của lệnh kế tiếp để lấyBộ xử lý lấy các chỉ dẫn từ vị trí bộ nhớ được trỏ đến bởi máy tínhTăng PCTrừ khi nói cách khácHướng dẫn nạp vào Hướng dẫn đăng ký (IR)Bộ vi xử lý diễn dịch lệnh và thực hiện các hành động cần thiết

Bộ vi xử lý bộ nhớtruyền dữ liệu giữa CPU và bộ nhớ chínhBộ vi xử lý I / OTruyền dữ liệu giữa CPU và I / O moduleXử lý dữ liệuMột số phép toán số học hoặc logic trên dữ liệuKiểm soátThay đổi trình tự của các hoạt độngví dụ: nhảySự kết hợp của trên

21

Page 22: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Cơ chế của những mô-đun khác (ví dụ như I / O) có thể làm gián đoạn chuỗi bình thường chế biếnChương trìnhví dụ: tràn, chia cho khôngĐược tạo ra bởi bộ đếm thời gian xử lý nội bộĐược sử dụng trong công phủ đầu đa tác vụtừ I / O điều khiểnPhần cứng khôngví dụ: bộ nhớ lỗi chẵn lẻ

Thêm vào chu trình giảng dạyKiểm tra xử lý ngắtChỉ ra bởi một tín hiệu gián đoạnNếu không có gián đoạn, lấy chỉ lệnh kế tiếpNếu gián đoạn chờ:Đình chỉ thực hiện chương trình hiện hànhLưu bối cảnhThiết lập máy tính để bắt đầu địa chỉ của thường trình xử lý ngắtQuá trình gián đoạnKhôi phục ngữ cảnh và tiếp tục chương trình bị gián đoạn

Vô hiệu hoá các ngắtBộ vi xử lý sẽ bỏ qua các ngắt tiếp tục trong khi chế biến một gián đoạnNgắt vẫn chờ và được kiểm tra sau khi gián đoạn đầu tiên đã được xử lýXử lý theo thứ tự ngắt khi chúng xảy raXác định ưu tiênNgắt ưu tiên thấp có thể bị gián đoạn bởi ngắt ưu tiên cao hơnKhi ngắt ưu tiên cao hơn đã được xử lý trả về bộ xử lý, để trước ngắt

Tất cả các đơn vị phải được kết nốiLoại kết nối khác nhau cho các loại hình khác nhau của đơn vị

Tương tự như bộ nhớ từ quan điểm của máy tínhĐầu raNhận dữ liệu từ máy tínhDữ liệu đến thiết bị ngoại viĐầu vàoNhận dữ liệu từ thiết bị ngoại viGửi dữ liệu với máy tính

Nhận được tín hiệu điều khiển từ máy tínhGửi tín hiệu điều khiển để thiết bị ngoại viví dụ: quay đĩaNhận địa chỉ từ máy tínhví dụ: số cổng để xác định thiết bị ngoại viGửi tín hiệu gián đoạn (kiểm soát)

Đọc hướng dẫn và dữ liệuGhi dữ liệu ra (sau khi chế biến)Gửi tín hiệu điều khiển các đơn vị khácNhận được (và các hành vi trên) ngắt

22

Page 23: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Có một số hệ thống có thể kết nốiDuy nhất và nhiều cấu trúc BUS là phổ biến nhấtví dụ: Control / Địa chỉ / Data bus (PC)ví dụ: Unibus (DEC-PDP)

Một đường truyền kết nối hai hoặc nhiều thiết bịThông thường phát sóngThường được nhóm lạiMột số kênh trong một xe buýtví dụ: 32 bit bus dữ liệu là 32 kênh riêng biệt chútDòng điện có thể không được hiển thị

Rất nhiều các thiết bị trên một xe buýt dẫn đến:Tuyên truyền, sự chậm trễLong đường dẫn dữ liệu có nghĩa là phối hợp sử dụng xe buýt bất lợi có thể ảnh hưởng đến hiệu suấtNếu chuyển dữ liệu tổng hợp năng lực tiếp cận xe buýtHầu hết các hệ thống sử dụng xe buýt nhiều để vượt qua những vấn đề này

Chuyên dụngRiêng các dòng dữ liệu và địa chỉGhépChia sẻ đườngĐịa chỉ hợp lệ hoặc điều khiển dòng dữ liệu hợp lệLợi thế - ít dòngNhược điểmĐiều khiển phức tạp hơnCuối cùng hiệu suất

Hơn một module điều khiển xe buýtví dụ: CPU và bộ điều khiển DMAChỉ có một mô-đun có thể điều khiển xe buýt tại một thời gianTrọng tài có thể được tập trung hay phân tán

CentralisedThiết bị phần cứng duy nhất kiểm soát truy cập vào xe buýtĐiều khiển xe buýtQuan thẩm phánCó thể là một phần của CPU hoặc riêng biệtPhân phốiMỗi module có thể yêu cầu xe buýtĐiều khiển logic trên tất cả các mô-đun

Điều phối các sự kiện trên xe buýtĐồng bộSự kiện được xác định bởi các tín hiệu đồng hồĐiều khiển xe buýt bao gồm dòng đồng hồMột đơn 1-0 là một chu trình xe buýtTất cả các thiết bị có thể đọc dòng đồng hồThông thường đồng bộ trên hàng đầu tiênThông thường một chu trình duy nhất cho một sự kiện

Hợp phần nối ngoại viIntel phát hành vào phạm vi công cộng

23

Page 24: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

32 hoặc 64 bit50 dòng

Hệ thống đườngBao gồm đồng hồ và thiết lập lạiĐịa chỉ & dữ liệu32 bộ ghép kênh dòng thời gian cho địa chỉ / dữ liệuGián đoạn và xác nhận các dòngGiao diện điều khiểnTrọng tài Không được chia sẻKết nối trực tiếp với trọng tài bus PCI Lỗi đường

Ngắt dòng Không được chia sẻHỗ trợ bộ nhớ cache64-bit Bus mở rộngThêm 32 dòngThời gian ghép2 dòng để cho phép các thiết bị để đồng ý sử dụng 64-bit chuyểnJTAG / Boundary ScanĐể kiểm tra các thủ tục

Giao dịch giữa người khởi xướng (master) và mục tiêuThạc sĩ tuyên bố xe buýtXác định loại giao dịchví dụ: I / O đọc / ghiĐịa chỉ phaMột hoặc nhiều giai đoạn dữ liệu

www.pcguide.com

Chương 4: Cache Memory Bộ nhớ Cache

Characteristics Đặc điểm

Location Địa điểm Capacity Công suất

Unit of transfer Đơn vị chuyển giao

Access method Phương pháp truy cập

Performance Hiệu suất

Physical type Thể loại

24

Page 25: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Physical characteristics Đặc điểm vật lý

Organisation Tổ chức Location Địa điểm Internal Nội bộ

External Bên ngoài Capacity Công suất

Word size Word thước

o The natural unit of organisation Các đơn vị tự nhiên của tổ chức

Number of words Số từ or Bytes hoặc Bytes

Unit of Transfer Đơn vị chuyển giao

Internal Nội bộ Usually governed by data bus width Thông thường điều chỉnh bằng xe buýt chiều rộng dữ liệu

External Bên ngoài

o Usually a block which is much larger than a word Thông thường một khối mà là lớn hơn nhiều so với một từ

Addressable unit Địa chỉ đơn vị

o Smallest location which can be uniquely addressed Vị trí nhỏ nhất có thể được duy nhất giải quyết

o Word internally Word nội bộ

o Cluster on M$ disks Cluster trên M $ đĩa

Access Methods (1) Phương pháp tiếp cận (1)

Sequential Tuần tự o Start at the beginning and read through in order Bắt đầu từ đầu và đọc qua để

o Access time depends on location of data and previous location Thời gian truy cập phụ thuộc vào vị trí của dữ liệu và vị trí trước đó

o eg tape ví dụ như băng

Direct Trực tiếp

o Individual blocks have unique address Khối cá nhân có địa chỉ độc đáo

o Access is by jumping to vicinity plus sequential search Truy cập bằng cách nhảy vào khu vực lân cận cộng với tìm kiếm tuần tự

o Access time depends on location and previous location Thời gian truy cập phụ thuộc vào địa điểm và vị trí trước đó

o eg disk ví dụ như đĩa

25

Page 26: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Access Methods (2) Phương pháp tiếp cận (2)

Random Ngẫu nhiên o Individual addresses identify locations exactly Địa chỉ cá nhân xác định vị trí

chính xác

o Access time is independent of location or previous access Thời gian truy cập độc lập vị trí hoặc truy cập trước

o eg RAM ví dụ như RAM

Associative Kết hợp

o Data is located by a comparison with contents of a portion of the store Dữ liệu được đặt bằng cách so sánh với nội dung của một phần của các cửa hàng

o Access time is independent of location or previous access Thời gian truy cập độc lập vị trí hoặc truy cập trước

o eg cache ví dụ như bộ nhớ cache

Memory Hierarchy Bộ nhớ Hierarchy

Registers Đăng ký o In CPU Trong CPU

Internal or Main memory Nội bộ hoặc bộ nhớ chính

o May include one or more levels of cache Có thể bao gồm một hoặc nhiều cấp độ của bộ nhớ cache

External memory Bộ nhớ ngoài

o Backing store Sao lưu

Memory Hierarchy - Diagram Bộ nhớ Hierarchy - Sơ đồ

Performance Hiệu suất

Access time Thời gian truy cập o Time between presenting the address and getting the valid data Thời gian giữa

giới thiệu các địa chỉ và nhận được dữ liệu hợp lệ

Memory Cycle time Thời gian chu kỳ bộ nhớ

o Time may be required for the memory to “recover” before next access Thời gian có thể được yêu cầu cho bộ nhớ để "hồi phục" trước khi truy cập tiếp theo

o Cycle time is access + recovery Chu kỳ thời gian truy cập + phục hồi

Transfer Rate Tốc độ truyền

26

Page 27: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Rate at which data can be moved Tốc độ dữ liệu có thể được di chuyển

Physical Types Thể loại

Semiconductor Bán dẫn Magnetic Từ tính

Optical Quang học

o CD & DVD CD & DVD

Others Những người khác

o Bubble Bubble

o Hologram Hình ba chiều

Physical Characteristics Đặc điểm thể chất

Decay Decay Volatility Biến động

Erasable Xóa được

Power consumption Công suất tiêu thụ

Organisation Tổ chức

Physical arrangement of bits into words Vật lý sắp xếp các bit vào các từ Not always obvious Không phải luôn luôn rõ ràng

eg interleaved ví dụ như chèn

The Bottom Line The Bottom Line

How much? Bao nhiêu? o Capacity Công suất

How fast? Nhanh như thế nào?

o Time is money Thời gian là tiền bạc

How expensive? Làm thế nào đắt tiền?

Hierarchy List Danh sách hệ thống phân cấp

Registers Đăng ký L1 Cache L1 Cache

L2 Cache L2 Cache

27

Page 28: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Main memory Bộ nhớ chính

Disk cache Disk cache

Disk Disk

Optical Quang học

Tape Băng

So you want fast? Vì vậy, bạn muốn nhanh chóng?

It is possible to build a computer which uses only static RAM (see later) Nó có thể xây dựng một máy tính mà chỉ sử dụng RAM tĩnh (xem sau)

This would be very fast Điều này sẽ rất nhanh

This would need no cache Điều này sẽ không cần bộ nhớ cache

o How can you cache cache? Làm thế nào có thể bạn cache bộ nhớ cache?

This would cost a very large amount Điều này sẽ có chi phí một số lượng rất lớn

Locality of Reference Địa điểm tham chiếu

During the course of the execution of a program, memory references tend to cluster Trong quá trình thực hiện các chương trình, tài liệu tham khảo bộ nhớ có xu hướng cluster

eg loops ví dụ như các vòng lặp

Small amount of fast memory Nhỏ số lượng bộ nhớ nhanh

Sits between normal main memory and CPU Nằm giữa bộ nhớ chính bình thường và CPU

May be located on CPU chip or module Có thể được đặt trên chip CPU hoặc module

Cache and Main Memory Cache và bộ nhớ chính

Cache/Main Memory Structure Cache / Bộ nhớ chính cấu trúc

Cache operation – overview Cache hoạt động - Tổng quan

CPU requests contents of memory location CPU yêu cầu nội dung của vị trí bộ nhớ Check cache for this data Kiểm tra bộ nhớ đệm cho dữ liệu này

If present, get from cache (fast) Nếu có, có được từ bộ nhớ cache (nhanh)

If not present, read required block from main memory to cache Nếu không có mặt, đọc khối yêu cầu từ bộ nhớ chính để bộ nhớ cache

Then deliver from cache to CPU Sau đó cung cấp từ bộ nhớ cache để CPU

28

Page 29: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Cache includes tags to identify which block of main memory is in each cache slot Cache bao gồm các thẻ để xác định khối của bộ nhớ chính là trong mỗi khe cắm bộ nhớ cache

Cache Read Operation - Flowchart Cache Tìm hiểu hoạt động - Sơ đồ

Cache Design Thiết kế bộ nhớ cache

Addressing Giải quyết Size Kích thước

Mapping Function Chức năng lập bản đồ

Replacement Algorithm Thuật toán thay thế

Write Policy Viết sách

Block Size Kích thước khối

Number of Caches Số Caches

Cache Addressing Cache biểu

Where does cache sit? Trường hợp nào cache ngồi? o Between processor and virtual memory management unit Giữa bộ xử lý và đơn

vị quản lý bộ nhớ ảo

o Between MMU and main memory Từ MMU và bộ nhớ chính

Logical cache (virtual cache) stores data using virtual addresses Hợp lý bộ nhớ đệm (cache ảo) lưu trữ dữ liệu sử dụng địa chỉ ảo

o Processor accesses cache directly, not thorough physical cache Bộ xử lý truy cập bộ nhớ cache trực tiếp, không triệt để vật lý bộ nhớ cache

o Cache access faster, before MMU address translation Cache truy cập nhanh hơn, trước khi địa chỉ dịch MMU

o Virtual addresses use same address space for different applications Sử dụng không gian địa chỉ ảo cùng một địa chỉ cho các ứng dụng khác nhau

Must flush cache on each context switch Phải rửa cache trên mỗi chuyển ngữ cảnh

Physical cache stores data using main memory physical addresses Vật lý bộ nhớ cache lưu trữ dữ liệu bằng cách sử dụng bộ nhớ vật lý địa chỉ chính

Size does matter Kích thước không thành vấn đề

Cost Chi phí o More cache is expensive Bộ nhớ cache nhiều hơn là tốn kém

29

Page 30: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Speed Tốc độ

o More cache is faster (up to a point) Thêm bộ nhớ cache là nhanh hơn (lên đến một điểm)

o Checking cache for data takes time Kiểm tra bộ nhớ đệm cho dữ liệu cần có thời gian

Typical Cache Organization Tổ chức Cache tiêu biểu

Comparison of Cache Sizes So sánh kích thước Cache

Processor Bộ vi xử lý Type Loại Year of Introduction Năm Giới thiệu

Mainframe Máy tính lớn High-end server Máy chủ cao cấp Supercomputer Siêu máy tính

Mapping Function Chức năng lập bản đồ

Cache of 64kByte Cache của 64kByte Cache block of 4 bytes Cache khối 4 byte

o ie cache is 16k (2 14 ) lines of 4 bytes tức là bộ nhớ cache là 16k (2 14) dòng của 4

16MBytes main memory 16MBytes bộ nhớ chính

24 bit address 24 bit địa chỉ

o (2 24 =16M) (2 24 = 16) Direct Mapping Lập bản đồ trực tiếp

Each block of main memory maps to only one cache line Mỗi khối của bản đồ bộ nhớ chính để chỉ một dòng bộ nhớ cache

o ie if a block is in cache, it must be in one specific place nghĩa là nếu một khối trong bộ nhớ cache, nó phải được ở một địa điểm cụ thể

Address is in two parts Địa chỉ có trong hai phần

Least Significant w bits identify unique word Bit quan trọng nhất là từ duy nhất xác định w

Most Significant s bits specify one memory block Hầu hết ý nghĩa của các bit chỉ định một khối nhớ

The MSBs are split into a cache line field r and a tag of sr (most significant) Các MSB được chia thành dòng bộ nhớ cache r một trường và tag một của sr (quan trọng nhất)

Direct Mapping Lập bản đồ trực tiếp 24 bit address 24 bit địa chỉ

2 bit word identifier (4 byte block) 2 bit định danh từ (4 byte khối) 22 bit block identifier 22 bit nhận dạng khối

30

Page 31: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o 8 bit tag (=22-14) 8 bit tag (= 22-14)

o 14 bit slot or line Khe cắm 14 bit hoặc đường

No two blocks in the same line have the same Tag field Không có hai khối trong cùng một dòng có cùng một lĩnh vực Tag

Check contents of cache by finding line and checking Tag Kiểm tra nội dung của bộ nhớ cache bằng cách tìm đường và kiểm tra Tag

Direct Mapping from Cache to Main Memory Lập bản đồ trực tiếp từ bộ nhớ Cache để chính

Direct Mapping Lập bản đồ trực tiếp Cache Line Table Cache Line Bảng

Cache line Dòng Cache

Main Memory blocks held Khối chính tổ chức bộ nhớ

Direct Mapping Cache Organization Lập bản đồ trực tiếp tổ chức Cache

Direct Trực tiếp Direct Mapping Summary Lập bản đồ trực tiếp Tóm tắt

Address length = (s + w) bits Địa chỉ chiều dài = (s + w) bit Number of addressable units = 2s+w words or bytes Số đơn vị địa chỉ = 2s + w từ hay

byte

Block size = line size = 2w words or bytes Block size = dòng kích thước = 2W từ hay byte

Number of blocks in main memory = 2s+ w/2w = 2s Số khối trong bộ nhớ chính = 2s + w/2w 2s =

Number of lines in cache = m = 2r Số lượng các dòng trong bộ nhớ cache = m = 2R

Size of tag = (s – r) bits Kích thước của thẻ = (s - r) bit

Direct Mapping pros & cons Lập bản đồ trực tiếp chuyên nghiệp và khuyết điểm

Simple Đơn giản Inexpensive Rẻ tiền

Fixed location for given block Cố định vị trí cho khối cho

o If a program accesses 2 blocks that map to the same line repeatedly, cache misses are very high Nếu một truy cập chương trình 2 khối là bản đồ đến cùng một dòng liên tục, bộ nhớ cache nhớ là rất cao

Victim Cache Nạn nhân Cache

Lower miss penalty Hạ bỏ hình phạt

31

Page 32: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Remember what was discarded Hãy nhớ những gì đã được loại bỏ

o Already fetched Đã lấy

o Use again with little penalty Sử dụng một lần nữa với hình phạt ít

Fully associative Kết hợp đầy đủ

4 to 16 cache lines 4-16 dòng bộ nhớ cache

Between direct mapped L1 cache and next memory level Giữa ánh xạ trực tiếp bộ nhớ cache L1 và cấp bộ nhớ tiếp theo

A main memory block can load into any line of cache Một khối bộ nhớ chính có thể tải vào bất kỳ đường bộ nhớ cache

Memory address is interpreted as tag and word địa chỉ nhớ được hiểu như là tag và từ

Tag uniquely identifies block of memory Tag duy nhất xác định khối của bộ nhớ

Every line's tag is examined for a match Mỗi dòng của tag được kiểm tra cho phù hợp với một

Cache searching gets expensive Cache tìm kiếm được tiền

Associative Mapping from Kết hợp bản đồ từ Cache to Main Memory Cache cho bộ nhớ chính

Fully Associative Cache Organization Tổ chức kết hợp đầy đủ Cache

Associative Mapping Kết hợp bản đồ Address Structure Địa chỉ Cơ cấu tổ chức

22 bit tag stored with each 32 bit block of data 22 bit tag lưu trữ với mỗi khối 32 bit dữ liệu

Compare tag field with tag entry in cache to check for hit So sánh tag trường với mục tag trong bộ nhớ cache để kiểm tra đánh

Least significant 2 bits of address identify which 16 bit word is required from 32 bit data block Ít nhất có ý nghĩa 2 bit của địa chỉ xác định đó có 16 từ bit được yêu cầu từ 32 khối dữ liệu bit

eg ví dụ:

o Address Tag Data Cache line Địa chỉ Tag dòng Cache dữ liệu Associative Mapping Summary Tóm lược kết hợp bản đồ

Address length = (s + w) bits Địa chỉ chiều dài = (s + w) bit

Number of addressable units = 2s+w words or bytes Số đơn vị địa chỉ = 2s + w từ hay byte

32

Page 33: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Block size = line size = 2w words or bytes Block size = dòng kích thước = 2W từ hay byte

Number of blocks in main memory = 2s+ w/2w = 2s Số khối trong bộ nhớ chính = 2s + w/2w 2s =

Number of lines in cache = undetermined Số lượng các dòng trong bộ nhớ cache = không xác định

Size of tag = s bits Kích thước của thẻ = s bit

Set Associative Mapping Thiết lập kết hợp bản đồ

Cache is divided into a number of sets Cache được chia thành một số bộ Each set contains a number of lines Mỗi bộ có một số ngành

A given block maps to any line in a given set Một bản đồ được chặn dòng bất kỳ trong một tập

eg Block B can be in any line of set I ví dụ như khối B có thể ở bất kỳ dòng của tập i

eg 2 lines per set ví dụ như 2 dòng cho mỗi bộ o 2 way associative mapping 2 cách kết hợp bản đồ

o A given block can be in one of 2 lines in only one set Một khối được có thể ở một trong 2 dòng chỉ trong một bộ

Set Associative Mapping Thiết lập kết hợp bản đồ

13 bit set number 13 bit thiết lập số Block number in main memory is modulo 2 13 Số khối trong bộ nhớ chính là modulo 2 13

000000, 00A000, 00B000, 00C000 … map to same set 000000, 00A000, 00B000, 00C000 ... bản đồ cùng một

Mapping From Main Memory to Cache: Lập bản đồ từ bộ nhớ chính để Cache: v Associative v liên kết

Mapping From Main Memory to Cache: Lập bản đồ từ bộ nhớ chính để Cache: k-way Associative k-cách kết hợp

K- Way Set Associative Cache Organization K-Way Set Cache Tổ chức liên kết

Set Associative Mapping Thiết lập kết hợp bản đồ Address Structure Địa chỉ Cơ cấu tổ chức

Use set field to determine cache set to look in Sử dụng thiết lập để xác định lĩnh vực thiết lập bộ nhớ cache để tìm trong

Compare tag field to see if we have a hit So sánh tag trường để xem liệu chúng ta có một hit

33

Page 34: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

eg ví dụ:

o Address Tag Data Set number Địa chỉ Tag Data Set số

o Two Way Set Associative Mapping Example Hai Way Set Ví dụ bản đồ liên kết

Set Associative Mapping Summary Thiết lập bản đồ kết hợp Tóm tắt

Address length = (s + w) bits Địa chỉ chiều dài = (s + w) bit Number of addressable units = 2s+w words or bytes Số đơn vị địa chỉ = 2s + w từ hay

byte

Block size = line size = 2w words or bytes Block size = dòng kích thước = 2W từ hay byte

Number of blocks in main memory = 2d Số khối trong bộ nhớ chính = 2ngày

Number of lines in set = k Số lượng các dòng trong set = k

Number of sets = v = 2d Số bộ = v = 2ngày

Number of lines in cache = kv = k * 2d Số lượng các dòng trong bộ nhớ cache kv = = 2ngày * k

Size of tag = (s – d) bits Kích thước của thẻ = (s - d) bit

Direct and Set Associative Cache Trực tiếp và Thiết Cache liên kết Performance Differences Hiệu suất khác nhau

Significant up to at least 64kB for 2-way Đáng kể lên đến ít nhất là 64KB cho cách-2 Difference between 2-way and 4-way at 4kB much less than 4kB to 8kB Sự khác biệt

giữa cách-2 và 4 chiều ở 4KB ít hơn nhiều so 4KB để 8KB

Cache complexity increases with associativity Cache phức tạp tăng với associativity

Not justified against increasing cache to 8kB or 16kB Không hợp lý đối với bộ nhớ cache để tăng 8KB hoặc 16KB

Above 32kB gives no improvement 32KB trên không đưa ra cải tiến

(simulation results) (Kết quả mô phỏng)

Figure 4.16 Hình 4,16 Varying Associativity over Cache Size Associativity khác nhau trên Cache Size

Replacement Algorithms (1) Thay thế các thuật toán (1) Direct mapping Lập bản đồ trực tiếp

No choice Không có sự lựa chọn Each block only maps to one line Mỗi khối bản đồ chỉ để một dòng

34

Page 35: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Replace that line Thay thế dòng

Replacement Algorithms (2) Thay thế các thuật toán (2) Associative & Set Associative Đặt liên kết & liên kết

Hardware implemented algorithm (speed) Phần cứng thực hiện thuật toán (tốc độ) Least Recently used (LRU) Gần đây nhất là sử dụng (LRU)

eg in 2 way set associative ví dụ như trong 2 cách thiết lập liên kết

o Which of the 2 block is lru? Nào trong các khối 2 là lru?

First in first out (FIFO) Lần đầu vào ra đầu tiên (FIFO)

o replace block that has been in cache longest thay thế các khối có được trong bộ nhớ cache dài nhất

Least frequently used Ít nhất là thường xuyên sử dụng

o replace block which has had fewest hits thay thế các khối mà đã có ít nhất số truy cập

Random Ngẫu nhiên

Write Policy Viết sách

Must not overwrite a cache block unless main memory is up to date Không được ghi đè lên một khối bộ nhớ cache, trừ khi chính là đến ngày

Multiple CPUs may have individual caches Nhiều CPU có thể có lưu trữ cá nhân

I/O may address main memory directly I / O có thể đề cập bộ nhớ chính trực tiếp

Write through Viết thông qua

All writes go to main memory as well as cache Tất cả viết vào bộ nhớ chính cũng như bộ nhớ cache

Multiple CPUs can monitor main memory traffic to keep local (to CPU) cache up to date Nhiều CPU có thể theo dõi lưu lượng truy cập bộ nhớ chính để giữ cho địa phương (CPU) cache đến nay

Lots of traffic Nhiều giao thông

Slows down writes Làm chậm viết

Remember bogus write through caches! Hãy nhớ rằng không có thật viết thư thông qua cache!

Write back Viết lại

35

Page 36: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Updates initially made in cache only Tin cập nhật ban đầu chỉ được thực hiện trong bộ nhớ cache

Update bit for cache slot is set when update occurs Thông bit cho khe cắm bộ nhớ cache được thiết lập khi cập nhật xảy ra

If block is to be replaced, write to main memory only if update bit is set Nếu khối là phải được thay thế, ghi vào bộ nhớ chính chỉ khi cập nhật các bit được thiết lập

Other caches get out of sync lưu trữ khác có được ra khỏi đồng bộ

I/O must access main memory through cache I / O phải truy cập bộ nhớ chính thông qua bộ nhớ cache

NB 15% of memory references are writes NB 15% của bộ nhớ được viết tài liệu tham khảo

Line Size Kích thước Line

Retrieve not only desired word but a number of adjacent words as well Lấy không chỉ mong muốn từ nhưng một số từ giáp cũng

Increased block size will increase hit ratio at first Tăng kích thước khối sẽ tăng tỷ lệ hit lúc đầu tiên

o the principle of locality các nguyên tắc của địa phương

Hit ratio will decreases as block becomes even bigger Lượt tỷ lệ này sẽ giảm khi khối trở nên lớn hơn

o Probability of using newly fetched information becomes less than probability of reusing replaced Xác suất của việc sử dụng vừa được lấy thông tin trở nên ít hơn so với khả năng tái sử dụng thay thế

Larger blocks Khối lớn hơn

o Reduce number of blocks that fit in cache Giảm số khối phù hợp trong bộ nhớ cache

o Data overwritten shortly after being fetched Ghi đè dữ liệu ngay sau khi được lấy

o Each additional word is less local so less likely to be needed Mỗi từ bổ sung ít địa phương do đó ít có khả năng là cần thiết

No definitive optimum value has been found Không có giá trị tối ưu đứt đã được tìm thấy

8 to 64 bytes seems reasonable 8-64 byte có vẻ hợp lý

For HPC systems, 64- and 128-byte most common Đối với các hệ thống HPC, 64 - và 128-byte phổ biến nhất

Multilevel Caches Đa Caches

High logic density enables caches on chip Mật độ logic cao cho phép lưu trữ trên chip

36

Page 37: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Faster than bus access Truy cập nhanh hơn so với xe buýt

o Frees bus for other transfers Giải phóng xe buýt để chuyển khác

Common to use both on and off chip cache Thường sử dụng cả trong và ngoài chip bộ nhớ cache

o L1 on chip, L2 off chip in static RAM L1 trên chip, L2 ra chip RAM tĩnh

o L2 access much faster than DRAM or ROM L2 truy cập nhanh hơn DRAM hoặc ROM

o L2 often uses separate data path L2 thường sử dụng đường dẫn dữ liệu riêng

o L2 may now be on chip L2 bây giờ có thể được trên chip

o Resulting in L3 cache Kết quả trong bộ nhớ cache L3

Bus access or now on chip… Xe buýt bây giờ truy cập hoặc trên chip ...

Hit Ratio (L1 & L2) Lượt Tỷ lệ (L1 và L2) For 8 kbytes and 16 kbyte L1 Đối với 8 Kb và Kbyte 16 L1

Unified v Split Caches V thống nhất Split Caches

One cache for data and instructions or two, one for data and one for instructions Một bộ nhớ cache dữ liệu và hướng dẫn hoặc hai, một cho dữ liệu và một để được hướng dẫn

Advantages of unified cache Ưu điểm của bộ nhớ cache thống nhất

o Higher hit rate Cao hơn tỷ lệ hit

Balances load of instruction and data fetch Tiền tải hướng dẫn và lấy dữ liệu

Only one cache to design & implement Chỉ có một bộ nhớ cache để thiết kế & thực hiện

Advantages of split cache Ưu điểm của bộ nhớ đệm chia

o Eliminates cache contention between instruction fetch/decode unit and execution unit Loại bỏ cache tranh giữa các hướng dẫn nạp / giải mã đơn vị và thực hiện đơn vị

Important in pipelining Quan trọng trong pipelining

Pentium 4 Cache Pentium 4 Cache

80386 – no on chip cache 80386 - không có trên chip bộ nhớ cache 80486 – 8k using 16 byte lines and four way set associative organization 80486 - 8k sử

dụng 16 dây chuyền byte và cách thiết lập bốn tổ chức liên kết

37

Page 38: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Pentium (all versions) – two on chip L1 caches Pentium (mọi phiên bản) - hai L1 cache trên chip

o Data & instructions Dữ liệu & hướng dẫn

Pentium III – L3 cache added off chip Pentium III - bộ nhớ cache L3 được gửi ra chip

Pentium 4 Pentium 4

o L1 caches L1 cache

four way set associative bốn cách thiết lập liên kết

o L2 cache L2 cache

Feeding both L1 caches Cho ăn cả hai L1 cache

128 byte lines 128 byte đường

8 way set associative 8 cách thiết lập liên kết

o L3 cache on chip L3 cache trên chip

Problem Vấn đề Solution Giải pháp

Processor on which feature first appears Bộ vi xử lý mà những tính năng lần đầu tiên xuất hiện

External memory slower than the system bus. Bên ngoài bộ nhớ chậm hơn so với hệ thống xe buýt.

Add external cache using faster memory technology. Thêm bộ nhớ cache bên ngoài sử dụng công nghệ bộ nhớ nhanh hơn.

Increased processor speed results in external bus becoming a bottleneck for cache access. Tăng tốc độ kết quả xử lý xe buýt bên ngoài trở thành một nút cổ chai để truy cập bộ nhớ cache.

Move external cache on-chip, operating at the same speed as the processor. Di chuyển bên ngoài bộ nhớ cache trên chip, điều hành ở tốc độ tương tự như bộ xử lý.

Internal cache is rather small, due to limited space on chip Nội bộ nhớ cache là khá nhỏ, do không gian hạn chế về chip

Add external L2 cache using faster technology than main memory Thêm bên ngoài sử dụng công nghệ bộ nhớ cache L2 nhanh hơn so với bộ nhớ chính

Contention occurs when both the Instruction Prefetcher and the Execution Unit simultaneously require access to the cache. Tranh xảy ra khi cả hai Prefetcher Chỉ thị và các đơn vị thi công đồng thời yêu cầu truy cập bộ nhớ cache. In that case, the Prefetcher is stalled while the

38

Page 39: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Execution Unit's data access takes place. Trong trường hợp đó, các Prefetcher là bị đình trệ, trong khi dữ liệu của đơn vị truy cập Thi hành diễn ra.

Create separate data and instruction caches. Tạo dữ liệu riêng biệt và lưu trữ hướng dẫn.

Increased processor speed results in external bus becoming a bottleneck for L2 cache access. Tăng tốc độ kết quả xử lý xe buýt bên ngoài trở thành một nút cổ chai để truy cập bộ nhớ cache L2.

Create separate back-side bus that runs at higher speed than the main (front-side) external bus. Tạo riêng biệt phía sau xe buýt chạy ở tốc độ cao hơn (-side) bên ngoài xe buýt phía trước chính. The BSB is dedicated to the L2 cache. Các BSB là dành riêng cho bộ nhớ cache L2.

Move L2 cache on to the processor chip. Di chuyển cache L2 vào chip vi xử lý.

Some applications deal with massive databases and must have rapid access to large amounts of data. Một số thỏa thuận các ứng dụng với cơ sở dữ liệu lớn và phải có quyền truy cập nhanh chóng đến lượng dữ liệu lớn. The on-chip caches are too small. The-chip cache trên là quá nhỏ.

Add external L3 cache. Thêm bên ngoài bộ nhớ cache L3.

Move L3 cache on-chip. Di chuyển bộ nhớ cache L3 trên chip.

Pentium 4 Block Diagram Pentium 4 sơ đồ khối

Pentium 4 Core Processor Pentium 4 Core Processor

Fetch/Decode Unit Fetch / Decode Unit o Fetches instructions from L2 cache Lấy các hướng dẫn từ bộ nhớ cache L2

o Decode into micro-ops Giải mã thành vi-ops

o Store micro-ops in L1 cache Cửa hàng vi-ops trong L1 cache

Out of order execution logic Trong logic thực hiện lệnh

o Schedules micro-ops Lịch micro-ops

o Based on data dependence and resources Dựa trên dữ liệu phụ thuộc và nguồn lực

o May speculatively execute Có thể liều lĩnh thực hiện

Execution units Thực hiện các đơn vị

o Execute micro-ops Thực hiện vi-ops

o Data from L1 cache Dữ liệu từ bộ nhớ cache L1

39

Page 40: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Results in registers Kết quả trong sổ đăng ký

Memory subsystem Bộ nhớ hệ thống con

o L2 cache and systems bus L2 cache và bus hệ thống

Pentium 4 Design Reasoning Thiết kế hợp lí Pentium 4

Decodes instructions into RISC like micro-ops before L1 cache Giải mã hướng dẫn vào RISC như micro-ops trước khi L1 cache

Micro-ops fixed length Micro-ops độ dài cố định

o Superscalar pipelining and scheduling Superscalar pipelining và lập kế hoạch

Pentium instructions long & complex Pentium hướng dẫn dài và phức tạp

Performance improved by separating decoding from scheduling & pipelining Hiệu suất được cải thiện bằng cách tách giải mã từ lập kế hoạch & pipelining

o (More later – ch14) (Khác sau này - ch14)

Data cache is write back Bộ nhớ cache dữ liệu được ghi trở lại

o Can be configured to write through Có thể được cấu hình để viết thông qua

L1 cache controlled by 2 bits in register Bộ nhớ cache L1 được kiểm soát bởi 2 bit trong đăng ký

o CD = cache disable CD = cache vô hiệu hóa

o NW = not write through NW = không viết thư thông qua

o 2 instructions to invalidate (flush) cache and write back then invalidate 2 hướng dẫn để vô hiệu (flush) bộ nhớ cache và viết trở lại sau đó vô hiệu

L2 and L3 8-way set-associative L2 và L3 8-cách thiết lập liên kết

o Line size 128 bytes Line kích thước 128 byte

ARM Cache Features ARM tính năng Cache Cache Type Loại bộ nhớ cache

Cache Size (kB) Cache Size (kB) Cache Line Size (words) Line Cache Size (từ)

Associativity Associativity Location Địa điểm

Write Buffer Size (words) Viết bộ đệm (từ) ARM Cache Organization Tổ chức Cache ARM

Small FIFO write buffer Nhỏ viết đệm FIFO o Enhances memory write performance Tăng cường trí nhớ ghi hiệu suất

40

Page 41: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Between cache and main memory Giữa bộ nhớ cache và bộ nhớ chính

o Small cf cache Nhỏ cf cache

o Data put in write buffer at processor clock speed Dữ liệu đưa vào bộ đệm ghi ở tốc độ đồng hồ bộ xử lý

o Processor continues execution Bộ vi xử lý tiếp tục thực hiện

o External write in parallel until empty Bên ngoài ghi song song cho đến khi có sản phẩm nào

o If buffer full, processor stalls Nếu toàn bộ xử lý quầy hàng, đệm

o Data in write buffer not available until written Dữ liệu trong bộ đệm viết không có sẵn cho đến khi văn bản

So keep buffer small Vì vậy, giữ đệm nhỏ

ARM Cache and Write Buffer Organization ARM Tổ chức Cache và Viết đệm

Internet Sources Nguồn Internet

Manufacturer sites Nhà sản xuất các trang web Search on cache Tìm kiếm trên bộ nhớ cache

Chương 5 :Internal Memory Bộ nhớ trong

Semiconductor Memory Types Các loại bộ nhớ bán dẫn

Electrically, block-level Điện, khối cấp Flash memory Bộ nhớ Flash

Electrically, byte-level Điện, cấp byte

Electrically Erasable PROM (EEPROM) Xóa được bằng điện PROM (EEPROM)

UV light, chip-level Tia UV, chip cấp

Read-mostly memory Read-chủ yếu là bộ nhớ

Erasable PROM Xóa được PROM (EPROM) (EPROM) Electrically Điện Programmable Lập trình ROM (PROM) ROM (PROM)

41

Page 42: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Nonvolatile Không bay hơi Masks Mặt nạ

Not possible Không thể Read-only memory Bộ nhớ chỉ đọc

Read-only Chỉ đọc memory (ROM) bộ nhớ (ROM) Volatile Bay hơi Random-access Truy xuất ngẫu nhiên memory (RAM) bộ nhớ (RAM)

Volatility Biến động Write Mechanism Viết cơ chế Erasure Chô bôi Category Thể loại

Memory Type Loại bộ nhớ Semiconductor Memory Bộ nhớ bán dẫn

o Misnamed as all semiconductor memory is random access Misnamed như tất cả các bộ nhớ bán dẫn là truy cập ngẫu nhiên

o Read/Write Đọc / Viết

o Volatile Bay hơi

o Temporary storage Lưu trữ tạm thời

o Static or dynamic Tĩnh hay động

Memory Cell Operation Memory Cell hoạt động

Dynamic RAM Dynamic RAM

Bits stored as charge in capacitors Bit được lưu trữ như phí trong các tụ điện Charges leak Phí rò rỉ

Need refreshing even when powered Cần làm mới ngay cả khi được hỗ trợ

Simpler construction Xây dựng đơn giản

Smaller per bit Nhỏ hơn một chút

Less expensive Ít tốn kém

Need refresh circuits Cần mạch làm mới

Slower Chậm hơn

Main memory Bộ nhớ chính

Essentially analogue Về bản chất tương tự

o Level of charge determines value Mức phí xác định giá trị

Dynamic RAM Structure Dynamic RAM Cấu trúc

DRAM Operation DRAM hoạt động

42

Page 43: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Address line active when bit read or written Dòng địa chỉ hoạt động khi đọc hoặc viết bit o Transistor switch closed (current flows) Transistor chuyển mạch đóng (hiện dòng

chảy)

o Voltage to bit line Điện áp vào dòng bit

High for 1 low for 0 Cao cho 1 ít cho 0

o Then signal address line Sau đó tín hiệu dòng địa chỉ

Transfers charge to capacitor Chuyển phí cho tụ điện

o Address line selected Dòng địa chỉ được lựa chọn

transistor turns on bóng bán dẫn bật

o Charge from capacitor fed via bit line to sense amplifier Phí từ ăn tụ các dòng bit để khuếch đại cảm giác

Compares with reference value to determine 0 or 1 So sánh với giá trị tham khảo để xác định 0 hoặc 1

o Capacitor charge must be restored Tụ phí phải được khôi phục

Static RAM RAM tĩnh

Bits stored as on/off switches Bit được lưu trữ như bật / tắt công tắc No charges to leak Không có chi phí để rò rỉ

No refreshing needed when powered Không cần thiết khi làm mới trang

More complex construction Xây dựng phức tạp hơn

Larger per bit Lớn hơn một chút

More expensive Đắt hơn

Does not need refresh circuits Không cần mạch làm mới

Faster Nhanh hơn

Cache Cache

Digital Kỹ thuật số

o Uses flip-flops Sử dụng flip-flops

Stating RAM Structure Cơ cấu tổ chức rõ RAM

Static RAM Operation RAM tĩnh hoạt động

43

Page 44: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Transistor arrangement gives stable logic state Transistor sắp xếp ổn định cho nhà nước logic

State 1 Nhà nước 1

State 0 Nhà nước 0

Address line transistors T 5 T 6 is switch Địa chỉ các bóng bán dẫn dòng T 5 T 6 được chuyển đổi

Write – apply value to B & compliment to B Viết - áp dụng các giá trị cho B & B khen

Read – value is on line B Đọc - giá trị là trên dòng B

SRAM v DRAM V SRAM DRAM

Both volatile Cả hai đều dễ bay hơi o Power needed to preserve data Năng lượng cần thiết để bảo vệ dữ liệu

Dynamic cell Năng động tế bào

o Simpler to build, smaller Đơn giản để xây dựng, nhỏ hơn

o More dense Dày đặc hơn

o Less expensive Ít tốn kém

o Needs refresh Nhu cầu làm mới

o Larger memory units Bộ nhớ lớn hơn các đơn vị

Static Tĩnh Faster Nhanh hơn

o Cache Cache

Read Only Memory (ROM) Bộ nhớ chỉ đọc (ROM)

Permanent storage Lưu trữ vĩnh viễn o Nonvolatile Không bay hơi

Microprogramming (see later) Microprogramming (xem sau)

Library subroutines Thư viện chương trình con

Systems programs (BIOS) Hệ thống các chương trình (BIOS)

Function tables Chức năng bảng

Types of ROM Các loại ROM

Written during manufacture Văn bản trong sản xuất o Very expensive for small runs Rất tốn kém cho chạy nhỏ

44

Page 45: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Programmable (once) Lập trình (một lần)

o PROM PROM

o Needs special equipment to program Nhu cầu thiết bị đặc biệt cho chương trình

Read “mostly” Tìm hiểu "chủ yếu"

o Erasable Programmable (EPROM) Xóa được lập trình (EPROM)

Erased by UV Xoá bỏ được bởi tia cực tím

o Electrically Erasable (EEPROM) Xóa được bằng điện (EEPROM)

Takes much longer to write than read Mất nhiều thời gian để viết hơn là đọc

o Flash memory Bộ nhớ Flash

Erase whole memory electrically Xoá bỏ toàn bộ bộ nhớ điện

Organisation in detail Tổ chức cụ thể

A 16Mbit chip can be organised as 1M of 16 bit words Một chip 16Mbit có thể được tổ chức như 1M của 16 bit từ

A bit per chip system has 16 lots of 1Mbit chip with bit 1 of each word in chip 1 and so on Một chút cho mỗi hệ thống chip có 16 lô 1Mbit chip với bit 1 của mỗi từ trong chip 1 và vv

A 16Mbit chip can be organised as a 2048 x 2048 x 4bit array Một chip 16Mbit có thể được tổ chức như một x 2048 x 4bit mảng 2048

o Reduces number of address pins Giảm số lượng các chân địa chỉ

Multiplex row address and column address Multiplex địa chỉ hàng và địa chỉ cột

11 pins to address (2 11 =2048) 11 chân đến địa chỉ (2 11 = 2048)

Adding one more pin doubles range of values so x4 capacity Thêm một đôi pin hơn nhiều giá trị vì vậy khả năng x4

Refreshing Làm mới

Refresh circuit included on chip Làm mới bao gồm các mạch trên chip Disable chip Vô hiệu hóa chip

Count through rows Tính thông qua các hàng

Read & Write back Đọc và Viết lại

Takes time Cần có thời gian

45

Page 46: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Slows down apparent performance Làm chậm hiệu suất rõ ràng

Typical 16 Mb DRAM (4M x 4) Điển hình 16 Mb DRAM (4M x 4)

Packaging Bao bì

1MByte Module Organisation Tổ chức 1MByte Module

Interleaved Memory Interleaved Memory

Collection of DRAM chips Bộ sưu tập của các chip DRAM Grouped into memory bank Nhóm lại vào ngân hàng bộ nhớ

Banks independently service read or write requests Các ngân hàng độc lập dịch vụ đọc hoặc viết yêu cầu

K banks can service k requests simultaneously K ngân hàng có thể yêu cầu dịch vụ đồng thời k

Error Correction Sửa lỗi

Hard Failure Không cứng o Permanent defect Thường lỗi

Soft Error Lỗi mềm

o Random, non-destructive Ngẫu nhiên, không phá hủy

o No permanent damage to memory Không có thiệt hại vĩnh viễn vào bộ nhớ

Detected using Hamming error correcting code Phát hiện bằng cách sử dụng mã sửa lỗi Hamming

Error Correcting Code Function Lỗi Sửa chữa chức năng Mã

Advanced DRAM Organization Tổ chức nâng cao DRAM

Basic DRAM same since first RAM chips Cơ bản này từ khi các chip DRAM RAM đầu tiên

Enhanced DRAM Enhanced DRAM

o Contains small SRAM as well Chứa nhỏ SRAM cũng

o SRAM holds last line read (cf Cache!) SRAM giữ dòng cuối cùng đọc (cf Cache!)

Cache DRAM Cache DRAM

o Larger SRAM component Thành phần lớn hơn SRAM

o Use as cache or serial buffer Sử dụng như là bộ nhớ cache hoặc buffer nối tiếp

46

Page 47: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Synchronous DRAM (SDRAM) Đồng bộ DRAM (SDRAM)

Access is synchronized with an external clock Truy cập được đồng bộ với đồng hồ bên ngoài

Address is presented to RAM Địa chỉ được trình bày cho RAM

RAM finds data (CPU waits in conventional DRAM) RAM tìm thấy dữ liệu (CPU đang chờ đợi trong DRAM thông thường)

Since SDRAM moves data in time with system clock, CPU knows when data will be ready Từ SDRAM di chuyển dữ liệu trong thời gian với đồng hồ hệ thống, CPU biết khi nào dữ liệu sẽ được sẵn sàng

CPU does not have to wait, it can do something else CPU không phải chờ đợi, nó có thể làm điều gì đó khác

Burst mode allows SDRAM to set up stream of data and fire it out in block Burst chế độ cho phép SDRAM để thiết lập dòng của dữ liệu và cháy nó ra trong khối

DDR-SDRAM sends data twice per clock cycle (leading & trailing edge) DDR-SDRAM gửi dữ liệu hai lần trên mỗi chu kỳ đồng hồ (hàng đầu và đuôi cạnh)

SDRAM Read Timing SDRAM Tìm hiểu về thời gian

Adopted by Intel for Pentium & Itanium Được thông qua Intel cho Pentium và Itanium Main competitor to SDRAM Chính đối thủ cạnh tranh để SDRAM

Vertical package – all pins on one side Dọc gói - tất cả các chân trên một mặt

Data exchange over 28 wires < cm long Trao đổi dữ liệu trên 28 dây <cm dài

Bus addresses up to 320 RDRAM chips at 1.6Gbps Bus địa chỉ lên đến 320 con chip RDRAM tại 1.6Gbps

Asynchronous block protocol Khối giao thức không đồng bộ

o 480ns access time 480ns thời gian truy cập

o Then 1.6 Gbps Sau đó 1,6 Gbps

RAMBUS Diagram Sơ đồ RAMBUS

SDRAM can only send data once per clock SDRAM chỉ có thể gửi dữ liệu một lần mỗi đồng hồ

Double-data-rate SDRAM can send data twice per clock cycle Double-SDRAM tốc độ dữ liệu có thể gửi dữ liệu hai lần trong một chu kỳ

o Rising edge and falling edge Tăng cạnh và rơi xuống cạnh

DDR SDRAM DDR SDRAM Read Timing Tìm hiểu về thời gian

47

Page 48: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Simplified DRAM Read Timing Đơn giản hóa DRAM Tìm hiểu về thời gian

Integrates small SRAM cache (16 kb) onto generic DRAM chip Tích hợp bộ nhớ cache SRAM nhỏ (16 kb) lên chip DRAM chung

Used as true cache Được sử dụng làm bộ nhớ cache thật

o Effective for ordinary random access Hiệu quả cho truy cập ngẫu nhiên thông thường

To support serial access of block of data Để hỗ trợ truy cập nối tiếp của khối dữ liệu

o Eg refresh bit-mapped screen Ví dụ như làm mới màn hình ánh xạ bit

CDRAM can prefetch data from DRAM into SRAM buffer CDRAM có thể prefetch dữ liệu từ DRAM vào bộ đệm SRAM

Subsequent accesses solely to SRAM Sau đó truy cập chỉ để SRAM

The RAM Guide Hướng dẫn RAM

Chương 6: Disk chất nền phủ chất liệu magnetizable (sắt oxit

... gỉ).Chất nền dùng để được nhômTrả thủy tinhCải thiện bề mặt đồng nhấtTăng độ tin cậyGiảm các khuyết tật bề mặtGiảm lỗi đọc / ghiChuyến bay hạ độ cao (xem sau)Độ cứng tốt hơnShock tốt hơn / thiệt hại khángGhi âm &. hồi qua cuộn dây dẫn điện được gọi là một cái đầuCó thể được duy nhất đọc / ghi đầu hoặc những người riêng biệtTrong quá trình đọc / ghi, đứng đầu là văn phòng phẩm, đĩa quayViếtHiện thông qua các cuộn dây tạo từ trườngXung gửi tới người đứng đầuTừ mô hình ghi lại trên bề mặt bên dướiĐọc (truyền thống)Từ trường cuộn dây chuyển động tương đối so với sản xuất hiện nayCuộn dây là như nhau cho đọc và viếtĐọc (hiện đại)Đầu đọc riêng biệt, gần viết đầuMột phần được bảo vệ từ tính điện trở (MR) cảm biếnĐiện trở phụ thuộc vào hướng của từ trườngCao tần số hoạt độngMật độ lưu trữ cao hơn và tốc độ

48

Page 49: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Bit gần trung tâm của đĩa quay đi. cố định điểm chậm hơn chút ở bên ngoài của đĩaTăng khoảng cách giữa các bit trong bản nhạc khác nhauXoay đĩa ở vận tốc góc không đổi (CAV)Cung cấp cho các ngành bánh hình và theo dõi tâmCá nhân theo dõi và các lĩnh vực địa chỉDi chuyển đầu để theo dõi và chờ đợi cho khu vực nhất địnhXử lý chất thải của không gian cho các bài hát bên ngoàiThấp hơn mật độ dữ liệuCó thể sử dụng các khu để tăng năng lựcMỗi khu có cố định bit / theo dõiMạch phức tạp hơn

đĩa được đồng bộ hóaRất nhỏ sọcThường thì một byte / từSửa lỗi tính toán trên bit tương ứng trên đĩaNhiều cửa hàng đĩa chẵn lẻ mã Hamming sửa chữa sai sót ở các vị trí tương ứngNhiều dự phòngĐắtKhông được sử dụng

Ban đầu cho âm thanh650Mbytes cho hơn 70 phút âm thanhPolycarbonate phủ lông phản xạ rất cao, thường là bằng nhômDữ liệu được lưu trữ như hốTìm hiểu bằng cách phản chiếu laserMật độ không đổi bao bìVận tốc tuyến tính không đổi

Lưu trữ quang học. Hiệp hội Công nghệTốt nguồn thông tin về công nghệ lưu trữ quang học và các nhà cung cấpMở rộng danh sách các liên kết liên quanDLTtapeGood thu thập thông tin kỹ thuật và liên kết với các nhà cung cấpTìm kiếm trên RAID

Chương 7: Input/Output Problems Vào / ra vấn đề

Wide variety of peripherals Có rất nhiều thiết bị ngoại vi o Delivering different amounts of data Mang số tiền khác nhau của dữ liệu

o At different speeds Ở tốc độ khác nhau

o In different formats Trong các định dạng khác nhau

All slower than CPU and RAM Mọi chậm hơn so với CPU và RAM

Need I/O modules Cần I / O module

49

Page 50: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Input/Output Module Input / Output Module

Interface to CPU and Memory Giao diện cho CPU và bộ nhớ Interface to one or more peripherals Giao diện cho một hoặc nhiều thiết bị ngoại vi

Generic Model of I/O Module Chung Mô hình I / O Module

External Devices Các thiết bị bên ngoài

Human readable Con người có thể đọc được o Screen, printer, keyboard Màn hình, máy in, bàn phím

Machine readable Máy có thể đọc được

o Monitoring and control Giám sát và kiểm soát

Communication Thông tin

o Modem Modem

o Network Interface Card (NIC) Thẻ giao diện mạng (NIC)

External Device Block Diagram Sơ đồ khối thiết bị bên ngoài

I/O Module Function I / O Module chức năng

Control & Timing Kiểm soát & Timing CPU Communication CPU truyền thông

Device Communication Thiết bị truyền thông

Data Buffering Data Buffering

Error Detection Phát hiện lỗi

I/O Steps I / O bước

CPU checks I/O module device status CPU kiểm tra I / O module trạng thái thiết bị I/O module returns status I / O module trả về trạng thái

If ready, CPU requests data transfer Nếu, yêu cầu CPU truyền dữ liệu đã sẵn sàng

I/O module gets data from device I / O module được dữ liệu từ điện thoại

I/O module transfers data to CPU I / O module chuyển dữ liệu đến CPU

Variations for output, DMA, etc. Biến thể cho đầu ra, DMA, vv

I/O Module Diagram I / O Module Sơ đồ

I/O Module Decisions I / O Module quyết định

50

Page 51: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Hide or reveal device properties to CPU Giấu hay trình bày các tài sản thiết bị để CPU Support multiple or single device Hỗ trợ nhiều hoặc một thiết bị

Control device functions or leave for CPU Thiết bị điều khiển các chức năng hoặc để lại cho CPU

Also O/S decisions Ngoài ra O / S quyết định

o eg Unix treats everything it can as a file ví dụ như đối xử với tất cả mọi thứ Unix nó có thể là một tập tin

Input Output Techniques Đầu vào đầu ra kỹ thuật

Programmed Lập trình Interrupt driven Gián đoạn điều khiển

Direct Memory Access (DMA) Direct Memory Access (DMA)

Three Techniques for Ba kỹ thuật cho Input of a Block of Data Đầu vào của một khối dữ liệu

Programmed I/O Lập trình I / O

CPU has direct control over I/O CPU có kiểm soát trực tiếp trên I / O o Sensing status Cảm biến trạng thái

o Read/write commands Đọc / ghi lệnh

o Transferring data Chuyển dữ liệu

CPU waits for I/O module to complete operation CPU chờ I / O module để hoàn thành hoạt động

Wastes CPU time Chất thải thời gian CPU

Programmed I/O - detail Lập trình I / O - chi tiết

CPU requests I/O operation CPU yêu cầu I / O hoạt động I/O module performs operation I / O module thực hiện các hoạt động

I/O module sets status bits I / O module bộ các bit trạng thái

CPU checks status bits periodically CPU kiểm tra định kỳ tình trạng bit

I/O module does not inform CPU directly I / O module CPU không thông báo trực tiếp

I/O module does not interrupt CPU I / O module CPU không gián đoạn

CPU may wait or come back later CPU có thể chờ đợi hoặc quay lại sau

I/O Commands I / O lệnh

51

Page 52: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

CPU issues address các vấn đề địa chỉ CPU o Identifies module (& device if >1 per module) Nhận dạng module (& thiết bị nếu>

1 mỗi module)

CPU issues command CPU vấn đề lệnh

o Control - telling module what to do Control - nói với module phải làm gì

eg spin up disk ví dụ như quay đĩa

o Test - check status Kiểm tra - kiểm tra tình trạng

eg power? ví dụ như quyền lực? Error? Lỗi?

o Read/Write Đọc / Viết

Module transfers data via buffer from/to device Module truyền dữ liệu thông qua bộ đệm từ / cho thiết bị

Addressing I/O Devices Phát biểu I / O thiết bị

Under programmed I/O data transfer is very like memory access (CPU viewpoint) Theo tôi lập trình / chuyển dữ liệu O là rất giống như truy cập bộ nhớ (CPU quan điểm)

Each device given unique identifier Mỗi thiết bị được định danh duy nhất

CPU commands contain identifier (address) CPU chứa các lệnh định danh (địa chỉ)

I/O Mapping I / O Lập bản đồ

Memory mapped I/O Bộ nhớ ánh xạ I / O o Devices and memory share an address space Thiết bị và chia sẻ bộ nhớ một

không gian địa chỉ

o I/O looks just like memory read/write I / O trông giống như bộ nhớ đọc / ghi

o No special commands for I/O Không có lệnh đặc biệt cho I / O

Large selection of memory access commands available Lớn lựa chọn bộ nhớ truy cập các lệnh có sẵn

Isolated I/O Isolated I / O

o Separate address spaces Không gian địa chỉ riêng biệt

o Need I/O or memory select lines Cần I / O hoặc chọn dòng bộ nhớ

o Special commands for I/O Đặc biệt lệnh cho I / O

Limited set Hạn chế thiết lập

Memory Mapped and Isolated I/O Bộ nhớ ánh xạ và Isolated I / O

52

Page 53: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Interrupt Driven I/O Interrupt Driven I / O

Overcomes CPU waiting Vượt qua CPU chờ đợi No repeated CPU checking of device Không kiểm tra CPU lặp đi lặp lại của thiết bị

I/O module interrupts when ready I / O module ngắt khi đã sẵn sàng

Interrupt Driven I/O Interrupt Driven I / O Basic Operation Hoạt động cơ bản

CPU issues read command vấn đề CPU đọc lệnh I/O module gets data from peripheral whilst CPU does other work I / O module được dữ

liệu từ CPU trong khi ngoại vi không làm việc khác

I/O module interrupts CPU I / O module ngắt CPU

CPU requests data CPU yêu cầu dữ liệu

I/O module transfers data I / O module chuyển dữ liệu

Simple Interrupt Đơn giản ngắt Processing Chế biến

CPU Viewpoint Quan điểm CPU

Issue read command Vấn đề đọc lệnh Do other work Làm công việc khác

Check for interrupt at end of each instruction cycle Kiểm tra gián đoạn vào cuối mỗi chu kỳ lệnh

If interrupted:- Nếu bị gián đoạn: -

o Save context (registers) Lưu ngữ cảnh (đăng ký)

o Process interrupt Quá trình gián đoạn

Fetch data & store Lấy dữ liệu và lưu trữ

See Operating Systems notes Xem ghi chú Hệ điều hành

Changes in Memory and Registers Thay đổi trong bộ nhớ và Đăng ký for an Interrupt cho một ngắt

Design Issues Vấn đề Thiết kế

How do you identify the module issuing the interrupt? Làm thế nào để bạn xác định các module ra gián đoạn?

How do you deal with multiple interrupts? Làm thế nào để bạn đối phó với nhiều ngắt?

o ie an interrupt handler being interrupted tức là một bộ xử lý ngắt bị gián đoạn

53

Page 54: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Identifying Interrupting Module (1) Xác định Ngắt Module (1)

Different line for each module Dòng khác nhau cho mỗi mô-đun o PC PC

o Limits number of devices Giới hạn số lượng thiết bị

Software poll Phần mềm thăm dò ý kiến

o CPU asks each module in turn CPU yêu cầu lần lượt từng module

o Slow Chậm

Identifying Interrupting Module (2) Xác định Ngắt Module (2)

Daisy Chain or Hardware poll Daisy Chain hoặc thăm dò phần cứng o Interrupt Acknowledge sent down a chain Gián đoạn Thừa nhận gửi xuống một

chuỗi

o Module responsible places vector on bus Module chịu trách nhiệm nơi vector trên xe buýt

o CPU uses vector to identify handler routine CPU sử dụng vector để xác định xử lý thường xuyên

Bus Master Bus Master

o Module must claim the bus before it can raise interrupt Module phải yêu cầu xe buýt trước khi nó có thể gây gián đoạn

o eg PCI & SCSI ví dụ như PCI & SCSI

Multiple Interrupts Nhiều ngắt

Each interrupt line has a priority Mỗi dòng gián đoạn có một ưu tiên Higher priority lines can interrupt lower priority lines đường ưu tiên cao hơn có thể làm

gián đoạn đường ưu tiên thấp hơn

If bus mastering only current master can interrupt Nếu chủ xe buýt hiện nay chủ chỉ có thể gián đoạn

Example - PC Bus Ví dụ - PC Bus

80x86 has one interrupt line 80x86 có một đường dây gián đoạn 8086 based systems use one 8259A interrupt controller 8086 dựa trên hệ thống sử dụng

một bộ điều khiển ngắt 8259A

8259A has 8 interrupt lines 8259A có 8 dòng gián đoạn

Sequence of Events Trình tự các sự kiện

54

Page 55: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

8259A accepts interrupts 8259A chấp nhận ngắt 8259A determines priority 8259A xác định ưu tiên

8259A signals 8086 (raises INTR line) 8259A tín hiệu 8086 (tăng intr line)

CPU Acknowledges CPU thừa nhận

8259A puts correct vector on data bus 8259A đặt vector chính xác trên dữ liệu xe buýt

CPU processes interrupt CPU quá trình gián đoạn

ISA Bus Interrupt System ISA Bus hệ thống ngắt

ISA bus chains two 8259As together ISA bus hai chuỗi với nhau 8259As Link is via interrupt 2 Liên kết là thông qua gián đoạn 2

Gives 15 lines Cung cấp cho 15 dòng

o 16 lines less one for link 16 dây chuyền ít một cho liên kết

IRQ 9 is used to re-route anything trying to use IRQ 2 IRQ 9 được sử dụng để lại tuyến đường bất cứ điều gì đang cố gắng sử dụng IRQ 2

o Backwards compatibility Tính tương thích ngược

Incorporated in chip set Kết hợp trong chipset

Intel 82C55A Intel 82C55A Programmable Peripheral Interface Lập trình giao diện ngoại vi

Keyboard/Display Interfaces to 82C55A Bàn phím / giao diện hiển thị để 82C55A

Direct Memory Access Truy cập bộ nhớ trực tiếp

Interrupt driven and programmed I/O require active CPU intervention Gián đoạn điều khiển và lập trình I / O yêu cầu can thiệp CPU hoạt động

o Transfer rate is limited Tốc độ truyền tải có giới hạn

o CPU is tied up CPU được gắn lên

DMA is the answer DMA là câu trả lời

DMA Function Chức năng DMA

Additional Module (hardware) on bus Thêm Module (phần cứng) trên xe buýt DMA controller takes over from CPU for I/O DMA controller sẽ tiếp từ CPU cho I / O

Typical DMA Module Diagram Sơ đồ tiêu biểu DMA Module

DMA Operation DMA hoạt động

55

Page 56: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

CPU tells DMA controller:- CPU cho DMA điều khiển: - o Read/Write Đọc / Viết

o Device address Địa chỉ thiết bị

o Starting address of memory block for data Bắt đầu từ địa chỉ của khối bộ nhớ cho dữ liệu

o Amount of data to be transferred Số lượng dữ liệu được chuyển giao

CPU carries on with other work CPU mang về với công việc khác

DMA controller deals with transfer DMA controller đề với chuyển giao

DMA controller sends interrupt when finished DMA controller gửi ngắt khi đã hoàn thành

DMA Transfer Chuyển DMA Cycle Stealing Chu kỳ Trộm cắp

DMA controller takes over bus for a cycle DMA controller mất hơn xe buýt cho một chu kỳ

Transfer of one word of data Chuyển giao một từ dữ liệu

Not an interrupt Không phải là một gián đoạn

o CPU does not switch context CPU không chuyển đổi ngữ cảnh

CPU suspended just before it accesses bus CPU bị đình chỉ ngay trước khi nó truy cập xe buýt

o ie before an operand or data fetch or a data write tức là trước khi một toán hạng hoặc lấy dữ liệu hoặc một dữ liệu viết

Slows down CPU but not as much as CPU doing transfer CPU chậm lại nhưng không nhiều như làm CPU chuyển

DMA and Interrupt Breakpoints During an Instruction Cycle DMA và Breakpoints ngắt Trong một chu trình Hướng dẫn

Aside Ngoài

What effect does caching memory have on DMA? Ảnh hưởng gì trong bộ nhớ đệm bộ nhớ có trên DMA?

What about on board cache? Điều gì về bộ nhớ cache trên tàu?

Hint: how much are the system buses available? Gợi ý: bao nhiêu là hệ thống xe buýt nào?

DMA Configurations (1) DMA cấu hình (1)

Single Bus, Detached DMA controller Single Bus, tách rời DMA controller

56

Page 57: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Each transfer uses bus twice Mỗi chuyển giao sử dụng xe buýt hai lần

o I/O to DMA then DMA to memory I / O để DMA sau đó DMA để nhớ

CPU is suspended twice CPU bị đình chỉ hai lần

DMA Configurations (2) DMA cấu hình (2)

Single Bus, Integrated DMA controller Single Bus, tích hợp bộ điều khiển DMA Controller may support >1 device Controller có thể hỗ trợ> 1 thiết bị

Each transfer uses bus once Mỗi chuyển xe buýt sử dụng một lần

o DMA to memory DMA để nhớ

CPU is suspended once CPU bị đình chỉ một lần

DMA Configurations (3) DMA cấu hình (3)

Separate I/O Bus Riêng biệt I / O Bus Bus supports all DMA enabled devices Bus hỗ trợ tất cả các thiết bị DMA bật

Each transfer uses bus once Mỗi chuyển xe buýt sử dụng một lần

o DMA to memory DMA để nhớ

CPU is suspended once CPU bị đình chỉ một lần

Intel 8237A DMA Controller Intel 8237A điều khiển DMA

Interfaces to 80x86 family and DRAM Giao diện cho gia đình và DRAM 80x86 When DMA module needs buses it sends HOLD signal to processor Khi DMA module

nhu cầu xe buýt nó sẽ gửi tín hiệu để xử lý GIỮ

CPU responds HLDA (hold acknowledge) CPU đáp ứng HLDA (giữ xác nhận)

o DMA module can use buses DMA module có thể sử dụng xe buýt

Eg transfer data from memory to disk Ví dụ như chuyển dữ liệu từ bộ nhớ vào đĩa

o Device requests service of DMA by pulling DREQ (DMA request) high Thiết bị yêu cầu dịch vụ của DMA bằng cách kéo DREQ (DMA yêu cầu) cao

o DMA puts high on HRQ (hold request), DMA đặt cao trên HRQ (giữ theo yêu cầu),

o CPU finishes present bus cycle (not necessarily present instruction) and puts high on HDLA (hold acknowledge). CPU kết thúc chu kỳ bus hiện nay (không nhất thiết phải trình bày hướng dẫn) và đặt cao trên HDLA (giữ thừa nhận). HOLD remains active for duration of DMA GIỮ vẫn hoạt động cho thời gian của DMA

57

Page 58: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o DMA activates DACK (DMA acknowledge), telling device to start transfer DMA kích hoạt DACK (DMA thừa nhận), thiết bị nói để bắt đầu chuyển giao

o DMA starts transfer by putting address of first byte on address bus and activating MEMR; it then activates IOW to write to peripheral. DMA bắt đầu chuyển bằng cách đặt địa chỉ của byte đầu tiên trên xe buýt địa chỉ và kích hoạt MEMR; nó sau đó kích hoạt IOW để viết thư cho ngoại vi. DMA decrements counter and increments address pointer. DMA decrements truy cập và số gia địa chỉ con trỏ. Repeat until count reaches zero Lặp lại cho đến khi đạt đến số không đếm

o DMA deactivates HRQ, giving bus back to CPU DMA deactivates HRQ, cho xe buýt trở lại CPU

8237 DMA Usage of Systems Bus DMA 8237 sử dụng của các hệ thống xe buýt

While DMA using buses processor idle Trong khi DMA sử dụng xe buýt vi xử lý nhàn rỗi Processor using bus, DMA idle Bộ vi xử lý sử dụng xe buýt, DMA nhàn rỗi

o Known as fly-by DMA controller Được biết đến như fly-by DMA controller

Data does not pass through and is not stored in DMA chip Dữ liệu không đi qua và không được lưu trong chip DMA

o DMA only between I/O port and memory DMA duy nhất giữa I / O port và bộ nhớ

o Not between two I/O ports or two memory locations Không giữa hai I / O cảng hoặc hai vị trí nhớ

Can do memory to memory via register Có thể làm bộ nhớ vào bộ nhớ thông qua đăng ký

8237 contains four DMA channels 8237 có bốn kênh DMA

o Programmed independently Lập trình độc lập

o Any one active Bất kỳ một hoạt động

o Numbered 0, 1, 2, and 3 Đánh số 0, 1, 2, 3

I/O devices getting more sophisticated Thiết bị I / O ngày càng tinh vi

eg 3D graphics cards ví dụ như card đồ họa 3D

CPU instructs I/O controller to do transfer CPU chỉ thị I / O điều khiển để thực hiện chuyển giao

I/O controller does entire transfer I / O điều khiển không chuyển toàn bộ

Improves speed Cải thiện tốc độ

o Takes load off CPU Có giảm tải CPU

58

Page 59: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Dedicated processor is faster Bộ xử lý chuyên dụng được nhanh hơn

I/O Channel Architecture I / O Channel Kiến trúc

Interfacing Giao diện

Connecting devices together Kết nối thiết bị với nhau Bit of wire? Bit của dây?

Dedicated processor/memory/buses? Bộ xử lý chuyên dụng / bộ nhớ / xe buýt?

Eg FireWire, InfiniBand Ví dụ như FireWire, InfiniBand

High performance serial bus Hiệu suất cao nối tiếp xe buýt

Fast Nhanh

Low cost Chi phí thấp

Easy to implement Dễ thực hiện

Also being used in digital cameras, VCRs and TV Cũng được sử dụng trong máy ảnh kỹ thuật số, VCR và TV

FireWire Configuration Cấu hình FireWire

Daisy chain Daisy chuỗi Up to 63 devices on single port Lên đến 63 thiết bị trên cổng duy nhất

o Really 64 of which one is the interface itself Thực sự 64 trong đó một là giao diện chính

Up to 1022 buses can be connected with bridges Lên đến 1022 xe buýt có thể được kết nối với cầu

Automatic configuration Cấu hình tự động

No bus terminators Không có xe buýt terminators

May be tree structure Có thể được cấu trúc cây

Simple FireWire Configuration Cấu hình đơn giản FireWire

FireWire 3 Layer Stack FireWire lớp 3 Stack

Physical Vật lý o Transmission medium, electrical and signaling characteristics Truyền tải trung

bình, điện và tín hiệu đặc trưng

Link Liên kết

59

Page 60: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Transmission of data in packets Truyền tải dữ liệu trong các gói tin

Transaction Giao dịch

o Request-response protocol Yêu cầu đáp ứng giao thức

FireWire Protocol Stack FireWire Protocol Stack

FireWire - Physical Layer FireWire - lớp vật lý

Data rates from 25 to 400Mbps Tốc độ dữ liệu từ 25 đến 400Mbps Two forms of arbitration Hai hình thức trọng tài

o Based on tree structure Dựa trên cấu trúc cây

o Root acts as arbiter Root động như trọng tài

o First come first served Đầu tiên đến trước được phục vụ

o Natural priority controls simultaneous requests Tự nhiên đồng thời yêu cầu ưu tiên kiểm soát

ie who is nearest to root tức là người gần nhất để gốc

o Fair arbitration Công bằng trọng tài

o Urgent arbitration Khẩn cấp trọng tài

FireWire - Link Layer FireWire - Link Layer

Two transmission types Hai truyền tải các loại o Asynchronous Không đồng bộ

Variable amount of data and several bytes of transaction data transferred as a packet Biến số lượng dữ liệu và một vài byte dữ liệu giao dịch chuyển như một gói tin

To explicit address Để địa chỉ rõ ràng

Acknowledgement returned Lời cảm ơn trở lại

o Isochronous Đẳng thời

Variable amount of data in sequence of fixed size packets at regular intervals Biến số lượng dữ liệu trong chuỗi các gói kích thước cố định ở khoảng thời gian định

Simplified addressing Đơn giản hoá giải quyết

No acknowledgement Không có sự thừa nhận

FireWire Subactions FireWire Subactions

60

Page 61: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

InfiniBand InfiniBand

I/O specification aimed at high end servers I / O đặc điểm kỹ thuật nhằm vào các máy chủ cao cấp

o Merger of Future I/O (Cisco, HP, Compaq, IBM) and Next Generation I/O (Intel) Sáp nhập trong tương lai I / O (Cisco, HP, Compaq, IBM) và các thế hệ kế I / O (Intel)

Version 1 released early 2001 Phiên bản 1 được phát hành đầu năm 2001

Architecture and spec. Kiến trúc và spec. for data flow between processor and intelligent I/O devices cho luồng dữ liệu giữa bộ xử lý và tôi thông minh / O thiết bị

Intended to replace PCI in servers Dự định thay thế PCI trong các máy chủ

Increased capacity, expandability, flexibility Tăng cường năng lực, mở rộng, tính linh hoạt

InfiniBand Architecture InfiniBand Kiến trúc

Remote storage, networking and connection between servers Lưu trữ từ xa, kết nối mạng và kết nối giữa các máy chủ

Attach servers, remote storage, network devices to central fabric of switches and links Đính kèm máy chủ, lưu trữ từ xa, thiết bị mạng để vải trung tâm của thiết bị chuyển mạch và các liên kết

Greater server density Lớn hơn mật độ máy chủ

Scalable data centre Khả năng mở rộng trung tâm dữ liệu

Independent nodes added as required Thêm các nút độc lập theo yêu cầu

I/O distance from server up to I / O từ xa từ máy chủ đến

o 17m using copper 17m sử dụng đồng

o 300m multimode fibre optic Đa 300m cáp quang

o 10km single mode fibre 10 km cáp quang đơn mode

Up to 30Gbps Lên đến 30Gbps

InfiniBand Switch Fabric InfiniBand Switch Fabric

InfiniBand Operation InfiniBand hoạt động

16 logical channels (virtual lanes) per physical link 16 lý kênh (ảo làn xe) trên mỗi liên kết vật lý

One lane for management, rest for data Một làn đường cho việc quản lý, phần còn lại cho dữ liệu

61

Page 62: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Data in stream of packets Dữ liệu trong dòng các gói dữ liệu

Virtual lane dedicated temporarily to end to end transfer Virtual làn đường dành riêng tạm thời để kết thúc kết thúc chuyển giao

Switch maps traffic from incoming to outgoing lane Chuyển đổi bản đồ giao thông từ đường đi đến tới

InfiniBand Protocol Stack InfiniBand Protocol Stack

Foreground Reading Đọc Foreground

Check out Universal Serial Bus (USB) Kiểm tra Universal Serial Bus (USB) Compare with other communication standards eg Ethernet So sánh với các tiêu chuẩn

giao tiếp khác như Ethernet

Chương 8: Operating System Support Hệ thống hỗ trợ điều hành

Objectives and Functions Mục tiêu và chức năng

Convenience Thuận tiện o Making the computer easier to use Làm cho máy tính dễ dàng hơn để sử dụng

Efficiency Hiệu quả

o Allowing better use of computer resources Cho phép sử dụng tốt hơn nguồn tài nguyên máy tính

Layers and Views of a Computer System Lớp và điểm của một hệ thống máy tính

Operating System Services Dịch vụ điều hành hệ thống

Program creation Chương trình sáng tạo Program execution Thực hiện chương trình

Access to I/O devices Truy cập vào thiết bị I / O

Controlled access to files Kiểm soát truy cập đến tập tin

System access Hệ thống truy cập

Error detection and response Lỗi phát hiện và phản ứng

Accounting Kế toán

O/S as a Resource Manager O / S như là một quản lý tài nguyên

Types of Operating System Các loại hệ điều hành

62

Page 63: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Interactive Tương tác Batch Hàng loạt

Single program (Uni-programming) Chương trình duy nhất (Uni-lập trình)

Multi-programming (Multi-tasking) Multi-lập trình (Multi-tasking)

Early Systems Hệ thống đầu

Late 1940s to mid 1950s Cuối năm 1940 đến giữa thập niên 1950 No Operating System Không có hệ điều hành

Programs interact directly with hardware Các chương trình tương tác trực tiếp với phần cứng

Two main problems: Hai vấn đề chính:

o Scheduling Lập kế hoạch

o Setup time Thiết lập thời gian

Simple Batch Systems Hệ thống đơn giản hàng loạt

Resident Monitor program Theo dõi chương trình thường trú Users submit jobs to operator Người sử dụng trình điều hành công việc

Operator batches jobs Điều hành đợt công ăn việc làm

Monitor controls sequence of events to process batch Màn hình điều khiển chuỗi các sự kiện để xử lý hàng loạt

When one job is finished, control returns to Monitor which reads next job Khi một công việc hoàn tất kiểm soát trở lại, để giám sát công việc tiếp theo mà đọc

Monitor handles scheduling Màn hình lập lịch trình xử lý

Memory Layout for Resident Monitor Giao diện bộ nhớ cho Monitor trú

Job Control Language Ngôn ngữ điều khiển công việc

Instructions to Monitor Hướng dẫn để giám sát Usually denoted by $ Thông thường biểu hiện bằng $

eg ví dụ:

o $JOB $ VIỆC LÀM

o $FTN $ FTN

o ... ... Some Fortran instructions Một số hướng dẫn Fortran

o $LOAD $ LOAD

63

Page 64: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o $RUN $ RUN

o ... ... Some data Một số dữ liệu

o $END $ END

Desirable Hardware Features Mong muốn Các tính năng phần cứng

Memory protection Bộ nhớ bảo vệ o To protect the Monitor Để bảo vệ Màn hình

Timer Timer

o To prevent a job monopolizing the system Để ngăn chặn một công việc độc quyền hệ thống

Privileged instructions Đặc quyền hướng dẫn

o Only executed by Monitor Chỉ thực hiện bởi các Monitor

o eg I/O ví dụ như I / O

Interrupts Ngắt

Allows for relinquishing and regaining control Cho phép trả lại và lấy lại kiểm soát

Multi-programmed Batch Systems Multi-lập trình hệ thống hàng loạt

I/O devices very slow Thiết bị I / O rất chậm When one program is waiting for I/O, another can use the CPU Khi một chương trình

được chờ đợi cho I / O, một có thể sử dụng CPU

Single Program Chương trình duy nhất

Multi-Programming with Multi-Lập trình với Two Programs Hai Chương Trình

Multi-Programming with Multi-Lập trình với Three Programs Chương Trình Ba

Utilization Sử dụng

Time Sharing Systems Thời gian chia sẻ Hệ thống

Allow users to interact directly with the computer Cho phép người dùng tương tác trực tiếp với máy tính

o ie Interactive tức là tương tác

Multi-programming allows a number of users to interact with the computer Multi-lập trình cho phép một số người dùng tương tác với máy tính

64

Page 65: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Scheduling Lập kế hoạch

Key to multi-programming Chính để lập trình đa Long term Dài hạn

Medium term Trung hạn

Short term Ngắn hạn

I/O I / O

Long Term Scheduling Lập kế hoạch dài hạn

Determines which programs are submitted for processing Xác định các chương trình được gửi cho chế biến

ie controls the degree of multi-programming tức là kiểm soát mức độ lập trình đa

Once submitted, a job becomes a process for the short term scheduler Sau khi gửi, công việc trở thành một quá trình cho các lịch trình ngắn hạn

(or it becomes a swapped out job for the medium term scheduler) (Hoặc nó sẽ trở thành một công việc trong trao đổi cho các lịch trình trung hạn)

Medium Term Scheduling Lập kế hoạch trung hạn

Part of the swapping function (later…) Một phần của chức năng trao đổi (sau này ...) Usually based on the need to manage multi-programming Thông thường dựa trên sự

cần thiết phải quản lý nhiều chương trình

If no virtual memory, memory management is also an issue Nếu không có bộ nhớ ảo, quản lý bộ nhớ cũng là một vấn đề

Short Term Scheduler Lên lịch ngắn hạn

Dispatcher Người gởi đi Fine grained decisions of which job to execute next Mỹ quyết định hạt trong đó có công

việc để thực hiện tiếp theo

ie which job actually gets to use the processor in the next time slot tức là có việc làm thực sự được sử dụng bộ vi xử lý trong các khe thời gian tiếp theo

Five State Process Model Năm Nhà nước trình Model

Process Control Block Điều khiển quá trình Block

Identifier Định danh State Nhà nước

Priority Ưu tiên

65

Page 66: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Program counter Chương trình truy cập

Memory pointers Bộ nhớ con trỏ

Context data Bối cảnh dữ liệu

I/O status I / O tư

Accounting information Thông tin kế toán

PCB Diagram Sơ đồ PCB

Scheduling Example Lập kế hoạch Ví dụ

Key Elements of O/S Các yếu tố chính của O / S

Process Scheduling Quy trình Lập kế hoạch

Memory Management Quản lý bộ nhớ

Uni-program Uni-chương trình o Memory split into two Bộ nhớ chia thành hai

o One for Operating System (monitor) Một cho Hệ điều hành (theo dõi)

o One for currently executing program Một cho chương trình hiện đang thực hiện

Multi-program Nhiều chương trình

o “User” part is sub-divided and shared among active processes Người sử dụng "một phần" được chia và chia sẻ giữa các quá trình hoạt động

Swapping Trao đổi

Problem: I/O is so slow compared with CPU that even in multi-programming system, CPU can be idle most of the time Vấn đề: I / O là rất chậm so với CPU mà ngay cả trong nhiều lập trình hệ thống, CPU có thể được nhàn rỗi hầu hết thời gian

Solutions: Giải pháp:

o Increase main memory Tăng bộ nhớ chính

Expensive Đắt

Leads to larger programs Dẫn đến các chương trình lớn hơn

o Swapping Trao đổi

What is Swapping? Hoán đổi là gì?

Long term queue of processes stored on disk Xếp hàng dài hạn của các quá trình lưu trữ trên đĩa

66

Page 67: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Processes “swapped” in as space becomes available Quy trình "đổi chỗ" trong không gian trở nên có sẵn

As a process completes it is moved out of main memory Khi quá trình hoàn tất nó được chuyển ra khỏi bộ nhớ chính

If none of the processes in memory are ready (ie all I/O blocked) Nếu không có các quá trình trong bộ nhớ đã sẵn sàng (tức là tất cả các I / O bị chặn)

o Swap out a blocked process to intermediate queue Trao đổi trong quá trình bị chặn để xếp hàng trung gian

o Swap in a ready process or a new process Trao đổi trong một quá trình chuẩn bị hoặc quy trình mới

o But swapping is an I/O process… Tuy nhiên, trao đổi là một I / O quá trình ...

Use of Swapping Sử dụng Hoán đổi

Partitioning Phân vùng

Splitting memory into sections to allocate to processes (including Operating System) Bộ nhớ chia tách thành các phần để phân bổ cho các quy trình (bao gồm cả hệ điều hành)

Fixed-sized partitions Cố định cỡ phân vùng

o May not be equal size Có thể không bằng kích thước

o Process is fitted into smallest hole that will take it (best fit) Quy trình được lắp vào lỗ nhỏ đó sẽ mang nó (tốt nhất phù hợp)

o Some wasted memory Một số bộ nhớ bị lãng phí

o Leads to variable sized partitions Dẫn đến kích thước phân vùng biến

Fixed Cố định Partitioning Phân vùng

Sized biến phân vùng (1)

Allocate exactly the required memory to a process Cấp phát bộ nhớ chính xác cần thiết để xử lý

This leads to a hole at the end of memory, too small to use Điều này dẫn đến một lỗ ở phần cuối của bộ nhớ, quá nhỏ để sử dụng

o Only one small hole - less waste Chỉ có một lỗ nhỏ - ít chất thải

When all processes are blocked, swap out a process and bring in another Khi tất cả các quá trình bị chặn, trao đổi trong một quá trình và mang lại một

New process may be smaller than swapped out process New quá trình có thể nhỏ hơn quá trình chuyển ra

67

Page 68: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Another hole Một lỗ

Variable Sized Partitions (2) Sized biến phân vùng (2)

Eventually have lots of holes (fragmentation) Cuối cùng có rất nhiều lỗ (phân mảnh) Solutions: Giải pháp:

o Coalesce - Join adjacent holes into one large hole Kết lại - Tham gia lỗ liền kề thành một lỗ lớn

o Compaction - From time to time go through memory and move all hole into one free block (cf disk de-fragmentation) Đầm nén - Từ thời gian để thời gian đi qua bộ nhớ và di chuyển tất cả các lỗ vào khối miễn phí trong một (cf de-phân mảnh đĩa)

Effect of Dynamic Partitioning Ảnh hưởng của phân vùng động

Relocation Thay đổi địa điểm

No guarantee that process will load into the same place in memory Không đảm bảo rằng quá trình sẽ được tải vào trong cùng một vị trí trong bộ nhớ

Instructions contain addresses Hướng dẫn các địa chỉ chứa

o Locations of data Vị trí của dữ liệu

o Addresses for instructions (branching) Địa chỉ để được hướng dẫn (nhánh)

Logical address - relative to beginning of program Địa chỉ hợp lý - liên quan đến đầu của chương trình

Physical address - actual location in memory (this time) Địa chỉ vật lý - thực tế vị trí trong bộ nhớ (thời gian này)

Automatic conversion using base address Tự động chuyển đổi sử dụng địa chỉ cơ sở

Split memory into equal sized, small chunks -page frames Split nhớ vào bằng kích thước, khối trang khung nhỏ

Split programs (processes) into equal sized small chunks - pages Chia nhỏ các chương trình (quy trình) vào bằng khối có kích thước nhỏ - các trang

Allocate the required number page frames to a process Phân bổ số lượng khung trang cần thiết để một quá trình

Operating System maintains list of free frames Hệ điều hành duy trì danh sách các khung hình miễn phí

A process does not require contiguous page frames Một quy trình không yêu cầu khung trang tiếp giáp

Use page table to keep track Sử dụng bảng trang để theo dõi

68

Page 69: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Allocation of Free Frames Phân bổ các khung hình miễn phí

Logical and Physical Addresses - Paging Địa chỉ luận lý và vật lý - Paging

Virtual Memory Bộ nhớ ảo

Demand paging Nhu cầu phân trang o Do not require all pages of a process in memory Không yêu cầu tất cả các trang

của một quá trình trong bộ nhớ

o Bring in pages as required Mang trong các trang theo yêu cầu

Page fault Trang lỗi

o Required page is not in memory Yêu cầu trang không có trong bộ nhớ

o Operating System must swap in required page Hệ điều hành phải trao đổi trong trang yêu cầu

o May need to swap out a page to make space Có thể cần phải trao đổi trên một trang để làm cho không gian

o Select page to throw out based on recent history Chọn trang để ném ra dựa trên lịch sử gần đây

Thrashing Trận đòn

Too many processes in too little memory Quá nhiều quy trình trong bộ nhớ quá ít Operating System spends all its time swapping Hệ điều hành dành tất cả thời gian của

mình trao đổi

Little or no real work is done Ít hoặc không có thực sự làm việc được thực hiện

Disk light is on all the time Disk ánh sáng là vào thời gian tất cả

Solutions Giải pháp o Good page replacement algorithms Good trang thay thế các thuật toán

o Reduce number of processes running Giảm số lượng các tiến trình đang chạy

o Fit more memory Phù hợp với nhiều bộ nhớ hơn

Bonus Tiền thưởng

We do not need all of a process in memory for it to run Chúng ta không cần tất cả của một quá trình trong bộ nhớ cho nó chạy

We can swap in pages as required Chúng ta có thể trao đổi trong các trang theo yêu cầu

So - we can now run processes that are bigger than total memory available! Vì vậy - chúng ta có thể chạy quá trình lớn hơn tổng số bộ nhớ có sẵn!

69

Page 70: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Main memory is called real memory Bộ nhớ chính được gọi là bộ nhớ thực User/programmer sees much bigger memory - virtual memory Thành viên / lập trình viên

thấy nhiều bộ nhớ lớn hơn - bộ nhớ ảo

Inverted Page Table Structure Bảng cấu ngược Trang

Translation Lookaside Buffer Dịch Lookaside Buffer

Every virtual memory reference causes two physical memory access Tất cả các tham chiếu bộ nhớ ảo gây ra hai truy cập bộ nhớ vật lý

o Fetch page table entry Lấy trang bảng mục

o Fetch data Lấy dữ liệu

Use special cache for page table Sử dụng đặc biệt bộ nhớ cache cho bảng trang

o TLB TLB

TLB Operation Kinh thánh chép trong hoạt động

TLB and Cache Operation TLB và hoạt động Cache

Segmentation Phân đoạn thị trường

Paging is not (usually) visible to the programmer Paging không (thường) có thể nhìn thấy để lập trình

Segmentation is visible to the programmer Phân đoạn có thể nhìn thấy để lập trình

Usually different segments allocated to program and data Thông thường, các phân đoạn khác nhau được phân bổ cho chương trình và dữ liệu

May be a number of program and data segments Có thể là một số phân đoạn chương trình và dữ liệu

Advantages of Segmentation Ưu điểm của phân khúc

Simplifies handling of growing data structures Đơn giản hoá việc xử lý các cấu trúc dữ liệu ngày càng tăng

Allows programs to be altered and recompiled independently, without re-linking and re-loading Cho phép chương trình được thay đổi và biên dịch lại độc lập, không liên kết lại và nạp lại

Lends itself to sharing among processes Vay chính nó để chia sẻ giữa các quy trình

Lends itself to protection Vay chính nó để bảo vệ

Some systems combine segmentation with paging Một số hệ thống phân khúc kết hợp với phân trang

70

Page 71: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Pentium II Pentium II

Hardware for segmentation and paging Phần cứng cho phân đoạn và phân trang Unsegmented unpaged Unsegmented không có đánh số trang

o virtual address = physical address địa chỉ ảo = địa chỉ vật lý

o Low complexity Thấp phức tạp

o High performance Hiệu suất cao

Unsegmented paged Unsegmented paged

o Memory viewed as paged linear address space Bộ nhớ xem paged tuyến tính không gian địa chỉ là

o Protection and management via paging Bảo vệ và quản lý thông qua phân trang

o Berkeley UNIX Berkeley UNIX

Segmented unpaged Phân đoạn không có đánh số trang

o Collection of local address spaces Bộ sưu tập các không gian địa chỉ địa phương

o Protection to single byte level Bảo vệ cấp byte đơn

o Translation table needed is on chip when segment is in memory Bảng dịch cần thiết là trên chip khi phân khúc nằm trong bộ nhớ

Segmented paged Phân đoạn paged

o Segmentation used to define logical memory partitions subject to access control Phân đoạn được sử dụng để xác định phân vùng bộ nhớ hợp lý phải kiểm soát truy cập

o Paging manages allocation of memory within partitions Paging quản lý cấp phát bộ nhớ trong phân vùng

o Unix System V Unix System V

Pentium II Address Translation Mechanism Pentium II Address Translation Cơ chế

Pentium II Segmentation Pentium II Phân đoạn

Each virtual address is 16-bit segment and 32-bit offset Mỗi địa chỉ ảo là 16-bit và 32 bit đoạn-offset

2 bits of segment are protection mechanism 2 bit của phân đoạn được bảo vệ cơ chế

14 bits specify segment 14 bit xác định phân khúc

Unsegmented virtual memory 2 32 = 4Gbytes Unsegmented bộ nhớ ảo 2 32 = 4Gbytes

71

Page 72: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Segmented 2 46 =64 terabytes Phân đoạn 2 46 = 64 terabyte

o Can be larger – depends on which process is active Có thể lớn hơn - phụ thuộc vào quá trình hoạt động

o Half (8K segments of 4Gbytes) is global Một nửa (8K phân đoạn của 4Gbytes) là toàn cầu

o Half is local and distinct for each process Một nửa là địa phương và riêng biệt cho mỗi quá trình

Pentium II Protection Pentium II Bảo vệ

Protection bits give 4 levels of privilege Bảo vệ bit cho 4 cấp độ của đặc quyền o 0 most protected, 3 least 0 bảo vệ nhất, 3 nhất

o Use of levels software dependent Sử dụng phần mềm mức độ phụ thuộc

o Usually level 3 for applications, level 1 for O/S and level 0 for kernel (level 2 not used) Thông thường mức 3 cho các ứng dụng, mức độ 1 cho O / S và mức 0 cho hạt nhân (cấp 2 không được sử dụng)

o Level 2 may be used for apps that have internal security eg database Cấp độ 2 có thể được sử dụng cho các ứng dụng có an ninh nội bộ ví dụ như cơ sở dữ liệu

o Some instructions only work in level 0 Một số hướng dẫn chỉ hoạt động ở mức 0

Pentium II Paging Pentium II Paging

Segmentation may be disabled Phân đoạn có thể bị vô hiệu o In which case linear address space is used Trong trường hợp tuyến tính không

gian địa chỉ được sử dụng

Two level page table lookup Hai cấp độ trang bảng tra cứu

o First, page directory Trước tiên, trang thư mục

1024 entries max 1024 mục tối đa

Splits 4G linear memory into 1024 page groups of 4Mbyte Tách tuyến tính bộ nhớ 4G vào 1024 nhóm trang của 4Mbyte

Each page table has 1024 entries corresponding to 4Kbyte pages Mỗi bảng trang có 1024 mục tương ứng với 4Kbyte trang

Can use one page directory for all processes, one per process or mixture Có thể sử dụng một thư mục trang cho tất cả các quy trình, mỗi quá trình hoặc hỗn hợp

Page directory for current process always in memory Trang thư mục cho quá trình hiện luôn trong bộ nhớ

72

Page 73: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Use TLB holding 32 page table entries Kinh thánh chép trong sử dụng đang nắm giữ 32 mục bảng trang

o Two page sizes available 4k or 4M Hai kích thước trang có sẵn 4k hoặc 4M

ARM Memory System Overview ARM Tổng quan Hệ thống nhớ

Virtual memory translation Dịch thuật bộ nhớ ảo o One or two levels of tables Một hoặc hai cấp độ của bảng

Translation lookaside buffer (TLB) Lookaside dịch đệm (TLB)

o Cache of recent entries Cache các mục gần đây

o If available, TLB directly sends physical address to main memory Nếu có, TLB gửi trực tiếp địa chỉ vật lý cho bộ nhớ chính

Data exchanged between processor and main memory via cache Trao đổi dữ liệu giữa bộ xử lý và bộ nhớ chính thông qua bộ nhớ cache

Logical cache organization Tổ chức hợp lý bộ nhớ cache

o On cache miss, ARM supplies address directly to cache as well as TLB Ngày cache nhớ, vật tư, ARM địa chỉ trực tiếp đến bộ nhớ cache cũng như TLB

Physical cache organization Vật lý tổ chức bộ nhớ cache

o TLB must supply physical address to cache TLB phải cung cấp địa chỉ vật lý cho bộ nhớ cache

Access control bits also in translation tables Kiểm soát truy cập bit cũng trong bảng dịch

Virtual Memory Address Translation Virtual Memory Address Translation

Memory access based on either sections or pages Bộ nhớ truy cập dựa trên một trong hai phần hoặc các trang

Supersections (optional) Supersections (tùy chọn)

o 16-MB blocks of main memory 16-MB khối của bộ nhớ chính

Sections Phòng

o 1-MB blocks of main memory 1-MB khối của bộ nhớ chính

Large pages Lớn các trang

o 64-KB blocks of main memory 64-KB khối của bộ nhớ chính

Small pages Nhỏ trang

o 4-KB blocks of main memory 4-KB khối của bộ nhớ chính

73

Page 74: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Sections and supersections allow mapping of large region of memory with single TLB entry Phòng và supersections cho phép lập bản đồ của khu vực lớn của bộ nhớ với mục Kinh thánh chép trong đơn

Additional access control mechanisms Bổ sung các cơ chế kiểm soát truy cập

o Small pages use 1KB subpages trang nhỏ sử dụng các trang con 1KB

o Large pages use 16KB subpages trang lớn sử dụng các trang con 16KB

Two level translation table held in main memory Hai cấp bảng dịch được tổ chức trong bộ nhớ chính

o First-level table holds section and supersection translations, and pointers to second-level tables Cấp đầu tiên bảng giữ phần và supersection bản dịch, và con trỏ để cấp bảng thứ hai

o Second-level tables: Hold both large and small page translations Cấp bảng thứ hai: Giữ cả lớn và nhỏ, bản dịch trang

o Translates virtual to physical addresses Dịch địa chỉ vật lý ảo

Derives and checks access permission Nguồn gốc và kiểm tra sự cho phép truy cập

o After TLB miss Sau khi bỏ lỡ TLB Start with first-level fetch Bắt đầu với cấp đầu tiên lấy

o Section-mapped access only requires first-level fetch Mục-ánh xạ truy cập chỉ cần lấy đầu tiên cấp

o Page-mapped access requires second-level fetch Trang-ánh xạ truy cập yêu cầu cấp thứ hai lấy

ARM Virtual Memory Address Translation for Small Pages - Diagram ARM Virtual Memory Address Translation cho trang nhỏ - Biểu đồ

ARM Virtual Memory Address Translation for Small Pages ARM Virtual Memory Address Translation cho trang nhỏ

Single L1 page table Single L1 bảng trang o 4K 32-bit entries 4K 32-bit mục

o Each L1 entry points to L2 page table Mỗi điểm L1 nhập cảnh vào bảng trang L2

Each L2 page table Mỗi bảng trang L2

o 255 32-bit entries 255 32-bit mục

o Each L2 entry points to 4-KB page in main memory Mỗi điểm L2 nhập cảnh đến 4 trang-KB trong bộ nhớ chính

74

Page 75: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

32-bit virtual address 32-bit địa chỉ ảo

Most significant 12 bits index L1 page table Hầu hết ý nghĩa 12 bit chỉ số L1 bảng trang

Next 8 bits index relevant L2 page table Tiếp theo 8 bit chỉ số liên quan L2 bảng trang

o Least significant 12 bits index a byte in relevant main memory page Ít nhất là đáng kể 12 bit chỉ số một byte trong bộ nhớ chính trang có liên quan

Similar procedure for large pages Tương tự như thủ tục cho các trang web lớn

Sections and supersection only use L1 page table Phòng và supersection chỉ sử dụng bảng trang L1 Memory Bộ nhớ Management Quản lý Formats Các định dạng

ARM Memory-Management Parameters ARM-Quản lý bộ nhớ thông số

Access Permission (AP), Access Permission Extension (APX) Giấy phép truy cập (AP), truy cập phép mở rộng (APX)

o Control access to corresponding memory region Kiểm soát truy cập vào khu vực bộ nhớ tương ứng

o Access without required permissions raises Permission Fault Access mà không cần quyền yêu cầu đặt ra phép Fault

Bufferable (B) bit Bufferable (B) bit

o With TEX bits, how write buffer is used Với bit TEX, cách viết được sử dụng đệm

Cacheable (C) bit Cacheable (C) bit

Can memory region be mapped through cache? Vùng bộ nhớ có thể được ánh xạ qua bộ nhớ cache?

Domain Domain

o Collection of memory regions Bộ sưu tập của các vùng bộ nhớ

o Access control can be applied on the basis of domain Kiểm soát truy cập có thể được áp dụng trên cơ sở của miền

not Global (nG) không toàn cầu (NG)

o Translation marked as global (0), or process specific (1)? Dịch đánh dấu là toàn cầu (0), hoặc quy trình cụ thể (1)?

Shared (S) Chia sẻ (S)

o Translation is for not-shared (0), or shared (1) memory? Dịch là không chia sẻ (0), hoặc chia sẻ (1) bộ nhớ?

75

Page 76: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

SBZ SBZ

o Should be zero Nếu được số không

Type Extension (TEX) Loại mở rộng (TEX)

o Together with B and C bits, control accesses to caches Cùng với B và C bit, kiểm soát truy cập đến cache

o How write buffer is used Làm thế nào viết được sử dụng đệm

o If memory region is shareable Nếu khu vực có thể chia sẻ bộ nhớ

Must be kept coherent Phải được giữ chặt chẽ

Execute Never (XN) Không bao giờ thực hiện (XN)

o Region is executable (0) or not executable (1)? Khu vực được thực thi (0) hay không thực thi (1)?

Memory Management Formats – L1 table Quản lý bộ nhớ định dạng - L1 bảng

o Entry describes how associated 1-MB virtual address range is mapped Entry mô tả cách kết hợp 1-MB dải địa chỉ được ánh xạ ảo

Bits [1:0] = 00 Bit [1:00] = 00

o Virtual addresses unmapped Địa chỉ ảo unmapped

o Attempts to access generate translation fault Thử truy cập tạo ra do lỗi dịch thuật

Bits [1:0] = 01 Bit [1:00] = 01

o Physical address of L2 page table which specifies how associated virtual address range is mapped Vật lý địa chỉ của bảng trang L2 mà xác định làm thế nào liên quan đến nhiều địa chỉ ảo được ánh xạ

Bits [1:0] = 01 and bit 19 = 0 Bit [1:00] = 01 và 19 bit = 0

o Section descriptorBits [1:0] = 01 and bit 19 = 1 Mục descriptorBits [1:00] = 01 và 19 bit = 1

o Supersection descriptor Supersection mô tả

Entries with bits [1:0] = 11 Entries với bit [1:00] = 11

o Reserved Dành riêng Small and Large Pages Các trang nhỏ và lớn

For memory structured into pages Đối với bộ nhớ có cấu trúc vào các trang

L1 page entry bits [31:10] point to a L2 page table L1 bit mục trang [31:10] trỏ đến một bảng trang L2

Small pages Nhỏ trang 76

Page 77: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o L2 entry holds 20-bit pointer to base address of 4-KB page in main memory L2 mục nắm giữ 20-bit con trỏ đến địa chỉ cơ bản của 4 trang-KB trong bộ nhớ chính

Large pages Lớn các trang

o Virtual address includes 12-bit index to L1 table and an 8-bit index to L2 table Địa chỉ ảo bao gồm 12-bit chỉ số để L1 bảng và 8-bit một chỉ số để bàn L2

o 64-KB large pages have 16 bit page index portion 64-KB trang lớn có 16 trang phần chỉ số bit

o Four-bit overlap between page index field and L2 table index field Four-bit chồng chéo giữa các trường chỉ số trang và chỉ số bảng L2 trường

o Page table entries in L2 page table replicated 16 times bảng mục Trang trong bảng trang L2 nhân rộng 16 lần

o L2 page table reduced from 256 entries to 16 if all refer to large pages L2 trang bảng giảm từ 256 mục đến 16 nếu tất cả tham khảo các trang lớn

o L2 page can service mixed large and small pages L2 trang có thể dịch vụ lớn và nhỏ trang hỗn hợp

Sections and Supersections Phòng và Supersections

Sections or supersections Phần hoặc supersections o One-level page table access Một cấp truy cập bảng trang

Sections Phòng

o L1 entry Bits [31:20] hold 12-bit pointer to 1-MB section Bit mục L1 [31:20] giữ 12-bit con trỏ đến 1-MB phần

For supersections Đối với supersections

o L1 bits [31:24] hold 8-bit pointer to base of the 16-MB section L1 bit [31:24] giữ 8-bit con trỏ đến cơ sở của các-MB phần 16

Page table entry replication is required Trang mục bản sao bảng là bắt buộc

o Supersections L1 table index portion of virtual address overlaps 4 bits with supersection index portion of virtual address Supersections L1 bảng chỉ số phần của địa chỉ ảo chồng chéo 4 bit với phần chỉ số của địa chỉ ảo supersection

o 16 identical L1 page table entries 16 giống hệt trang L1 bảng mục

Physical address space can be expanded by up to eight additional address bits Vật lý không gian địa chỉ có thể được mở rộng lên đến tám bit thêm địa chỉ

o Bits [23:20] and [8:5] Bit [23:20] và [8:05]

77

Page 78: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Implementation dependent Thực hiện phụ thuộc

o Interpreted as extending physical memory by up to 2 8 = 256 Hiểu như là mở rộng bộ nhớ vật lý lên đến 2 8 = 256

o Physical memory may be up to 256 times memory space available to each individual process Vật lý bộ nhớ có thể lên đến 256 lần nhớ không gian có sẵn cho mỗi quá trình cá nhân

Region of memory can be designated as no access, read only, or read/write Khu vực của bộ nhớ có thể được chỉ định là truy cập không, chỉ đọc, hoặc đọc / ghi

Region can be designated privileged access (operating Systems) only Khu vực có thể được chỉ định quyền truy cập (hoạt động hệ thống) chỉ

Domain Domain

o Collection of sections and/or pages with particular access permissions Bộ sưu tập các bộ phận và / hoặc các trang có quyền truy cập cụ thể

o 16 16

o Multiple processes can use same translation tables while maintaining some protection from each other Nhiều quá trình có thể sử dụng cùng một bản dịch bảng trong khi duy trì một số bảo vệ lẫn nhau

o Page table entry and TLB entry contain domain field Trang bảng nhập cảnh, nhập cảnh TLB chứa trường miền

o Two-bit field in the Domain Access Control Register controls access to each domain Hai-bit trong lĩnh vực kiểm soát truy cập tên miền đăng ký kiểm soát truy cập đến từng lĩnh vực

o Whole memory areas can be swapped very efficiently Toàn bộ các khu vực bộ nhớ có thể được trao đổi rất hiệu quả

Clients Khách hàng

o Must observe permissions of individual sections and/or pages in domain Phải thực hiện quyền của các phần riêng biệt và / hoặc các trang trong tên miền

Managers Quản lý

o Control domain behavior Kiểm soát hành vi của miền

Sections and pages in domain access Mục và các trang trong việc tiếp cận miền

Bypass access permissions for table entries in domain Bỏ qua quyền truy cập cho các mục bảng trong miền

Programs can be Chương trình có thể được

78

Page 79: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Client of some domains Khách hàng của một số lĩnh vực

o Manager of other domains Quản lý các lĩnh vực khác

o No access to remaining domains Không có quyền truy cập vào lĩnh vực còn lại

Required Reading Bắt buộc đọc

Stallings chapter 8 Stallings chương 8 Stallings, W. [2004] Operating Systems , Pearson Stallings, W. [2004] Hệ điều hành,

Pearson

Loads of Web sites on Operating Systems Tải của những trang web trên hệ điều hành

Chương 9:

Computer Arithmetic Số học máy tính

Arithmetic & Logic Unit Đơn vị số học và logic

Does the calculations Liệu những tính toán Everything else in the computer is there to service this unit Mọi thứ khác trong máy tính

đang có để phục vụ đơn vị này

Handles integers Xử lý các số nguyên

May handle floating point (real) numbers Có thể xử lý nổi điểm (thực tế) số

May be separate FPU (maths co-processor) Có thể tách biệt FPU (toán đồng bộ xử lý)

May be on chip separate FPU (486DX +) Có thể được trên FPU riêng biệt chip (486DX +)

ALU Inputs and Outputs ALU đầu vào và đầu ra

Integer Representation Số nguyên đại diện

Only have 0 & 1 to represent everything Chỉ có 0 và 1 để đại diện cho tất cả mọi thứ

Positive numbers stored in binary Tích cực lưu trữ số trong hệ nhị phân o eg 41=00101001 ví dụ: 41 = 00101001

No minus sign Không có dấu trừ

No period Không có thời gian

Sign-Magnitude Đăng Magnitude

Two's compliment Hai là lời khen

79

Page 80: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Sign-Magnitude Đăng Magnitude

Left most bit is sign bit Còn lại hầu hết các bit được đăng bit 0 means positive 0 có nghĩa là tích cực

1 means negative 1 có nghĩa là phủ định

+18 = 00010010 +18 = 00010010

-18 = 10010010 -18 = 10010010

Problems Vấn đề

o Need to consider both sign and magnitude in arithmetic Cần phải xem xét cả hai dấu hiệu và độ lớn trong số học

o Two representations of zero (+0 and -0) Hai đại diện của số không (+0 và -0)

Two's Compliment Hai là khen

+3 = 00000011 +3 = 00000011 +2 = 00000010 +2 = 00000010

+1 = 00000001 +1 = 00000001

+0 = 00000000 +0 = 00000000

-1 = 11111111 -1 = 11111111

-2 = 11111110 -2 = 11111110

-3 = 11111101 -3 = 11111101

Benefits Lợi ích

One representation of zero Một đại diện của zero Arithmetic works easily (see later) Công trình số học một cách dễ dàng (xem sau)

Negating is fairly easy Phủ định là khá dễ dàng

o 3 = 00000011 3 = 00000011

o Boolean complement gives 11111100 Boolean bổ sung cho 11111100

o Add 1 to LSB 11111101 Thêm 1 tới LSB 11111101

Geometric Depiction of Twos Complement Integers Hình học mô tả của twos Bổ sung số nguyên

Negation Special Case 1 Phủ định đặc biệt Trường hợp 1

0 = 00000000 0 = 00000000 80

Page 81: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Bitwise not 11111111 Bitwise không 11111111

Add 1 to LSB +1 Thêm 1 tới LSB 1

Result 1 00000000 Kết quả 1 00000000

Overflow is ignored, so: Tràn được bỏ qua, vì vậy:

- 0 = 0 - 0 = 0

Negation Special Case 2 Phủ định đặc biệt Trường hợp 2

-128 = 10000000 -128 = 10000000 bitwise not 01111111 phép toán không 01111111

Add 1 to LSB +1 Thêm 1 tới LSB 1

Result 10000000 Kết quả 10000000

So: Vì vậy:

-(-128) = -128 X - (-128) = -128 X

Monitor MSB (sign bit) Màn hình MSB (ký bit)

It should change during negation Nó sẽ thay đổi trong quá trình phủ định

Range of Numbers Phạm vi của những con số

8 bit 2s compliment 8 bit khen 2s o +127 = 01111111 = 2 7 -1 +127 = 01111111 = 2 7 -1

o -128 = 10000000 = -2 7 -128 = 10000000 = -2 7

16 bit 2s compliment 16 2s bit khen

o +32767 = 011111111 11111111 = 2 15 - 1 32767 = 011111111 11111111 = Ngày 15-ngày 1 tháng 2

o -32768 = 100000000 00000000 = -2 15 -32768 = 100000000 00000000 = -2 15

Conversion Between Lengths Chuyển đổi giữa chiều dài

Positive number pack with leading zeros Tích cực đóng gói số lượng bằng số không hàng đầu

+18 = 00010010 +18 = 00010010

+18 = 00000000 00010010 +18 = 00000000 00010010

Negative numbers pack with leading ones Các số âm gói với những người hàng đầu

-18 = 10010010 -18 = 10010010

81

Page 82: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

-18 = 11111111 10010010 -18 = 11111111 10010010

ie pack with MSB (sign bit) tức là gói với MSB (ký bit)

Addition and Subtraction Cộng và Trừ

Normal binary addition Ngoài ra bình thường nhị phân Monitor sign bit for overflow Màn hình đăng bit cho tràn

Take twos compliment of substahend and add to minuend Hãy twos khen của substahend và thêm vào số để trừ

o ie a - b = a + (-b) tức là a - b = a + (-b)

So we only need addition and complement circuits Vì vậy, chúng ta chỉ cần bổ sung thêm và mạch

Hardware for Addition and Subtraction Phần cứng cho cộng và trừ

Multiplication Phép nhân

Complex Phức tạp Work out partial product for each digit Làm việc trong một phần sản phẩm cho mỗi chữ

số

Take care with place value (column) Hãy cẩn thận với cột) đặt giá trị (

Add partial products Thêm một phần sản phẩm

Multiplication Example Ví dụ nhân

1011 Multiplicand (11 dec) Số bị nhơn 1011 (11 tháng 12) x 1101 Multiplier (13 dec) x 1101 Multiplier (ngày 13 tháng 12)

1011 Partial products 1011 một phần sản phẩm

0000 Note: if multiplier bit is 1 copy 0000 Lưu ý: nếu hệ số bit là 1 bản sao

1011 multiplicand (place value) 1011 số bị nhơn (đặt giá trị)

1011 otherwise zero 1011 nếu không thì không

10001111 Product (143 dec) 10001111 Sản phẩm (143 Tháng Mười Hai)

Note: need double length result Lưu ý: cần có chiều dài gấp đôi kết quả

Unsigned Binary Multiplication Unsigned phép nhân nhị phân

Execution of Example Ví dụ thực hiện

82

Page 83: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Flowchart for Unsigned Binary Multiplication Lưu đồ cho phép nhân nhị phân Unsigned

Multiplying Negative Numbers Nhân con số âm

This does not work! Điều này không làm việc! Solution 1 Giải pháp 1

o Convert to positive if required Chuyển đổi sang tích cực nếu có yêu cầu

o Multiply as above Multiply như trên

o If signs were different, negate answer Nếu có dấu hiệu bị khác nhau, câu trả lời phủ nhận

Solution 2 Giải pháp 2

o Booth's algorithm Gian hàng của thuật toán

Booth's Algorithm Thuật toán của gian hàng

Example of Booth's Algorithm Ví dụ về thuật toán của Booth

Division Phòng

More complex than multiplication Phức tạp hơn nhân Negative numbers are really bad! Số âm là thực sự tồi tệ!

Based on long division Dựa trên phân chia dài

Division of Unsigned Binary Integers Phòng nhị phân số nguyên Unsigned

1011 1011 Quotient Sự chia được Dividend Cổ tức Remainder Phần còn lại

Partial Một phần Remainders Dư Divisor Số chia

Flowchart for Unsigned Binary Division Lưu đồ cho Phòng Binary Unsigned

Real Numbers Bất số

Numbers with fractions Số với các phần phân đoạn Could be done in pure binary Có thể được thực hiện trong tinh khiết nhị phân

o 1001.1010 = 2 4 + 2 0 +2 -1 + 2 -3 =9.625 1001.1010 = 2 4 + 2 0 2 -1 + 2 -3 = 9,625

Where is the binary point? Trường hợp là điểm nhị phân?

Fixed? Cố định?

o Very limited Rất hạn chế

83

Page 84: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Moving? Di chuyển?

o How do you show where it is? Làm thế nào để bạn thấy nó ở đâu?

Floating Point Điểm nổi

+/- .significand x 2 exponent + / - Số mũ. Significand x 2 Misnomer Sự lộn tên

Point is actually fixed between sign bit and body of mantissa Điểm là thực sự cố định giữa các bit dấu và cơ thể của phần định trị

Exponent indicates place value (point position) Số mũ cho thấy giá trị vị trí (điểm vị trí)

Floating Point Examples Ví dụ dấu chấm động

Signs for Floating Point Dấu hiệu cho các điểm nổi

Mantissa is stored in 2s compliment Phần định trị được lưu trữ trong 2s khen Exponent is in excess or biased notation Số mũ là trong hay thiên vị ký hiệu dư thừa

o eg Excess (bias) 128 means ví dụ như dư (thiên vị) 128 phương tiện

o 8 bit exponent field 8 bit số mũ trường

o Pure value range 0-255 Cơ bản có giá trị khoảng 0-255

o Subtract 128 to get correct value Trừ 128 để có được giá trị đúng

o Range -128 to +127 Phạm vi -128 đến +127

Normalization Bình thường

FP numbers are usually normalized FP số thường được bình thường hóa ie exponent is adjusted so that leading bit (MSB) of mantissa is 1 số mũ tức được điều

chỉnh để dẫn bit (MSB) của phần định trị là 1

Since it is always 1 there is no need to store it Kể từ khi nó luôn luôn là 1 không có cần phải lưu trữ nó

(cf Scientific notation where numbers are normalized to give a single digit before the decimal point (Cf khoa học ký hiệu mà con số này là bình thường để cho một con số duy nhất trước khi các điểm thập phân

eg 3.123 x 10 3 ) ví dụ như 3,123 x 10 3)

For a 32 bit number Đối với một số 32 bit

o 8 bit exponent 8 bit số mũ

o +/- 2 256 1.5 x 10 77 + / - 2 256 1,5 x 10 77

84

Page 85: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Accuracy Độ chính xác

o The effect of changing lsb of mantissa Hiệu quả của LSB thay đổi của phần định trị

o 23 bit mantissa 2 -23 1.2 x 10 -7 23 bit phần định trị 2 -23 1.2 x 10 -7

o About 6 decimal places Khoảng 6 chữ số thập phân

Expressible Numbers Có thể biểu diễn số

Density of Floating Point Numbers Mật độ nổi số điểm

Standard for floating point storage Tiêu chuẩn cho điểm lưu trữ nổi 32 and 64 bit standards 32 và 64 bit tiêu chuẩn

8 and 11 bit exponent respectively 8 và 11 bit số mũ tương ứng

Extended formats (both mantissa and exponent) for intermediate results Mở rộng các định dạng (cả phần định trị và số mũ) cho kết quả trung gian

Check for zeros Kiểm tra số không

Align significands (adjusting exponents) Căn significands (điều chỉnh số mũ)

Add or subtract significands Thêm hoặc trừ đi significands

Normalize result Kết quả bình thường hóa

FP Addition & Subtraction Flowchart FP bổ sung & Lưu đồ Trừ

FP Arithmetic x/ FP số học x /

Check for zero Kiểm tra số không Add/subtract exponents Thêm / bớt số mũ

Multiply/divide significands (watch sign) Nhân / chia significands (xem ký)

Normalize Bình thường hóa

Round Vòng

All intermediate results should be in double length storage Tất cả các kết quả trung gian phải ở trong lưu trữ chiều dài gấp đôi

Floating Point Multiplication Điểm nổi phép nhân

Floating Point Division Điểm nổi Phòng

Required Reading Bắt buộc đọc

85

Page 86: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Chương 10:Instruction Sets: Bộ hướng dẫn:

Characteristics and Functions Các đặc điểm và chức năng

What is an Instruction Set? Thế nào là một tập lệnh?

The complete collection of instructions that are understood by a CPU Các bộ sưu tập đầy đủ các hướng dẫn mà được hiểu bởi CPU

Machine Code Mã số máy

Binary Binary

Usually represented by assembly codes Thông thường đại diện bởi các mã lắp ráp

Elements of an Instruction Các yếu tố của một Hướng dẫn

Operation code (Op code) Hoạt động mã (Op code) o Do this Làm điều này

Source Operand reference Toán hạng nguồn tham khảo

o To this Để này

Result Operand reference Kết quả Toán hạng tham khảo

o Put the answer here Đặt câu trả lời ở đây

Next Instruction Reference Tiếp theo Hướng dẫn tham khảo

o When you have done that, do this... Khi bạn đã làm điều đó, làm được điều này ...

Where have all the Operands Gone? Trường hợp có tất cả các Phép toán Gone?

Long time passing …. Long thời gian qua .... (If you don 't understand, you're too young!) (Nếu bạn don 't hiểu, bạn còn quá trẻ!)

Main memory (or virtual memory or cache) Bộ nhớ chính (hoặc bộ nhớ ảo hoặc bộ nhớ cache)

CPU register CPU đăng ký

I/O device I / O thiết bị

Instruction Cycle State Diagram Sơ đồ hướng dẫn chu Nhà nước

Instruction Representation Chỉ dẫn đại diện

86

Page 87: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

In machine code each instruction has a unique bit pattern Trong đoạn mã lệnh máy đều có một mẫu bit đặc biệt

For human consumption (well, programmers anyway) a symbolic representation is used Đối với tiêu dùng của con người (tốt, lập trình anyway) là một đại diện tượng trưng được sử dụng

o eg ADD, SUB, LOAD ví dụ như ADD, SUB, LOAD

Operands can also be represented in this way Toán hạng cũng có thể được biểu diễn theo cách này

o ADD A,B ADD A, B

Simple Instruction Format Chỉ đơn giản Định dạng

Instruction Types Chỉ thị loại

Data processing Xử lý dữ liệu Data storage (main memory) Dữ liệu lưu trữ (bộ nhớ chính)

Data movement (I/O) Dữ liệu chuyển động (I / O)

Program flow control Chương trình kiểm soát dòng chảy

Number of Addresses (a) Số địa chỉ (a)

o Operand 1, Operand 2, Result 1 toán hạng, toán hạng 2, kết quả o May be a forth - next instruction (usually implicit) Có thể là một định - hướng dẫn

tiếp theo (thường là ngầm)

o Not common Không phổ biến

o Needs very long words to hold everything Nhu cầu từ rất lâu để giữ tất cả mọi thứ

Number of Addresses (b) Số địa chỉ (b)

2 addresses 2 địa chỉ o One address doubles as operand and result Một địa chỉ gấp đôi như toán hạng

và kết quả

o a = a + b a = a + b

o Reduces length of instruction Làm giảm chiều dài của hướng dẫn

o Requires some extra work Yêu cầu thêm một số công việc

Temporary storage to hold some results Lưu trữ tạm thời nắm giữ một số kết quả

1 address 1 địa chỉ

87

Page 88: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

o Implicit second address Ẩn địa chỉ thứ hai

o Usually a register (accumulator) Thông thường một đăng ký (ắc)

o Common on early machines Thường gặp trên các máy đầu

Number of Addresses (d) Số địa chỉ (d)

0 (zero) addresses 0 (không) địa chỉ o All addresses implicit Tất cả các địa chỉ tiềm ẩn

o Uses a stack Sử dụng một chồng

o eg push a ví dụ như đẩy một

o How Many Addresses Làm thế nào Nhiều địa chỉ

More addresses Thêm địa chỉ

o More complex (powerful?) instructions Phức tạp hơn (mạnh?) Hướng dẫn

o More registers Thêm đăng ký

Inter-register operations are quicker Inter-đăng ký hoạt động được nhanh hơn

o Fewer instructions per program Ít hướng dẫn cho mỗi chương trình

Fewer addresses Ít địa chỉ

o Less complex (powerful?) instructions Ít phức tạp (mạnh?) Hướng dẫn

o More instructions per program Thêm hướng dẫn cho mỗi chương trình

o Faster fetch/execution of instructions Lấy nhanh hơn / thực hiện các hướng dẫn

Design Decisions (1) Thiết kế các quyết định (1)

Operation repertoire Hoạt động kho tàng o How many ops? Có bao nhiêu ops?

o What can they do? Những gì họ có thể làm gì?

o How complex are they? Làm thế nào phức tạp được họ?

Data types Các kiểu dữ liệu

Instruction formats Hướng dẫn định dạng

o Length of op code field Chiều dài của trường mã op

o Number of addresses Số địa chỉ

88

Page 89: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Design Decisions (2) Thiết kế các quyết định (2)

Registers Đăng ký o Number of CPU registers available Số đăng ký có sẵn CPU

o Which operations can be performed on which registers? Những hoạt động có thể được thực hiện trên mà đăng ký?

Addressing modes (later …) Giải quyết chế độ (sau này ...)

Types of Operand Các loại toán hạng

Addresses Địa chỉ Numbers Số

o Integer/floating point Integer / nổi điểm

Characters Nhân vật

o ASCII etc. ASCII vv

Logical Data Hợp lý dữ liệu

o Bits or flags Bit, cờ

(Aside: Is there any difference between numbers and characters? Ask a C programmer!) (Ngoài: Có sự khác biệt giữa số và ký tự? Hỏi C là một lập trình)

x86 Data Types Các loại dữ liệu x86

8 bit Byte Byte 8 bit 16 bit word 16 bit từ

32 bit double word Tăng gấp đôi từ 32 bit

64 bit quad word 64 bit từ quad

128 bit double quadword 128 bit đôi quadword

Addressing is by 8 bit unit Giải quyết được của 8 đơn vị bit

Words do not need to align at even-numbered address Từ ngữ không cần phải sắp xếp tại địa chỉ số chẵn

Data accessed across 32 bit bus in units of double word read at addresses divisible by 4 Dữ liệu được truy cập qua 32 bit trong các đơn vị xe buýt của từ kép đọc tại địa chỉ chia hết cho 4

Little endian Little về cuối

SMID Data Types Các loại dữ liệu SMID

89

Page 90: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Integer types Integer loại o Interpreted as bit field or integer Hiểu là trường bit hoặc số nguyên

Packed byte and packed byte integer Đóng gói byte và byte số nguyên đóng gói o Bytes packed into 64-bit quadword or 128-bit double quadword Bytes đóng gói

thành 64-bit quadword hoặc 128-bit quadword gấp đôi

Packed word and packed word integer Đóng gói từ và nguyên từ đóng gói

o 16-bit words packed into 64-bit quadword or 128-bit double quadword 16-bit từ đóng gói thành 64-bit quadword hoặc 128-bit quadword gấp đôi

Packed doubleword and packed doubleword integer Đóng gói doubleword và doubleword số nguyên đóng gói

o 32-bit doublewords packed into 64-bit quadword or 128-bit double quadword 32-bit doublewords đóng gói thành 64-bit quadword hoặc 128-bit quadword gấp đôi

Packed quadword and packed qaudword integer Đóng gói quadword và qaudword số nguyên đóng gói

o Two 64-bit quadwords packed into 128-bit double quadword Hai 64-bit quadwords đóng gói vào bit đôi quadword-128

Packed single-precision floating-point and packed double-precision floating-point Đóng gói duy nhất chính xác dấu chấm động và đóng gói gấp đôi độ chính xác dấu chấm động

o Four 32-bit floating-point or two 64-bit floating-point values packed into a 128-bit double quadword Bốn 32-bit floating-point hoặc hai 64-bit dấu chấm động giá trị đóng gói vào một chút đôi quadword-128

x86 Numeric Data Formats Số liệu định dạng x86

ARM Data Types ARM Các loại dữ liệu

8 (byte), 16 (halfword), 32 (word) bits 8 (byte), 16 (nửa vòng trái đất), 32 (từ) bit Halfword and word accesses should be word aligned Nửa vòng trái đất và từ truy cập

được từ liên kết

Nonaligned access alternatives Không liên kết truy cập lựa chọn thay thế

o Default Mặc định

Treated as truncated Xử lý như bị cắt ngắn

Bits[1:0] treated as zero for word Bit [1:00] coi như bằng không cho từ

Bit[0] treated as zero for halfword Bit [0] được coi là số không cho nửa vòng trái đất

90

Page 91: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Load single word instructions rotate right word aligned data transferred by non word-aligned address one, two or three bytesAlignment checking Tải hướng dẫn từ đơn xoay liên kết từ các dữ liệu chuyển giao quyền từ địa chỉ không canh một, hai hoặc ba bytesAlignment kiểm tra

o Data abort signal indicates alignment fault for attempting unaligned access Dữ liệu cho thấy tín hiệu lỗi hủy bỏ sự liên kết cho các cố gắng truy cập unaligned

o Unaligned access Unaligned truy cập

o Processor uses one or more memory accesses to generate transfer of adjacent bytes transparently to the programmer Bộ vi xử lý sử dụng một hoặc nhiều truy cập bộ nhớ để tạo ra chuyển byte liền kề minh bạch để các lập trình viên

Unsigned integer interpretation supported for all types Số nguyên không dấu giải thích được hỗ trợ cho tất cả các loại

Twos-complement signed integer interpretation supported for all types Twos-sung đã ký giải thích nguyên hỗ trợ cho tất cả các loại

Majority of implementations do not provide floating-point hardware Phần lớn các hiện thực không cung cấp phần cứng điểm nổi

o Saves power and area Tiết kiệm năng lượng và khu vực

o Floating-point arithmetic implemented in software Số học dấu chấm động thực hiện trong phần mềm

o Optional floating-point coprocessor Tùy chọn điểm nổi coprocessor

o Single- and double-precision IEEE 754 floating point data types Single-và độ chính xác gấp đôi IEEE 754 điểm trôi kiểu dữ liệu

ARM Endian Support ARM Endian Hỗ trợ

E-bit in system control register E-bit trong kiểm soát hệ thống đăng ký Under program control Theo chương trình kiểm soát

Types of Operation Các loại hình hoạt động

Data Transfer Truyền dữ liệu Arithmetic Số học

Logical Hợp lý

Conversion Chuyển đổi

System Control Hệ thống kiểm soát

Transfer of Control Chuyển Control

Data Transfer Truyền dữ liệu 91

Page 92: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Specify Chỉ định o Source Nguồn

o Destination Điểm đến

o Amount of data Số lượng dữ liệu

May be different instructions for different movements Có thể hướng dẫn khác nhau cho các phong trào khác nhau

o eg IBM 370 ví dụ như IBM 370

Or one instruction and different addresses Hoặc một kèm một và địa chỉ khác nhau

o eg VAX ví dụ như VAX

Arithmetic Số học

Add, Subtract, Multiply, Divide Thêm, trừ, Nhân, chia Signed Integer Ký Integer

Floating point ? Điểm nổi?

May include Có thể bao gồm

o Increment (a++) Tăng (a + +)

o Decrement (a--) Lượng giảm (a -)

o Negate (-a) Phủ nhận (-a)

Shift and Rotate Operations Shift và xoay hoạt động

Logical Hợp lý

Bitwise operations Bitwise hoạt động AND, OR, NOT AND, OR, NOT

Conversion Chuyển đổi

Eg Binary to Decimal Ví dụ như vào thập nhị phân

May be specific instructions Có thể được hướng dẫn cụ thể

May be done using data movement instructions (memory mapped) Có thể được thực hiện bằng cách sử dụng hướng dẫn chuyển dữ liệu (bộ nhớ ánh xạ)

May be done by a separate controller (DMA) Có thể được thực hiện bởi một bộ điều khiển riêng biệt (DMA)

Systems Control Hệ thống kiểm soát

92

Page 93: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

Privileged instructions Đặc quyền hướng dẫn CPU needs to be in specific state CPU cần phải ở trạng thái cụ thể

o Ring 0 on 80386+ Ring 0 trên 80.386 +

o Kernel mode Hình thức hạt nhân

For operating systems use Đối với hệ điều hành sử dụng

Transfer of Control Chuyển Control

Branch Chi nhánh o eg branch to x if result is zero ví dụ như ngành để x nếu kết quả là số không

Skip Bỏ qua

o eg increment and skip if zero ví dụ như tăng và bỏ qua nếu không

o ISZ Register1 ISZ Register1

o Branch xxxx Chi nhánh xxxx Subroutine call Gọi chương trình con

o cf interrupt call cf ngắt cuộc gọi

Branch Instruction Chi nhánh Hướng dẫn

Nested Procedure Calls Thủ tục kêu gọi lồng nhau

Use of Stack Sử dụng Stack

Stack Frame Growth Using Sample Procedures P and Q Stack Frame Thủ tục tăng trưởng Sử dụng mẫu P và Q

Exercise For Reader Thể dục cho Reader

Find out about instruction set for Pentium and ARM Tìm hiểu về các hướng dẫn thiết lập cho Pentium và ARM

Start with Stallings Bắt đầu với Stallings

Visit web sites Chơi các trang web (A portion of chips?) (Một phần của con chip?)

What order do we read numbers that occupy more than one byte Để làm được những gì chúng ta đọc số mà chiếm nhiều hơn một byte

eg (numbers in hex to make it easy to read) ví dụ: (số trong hex để làm cho nó dễ đọc)

12345678 can be stored in 4x8bit locations as follows 12345678 có thể được lưu trữ trong các địa điểm như sau 4x8bit

93

Page 94: Bản dịch Cấu Trúc Máy Tính

William Stallings Computer Organization and Architecture8th Edition

ie read top down or bottom up? tức là đọc từ trên xuống hay từ dưới lên?

Byte Order Names Byte Order tên

The problem is called Endian Vấn đề được gọi là Endian The system on the left has the least significant byte in the lowest address Hệ thống bên

trái có ý nghĩa nhất là byte địa chỉ thấp nhất

This is called big-endian Điều này được gọi là lớn về cuối

The system on the right has the least significant byte in the highest address Hệ thống bên phải có ý nghĩa nhất là byte địa chỉ cao nhất

This is called little-endian Điều này được gọi là ít về cuối

Example of C Data Structure Ví dụ về cấu trúc dữ liệu C

Alternative View of Memory Map Thay thế Xem các bản đồ bộ nhớ

Standard…What Standard? Tiêu chuẩn ... chuẩn là gì?

Pentium (x86), VAX are little-endian Pentium (x86), VAX được ít về cuối IBM 370, Moterola 680x0 (Mac), and most RISC are big-endian 370 IBM, Moterola

680x0 (Mac), và nhất RISC là lớn về cuối

Internet is big-endian Internet là lớn về cuối

o Makes writing Internet programs on PC more awkward! Làm cho văn bản chương trình Internet trên máy tính nhiều hơn bất tiện!

o WinSock provides htoi and itoh (Host to Internet & Internet to Host) functions to convert WinSock cung cấp htoi và Itoh (Host với Internet & Internet để Host) chức năng để chuyển đổi

94