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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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ế
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
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
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
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
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ố
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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