31/07/2013 Nguấễn Trung Đồng Computer Architecture... 31/07/2013 Nguấễn Trung Đồng Computer Architecture... 31/07/2013 Nguấễn Trung Đồng Computer Architecture... Các hệ đ m và Biểu diễn
Trang 231/07/2013Nguấễn Trung Đồng Computer Architecture
2
Tài liệu tham khảo
[ 1 ] Nguyễn Trung Đồng Giáo trình Ki n trúc máy tính – trang web
http://www.tailieu.vn [ 2 ] Nguyễn Trung Đồng Giáo trình H Vi x lý tiên tiến (Kiến trúc máy tính
nâng cao) trang web http://www.tailieu.vn [ 3 Nguyễn Trung Đồng Giáo trình Kỹ thuật Vi xử lý – NXB KHKT Hà Nội 2010
[ 4 ] Hoàng Xuân Dậu Bài gi ng Ki n trúc máy tính – HVCNBCVT
[ 5 ] Nguyễn Ngọc Hoá Ki n trúc máy tính – Bài giảng tại ĐHQG Hà Nội
[ 6 Kai Hwang Advanced Computer Architecture Parallelism Scalability
Programmability – McGraw-Hill International Editions – 1993 [ 7 ] William Stallings Computer Organization and Architecture Designing
for Performance - Prentice-Hall - 2006 [ 8 ] David Hergert, Nancy Thibeault PC Architecture from Assembly langueage
to C – Prentice-Hall, Inc New Jersey 1997
9 James M Feldman, Charles T Retter Computer Architecture – MITPress &
McGraw Hill, Singapore 1994 [10] Intel® 64 and IA-32 Architectures - Order Number: 248966-029 March 2014
[11] Intel® 64 and IA-32 Architectures Software Developer’s Manual - Software
DeẢeloper’s Manạal - Order Number: 253665-050US February 2014
[12] Intel® 64 and IA-32 Architectures Software Developer’s Manual - System
Programming Guide - Order Number: 253668-050US February 2014
Trang 3Chương 1: Gi i thiệu chung
Chương 2: Đơn v xử lý trung tâm - CPU
Chương 3: Ki n trúc tập lệnh
Chương 4: Ki n trúc, t ch c và
qu n lý b nh Chương 5: Hệ thống BUS
Chương 6: Thi t b nh ngoài
Trang 4Địa chỉ (Địa chỉ ô nhớ, địa chỉ từ nhớ, địa chỉ biến, địa
chỉ lệnh, … , Địa chỉ thiết bị ngoài ………….)
Trang 5Tr nh phân, th hiện v t lý các giá tr “0” và “1”, “False”
và “True”, “Không” và “CỂ”, “No” và “Yes” … thông qua đại
l ng điện áp hoặc dểng điện
Trang 631/07/2013 Nguấễn Trung Đồng Computer Architecture 6
Trang 731/07/2013 Nguấễn Trung Đồng Computer Architecture 7
Trang 831/07/2013 Nguấễn Trung Đồng Computer Architecture 8
Trang 931/07/2013 Nguấễn Trung Đồng Computer Architecture 9
Trang 1031/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 1131/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 1231/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 1331/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 14S đồ mô tả phạm vi nghiên cứu của khoa học Kiến trúc và Tổ chức
máấ tính trong quấ trình thiết kế xâấ dựng một hệ thống máấ tính
T ch c máy tính
Khái niệm Kiến trúc và Tổ chức máấ tính
Trang 1531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 16hệ thống mà người lập trình có thể nhìn thấy được, những
thuộc tính quyết định trực tiếp đến việc thực thi một chương
trình tính toán, x lý dữ liệu.
Các thuộc tính gồm:
Nội dung t p lệnh của CPU,
Độ dài t dữ liệu (tính theo số bit),
C chế Vào/Ra dữ liệu,
Chiến l c đánh đ a ch ô nhớ …
phần chức năng và sự kết nối giữa chúng để tạo nên một máy
tính , nhằm thực hiện những chức năng và tính năng kỹ thu t của
kiến trúc, bao gồm các thuộc tính người dùng không thể nhìn
thấy nh
Các tín hiệu đi u khi n,
Giao diện Máy tinh – Thiết b Vào/Ra,
Công nghệ xây dựng bộ nhớ …
Trang 17Ngạyên lý cơ b n Kiến trệc máy tính
3 đi m cơ b n trong nguyên lý kiến trúc máy tính:
1 Lệnh (Instruction) và dữ liệu (Data) phải được
lưu giữ trong một bộ nhớ ghi/đọc được.
bằng địa chỉ vật lý Sự định vị bằng địa chỉ là tuần tự
và không phụ thuộc vào nội dung của ô nhớ.
3 Chương trình xử lý, giải bài toán phải thực hiện
tuần tự từ lệnh này đến lệnh tiếp theo, từ lệnh bắt
đầu đến lệnh cuối cùng
Trang 1831/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 191 16-bit Processors and Segmentation (1978) 16-bit processors, the 8086 and 8088.
2 The Intel® 286 Processor (1982) The Intel 286 processor introduced protected mode operation into the IA-32 architecture.
3 The Intel® 386™Processor (1985) The Intel386 processor was the first 32-bit processor in the
IA-32 architecture family.
4 The Intel® 486™ Processor (1989) The Intel486™processor added more parallel execạtion
capability by expanding the Intel386 processor’s instrạction decode and execạtion ạnits into fiẢe pipelined stages.
5 The Intel® Pentium® Processor (1993) The introduction of the Intel Pentium processor added a second execution pipeline to achieve superscalar performance (two pipelines, known as U and V The on-chip first-level cache doubled, with 8 KBytes devoted to code and another 8 KBytes
devoted to data.
6 The P6 Family of Processors (1995-1999) The P6 family of processors was based on a superscalar microarchitecture that set new performance standards The Intel Pentium Pro processor is three- way superscalar.
7 The Intel® Pentium 4 Processor Family (2000-2006) The Pentium 4 processor family is based on Intel® NetBurst microarchitecture.
(tính riêng với các loại được phát triển thành Máy vi tính)
K hông k chip-slide, µP4004, µP4040, µP8080, µP8085 và Single Chip µComputer
Trang 208 The Intel® Xeon® Processor (2001- 2007) Intel® Xeon processors (with
exception for dual-core Intel® Xeon processor LV, Intel® Xeon processor 5100 series) are based on the Intel® NetBurst microarchitecture; The Intel®
Pentium® M Processor (2003-2006) The Intel® Pentium M processor family is a high performance, low power mobile processor family with microarchitectural enhancements over previous generations of IA-32 Intel mobile processors.
9 The Intel® Pentium® Processor Extreme Edition (2005) The Intel® Pentium
processor Extreme Edition introduced dual-core technology.
10 The IntelỔ Core™Dạo and IntelỔ Core™ Solo Processors (2006-2007) The Intel®
Core Duo processor offers power-efficient, dual-core performance with a
low-power design that extends battery life.
11.The Intel® Xeon® Processor 5100, 5300 Series and Intel® Core™2 Processor
family (2006) The Intel® Xeon processor 3000, 3200, 5100, 5300, and 7300
series, Intel Pentium Dual-Core, Intel® Core 2 Extreme, Intel® Core 2 Quad
processors, and Intel® Core 2 Duo processor family support Intel 64
Architecture
Trang 2112.The Intel® Xeon® Processor 5200, 5400, 7400 Series and Intel® Core™ 2
Processor Family (2007) The Intel® Xeon processor 5200, 5400, and 7400 series, Intel® Core 2 Quad processor Q9000 Series, Intel® Core 2 Duo processor E8000 series support Intel® 64 architecture;
13 The IntelỔ Atom™ Processor Family (2008) The first generation of
Intel®Atom TM processors are built on 45 nm process technology They are based
on a new Microarchitecture, Intel® Atom TM microarchitecture, which is
optimized for ultra low power devices The Intel®Atom TM microarchitecture
features two in-order execution pipelines that minimize power consumption,
increase battery life, and enable ultra-small form factors.
14 The IntelỔ Atom™ Processor Family Based on Silvermont Microarchitecture
(2013) Intel Atom Processor C2xxx, E3xxx, S1xxx series are based on the
Silvermont microarchitecture.
15 The IntelỔ Core™ i7 Processor Family (2008).The Intel Core i7 processor 900
series support Intel 64 architecture; they are based on Intel® microarchitecture code name Nehalem using 45 nm process technology.
Trang 23S l c v Kiến trúc
Harward
Kiến trúc máy tính Harvard chia bộ nhớ
chính thành hai ph n riêng rẽ: B nh lưạ
chương trình (Program Memory) và B nh lưạ dữ li ạ (Data Memory) Hai h thống bus riêng được s d ng đ kết nối CPU
Ả i b nh lưạ chương trình và b nh lưạ dữ li ạ Mỗi hệ thống bus đ u có đ ấ
Trang 24Kiến trúc Von Neumann
1 Đơn vị số học và lôgic (ALU),
2 Đơn vị điều khiển (CU - control
Trang 2531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 2631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 2831/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 29lập trình chọn lọc và sắp xếp theo một tuần tự chặt chẽ thông qua
1 Xử lý dữ liệu: X lý các yêu c u của con ng ời/thiết b trên c sở các
dữ liệu đ c nh p vào Đâấ là chức năng quan trọng nh t.
2 Lưu trữ dữ liệu: Muốn công việc x lý dữ liệu đạt hiệu quả cao, máy
hạn
3 Di chuyển dữ liệu: Đ phục vụ việc x lý, dữ liệu phải có th di
chuấ n t đi m này tới đi m khác bên trong máy tính, phải có khả
năng trao đổi dữ liệu với môi tr ờng bên ngoài.
4 Điều khiển: Các tác vụ máy tính thực hiện phải đ c đi u khi n …
Trang 3131/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 3231/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 3331/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 3431/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 3531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 3631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 3731/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 38Các hệ đ m và Biểu diễn thông tin
trong máy tinh
Bản ch t v t lý của thông tin đ c bi u diễn trong các hệ thống x lý
số thông tin, dữ liệu
Bi u diễn các giá tr “0” và “1” của hệ đếm nh phân
Bi u diến các giá tr logic “false” và “true”
Các chu n bi u diễn theo công nghệ vi mạch
Chuấ n đổi mức tín hiệu bi u diễn thông tin trong các vi mạch với
công nghệ chế tạo khác nhau
Các loại mã thông tin:
Trang 39số thuộc phần nguyên và l chữ số phần lẻ được quy đổi về hệ thập
Trang 40Bi ểu diễn dữ liệu số trong máy tính
Bi ểu diễn dữ liệu là số nguyên có dấu: Giả sử dùng 2 bytes (16
bits) để biểu diễn một số nguyên có dấu, bit cao nhất (MSB –
Most SigniF icant Bit) được dùng để đánh dấu Số dương có bit
d ấu S = “0”, số âm có bit dấu S = “1”
S x x x x x x x x x x x x x x x
Dấu phẩy động được dùng rất phổ biến, giá trị thực được thể
theo h ệ đếm nhị phân được biểu diễn theo dạng chuẩn tắc như
Trang 41C huẩn IEEE 754 được dùng rộng rãi trong khoa học máy tính hiện
nay Trong cách biểu diễn này, phần định trị có dạng 1.F với số 1 được ẩn
Trang 42Chính xác
kép
Mở rộng chính xác
Trang 4331/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 44các thông tin không số
Có hai loại mã phổ cập nhất được sử dụng là mã ASCII và EBCDIC
Mã ASCII (American Standard Code For InFormation
Interchange) dùng 7 bits để mã hoá các ký tự
Mã EBCDIC (Extended Binary Coded Decimal Interchange
Code) dùng cả 8 bits (1 Byte) để mã hoá thông tin
Loại mã được dùng trong ngành bưu điện, trong các máy teletype
là mã BAUDOT, chỉ sử dụng 5 bits để mã hoá thông tin
Trang 4531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 4631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 4731/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 4831/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 4931/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5031/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5102/08/2015 Nguấễn Trung Đồng Thiết kế Hệ Vi x lý
Trang 5231/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5331/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5431/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5831/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 5931/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6031/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6131/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6231/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6331/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6431/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 6731/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 68l t đ c CPU đọc, giải mã và thực hiện T p lệnh gồm nhi u
lệnh đ c chia thành một số nhóm theo chức năng: chuấ n
dữ liệu (data movement), tính toán (computational), đi u kiện
lệnh chức năng khác Các thành ph n của lệnh gồm:
Mã l nh Đ a ch toán h ng
Trang 6931/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 7031/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 71 Thao tác xử lý hoặc trao đổi dữ liệu
Thao tác Vào/Ra dữ liêu
Thao tác điều khiển chương trình
Phương thức đánh địa chỉ toán hạng
Phương thức xác định địa chỉ lưu giữ kết quả xử lý
Phương thức xác định địa chỉ lệnh tiếp theo trong chương
trình
v đ a ch của toán hạng, của đ a ch l u giữ kết quả x lý
Trang 72Certain encodings of the ModR/M byte require a second addressing byte (the SIB byte)
Many instructions that refer to an operand in memory have an
addressing-form specifier byte (called the ModR/M byte)
Trang 73REX prefixes are instruction-prefix bytes used in 64-bit mode They do the following:
• Specifấ GPRs and SSE registers.
• Specifấ 64-bit operand size.
• Specifấ extended control registers.
Trang 7431/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 7531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 7631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 7731/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 7831/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 7931/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 8031/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 81a) opcode addr1, addr2, addr3
Mỗi đ a ch addr1, addr2, addr3 tham chiếu đến một ô nhớ hoặc một thanh ghi
b) opcode addr1, addr2
Mỗi đ a ch addr1, addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi
c) opcode addr2
Đ a ch addr2 tham chiếu đến một ô nhớ hoặc một thanh ghi Thanh ghi
đ a ch
d) opcode addr1, addr2
Một đ a ch tham chiếu đến một ô nhớ và đ a ch còn lại tham chiếu đến một thanh ghi
e) Toán h ng d ng 0 đ a ch th ờng đ c s dụng trong các lệnh
Trang 82Các phương th c đ nh Ả toán h ng (Mode đ a ch )
Mode địa chỉ trực tiếp
1 Định vị thanh ghi (register addressing): Toán hạng đ c truy xu t là
nội dung thanh ghi của CPU.
2 Định vị tức thời (immediate addressing): Toán hạng tức thời là dữ
liệu 8 hay 16 bits nằm ngay trong lệnh, có th dùng làm toán hạng
nguồn hay hằng số.
Mode định vị gián tiếp
1 Định vị trực tiếp (direct addressing): Toán hạng chứa đ a ch là một
số nằm ngay trong lệnh.
2 Định vị gián tiếp thanh ghi (register indirect): đ a ch hiệu dụng EA là
nội dung của một trong các thanh ghi BX, BP, SI hoặc DI
Trang 833 Định vị cơ sở (based addressing): EA là tổng của nội dung thanh ghi
4 Định vị gián tiếp thanh ghi (register indirect): đ a ch hiệu dụng EA là
nội dung của một trong các thanh ghi BX, BP, SI hoặc DI
5 Định vị cơ sở (based addressing): EA là tổng của nội dung thanh ghi
6 Định vị chỉ số và cơ sở (indexed addressing): EA là tổng của nội
nếu có
7 Định vị chuỗi (string addressing): dùng riêng cho x lý chuỗi CPU sẽ
tự động s dụng các thanh ghi ch số nguồn SI và thanh ghi ch số
đích DI.
Trang 8431/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 8531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 8631/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 8731/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 8831/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 8931/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 9031/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 9131/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 9231/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 9331/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 9431/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 9531/07/2013 Nguấễn Trung Đồng Computer Architecture
Trang 96Quá trình thực hiện lệnh trong CPU
Các pha trong thực hiện lệnh
Generate Operand Address
Operand Fetch Execute Write Back