23
ĐẠI HỌC QUỐC GIA HÀ NỘI Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬ NỘI DUNG Bộ xử lý và hoạt động của bộ xử lý Pipeline và kiến trúc siêu vô hướng Nguyên lý Von Neumann Các thế hệ máy tính Giảng viên: ĐÀO KIẾN QUỐC Email: [email protected] , ĐT: 0123456- 2910

Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

Embed Size (px)

Citation preview

Page 1: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

ĐẠI HỌC QUỐC GIA HÀ NỘI

Bài 3NGUYÊN LÝ HOẠT ĐỘNG CỦA

MÁY TÍNH ĐIỆN TỬ

NỘI DUNG

• Bộ xử lý và hoạt động của bộ xử lý

• Pipeline và kiến trúc siêu vô hướng

• Nguyên lý Von Neumann• Các thế hệ máy tính

Giảng viên: ĐÀO KIẾN QUỐCEmail: [email protected], ĐT: 0123456-

2910

Page 2: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

CÁC THÀNH PHẦN CỦA CPU

Bộ số học và logic (Arithmetic & Logic Unit – ALU): có các mạch điện thực hiện các phép tính số học và các phép tính logic

Bộ điều khiển (Control Unit – CU): điều khiển máy tính thực hiện chương trình

Đồng hồ xung (Clock): tạo xung nhịp đồng bộ các thành phần của máy

Các thanh ghi (Registers) : bộ nhớ riêng của CPU– Thanh ghi lệnh – Thanh ghi địa chỉ lệnh (PC: program counter)– Thanh ghi dữ liệu – ……………………

Page 3: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

KIẾN TRÚC MÁY TÍNH

[1064] 5[1068] 7………[2600] ………[7001] 11 64 10 68 10[7006] 12 70 10 [7009] 13 74 10

xxxxx xxxxx

Thanh ghi đc lệnh

Thanh ghi dữ liệu

Thanh ghi lệnh IR

xxxxx ALU

Bus điều khiểnBus dữ liệu

Bus địa chỉ

BỘ NHỚCác thiết bị ngoại vi

(màn hình, máy in, bàn phím …)

CPU

CU

Page 4: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

CẤU TRÚC LỆNH

ĐỊA CHỈ MÃ LỆNH ĐỊA CHỈ

ĐỊA CHỈ MÃ LỆNH

MÃ LỆNH

THANH GHI

MÃ LỆNH

THANH GHI

ĐỊA CHỈ MÃ LỆNH

Lệnh không có thành phần địa chỉ, không có dữ liệu

Lệnh không có thành phần địa chỉ, dữ liệu ở thanh ghi

Lệnh có 1 địa chỉ, dữ liệu ở địa chỉ

Lệnh 2 địa chỉ

Lệnh có 1 thành phần địa chỉ, 1 dữ liệu khác ở thanh ghi

Các máy tính hiện nay là máy 1 địa chỉ, trong mỗi lệnh có không quá một thành phần địa chi

Page 5: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

VÍ DỤ CHƯƠNG TRÌNH LỆNH 1 ĐỊA CHỈ

[1062] 5 a VÙNG DỮ LIỆU

[1066] 7 b

[1076] x = a+b

[7001] A1 62 10 Nạp từ bộ nhớ địa chỉ 1062, ghi kết quả vào thanh ghi R (mã lệnh A1)

VÙNG CHƯƠNG TRÌNH

[7006] 03 66 10 Cộng thanh ghi R với một số ở bộ nhớ địa chỉ 1066, ghi vào thanh ghi R (mã lệnh 03)

[7009] A3 76 10 Lưu thanh ghi R vào ô nhớ 1076 (mã lệnh A3)

x = (a+b)

a → RR + b → RR → x(R: thanh ghi)

Page 6: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

CHU TRÌNH LỆNH

Đọc một lệnh từ bộ nhớ ( Fetch )

Giải mã lệnh (Decode )Thực hiện (Execute )

Lấy dữ liệu từ bộ nhớ

Tính, kết quả lưu ở TG

Tùy theo quan niệm, một lệnh sẽ được thực hiện trong 3 bước hoặc nhiều hơn (do một số bước có thể chia thành các bước nhỏ hơn)

Page 7: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THỰC HIỆN CHƯƠNG TRÌNH

[1062] 5[1066] 7………[1076] ………[7001] A1 62 10 [7004] 03 66 10 [7007] A3 76 10

Th. ghi ĐC lệnh

MOV A1 Th. ghi dữ liệu

Th. ghi lệnh IR

ALU

Bus điều khiển

Bus dữ liệu

Bus địa chỉ

Fetch

5

[1062]

MEMORY

Decode

Execute

Đọc dữ liệu

CU

[7001]

62 10 A1

[7002][7003][7004]

Tính

Page 8: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THỰC HIỆN CHƯƠNG TRÌNH

[1062] 5[1066] 7………[1076] ………[7001] A1 62 10 [7004] 03 66 10 [7007] A3 76 10

Th. ghi ĐC lệnh

ADD 03 Th. ghi dữ liệu

Th. ghi lệnh IR

ALU

Bus điều khiển

Bus dữ liệu

Bus địa chỉ

Fetch

7

[1066]

MEMORY

Decode

Execute

Đọc dữ liệu

CU

[7004]

66 10 03

[7005][7006][7007]

Tính

5

Page 9: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

NGUYÊN LÝ VON NEUMANN

Nguyên lý điều khiển bằng chương trình: máy tính thực hiện một công việc theo chương trình được đưa vào bộ nhớ. Nguyên lý này đảm bảo khả năng thực hiện tự động để giải quyết một bài toán của máy tính điện tử

Nguyên lý truy cập qua địa chỉ: dữ liệu trong chương trình không chỉ định bằng giá trị mà thông qua địa chỉ trong bộ nhớ. Nguyên lý đảm bảo tính mềm dẻo của chương trình, có thể thể hiện thuật toán không phụ thuộc vào các giá trị phát sinh trong chương trình

Kiến trúc Von-Neumann chính là kiến trúc máy tính thực hiện phù hợp với nguyên lý Von Neumann

Page 10: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

PIPELINE

Lệnh

Lệnh 1 Đọc lệnh Giải mã Thực hiện

Lệnh 2 Giải mã Thực hiện Đọc lệnh

Lệnh 3 Thực hiện Đọc lệnh Giải mã

Chu kỳ đồng hồ

1 2 3

Trong các máy tính hiện đại, CPU được tổ chức để song song hoá nhiều công đoạn trong một chu kỳ xử lý lệnh.

Khối thanh ghi được tổ chức phân cấp và có dung lượng lớn (gọi là cache). CPU không chỉ lấy từng lệnh ở bộ nhớ mà lấy cả khối lệnh đặt sẵn trên cache để giảm thiểu thời gian do truy cập bộ nhớ nhiều lần

Khi nhiều lệnh đã được đưa lên cache thì trong khi đang thực hiện một lệnh, có thể đồng thời đọc lệnh thứ hai và giải mã lệnh thứ 3 theo thứ tự. Cơ chế này gọi là pipeline (đường ống)

Page 11: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

KIẾN TRÚC SIÊU VÔ HƯỚNG

Lệnh này phụ thuộc dữ liệu vào lệnh kia nếu nó dùng kết quả của lệnh kia.

Trong kiến trúc siêu vô hướng (superscalar), CPU có thể có nhiều ALU.

CPU phân tích các nhóm lệnh kế tiếp nhau để xác định tình trạng phụ thuộc dữ liệu tạo thành các nhóm lệnh kế tiếp có phụ thuộc dữ liêu. Các nhóm đó sẽ phải thi hành tuần tự, có thể dùng pipeline.

Hai nhóm lệnh không phụ thuộc nhau có thể chạy đồng thời trên các ALU khác nhau.

Hiện nay đã sử dụng rộng rãi các bộ xử lý đa nhân, có nhiều đơn vị xử lý cùng đóng vỏ trên 1 chip. Nhiều luồng tính toán không phụ thuộc nhau có thể chạy song song

Page 12: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

ĐA LUỒNG VÀ ĐA NHÂN(Multi Thread và MultiCore)

Luồng là một nhóm lệnh của một chương trình được thực hiện liên tiếp

Kiến trúc đa luồng cho phép một CPU xử lý xen kẽ các luồng của các chương trình, giảm thời gian chết khi một chương trình chưa cần xử lý ngay, thì có thể xử lý chương một chương trình khác.

Đa nhân: nhiều bộ xử lý được đóng gói trong một CPU cho phép xử lý nhiều chương trình đồng thời

Đa nhân – đa luồng: xử lý nhiều chương trình, các luồng của mỗi chương trình có thể do nhân này hoặc nhân kia xử lý.

Page 13: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

KIẾN TRÚC SONG SONG

Các máy tính song song sử dụng nhiều bộ xử lý (có phần khác với đa nhân)

Kịch bản tính song song không phải bộ xử lý quyết định mà do người lập trình quy định.

Các siêu máy tính ngày nay đều là máy tính song song

Page 14: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

CÁC THẾ HỆ CỦA MTĐT

Thế hệ thứ I

Thế hệ thứ II

Super ComputerMicro Computer

Thế hệ thứ III

Thế hệ thứ IV

? Thế hệ thứ V

? Thế hệ thứ VI

? Gì nữa ………

Page 15: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THẾ HỆ THỨ I (1946-1952)

Công nghệ đèn điện tử Tốc độ chậm (vài nghìn phép

tính/giây) Thêu thụ nhiều năng lượng Công nghệ nhớ chưa hoàn thiện Độ tin cậy thấp

Thế hệ thứ I

Thế hệ thứ II

Super ComputerMicro Computer

Thế hệ thứ III

Thế hệ thứ IV

Máy tính ENIAC 1946 Pensilvanya University

Page 16: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THẾ HỆ THỨ II

Thế hệ thứ I

Thế hệ thứ II

Super ComputerMicro Computer

Thế hệ thứ III

Thế hệ thứ IV

? Thế hệ thứ V

? Thế hệ thứ VI

? Gì nữa ………

Công nghệ: bóng bán dẫn

Ưu việt hơn nhiều so với công nghệ đèn điện tử về hiệu quả, kích thước, năng lượng

Tốc độ hàng chục nghìn phép tính/s

Công nghệ nhớ chủ yếu dùng xuyến ferit, đía từ, băng

Bắt đầu có hệ điều hành

Máy tính đầu tiên của Việt Nam. MISK 22, 1968

UNIVAC một trong các máy tính thế hệ 2

Page 17: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THẾ HỆ THỨ III (1964 – 1970)

IBM/360 Công nghệ: vi điện tử

Tốc độ hàng triệu phép tính/s

Công nghệ nhớ: xuyến ferit, màng mỏng, bán dẫn

Module hoá cao

Hệ điều hành hoàn thiện

Sử dụng tập thể

Thế hệ thứ I

Thế hệ thứ II

Super ComputerMicro Computer

Thế hệ thứ III

Thế hệ thứ IV

Page 18: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THẾ HỆ THỨ IV: CÓ HAY KHÔNG ?

Không có cách mạng (bán dẫn) nhưng có đột phá về công nghệ, sử dụ

Hai hướng cùng phát triển:– Vi thể hoá: micro-computer

– Siêu máy tính: super-computer

Thế hệ thứ I

Thế hệ thứ II

Super ComputerMicro Computer

Thế hệ thứ III

Thế hệ thứ IV? Thế hệ thứ V

Page 19: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

MICRO – MINI – MAINFRAME - SUPER COMPUTER

Mainframe Computer IBM z10

Mini Computer IBM RS6000

Micro Computer IBM Thinkpad T61

Super Computer IBM Blue Gene/P

Page 20: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

MÁY VI TÍNH

Ông Trương Trọng Thi và chiếc máy vi tính đầu tiên Micral

Alain Teissonier và chiếc máy vi tính đầu tiên của Việt Nam chế tạo năm 1979

Page 21: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

SIÊU MÁY TÍNH

Cray supercomputer những năm 70 với kiến trúc lạ mắt để đảm bảo việc làm lạnh được tối ưu

TITAN CRAY XK7- Top 2 siêu máy tính năm 2013, 560640 lõi, tốc độ 17590 Tflops, Memory 7101344 GB, công suất 8209 KW

Page 22: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

THẾ HỆ THỨ V, VI ?

Khi chưa định hình thế nào là thế hệ thứ IV thì người Nhật đã khởi động chương trình máy tính thế hệ thứ V với đầu tư 10 tỉ đôla

Chương trình này sau 10 năm được xem là thất bại vì phần cứng không đáp ứng được kỳ vọng

Thành công của nó là để lại các thành quả trong lĩnh vực trí tuệ nhân tạo

Người ta nói thế hệ thứ VI là các máy tính sinh học, nhưng đến nay hầu như chưa có kết quả gì đáng kể

Có nhiều nghiên cứu về máy tính lượng tử (quantum computer), các kết quả chưa khả quan

Page 23: Bài 3 NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY TÍNH ĐIỆN TỬuet.vnu.edu.vn/~tqlong/2016thcs1/lec03.pdf · Bộ số học và logic ... các bộ xử lý đa nhân, có nhiều

HẾT BÀI 3. NGUYÊN LÝ HOẠT ĐỘNG CỦA MTĐT

CẢM ƠN ĐÃ THEO DÕI BÀI GIẢNG