PHẦN I: TỔNG QUAN Mục đích - Khái niệm cơ bản của tổ chức và kiến trúc máy tính Chương 1: Giới thiệu cơ sở của máy tính như một hệ thống phân tầng Như một cấu trúc của các thành phần và
Trang 2NỘI DUNG
Phần I: Tổng Quan Phần II: Hệ Thống Máy Tính Phần III: Đơn Vị Xử lí (CPU) Phần IV: Đơn Vị Điều Khiển
Đánh giá kết quả:
- Giữa kì (Thi viết) 30%
- Cuối kì (Thi viết + Trắc nghiệm): 70 %
Trang 3PHẦN I: TỔNG QUAN
Mục đích
- Khái niệm cơ bản của tổ chức và kiến trúc máy tính
Chương 1: Giới thiệu cơ sở của máy tính như một hệ thống phân tầng < > Như một cấu trúc của các thành phần và chức năng
Chương 2:Sự Phát Triển Và Hiệu Xuất
1 GIỚI THIỆU TỔNG QUAN
Trang 4Tổ Chức Và Kiến Trúc Máy Tính 1
Kiến trúc là những thuộc tính hữu hình tới người lập trình hoặc thuộc tính này ảnh hưởng trực tiếp sự thực thi của chương trình về mặt logic
Tập lệnh, số bit miêu tả dữ liệu, cơ chế xuất / nhập, kỹ thuật địa chỉ hóa
Vd:Có lệnh nhân không?
Tổ chức là các đơn vị điều hành và sự nối kết của chúng dựa trên một kiến trúc cụ thể
Tín hiệu điều khiển, giao diện, công nghệ bộ nhớ
Vd: Có một phần cứng đảm trách nhiện vụ nhân hay là thực hiện quá trình cộng liên tiếp?
Tổ Chức Và Kiến Trúc Máy Tính 2
Tất cả họ Intel x86 đều có kiến trúc cơ bản giống nhau.
IBM System/370 đều có kiến trúc cơ bản giống nhau.
Mã lệnh tương thích.
Chí ít tương thích lùi
Tổ chức thì khác biệt giữa các phiên bản.
Một kiến trúc có nhiều tổ chức.
Kiến trúc tồn tại lâu hơn, tổ chức thay đổi theo công nghệ
Trang 5Cấu trúc (Structure) và chức năng (Function)
Cấu trúc là cách mà các thành phần quan hệ với các thành phần khác
Chức năng là thao tác của các thành phần riêng lẽ như một phần của cấu trúc.
Trang 6Sơ Đồ Tổng Quan Chức Năng
Tổng quan chức năng của một máy tính
Data Movement Apparatus
Control Mechanism
Data Storage Facility
Data Processing Facility
Operations (1)
Di chuyển dữ liệu
Vd: Bàn phím tới màn hình
Data Movement Apparatus
Control Mechanism
Data Storage Facility
Data Processing Facility
Trang 7Control Mechanism
Data Storage Facility
Data Processing Facility
Operation (3)
Xử lí lưu trữ vào ra
Vd: Thay đổi dữ liệu ngân hàng.
Data Movement Apparatus
Control Mechanism
Data Storage Facility
Trang 8Control Mechanism
Data Storage Facility
Data Processing Facility
Caáu Truùc – Mức đỉnh
COMPUTER
Main Memory
Input Output
Systems Interconnection
Peripherals
Central Processing Unit
Computer
Trang 9Cấu Trúc - Bộ Xử Lí (CPU)
and Login Unit
Control Unit
Internal CPU Interconnection
CPU
Cấu Trúc – Đơn vị điều khiển (Control Unit)
CPU
Control Unit Registers and
Sequencing Login Control
Unit
ALU
Registers
Internal Bus
Control Unit
Trang 102 Sự Phát Triển Và Hiệu Xuất
Phát triển nhằm vào:
Phát triển tốc độ CPU
Giảm kích thước thành phần
Tăng kích thước bộ nhớ
Tăng tốc độ I/O
Tốc độ phát triển?
Cân bằng hiệu xuất các thành phần?
ENIAC
Thiếtkế bởi Mauchly và Echert Đại Học Pennsylvania
Được xem là máy tính điện tử đầu tiên
» BIG!
18,000 ống điện tử (tubes)
70,000 điện trở (resistors)
10,000 Tụ (capacitors)
6,000 công tắc (switches)
9 x 15 m
140 kW
Trang 11ENIAC
- Sử dụng hệ thập phân
Chương trình điều khiển bằng công tắc.
IAS (Institute for Advanced Studies)
Phát triển khái niêm lưu trữ chương trình trong bộ nhớ
Kiến trúc này được biết như là mô hình “von Neumann”
và được xem là nền tảng cho các máy tính số tốc độ cao ngày nay
Mộ số nét đặc trưng
Trang 12Memory Buffer Register (MBR)
Memory Address Register (MAR)
Instruction Register (IR)
Instruction Buffer Register (IBR)
Program Counter (PC)
Trang 13Main Memory Arithmetic and Logic Unit
Program Control Unit
Input Output Equipment
MBR Arithmetic & Logic Circuits
MQ Accumulator
MAR Control
Thế hệ 2 (1958 - 1964)
Sự biến đổi công nghệ.
Trang 14Thế hệ 3 (1964 - 1974)
Mạch tích hợp (IC :integrated circuit)
Bộ nhớ bán dẫn ( Semiconductor memory)
Microprogramming,pipeling, cache
Multiprogramming and time-shading OS
IBM 360/370, CDC 6600/7600, TI ASC, PDP-8
Thế hệ 4 (1974 -1990)
Công nghệ VLSI (Very Large Scale Integration)
Bộ nhớ bán dẫn (semiconductor memories.)
Xử lí song song : multiprocessors, vector, supercomputers, multicomputers
Hệ điều hành đa xử lí (Multiprocessors OS):Ngôn ngữ ,Trình biên dịch và môi trường
Trang 15Thế hệ 5(1991 - Nay)
Công nghệ mật độ và tốc độ cao.
Công nghệ siêu luồng
Mạng truyền thông,Trí tuệ nhân tạo
Trang 16Luật Moore
Tăng mật độ các thành phần trên chip
Số transistors trên chip gấp đôi mỗi năm
Vào1970 sự phát triển có phần chậm
Gấp đôi mỗi 18 tháng
Giá chip giữ nguyên không đổi
Mật độ đóng gói cao hơn có nghĩa là khỏang cách đường truyền ngắn hơn dẫn tới hiệu xuất cao hơn
Kích thước nhỏ dẫn tới tính mềm dẽo hơn
Yêu cầu giảm bớt năng lượng và làm mát
Sự nối kết một vài tính năng làm tăng độ tin cậy
Sơ Đồ Số Transistor Trong CPU Theo Năm
Trang 17DEC PDP-8
1964
Main Memory I/O
Module I/OModule
Trang 18Intel
1971 - 4004
Microprocessor đầu tiên
Tất cả thành phần CPU trên một chip đơn
Trang 19Không tương xứng
Tốc độ CPU càng tăng
Dung lượng bộ nhớ càng tăng.
Tốc độ bộ nhớ luôn chậm hơn nhiều so với CPU
Nét đặc trưng DRAM và Processor
Trang 20Khuynh hướng sử dụng DRAM
Hướng giải quyết.
Tăng số bit truyền tại một thời điểm->Mở rộng Bus DATA
Cache,Buffer
Sử dụng cache phức hợp và cache on chip
Tốc độ BUS cao hơn
Phân cấp BUS
Trang 21Pentium (1)
8080
first general purpose microprocessor
8 bit data path
Used in first personal computer – Altair
8086
much more powerful
16 bit
instruction cache, prefetch few instructions
8088 (8 bit external bus) used in first IBM PC
Cache and instruction pipelining
Built in maths co-processor
Pentium
Superscalar
Multiple instructions executed in parallel
Pentium Pro
Increased superscalar organization
Aggressive register renaming
Trang 23PHẦN II: HỆ THỐNG MÁY TÍNH
PROCESSOR MEMORY I/O
Trang 24khác nhau, dựa vào việc kiểm tra các tín hiệu điều khiển.
Thay vì thiết lập lại đường dẫn , cung cấp một tập các tín hiệu điều khiển mới.
Trang 25Chức Năng Của Control Unit
VD: ADD, MOVE
các tín hiệu điều khiển.
Chúng ta có một máy tính!!!!!!!!!!!!!!!!!!
Trang 26Các Thành Phần.
Control Unit + Arithmetic + Logic Unit = Central Processing Unit (CPU)
hệ thống và đưa kết quả ra.
Trang 27 Vi xử lí dịch lệnh và thực hiện yêu cầu.
Trang 28 Chiều dài lệnh và dữ liệu: 16bit
Định dạng lệnh: Opcode (4bit) 12bit=4096 byte bộ nhớ
Trang 29Ví dụ (tt)
-Sơ đồ trạng thái.
Trang 30Vd : Lỗi memory parity
Program Flow Control
Trang 31Chu Kì Ngắt Quảng
Biểu thị bởi một tín hiệu ngắt quảng
Trang 32Program Timing Short I/O Wait
Trang 33Long I/O Wait
Instruction Cycle (with Interrupts)
- Sơ Đồ Trạng Thái
Trang 34Đa ngắt quảng.
CPU lờ các ngắt quảng xa hơn nữa trong khi xử lí một ngắt quảng
Những ngắt quảng còn lại chưa giải quyết được kiểm tra sau khi ngắt quảng đầu đã được xử lí
Các ngắt quảng được xử lí theo trình tự như chúng được tìm thấy
Các ngắt quảng có ưu tiên thấp có thể bị ngắt bởi ngắt quảng có quyền ưu tiên cao hơn
Khi ngắt quảng có quyền ưu tiên cao hơn đã được xử lí, CPU trả về ngắt quảng trước đó
Trình Tự Đa Ngắt Quảng.
Trang 35Ngắt Quảng Lồng
Xét ví dụ: printer(2); comminication(5); Disk(4)
Trang 36 Đọc
Ghi
Thời gian
Trang 37 Nhận tín hiệu điều khiển từ máy tính.
Gởi tín hiệu điều khiển tới ngọai vi
Trang 38Nối kết CPU
Đọc lệnh và dữ liệu
Ghi dữ liệu (sau khi xử lí)
Gởi tín hiệu điều khiển tới các đơn vị khác
Nhận (và tác động) các ngắt quảng
đổi dữ liệu trực tiếp tới memory sử dụng DMA
Trang 39nhiều khối với nhau.
Trang 40Data Bus
Không có sự khác biệt giữa “data” và “instruction” tại mức này
8, 16, 32, 64 bit
Address bus
VD: CPU cần đọc một lệnh (data) từ một vị trí bộ nhớ
VD 8080 có 16 bit address bus = 64k không gian địa chỉ
0xxxxxxx: bộ nhớ xxxxxxx
1xxxxxxx: Thiết bị I/O
Trang 41 Tín hiệu điều khiển truyền
Timing: Tín hiệu lực giá trị của thông tin dữ liệu và địa chỉ
Trang 43Vật lí của Kiến trúc BUS
Các vấn đề với Bus đơn
Nhiều thiết bị trên BUS chính:
Chậm trễ sự truyền
Đường dẫn dữ liệu dài có nghĩa là sự kết hợp của bus sử dụng
có thể bất lợi về hiệu xuất
Nếu gộp chung dữ liệu truyền thì đến gần dung lượng Bus
phục các vấn đề trên
Trang 44Architecture)(with cache)
Bus Hiệu xuất cao
Trang 45Đường điều khiển dữ liệu hay địa chỉ hợp lệ
Thuận lợi – Một vài đường
Không thuận lợi
Điều khiển phức tạp hơn
Hiệu xuất sau cùng
VD Điều khiển CPU và DMA
Trang 46 Điều khiển logic trên tất cả đơn vị
Phân chia thiết bị: master slave
Trang 47Định thời
Sắp đặt các sự kiện trên BUS
Đồng bộ (Synchronous)
Xác định sự kiện bởi tín hiệu Clock
Tất cả sự kiện bắt đầu tại lúc bắt đầu của chu kì clock
Trang 48Sự xảy ra của một sự kiện đi theo sau và phụ thuộc sự xảy ra của một sự kiện trước đó
Mềm dẽo hơn đồng bộ nhưng phức tạp hơn
Cung cấp tầm rộng hơn tốc độ thiết bị
VD các BUS tương lai
Bất Đồng Bộ – Sơ Đồ Read
Trang 49Bất Đồng Bộ – So Đo Write
Một số lọai BUS Thông dụng
Trang 50Bao gồm clock và reset
Address & Data
Trang 51Bài Tập
Phân lọai tổng quát của chức năng bởi lệnh
Những lợi ích khi sử dụng kiến trúc đa BUS khi so sánh với kiến trúc đơn BUS
Giả sử có một máy giả theo slide 13 có 2 lệnh I/O
0011: Load AC from I/O
0111: Store AC to I/O
12 bit Address nhận diện 1 thiết bị xuất nhập cụ thể Chỉ ra quá trình thực thi.
Load AC từ Device 5
Add nội dung ô nhớ 940
Store AC tới Device 6
Giả sử Device 5 có giá trị là 3, ô nhớ 940 chứa giá trị 2.
Slide 13 mô tả chương trình 6 bước Mở rộng sử dụng MAR và MBR
Trang 53Word trên internal
Cluster trên disks
Mỗi dữ liệu không có một địa chỉ phân biệt
Phải đọc tất cả mục dữ liệu tuần tự cho đến khi tìm thấy mục dự liệu
Thời gian truy xuất có thể biến đổi được
Thời gian truy xuất phụ thuộc vào vị trí dữ liệu và vị trí hiện tại
VD tape
Địa chỉ theo khối
Trang 54 Mỗi ô nhớ có một địa chỉ vật lí phân biệt
Mỗi ô nhớ có thể truy xuất ngẫu nhiên và tất cả thời gian truy xuất là như nhau
VD RAM
Một sự biến thiên của bộ nhớ truy xuất ngẫu nhiên
Các mục dữ liệu truy xuất trên cơ sở nội dung hơn là vị trí của chúng
Tìm kiếm tất cả dữ liệu theo cơ chế song song
Hiệu quả nhanh khi kích thước bộ nhớ lớn
Giá thành cao gấp 5-10 lần so với bộ nhớ thông thường
VD cache
Bộ nhớ Phân Cấp
Trong CPU
Bao gồm một hay nghiều mức Cache
“RAM”
Trang 55Hiệu Xuất
Thời gian truy xuất (Access time)
Đối với bộ nhớ truy xuất random (RAM) là thời gian xác địnhđịa chỉ và thực hiện việc truyền
Đối với bộ nhớ truy xuất “non-random” là thời gian để vị tríđầu đọc/ghi đặt tại vị trí truy xuất
Là Access time cộng với thời gian được yêu cầu trước khi mộttruy xuất kế được bắt đầu
Trang 57Tổ Chức
Là một dãy ô nhớ tổ chức thành hàng (row) và cột (column)
Mỗi hàng được gọi là một địa chỉ trên IC nhớ
Các cột tượng trưng cho các bit dữ liệu trong mỗi hàng
Giao giữa hàng và cột là một bit nhớ riêng lẽ
Vd Đan xen
Đặc Điểm phân cấp
Bao gồm các mức bộ nhớ phân biệt
Mỗi mức bao gồm kích thước, thời gian truy xuất, giá thành
Mức càn cao khả năng lưu trữ càn lớn , thời gian truy xuất chậm hơn và giá thành thấp hơn
Trang 59 Nếu tồn tại thì lấy từ cache (nhanh)
vào cache
Trang 60 Giải thuật thay thế
Trang 61 Giả sử mỗi khối có b words(w) , với b =?
Cache bao gồm m.b = ? words
Bộ nhớ chính có n.b = ? words
Block frames được chia vào v (d)= ? tập
với k =m/v= ? khối trên một tập
Có 4 tổ chức cache:
Trang 62 Xét Ví dụ:
Cache size: 64Kbyte
Block size:4 byte
Memory size: 16Mbyte
Word size: byte
24 bit address
2 bit word identifier (4 byte block)
22 bit block identifier
8 bit tag (=22-14)
14 bit slot or line
Trang 6323
Trang 65Associative & Set Associative
Thay thế khối đã sử gần đây ít nhất
First in first out (FIFO)
Thay thế khối ở trong cache lâu nhất
Thay thế khối có tần xuất sử dụng nhiều nhất
Trang 66Write back
Dữ liệu chỉ được ghi tới khối trong cahce Sự thay đổi của cache chỉ được ghi tới bộ nhớ chính khi nó bị thay thế
No Read Through: Đọc một khối từ bộ nhớ chính tới
cache và từ cache tới CPU !
Trang 67Pentium (all versions) – two on chip L1 caches
Data & instructions
Pentium III – L3 cache added off chip
Trang 68Pentium 4 Core Processor
Fetch/Decode Unit
Fetches instructions from L2 cache
Decode into micro-ops
Store micro-ops in L1 cache
Out of order execution logic
Schedules micro-ops
Based on data dependence and resources
May speculatively execute
L2 cache and systems bus
Pentium 4 Design Reasoning
Decodes instructions into RISC like micro-ops before L1 cache
Micro-ops fixed length
Superscalar pipelining and scheduling
Pentium instructions long & complex
Performance improved by separating decoding from scheduling &
pipelining
(More later – ch14)
Data cache is write back
Can be configured to write through
L1 cache controlled by 2 bits in register
CD = cache disable
NW = not write through
Trang 69• Block size: 8 word
Block size 8=2 3
3
Cache memory
Trang 70frame Hãy chỉ ra sơ đồ ánh xạ và address
bits nhận diện tương ứng.
a) Dùng direct mapping
b) Dùng fully associative
c) Dùng 2 way set associative
2 Cho một cache (M1) và memory (M2) tổ
chức theo set associative với các đặc trưng
sau:
- M1: 16k word , 50ns access time
- M2: 1M word, 400ns access time
- Block size: 8 word, set size: 256 word
Chỉ ra sơ đồ ánh xạ, tính access time?
Trang 71b Tính hit ratio cho chương trình lặp 3 lần từ
vị trí 8 tới 51 trong main memory
4 Ta có một máy tính sử
dụng bộ nhớ có kích thước
word là 8 bits Máy tính
này có 16 bytes cache với
4 byte cho mỗi block Máy
tính cần truy xuất một số ô
nhớ để chạy chương trình
Giả thiết máy tính sử
dụng Direct map cache có
định dạng địa chỉ bộ nhớ
như sau:
Hệ thống cần truy xuất các địa chỉ theo thứ tự sau:
6E,B9,17,E0,4E,4F,50,91,A8,A9,A B,AD,93,94
Địa chỉ của 4 ô nhớ đầu được nạp vào cache như bên dưới:
Trang 74Dynamic RAM Structure
DRAM Operation
Address line họat động khi đọc/ghi bit
Transistor switch closed
Write
Voltage to bit line
High for 1 low for 0
Signal address line
Truyền điện tích tới tụ.
Read
Chọn Address line
Transistor on
Trang 75Static RAM
Trang 76Static RAM Operation
Address line điều khiển 2 transistors T5 T6
Write – Giá trị áo tới B & phần bù tới B
Trang 77Cần một thiết bị đặc biệt để ghi
Để xĩa ta dùng tia cực tím.
Trang 78 Làm mạnh lại tín hiệu điện trong bộ nhớ DRAM
Không làm tươi dữ liệu sẽ bị mất
Mỗi ô nhớ trong mảng sắp xếp của bộ nhớ phải được đọc ra rồi ghi vào lại
Được xử lí bởi chipset bo mạch chính
Trang 7916 Mb DRAM (4M x 4)
Đóng gói
Trang 80256kByte Module
Trang 81Không thường xuyân hỏng
code
Error Correcting Code
Trang 82 Do cách chọn địa chỉ hàng và cột mất nhiều thời gian Phân trang cho phép truy cập tất cả dữ liệu trong một hàng nhanh hơn bằng cách giữ nguyên địa chỉ các hàng và chỉ thay đổi giá trị cột, ngoài ra một thay đổi quan trọng là việc triển khai chế độ truy cập theo loạt ( brust mode), phương pháp này cho phép truy cập 3 địa chỉ liền kề mà không cần thêm trạng thái chờ xác định địa chỉ ( giới hạn 4 lần truy cập)
Cách diễn tả: x-y-y-y
Với x:thời gian cho truy cập đầu tiên
y:số chu kì cần thiết cho các truy cập kế tiếp
Ví dụ : DRAM 60ns trong các bus 66MHz cần 75ns (15x5) tức 5 chu kì cho lần đầu tiên , các lần tiếp theo cần 3 chu kì ( 45ns) , có nghĩa là 5-3-3-3 do đó để đọc được
4 lần bộ nhớ cần 14 chu kì ( thay vì 20 chu kì)
Bộ nhớ sử dụng kỹ thuật này gọi là bộ nhớ đánh số trang ( fast page mode)
Cho phép chồng các lần truy cập liên tiếp (Extended data Out), các trình điều khiển dữ liệu ra trên chip không bị tắt khi mạch điều khiển bộ nhớ xóa địa chỉ côt để bắt đầu chu kì tiếp theo Điều này cho phép chu kì tiếp theo chồng lên chu kì trước và tiết kiệm được khoảng 10ns cho một chu kì
Mạch điều khiển bộ nhớ bắt đầu một lệnh địa chỉ cột mới trong khi đang đọc dữ liệu ở địa chỉ hiện thời
EDO cho phép Brust mode 5-2-2-2 do đó để đọc được 4 lần bộ nhớ cần 11 chu kì ( thay vì 14 chu kì của FPM DRAM)