Title: By Juthawut Chantharamalee
1Computer Architecture and Assembly Language
- By Juthawut Chantharamalee
Suan Dusit Rajabhat University (Computer Science)
2????? 4 ???????????????????????????????(Introducti
on to computer architecture)
????? 2
Suan Dusit Rajabhat University (Computer Science)
3????
- ?????????????????????????????????????????? (CPU)
??????????? (Memory) ???????????????? (Input
Units) ???????????????? (Output Unit)
??????????????????????????????????????????????????
? ???????????????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
44.1 ?????????????????
- ???????????????????????????????????????????? ?
????????????????? ???????????????????????????????
?????????????????????? ?????????????????????????
??????????????????????????? ?????????????????????
???????????????????????????????? (fetch)
??????????????????????????????????????????
(decode) ?????????????????????????????????????????
????????????????????????????? (excute)
??????????????????????????????????????????????????
??????????? ???????????????????????????????? 4.1
Suan Dusit Rajabhat University (Computer Science)
5??? 4.1 ???????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
64.1 ?????????????????
- ????????????????????????????????????
(instructions) ??????????????????????????????????
????? ??????????????????????????????????????????
?????????????????????????????????????????????
????????????????????????????????????????????????
??? Stored Program Architecture
??????????????????????????? (von Neumann
Computer) ???????????????????????? John von
Neumann
Suan Dusit Rajabhat University (Computer Science)
74.1 ?????????????????
- ??????????????????????? ????????????????????????
????? ? 2 ??????? ???? Opcode ???????????????????
???????????????????? ??????? Operand
??????????????????????????????????????????????????
???? opcode - ???????????????????????????????????????????????
????????????????????? ????????????? von Neumann
????????????????????????????????????????????????
?????????????????? J.Presper Eckert ??? John
Mauchly ??????????????????????????????????????????
??????????????? ??????????? ?????????????????????
??????????????????????????????????????????????????
?? ??????????????????????????????????????????????
??????????????????????????????????????
????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
84.2 ???????????
- ?????????????????????????????????????????????????
?????????????????? ??????????????????????????????
?????????????????????????????????????????????
??????????? 8 ??? ???? 1????
??????????????????????????????????????? ?
????????????????????? ? ???? 8 ???????????????????
?? ????????? ? ???????????????????????????
????????????????????????????????????????????????
???????????????????????????????????????
????????????????????? ??????? (Address)
???????????????????????????? ???????
????????????????????????????????????????????????
??????????????????????? ???????
???????????????????????????
Suan Dusit Rajabhat University (Computer Science)
94.3 ?????????????????????????????? ?
- ??? (Bus) ??????????????
- ??????????? ? ????????????????????????????????????
????? ?????????????? ??? ??????????? ?
?????????????????????????????????????????????????
??????
??? 4.2 ?????????????????????????? ? ???????????
Suan Dusit Rajabhat University (Computer Science)
104.3 ?????????????????????????????? ?
- ?????????? (Address bus)
- ????????????????????????????????????????????????
???????? ? ?????????? ?????????? ?
??????/???????????????????????? ?
????????????????????????? ???????????????????????
??????????????????????????????????????????????????
????????????????????? ????????????????????
???????????????????????????????????????
??????????????????????????????????????????????????
??????????????????? ? ???????????? ???????????
??????? I/O address ?????????????????????????????
??????????????????????????????????????????????????
????????????????????????????????
???????????????????? ???????????????????? I/O
??????????????????????????????????????????????????
???? ?????????????????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
114.4 ???????????????????????????????????????? 80x86
- 4.4.1 ??????????
- ?????????????????????? 80x86 ???????????????????
?????????????????????? Intel ????????????????????
?????? 4040 ???????????????????????????? 4 ???
?????????????????????????????????????????????????
?? Pentium ??????????????? ?
??????????????????????????? ? ??????????????? - 8086 ???????????????????????? 16 ??? ??????????
Intel ???????? ???????????????????????? 1 MB
????????????????????? 16 ??? - 8088 ????????????????????????????? ?
????????????????????? 8 ??? ?????? Intel
?????????????????????????? 8088
???????????????????????????? 8086
?????????????????????????????????? 8 ???
Suan Dusit Rajabhat University (Computer Science)
124.4 ???????????????????????????????????????? 80x86
- 80186 ????????????????????????????????????????????
???????????????????? ????????????????????????????
???????????????? ? - 80286 ????????????????????? 16 ???????????????????
?????????????? ????????????????????????????????
24 ???????? ??????????????????????????????????????
??????? - 80386 ????????????????????? 32 ???
????????????????????? 4 ????????
????????????????????????????????????????????
???????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
?????????????? ???? Windows 95 ???????????????????
???????????????????????? ?????????????????????????
?????
Suan Dusit Rajabhat University (Computer Science)
134.4 ???????????????????????????????????????? 80x86
- 80386SX ????????????????????????????????????????
????? 80386 ?????????????????????? 16 ???
??????????????????????????????????????????????????
??????? 8088 - 80486 ????????????????? 80386 ??????????????????
Intel ????????????????????????????????? - 80486SX ????????????????????? 80486
????????????????????????????????????????????????? - Pentium, Pentium Pro, Pentium II ?????????????????
??????????????????? Intel ???????????????????????
???????????????????? ??????????????????? ?
?????????????????????????? ??????????????????????
?????? ???????
Suan Dusit Rajabhat University (Computer Science)
144.4 ???????????????????????????????????????? 80x86
- ???????????????????????????? 80x86 ????
??????????????????????????????????????????????????
? ????????????????? ?????? 68000 ??? PowerPC
?????????????????? ?????? Alpha ????????? DEC
????????? Sparc ????????? Sun Microsystem ??????? - ??????????????? ?????????????????????????????????
??????????? 8086 ????????
Suan Dusit Rajabhat University (Computer Science)
154.4.2 ??????????????????????????????? 8086
- ???????
- ???????????????? 8086 ???????????????? 20 ???
????????????????????????? 1 ????????
?????????????????? 16 ??? ???????????????????????
??????????????????? 2 ???? ??????????????????????
?????????????????????? 8086 ??????????????????????
???????? 16 ??? ???????????????????????????????
8086 ?????? 16 ???
Suan Dusit Rajabhat University (Computer Science)
164.4.2 ??????????????????????????????? 8086
- ????????????????????
- ?????????????????? 8086 ???????????????? 16
??? ??????????????????? 20 ???
??????????????????????????????????????????????????
??????????????????????????????????????????????????
?????? ??????????????????????????????????????????
????????? 8086 ????????????????????????? 2 ???
?????????????????????? ???????? ???????
(segment offset) ????????????????? (physical
address) ???? 20 ??? ?????????????????????????????
? 16 ??? 2 ??? ???????????????????????????????????
????????? (segment) ?????????????????????????????
?????????????????? (offset)
Suan Dusit Rajabhat University (Computer Science)
174.4.2 ??????????????????????????????? 8086
- ????????????????????????????????????????????
??????????? ??????????????????????????????????????
??????????????????? ? ???????????????????????????
???????? ??????????????????????????? ?
????????????????????????????????????????????
??????????????????????????????????????????????????
???????????????????????????
Suan Dusit Rajabhat University (Computer Science)
184.4.2 ??????????????????????????????? 8086
- ????????????????????????????????? ????????
??????? ??????????????? 20 ??? ??????????????? - 1. ???????????????????????????????? 4 ???
???????????????? 16 ??? ?????????????? 20 ???
????? 4 ????????????? 0 ????????? - 2. ???????????????????????????????????????????????
???? ???????????????? 20 ??? ????????????????????
??????????????????? ??????????????????????????????
4.3
Suan Dusit Rajabhat University (Computer Science)
19??? 4.3 ???????????????????????????? ???????
???? Address 20 Bits
Suan Dusit Rajabhat University (Computer Science)
204.4.2 ??????????????????????????????? 8086
- ???????????????????????????? ???????? ???????
???????????????????????????? 8086
????????????????????????? ? ??????????????????????
????? ????????????????????????????? 64 ????????
?????????????????????? 64 ???????????????????
???????? ????????????????????????????? ?
??????????????????????????????? ?
??????????????????????????????? 4.4
Suan Dusit Rajabhat University (Computer Science)
21??? 4.4 ??????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
224.4.2 ??????????????????????????????? 8086
- ??????????????????????????? ? ????????????????????
???????????? 8086 ????????????????????????????????
??????? ????????????????????????????? ?
??????????????????????????????????????????????????
????? ?????????????????? 8086 ????????????????????
??????????? 4 ????????????????????????????????? ?
??????????????????????????? ??????????????????????
???????? ?????????????????? ?????????? CS (Code
segment) DS (Data segment) ES (Extra segment)
??? SS (Stack segment) ?????????????????????? 4
?????????????????????????????????? ?
??????????????????? ??????? (code) ?????? (data)
???????? (stack) ?????????????? ES
??????????????????????????????????????????????????
?????????????????? ???? ??????????????????????
Suan Dusit Rajabhat University (Computer Science)
234.4.2 ??????????????????????????????? 8086
- ?????????????????????? ??????????????????????
8086 ??????????????????????????????? 1 ????????
??????????????????????????????????????????????????
? ??????????? 4 ???????????????? ???????
?????????????????? ????????????????? 2
???????? ??? ????????????????
Suan Dusit Rajabhat University (Computer Science)
244.4.2 ??????????????????????????????? 8086
- ????? (Stack)
- ??????????????????????????????????????? 8086
??????????????????????????????????????????????????
???? ?????????????????????????????????????????????
SS ????????????????????????????????????????????
???????????????????????????????????????????-??????
??? (First In Last Out FILO)
??????????????????????????????????????????????????
?????????????????????????????????????????
??????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????
???????????????????????????????????
??????????????????????????????????????????????????
???????????????
Suan Dusit Rajabhat University (Computer Science)
254.4.3 ????????????????????????????????????????????
- ??????????????????????????????????????? (ALU)
- ???????????????? 8086 ?? ALU ?????????????????????
?????? 16 ??? ????????????????????????????????
16 ?????? ????????????????????????????? 8086
??????????????????????????? 16 ??? - ??????????????????? (?????????? - Register)
- ???????????? 8086 ?????????? 16 ??? ??? 8 ???
?????????????????? ? ?????????
Suan Dusit Rajabhat University (Computer Science)
264.4.3 ????????????????????????????????????????????
- 1.???????????????????????????? (General-Purpose
Registers)
Suan Dusit Rajabhat University (Computer Science)
274.4.3 ????????????????????????????????????????????
- ???????????????????? 4 ?????? ????????????????????
?????????????????? ????????????????? ???? ? ???
????????????????????? ? ?? - 2. ??????????????????????? (Index Register)
- ???????????????? 8086 ?????????????????????????
2 ??? ??? SI (Source Index) ??? DI (Destination
Index) ?????????????????????????????????????????
???????????? ?????????????????????????????????
?????????????????????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
284.4.3 ????????????????????????????????????????????
- ?????????????????????? (Pointer Register)
????????????????????? SP ??? BP ?????????? SP
?????????????????????? SS ???????????????????????
??????????? ?????????? BP ?????????????
???????????????????????????????????
????????????????????????????????????????????????? - 3. ?????????????????? (segment register)
- ?????????????????????? 4 ?????? CS DS ES ???
SS ????????????????????????? ??????????????????
??????? ??????????? ??????????? ??? ?????
????????
Suan Dusit Rajabhat University (Computer Science)
294.4.3 ????????????????????????????????????????????
- 4. ????? (flag)
- ???????????????? 8086 ????????????????????????????
??????????????????????? ????? - 5. ?????????????? ? ???????
- ????????????????????????? ? ??????????????????????
?????????????? ???????????????????????????????????
????????????????????????????????
???????????????????? ???? IP ???????????????????
?????????????? CS ????????????????????????????????
??????? ???? IR ???????????????????????????????
??????????????????????????? (fetch)
????????????????????
Suan Dusit Rajabhat University (Computer Science)
304.4.4 ??????????????????
- ???????????????? 8086 ????????????????????????????
? ?????????????? ? ??? 8086 ?????????????????
?????????????? ?????????????????? (Addressing
mode) ????????????? 8086 ???????????????????????
??????? ? ??? 3 ????????? ? ???
?????????????????????????????????
????????????????????????????????????
?????????????????????????????????????
??????????????????????????????????????????????????
?????????????? ? ??
Suan Dusit Rajabhat University (Computer Science)
314.4.5 ???????????????? (Interrupt)
- ???????????????? ????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????????
??? ??????????????????????? ????
?????????????????????????? ????
????????????????????????????????????????????????
??????? ????????????????????????????????????????
????????? ????????????????????????????????????????
????????????????????? ???????????????????????
????????????????????????????? ????????????????????
?? ??? ??????????????????????
??????????????????????????????????????????????????
???????? ? ??????? ??????????????????????????????
??????????????????????????????????????????????????
??? ???? ?
Suan Dusit Rajabhat University (Computer Science)
324.4.6 ?????????????????????????????????????
- ???????????????? ????????????????
??????????????????????????????????????????????
??????????????????????????????????????????????????
??? ??????????????????????? ????
?????????????????????????? ????
????????????????????????????????????????????????
??????? ????????????????????????????????????????
????????? ????????????????????????????????????????
????????????????????? ???????????????????????
????????????????????????????? ????????????????????
?? ??? ??????????????????????
??????????????????????????????????????????????????
???????? ? ??????? ??????????????????????????????
??????????????????????????????????????????????????
??? ???? ?
Suan Dusit Rajabhat University (Computer Science)
334.4.6 ?????????????????????????????????????
- ??????????????????????????????????????????????????
????????????????? ??????????????????????????????
??????????????????????????????????????????????????
?????? 2-3 ?????????????? ??????????????????????
??????????????????????????????????????????????????
???????????????????????
Suan Dusit Rajabhat University (Computer Science)
344.4.6 ?????????????????????????????????????
- ?????????????????????????????
- ???????????????? RISC
- ???????????????????????????????????????????????
CISC Complex Instruction Set Computer
??????????????????????? ? ??????????????????
??????????????????????????????????????????????????
?????????????????????? ???????????????????????
????????????????? RISC Reduced Instruction Set
Computer ?????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
?????????????????????????????????????? (Pipeline)
?????????????????? (Superscalar)
??????????????????????????????????????????????????
??
Suan Dusit Rajabhat University (Computer Science)
354.4.6 ?????????????????????????????????????
- ?????????????????????????????
- ???????? (Pipeline)
- ???????????????????????????????????????????????
??????????????? fetch decode ??? exeute
????????????????????????? 4.5?????????????????????
???????????????????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
36??? 4.5 ??????????????????????????????????????????
????
??????????????????????????????
??????????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
374.4.6 ?????????????????????????????????????
- ?????????????????????????????
- ?????????????? (Superscalar)
- ?????????????????????????????????????????
???????????????????????????????????????????
??????????????????????????????????????????????????
???????????? ??????????????
Suan Dusit Rajabhat University (Computer Science)
384.4.6 ?????????????????????????????????????
- ???????????????
- ??????????????????????? ??????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
????????? ?????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????
????????????????????????????????????????????
(Bottleneck problem) ???? ??????????????????????
??????????????????????????????????????????????????
???????? ????????????????????????????????????????
?????????? ????????????????? (von Neumann
Bottleneck)
Suan Dusit Rajabhat University (Computer Science)
394.4.6 ?????????????????????????????????????
- ??????????????????????????????????????????????????
????????????????????????????? (???????????????????
?) ??????????????????????????????????
??????????????????????????????????????
?????????????? (cache memory) ????????????????????
??????????? ??????????????????????????????????????
?????????????????? ?????????????????????????????
????????????????????? 4.6
Suan Dusit Rajabhat University (Computer Science)
40??? 4.5 ?????????????????????????????????????
Suan Dusit Rajabhat University (Computer Science)
41????
- ???????????????? (Micro Architecture)
????????????? ????????????????????????????????????
???????????????????????? ????????????????
??????????????????????????????????????????????????
(John Von Neumann ) ?????????????????????????????
????????????? ?????????????????????
??????????????? ???????????????????? 3
??????????????? ????????????????? (Central
Processing Unit), ??????????? (Main Memory) ???
??????????????????????????? (Input/Output)
Suan Dusit Rajabhat University (Computer Science)
42????
- ???????? ?????????????????? ????????????????????
???????????? ?????????????????????????????????????
? ???????????????????????????? ???????????????????
??????????????????????????????????????????????????
???????????????????????????????????????
??????????????????????????????????????????????????
???????????? ?????????????????????????????????????
?????? ???????????????????????????????????????????
??????????????????????????? ????????????
??????????????????? ??? ??????????????????????
?????????? ???????????? ? ????????????????????????
??? ??????????????????????????????
????????????????????????? 80x86 ????????? 3
?????????????? ??????? (Data Bus) ??????????
(Address Bus) ????????????? (Control Bus) ???????
Suan Dusit Rajabhat University (Computer Science)
43The EndLesson 4
Suan Dusit Rajabhat University (Computer Science)