Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ

Bắt đầu từ : Nguyên lý thiết kế và cấu trúc máy tính truyền thống
Hiểu nguyên lý thiết kế
Thiết kế máy tính theo yêu cầu
Cấu trúc bộ xử lý MIPS – 32
MIPS = Microprocessor without Interlocked Pipeline Stages

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 1

Trang 1

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 2

Trang 2

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 3

Trang 3

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 4

Trang 4

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 5

Trang 5

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 6

Trang 6

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 7

Trang 7

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 8

Trang 8

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 9

Trang 9

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ trang 10

Trang 10

Tải về để xem bản đầy đủ

pptx 53 trang xuanhieu 3360
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ

Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu - Tạ Kim Huệ
Kiến trúc máy tínhComputer architecture 
To improve is to change; to be perfect is to change often. 
Winston Churchill 
January 3, 2022 
SET - HUST 
1 
Nội dung môn học 
Chương 1: Giới thiệu 
Chương 2: Kiến trúc tập lệnh MIPS – 32 bits 
Chương 3: Bộ xử lý MIPS – 32 bits 
Chương 4: Xử lý đường ống 
Chương 5: Bộ nhớ máy tính 
Chương 6: Tổ chức Vào/ra 
January 3, 2022 
SET - HUST 
2 
Tài liệu tham khảo 
 / và 
 / 
Computer Organization and Design, 5th Edition : The Hardware/Software Interface 
January 3, 2022 
SET - HUST 
3 
Lịch sử phát triển của máy tính 
January 3, 2022 
SET - HUST 
4 
Cơ 
Blaise Pascal (1642) 
1642 - 1945 
ENIAC (1946) 
18.000 bóng đèn 
1500 rơle 
30 tấn 
140 kw 
Transistor (1958) 
Burroughs 6500 
NCR, CDC 6600 
IC(Integrated Circuit) 
LSI – VLSI 
Xử lý song song 
1950s : Máy tính số học 
1960s: Có hệ điều hành, quản lý bộ nhớ mức thấp 
1970s to mid 1980s: 
Có thiết kế tập lệnh và trình biên dịch. 
Bộ nhớ chia sẻ đa xử lý. 
1990s: CPU, bộ nhớ , I/O system, Multi-processors, kết nối mạng, Thiết kế mức VLSI 
2000s: 
Kiến trúc đặc trưng, có khả năng cấu hình lại, di động, tiêu thụ ít năng lượng, xử lý song song. 
Máy tính hiện đại 
5 
Personal Mobile Devices 
6 
    Máy tính hiện đại 
7 
    Máy tính hiện đại 
Quan niệm truyền thống về cấu trúc máy tính 
January 3, 2022 
SET - HUST 
8 
Phần 
cứng 
Phần mềm 
hệ thống 
Phần mềm ứng dụng 
Phân loại 
Chức năng 
Máy tính chuyên dụng 
Máy tính nhúng 
Cấu trúc bộ xử lý 
RISC 
ARM, SuperH, MIPS , SPARC, DEC Alpha, PA-RISC-V, PIC, PowerPC IBM. 
CISC 
 PDP-11, VAX, Motorola 68k, x86 intel. 
Cấu tạo 
Von newmann 
Harvard 
Quan niệm truyền thống về cấu trúc máy tính 
9 
I/O system 
Processor 
Compiler 
Operating 
System 
(Mac OSX) 
Application (ex: browser) 
Digital Design 
Circuit Design 
Instruction Set 
 Architecture 
Datapath & Control 
transistors 
Memory 
Hardware 
Software 
Assembler 
Application 
Libraries 
Operating System 
Programming Language 
Assembler Language 
Graphical Interface 
Processor 
IO System 
Logic Design 
Datapath and Control 
Circuit Design 
Semiconductors 
Materials 
Firmware 
Circuits and devices 
Fabrication 
Digital Design 
Computer Design 
ApplicationProgramming 
System Programming 
Microprogramming 
Instruction Set Architecture - “ Machine Language ” 
Cấu trúc máy tính 
January 3, 2022 
SET - HUST 
10 
Kiến trúc máy tính? 
Application Programming 
System Programming 
January 3, 2022 
SET - HUST 
11 
instruction set 
software 
hardware 
Processor Architecture 
Computer Organization 
Computer Architecture = Instruction Set Architecture + Machine Organization 
Bắt đầu từ : Nguyên lý thiết kế và cấu trúc máy tính truyền thống  Hiểu nguyên lý thiết kế Thiết kế máy tính theo yêu cầu  Cấu trúc bộ xử lý MIPS – 32 MIPS = Microprocessor without Interlocked Pipeline Stages 
January 3, 2022 
SET - HUST 
12 
To change 
January 3, 2022 
SET - HUST 
13 
14 
Gordon MooreIntel CofounderB.S. Cal 1950! 
# of transistors on an integrated circuit (IC) 
Year 
Định luật Moore: Moore’s Law 
Predicts: 
2X Transistors / chip every 2 years 
Định luật Moore 
15 
Moore’s Law 
1965-2020? 
Định luật Moore là một bước ngoặt lớn trong ngành công nghệ điện tử, giải thích tại sao nhà sản xuất có thể giảm giá thành trong khi vẫn tiếp tục nâng cao hiệu suất của phần cứng . 
Hiện nay, thời gian để tăng đôi số transistor/inch vuông đã dài hơn vì kích thước transistor không thể giảm nhỏ kích thước phân tử <14nm (Hạn chế về thiết kế vật lý). 
Đánh giá khả năng lưu trữ trên bộ nhớ tương tự của Jim Gray How Far Away is the Data? 
Registers 
On Chip Cache 
On Board Cache 
Memory 
Disk 
1 
2 
10 
100 
Tape /Optical 
 Robot 
10 
9 
10 
6 
Hà Nội 
Đại học BK HN 
TC-406 
My Head 
10 min 
1.5 hr 
2 Years 
1 min 
Sao diêm vương 
2,000 Years 
Chòm tiên nữ 
(ns) 
Jim Gray  Turing Award 
B.S . Cal 1966 
Ph.D. Cal 1969 ! 
 Dung lượng 
 Thời gian lưu trữ /truy cập 
Nguyên lý về định vị và phân cấp bộ nhớ 
1/3/2022 
17 
Xử lý song song 
18 
Quan niệm mới (phức tạp hơn một chút!) 
Parallel Requests 
Assigned to computer 
e.g., Search “Katz” 
Parallel Threads 
Assigned to core 
e.g., Lookup, Ads 
Parallel Instructions 
>1 instruction @ one time 
e.g., 5 pipelined instructions 
Parallel Data 
>1 data item @ one time 
e.g., Add of 4 pairs of words 
Hardware descriptions 
All gates functioning in parallel at same time 
19 
SmartPhone 
Warehouse-Scale Computer 
Software Hardware 
HarnessParallelism & 
Achieve HighPerformance 
Logic Gates 
Core 
Core 
 Memory (Cache) 
Input/Output 
Computer 
Main Memory 
Core 
 Instruction Unit(s) 
 Functional 
Unit(s) 
A 3 +B 3 
A 2 +B 2 
A 1 +B 1 
A 0 +B 0 
1/3/2022 
20 
Luật Amdahl: Amdahl’s Law 
Gene Amdahl 
Computer Pioneer 
Tiến trình tìm hiểu về kiến trúc máy tính 
January 3, 2022 
SET - HUST 
21 
µProc 
60%/yr. 
(2X/1.5yr) 
DRAM 
9%/yr. 
(2X/10 yrs) 
1 
10 
100 
1000 
1980 
1981 
1983 
1984 
1985 
1986 
1987 
1988 
1989 
1990 
1991 
1992 
1993 
1994 
1995 
1996 
1997 
1998 
1999 
2000 
DRAM 
CPU 
1982 
Processor-Memory 
Performance Gap:(grows 50% / year) 
Performance 
Time 
“ Moore ’ s Law ” 
Arithmetic 
Single/multicycle 
Datapaths 
IFetch 
Dcd 
Exec 
Mem 
WB 
IFetch 
Dcd 
Exec 
Mem 
WB 
IFetch 
Dcd 
Exec 
Mem 
WB 
IFetch 
Dcd 
Exec 
Mem 
WB 
Pipelining 
Memory Systems 
I/O 
Cấu tạo của máy tính 
January 3, 2022 
SET - HUST 
22 
Control 
Datapath 
Memory 
Processor 
Input 
Output 
Cấu tạo bộ xử lý 
January 3, 2022 
SET - HUST 
23 
Bộ xử lý cơ bản: Bộ nhớ, Khối điều khiển, Khối tính toán 
January 3, 2022 
SET - HUST 
24 
Các cấp độ diễn tả trừu tượng 
lw	 $t0, 0($2) 
lw	 $t1, 4($2) 
sw	 $t1, 0($2) 
sw	 $t0, 4($2) 
High Level LanguageProgram (e.g., C) 
Assembly Language Program ( e.g., MIPS ) 
Machine Language Program (MIPS) 
Hardware Architecture Description( e.g., block diagrams) 
Compiler 
Assembler 
Machine Interpretation 
temp = v[k]; 
v[k] = v[k+1]; 
v[k+1] = temp; 
0000 1001 1100 0110 1010 1111 0101 1000 
1010 1111 0101 1000 0000 1001 1100 0110 
1100 0110 1010 1111 0101 1000 0000 1001 
0101 1000 0000 1001 1100 0110 1010 1111 
Logic Circuit Description(Circuit Schematic Diagrams) 
Architecture Implementation 
Anything can be representedas a number , i.e., data or instructions 
25 
Các khối xử lý cơ bản 
January 3, 2022 
SET - HUST 
26 
Bộ xử lý cơ bản: Bộ nhớ, Khối điều khiển, Khối tính toán 
January 3, 2022 
SET - HUST 
27 
Bộ xử lý hoạt động thế nào? 
Bộ xử lý làm gì? 
– 1. Tải lệnh 
– 2. Tìm ra toán tử nào phải thực thi 
– 3. Tìm ra dữ liệu nào sử dụng 
– 4. Thực hiện tính toán 
– 5. Tìm ra lệnh tiếp theo 
Lặp đi lặp lại quá trình 
January 3, 2022 
SET - HUST 
28 
1: Tải giá trị r0 (i) từ bộ nhớ (location 7 ) 
January 3, 2022 
SET - HUST 
29 
2 : Trừ 2 từ r0(i) 
January 3, 2022 
SET - HUST 
30 
3: Kiểm tra nếu r1 bằng 0, nhảy khi điều kiện đúng 
January 3, 2022 
SET - HUST 
31 
4: Tăng r0 (i ) 
January 3, 2022 
SET - HUST 
32 
5: Tiếp tục vòng lặp 
January 3, 2022 
SET - HUST 
33 
6: Trừ 2 từ r0(i) 
January 3, 2022 
SET - HUST 
34 
7: Kiểm tra nếu r1 bằng 0, nhảy khi điều kiện đúng 
January 3, 2022 
SET - HUST 
35 
8: Tăng r0 (i) 
January 3, 2022 
SET - HUST 
36 
9: Tiếp tục vòng lặp 
January 3, 2022 
SET - HUST 
37 
10: Trừ 2 từ r0(i) 
January 3, 2022 
SET - HUST 
38 
11: Kiểm tra r1 bằng 0, nhảy khi điều kiện đúng. 
January 3, 2022 
SET - HUST 
39 
12: Dừng chương trình vì lệnh 5 không hợp lệ! 
January 3, 2022 
SET - HUST 
40 
Hiểu chi tiết về bộ xử lý MIPS 
January 3, 2022 
SET - HUST 
41 
Đánh giá hiệu năng 
Thời gian đáp ứng (thời gian thực thi) – là khoảng thời gian giữa thời điểm bắt đầu thực hiên và thời điểm hoàn thành một nhiệm vụ 
Quan trọng đối với 1 người sử dụng 
Thông lượng (dải thông) – là tổng số nhiệm vụ có thể được hoàn thành trong 1 khoảng thời gian 
Quan trọng đối với người điều hành trung tâm dữ liệu 
Cách tính hiệu năng 
Hiệu năng và thời gian thực thi có quan hệ nghịch đảo 
Giảm thời gian đáp ứng thường sẽ tăng thông lượng 
Để tối đa hóa hiệu năng, cần tối thiểu hóa thời gian thực hiện 
C ải thiện hiệu năng 
Cách tính hiệu năng 
Thời gian dùng để tính hiệu năng 
Thời gian đáp ứng 
Thời gian truy cập đĩa , bộ nhớ 
Thời gian vào ra, thời gian cho hệ điều hành 
Thời gian bộ xử lý (CPU time) 
Thời gian CPU người dùng 
Thời gian CPU thực hiện mã lệnh của chương trình 
Thời gian CPU hệ thống 
Thời gian CPU dành cho hệ điều hành thực hiện các nhiệm vụ cần thiết cho CT của người dùng 
Đơn vị đo hiệu năng theo các phân mức 
Compiler 
Programming 
Language 
Application 
Datapath 
Control 
Transistors 
Wires 
Pins 
ISA 
Function Units 
(millions) of Instructions per second – MIPS 
(millions) of (F.P.) operations per second – MFLOP/s 
Cycles per second (clock rate) 
Megabytes per second 
Seconds per program 
Useful Operations per second 
Chu kỳ xung nhịp 
Clock 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
Combination Logic 
Cycle 
Hầu hết các máy tính hiện đại không đổi và lặp đi lặp lại chu kỳ 
Số xung đồng hồ 
HUST-FET, 03/01/2022 
Số xung đồng hồ thực hiện 1 chương trình: 
Trong đó: 
I là số chỉ thị máy cần thực hiện trong chương trình 
CPI ( eng. Clock cycles per Instruction ) là số xung đồng hồ trung bình cần để thực thi 1 chỉ thị máy, 
CPI có thể dùng để so sánh các máy tính khác nhau cùng triển khai 1 kiến trúc tập lệnh. 
Ví dụ: có 3 loại lệnh A, B, C khác nhau trong 1 kiến trúc tập lệnh. Mỗi lệnh trong từng loại có CPI tương ứng: 
CPI for this instruction class 
A 
B 
C 
CPI 
1 
2 
3 
CPI hiệu dụng (trung bình) 
CPI hiệu dụng được tính bằng cách xét tất cả các lớp chỉ thị có trong chương trình và lấy trung bình với trọng số là tỉ lệ xuất hiện của lớp chỉ thị trong chương trình 
IC i là tỉ lệ (%) số chỉ thị thuộc loại i được thực thi 
CPI i là số chu kỳ (trung bình) cần để thực hiện 1 chỉ thị thuộc thuộc loại i 
n là số loại chỉ thị 
CPI hiệu dụng phụ thuộc vào tỉ lệ chỉ thị trong một chương trình (tần suất động của các chỉ thị trong 1 hoặc nhiều chương trình) 
So sánh dựa trên CPI 
Khi 2 máy tính A, B cùng thực hiện 1 chương trình, chúng cùng thực hiện I chỉ thị. 
Do đó: 
Máy A nhanh hơn máy B: 
Máy tính A và B cùng triển khai 1 kiến trúc tập lệnh. Máy A có chu kỳ đồng hồ là 250ps, và CPI hiệu dụng cho 1 chương trình P là 2,0. Máy B có chu kỳ đồng hồ là 500ps, và CPI hiệu dụng cho cùng 1 chương trình P là 1,2. Máy tính nào nhanh hơn và nhanh hơn bao nhiêu? 
Ví dụ 
Công thức để tính thời gian CPU, khi máy tính A thực hiện chương trình: 
Số chu kỳ máy tính A dùng để thực hiện chương trình: 
Số chu kỳ máy tính B dùng để thực hiện chương trình: 
Tốc độ đồng hồ của máy tính B: 
Hiệu năng có thể cải thiện bằng cách giảm số chu kỳ 1 xung đồng hồ hoặc giảm số chu kỳ cần thiết để thực hiện chương trình 
Máy tính A với xung đồng hồ 2GHz thực hiện 1 chương trình hết 10 giây. Để thực hiện chương trình đó trong 6 giây bằng máy tính B, ta cần tăng tốc độ xung đồng hồ của máy B. Tuy nhiên, tăng tốc độ xung đồng hồ cũng làm tăng số chu kỳ cần thiết lên 1,2 lần. Xác định tốc độ xung đồng hồ máy tính B 
So sánh đoạn mã chương trình 
HUST-FET, 03/01/2022 
51 
Người thiết kế một máy tính triển khai kiến trúc tập lệnh gồm 3 loại chỉ thị A, B, C được CPI như sau: 
Với 1 câu lệnh ở ngôn ngữ bậc cao, người viết trình biên dịch có thể lựa chọn 2 đoạn chỉ thị máy gồm có tần suất các loại chỉ thị như sau: 
Đoạn mã nào gồm nhiều chỉ thị hơn? Đoạn mã nào nhanh hơn? Tính CPI của từng đoạn mã. 
A 
B 
C 
CPI 
1 
2 
3 
Đoạn mã 
A 
B 
C 
1 
2 
1 
2 
2 
4 
1 
1 
So sánh đoạn mã chương trình 
HUST-FET, 03/01/2022 
52 
Đoạn mã 1 dùng 5 chỉ thị, đoạn mã 2 dùng 6 chỉ thị 
Số xung đồng hồ để thực hiện mỗi đoạn mã được tính như sau: 
Trong đó I 1,i , I 2,i là số lượng chỉ thị loại i trong đoạn mã 1 và 2 tương ứng 
Như vậy đoạn mã 1 chậm hơn đoạn mã 2, mặc dù dùng ít chỉ thị hơn 
Đoạn mã 
A 
B 
C 
1 
2 
1 
2 
2 
4 
1 
1 
A 
B 
C 
CPI 
1 
2 
3 
Các yếu tố ảnh hưởng đến hiệu năng 

File đính kèm:

  • pptxbai_giang_kien_truc_may_tinh_chuong_1_gioi_thieu_ta_kim_hue.pptx