Thanh ghi n Show ằ m bên trong CPU tùy theo đ ộ i dài 8 hay 16 bít vàtùy theo ch ứ c năng.Khi đó, thanh ghi đ ượ c dùng đ ể ch ứ a d ữ li ệ u, l ư u tr ữ d ữ li ệ u, k ế t qu ả trung gian c ủ amáy tính ho ặ c đ ơ n v ị đ ị a ch ỉ b ộ nh ớ 8088 có 14thanh ghi đ ượ c chia làm 5 nhómI. Nhóm thanh ghi đa d ụ ng : (General Register)G ồ m 4 thanh ghi đa d ụ ng : AX,BX,CX và DX (có 16 bít)Công d ụ ng chung c ủ a các thanh ghi này là : dùng trong các phéptoán s ố h ọ c, logic, ch ứ a d ữ li ệ u.M ộ t thanh ghi 16 bít có th ể đ ượ c xem là 2 thanh ghi 8bít vàchúng đ ượ c chia nh ư sau : Thanh ghi16 bít 2 thanh ghi 8 bít\=========================Byte cao Byte th ấ pAX AH ALBX BH BLCX CH CLDX DH DL\==========================Ví d ụ :AX = 0x1234AH = 0x12AL = 0x34M ỗ i thanh ghi còn có nh ữ ng công d ụ ng riêng c ủ a nó :a. Thanh ghi AX : (Auxliary Register)Công d ụ ng riêng dùng trong các phép toán s ố h ọ c, l ư u k ế tqu ả c ủ a các phép toán *, chia, ...b. Thanh ghi BX : (Base Regiser)Dùng trong phép đ ị nh đ ị a ch ỉ c ơ s ở c ủ a b ộ nh ớ , nó đóng vaitrò nh ư 1 thanh ghi đ ị a ch ỉ offset c ủ a b ộ nh ớ
ể ch ứ a s ố vòng l ặ p trong ch ươ ng trình, nó đóng vaitròn nh ư m ộ t bi ế n đ ế m cho vi ệ c l ặ p vòng. Ngoài ra, thanh ghiCL còn đ ượ c dùng trong các phép d ị ch chuy ể n v ớ i s ố l ầ n d ị chchuy ể n là n ộ i dung c ủ a thanh ghi CL.d. Thanh ghi DX : (Data Regiser)Dùng đ ể l ư u tr ữ k ế t qu ả c ủ a phép toán * ho ặ c /, đ ị nh đ ị a ch ỉ c ổ ng trong các l ệ nh xu ấ t nh ậ p c ổ ng.II. Nhóm thanh ghi đo ạ n : (Segiment regiset)G ồ m 4 thanh ghi : CS, DS, ES, SSa. Thanh ghi CS : (Code Segment)Dùng đ ể ch ứ a đ ị a ch ỉ Segment c ủ a đo ạ n mã c ủ a đo ạ n mãch ươ ng trình.b. Thanh ghi DS : (Data Segment)Ch ứ a đ ị a ch ỉ Segment c ủ a đo ạ n d ữ li ệ u
ứ a đ ị a ch ỉ Segment c ủ a đo ạ n d ữ li ệ u b ổ sung. Nh ư v ậ y n ế uta có hai đo ạ n d ữ li ệ u thì m ộ t s ẽ do thanh ghi DS và hai s ẽ dothanh ghi ES qu ả n lýd. Thanh ghi SS (Stack Segment)Dùng l ư u đ ị a ch ỉ Segment c ủ a đo ạ n StackB ố n thanh ghi này có th ể truy xu ấ t trên b ố n đo ạ n khác nhau.Nh ư v ậ y m ộ t ch ươ ng trình làm vi ệ c cùng m ộ t lúc t ố i đa là b ố nđo ạ nIII. Nhóm thanh ghi con tr ỏ và ch ỉ m ụ c :a. Thanh ghi SI : (Source Index)Dùng đ ể tr ỏ đ ế n ô nh ớ trong đo ạ n d ữ li ệ u đ ị nh b ở i thanh ghiDS, trong x ử lí chu ỗ i thanh ghi SI dùng đ ể tr ỏ đ ế n đ ị a ch ỉ b ắ tđ ầ u c ủ a chu ỗ i ngu ồ nb. Thanh ghi DI : (Distination Index)Dùng đ ể tr ỏ đ ế n ô nh ớ có đ ị a ch ỉ Segment đ ị nh b ở i thanh ghiES, trong x ử lí chu ỗ i nó dùng đ ể tr ỏ đ ế n đ ị a ch ỉ c ủ a chu ỗ i đíchc. Thanh ghi SP : (Stack pointer)Dùng đ ể tr ỏ đ ế n ph ầ n t ử ở trên đ ỉ nh c ủ a Stackd. Thanh ghi BP : (Base pointer)Dùng trong phép đ ị nh đ ị a ch ỉ c ơ s ở , trong vi ệ c truy xu ấ tph ầ n t ử trên Stack. Nó đ ượ c dùng trong các phép g ọ i ch ươ ngtrình cone. Thanh ghi IP : (Instruction Pointer)Ch ứ a đ ế n đ ị a ch ỉ ô nh ớ đ ượ c đ ị nh b ở i thanh ghi CS đ ể ch ỉ đ ế n mã l ệ nh c ủ a ch ươ ng trình. Khi th ự c thi m ộ t l ệ nh CPU s ẽ t ự đ ộ ng thay đ ổ i n ộ i dung c ủ a thanh ghi IP đ ể tr ỏ đ ế n l ệ nh k ế ti ế pc ủ a ch ươ ng trình, thanh ghi này không b ị tác đ ộ ng tr ự c ti ế p b ở icác l ệ nh. Vì v ậ y, nó th ườ ng không có m ặ t trong nh ữ ng l ệ nh c ủ ah ợ p ng ữ .Nh ữ ng c ặ p thanh ghi th ườ ng đi chung :DS : SIES : DISS : SPSS : BPCS : IPIV. Thanh ghi c ờ :M ụ c đích c ủ a vi ệ c s ử d ụ ng c ờ là vi ệ c ch ỉ ra tr ạ ng thái c ủ a CPU.Đ ể làm đ ượ c đi ề u đó b ộ vi x ử lí đã dành riêng ra m ộ t thanh ghig ọ i là thanh ghi c ờ . Nh ữ ng bit trên thanh ghi này đ ượ c g ọ i là cácc ờ . Có hai lo ạ i c ờ : C ờ tr ạ ng thái, c ờ đi ề u khi ể nC ờ tr ạ ng thái ph ả n ánh k ế t qu ả c ủ a phép toánC ờ đi ề u khi ể n dùng đ ể cho phép hay không cho phép m ộ t thao tácnào đó Chúng ta ch ỉ quan tâm đ ế n nhóm c ờ tr ạ ng thái g ồ m 6 c ờ là :CF, AF, SF, OF, PF, ZF.a. C ờ CF : (Carry Flag) " C ờ nh ớ "C ờ CF đ ượ c b ậ t lên m ộ t n ế u k ế t qu ả c ủ a phép toán có m ượ nhay có nh ớ đ ố i v ớ i bít caob. C ờ AF : (Awiliary Flag) " C ờ nh ớ ph ụ "B ậ t lên m ộ t khi có m ượ n hay có nh ớ ở bít 3c. C ờ SF : (Sign Flag) " C ờ d ấ u "C ờ SF đ ượ c b ậ t lên m ộ t n ế u nh ư k ế t qu ả c ủ a m ộ t phép tính cóbít cao nh ấ t b ằ ng m ộ t (s ố âm)d. C ờ OF : (Over Flag) " C ờ tràn "Đ ượ c b ậ t lên m ộ t n ế u nh ư k ế t qu ả c ủ a phép toán có d ấ u b ị saiVí d ụ :01010000 = AL (d ươ ng)+ 01110000 = BL (d ươ ng)11000000e. C ờ PF : (Parity Flag) " C ờ ch ẵ n le "C ờ PF đ ượ c b ậ t lên m ộ t n ế u nh ư k ế t qu ả c ủ a m ộ t phép toán cót ổ ng 8 bít th ấ p là m ộ t s ố ch ẵ nf. C ờ ZF : (Zero Flag)ZF = 1 n ế u nh ư k ế t qu ả c ủ a phép toán b ằ ng khôngVí d ụ :AX = FFFFh+BX = FFFFh1FFFEh Các thanh ghi trong CPU có chức năng gì?Thanh ghi là các vị trí lưu trữ bộ nhớ tốc độ cao, có kích thước nhỏ trong CPU. Chúng chứa dữ liệu mà CPU hiện đang xử lý và tạo điều kiện truy cập nhanh vào dữ liệu. CPU có một số loại thanh ghi như sau: Thanh ghi thông dụng chứa dữ liệu hoạt động. Thanh ghi dữ liệu là gì?Thanh ghi dữ liệu được dùng để lưu số nguyên (xem thanh ghi số thực dưới đây). Trong một số bộ CPU hiện nay và trước đây, có một thanh ghi đặc biệt là thanh ghi tích lũy tích lũy, được dùng cho nhiều tính toán. Thanh ghi địa chỉ chứa địa chỉ bộ nhớ và được dùng để truy cập bộ nhớ. Thanh ghi được sử dụng để lưu trữ tạm thời các từ được gọi là gì?Trong tin học, cache (/ˈkæʃ/ KASH) là bộ nhớ đệm chứa dữ liệu, các dữ liệu được nằm chờ yêu cầu từ ứng dụng hoặc phần cứng. Thanh ghi chỉ số là gì?Các thanh ghi chỉ số (Index Register) thường được dùng để đánh chỉ số cho các địa chỉ của mảng, xâu. Đôi khi sẽ được sử dụng trong các phép tính số học. ESI và EDI cũng được chia thành các thanh ghi 16 bit SI và DI. ESI và SI (Source Index) được sử dụng làm địa chỉ nguồn cho các phép toán với xâu. |