Professional Documents
Culture Documents
Ch1-2 IntroductionRAM
Ch1-2 IntroductionRAM
Ch1-2 IntroductionRAM
ch mn h
hc
a Computability Theory deals with one of the most
What is computing?
phkhanh@dut.udn.vn,
phkhanh@dut.udn.vn, khanhph29@gmail.com
If the human brain was so simple
that we could understand it,
then we would be so simple that we could not
(L. Watson)
Ti li
liu tham kh
kho
a Gi
Gio tr
trnh L thuy
thuyt T
Tnh to
ton PDF
a Web (l
(l kh
kh):
V
V
V
V
http://ebhttp://ebdl.edu.net.vn:8080/resources/iportal/ebook/uploads/Library/
LyThuyetTinhToan.pdf
http://wwwhttp://www-courses.cs.uiuc.edu/~cs375/
www.cs.berkeley.edu/~vandam/CS172/
http://www.ebook.edu.vn/
Computability | Decidability
Ni dung mn h
hc
Chng 1 - C s
s ca mn h
hc
Chng 1 M
u C s
s ca mn h
hc
a u l
l gi
gii h
hn c
ca Tin h
hc ?
Chng 2 M h
hnh c
cc m
my RAM
a Nh
Nhng ch
ch
ch
chnh c
ca Tin h
hc l thuy
thuyt
Chng 3 My Turing
a Mt s
s ki
kin th
thc tin quy
quyt
Chng 4 Cc h
hm
quy
a Nh
Nhc l
li L thuy
thuyt ngn ng
ng hnh th
thc v
v tmat
Chng 5 Cc m h
hnh t
tnh to
ton kh
khc
a Kh
Khi ni
nim m
my tr
tru t
tng
a Kh
Khi ni
nim m h
hnh t
tnh to
ton
5/76
5/76
LTTnhTon_Ch1.M u Ch2.RAM
6/76
6/76
u l
l gi
gii h
hn c
ca Khoa h
hc ?
u l
l gi
gii h
hn c
ca Tin h
hc ?
a Gi
Gii h
hn c
ca Vt l :
a Nghin c
cu v
v bi to
ton (Problem) :
V Lp
V L i
c
cc b
bi to
ton gi
gii
c (Resolvability)
gi
gii, hay thu
thut to
ton, gi
gii b
bi to
ton
V Lp
c
cc b
bi to
ton khng gi
gii
c
(v
(v s khng bao gi
gi gi
gii
c,
d vi s
s ti
tin b
b ca cng ngh
ngh thng tin trong tng lai)
lai)
a Nghin c
cu l thuy
thuyt c
cch gi
gii c
cc b
bi to
ton
Chuy
Chuyn
ng v
vnh c
cu (Perpetual Motion) :
Chuy
Chuyn
ng khng ng
ngng m
m khng c
cn tiu t
tn nng l
lng
V M
h
hnh t
tnh to
ton ?
ph
phc t
tp t
tnh to
ton ?
V B i
to
ton quy
quyt
nh (Decision Problem) :
Khng t
tn t
ti v
v :
mu thu
thun v
vi c
cc
nh lu
lut v
v nhi
nhit
ng l
lc h
hc
8/76
8/76
Mt s
s ki
kin th
thc tin quy
quyt
Nh
Nhng ch
ch
ch
chnh c
ca Tin h
hc l thuy
thuyt
a Nghin c
cu c
cc m h
hnh t
tnh to
ton :
V C c
ngn ng
ng hnh th
thc (Formal Languages)
V C c
tmat h
hu h
hn (Finite Automaton)
V My
V My
V C c
h
hm
quy (Recursive Functions)
ph
phc t
tp t
tnh to
ton (Computational Complexity)
V Mt
V V
a Ki
Kin th
thc to
ton h
hc c s
s
m h
hc (Cryptology)
cc h
hng nghin c
cu m
mi trong l thuy
thuyt t
tnh to
ton
Lg
Lgch h
hc
Tp h
hp, quan h
h
nh x
x
Tnh
m
c c
ca c
cc t
tp h
hp v h
hn
th
th v cy
Ph
Php ch
chng minh quy n
np
Cc c
cu tr
trc r
ri r
rc
a Mi quan h
h gi
gia cc m h
hnh t
tnh to
ton kh
khc nhau
a Mn h
hc L thuy
thuyt Ngn ng
ng Hnh th
thc v
v tmat
a C s
s
thi
thit k
k MTT (ph
(phn c
cng) v
v
a Ki
Kin th
thc CNTT n
ni chung
thu
thut to
ton (ph
(phn m
mm) hi
hin t
ti v tng lai
lai
a Ki
Kin th
thc th
thc ti
tin v
v ng d
dng
9/76
9/76
10/76
10/76
Tnh
m
c c
ca c
cc t
tp h
hp v h
hn
Ph
Php ch
chng minh t
tnh
m
c
a ch
chng minh A l tp h
hp v h
hn
m
c,
cn xy d
dng m
mt ph
php song nh gi
gia A v
v (s t nhin)
a Cho A l
l mt t
tp h
hp :
V
Nu A c
c hu h
hn ph
phn t
t th
th A
c g
gi l
l m
c
hay li
lit k
c (Enumerable)
S ph
phn t
t ca A gl bn s
s (l
(lc l
lng) c
ca A,
k hi
hiu card(A)
a V d :
V
Khi
, card(A) = card(B)
v tn t
ti nh x
x 1-1 gi
gia A v
v B
a Cho A, B l
l hai t
tp h
hp
m
c, khi
c th
th :
V
Tp h
hp c
cc s
s ch
chn l
l
m
c :
Cc s
s hu t
t dng b v
vi b
b0 l
m
c :
0
1
1
2
1
3
{ ( , 0), ( , 1), ( , 2), ( , 3), ( , 4), ( , 5), ... }
1
1
2
1
3
1
A v
v B c
c cng b
bn s
s nu song nh :
card(A) = card(B)
A = { i | i ch
chn }, B =
Nu A B th
th
card(A) < card(B) K < , K (Natural Number Set)
a Tham kh
kho Uncountable Set Of Languages
11/76
11/76
LTTnhTon_Ch1.M u Ch2.RAM
12/76
12/76
L thuy
thuyt ngn ng
ng hnh th
thc v
v tmat
Free Languages
Languages accepted by
Turing Machines
Context-Sensitive
anbncn ?
ww ?
a L thuy
thuyt ngn ng
ng :
V
V
V
Ngn ng
ng : phng ti
tin/cng c
c giao ti
tip
Cch xy d
dng/t
ng/to m
mi ngn ng
ng
Cch bi
biu di
din (th
(th hi
hin) ngn ng
ng
a Cng c
c o
on nh
nhn ngn ng
ng : tmat
V
V
V
tmat h
hu h
hn
tmat
y xu
xung
My Turing
a Cng c
c sn sinh ngn ng
ng : Vn ph
phm
V
Context-Free Languages
a n b n wwR
PDA
Phn c
cp vn ph
phm c
ca N. Chomsky :
Regular Languages
Vn ph
phm ch
chnh quy
Vn ph
phm phi ng
ng cnh
Vn ph
phm c
cm ng
ng cnh
Vn ph
phm t
t do
a * a *b*
DFA
13/76
13/76
14/76
14/76
Cu trn b
bng ch
ch
Bng ch
ch v cu
a Bng ch
ch (Alphabet, Set of Letters), k hi
hiu :
V l tp h
hp h
hu h
hn c
cc ch
ch (letters),
V hay l
l cc k t
t (symbols, hay characters)
a Bn s
s (Cardinality) hay lc l
lng :
V L s l
lng c
cc k t
t ca , k hi
hiu ||
||||
l dy h
hu h
hn c
cc k t
t ca ,
c vi
vit lin ti
tip nhau
a di (length) c
ca cu :
V
a V d bng ch
ch :
l s cc k t
t c mt trong cu
a Cu r
rng (empty word) :
{#}
|| = 1
Unary Alphabet
{ 0, 1 } ho
|| = 2
Binary Alphabet
hoc { a, b }
{ , , , }
|| = 4
{0, 1, 2, ... , 9}
Ch s thp phn, || = 10
{I, V, X, L, C, D, M}
Ch s La M
{aA, bB, cC, ... , zZ}
Ch ci La tinh
{, , , ... , } ch ci Hi Lp
Bng m ASCII, bng cc nt ch Hn :
l cu c
c
di 0 (khng ch
cha k t
t no)
k hi
hiu
a Gh
Ghp (concatenation) cu :
V
l t k
k ti
tip cc cu cho
(trn c
cng dng)
nh
nhn
c m
mt cu m
mi
15/76
15/76
* : t
tp h
hp m
mi cu trn
Th t phn cp trong *
a V d : = {a, b, c}, v
vi gi
gi thi
thit a < b < c :
a Cho tr
trc :
V
To sinh tu
tu c
cc cu b
bng c
cch gh
ghp lin t
tc, tu
tu
Ta nh
nhn
c m
mt t
tp h
hp ch
cha mi cu c
c th
th trn
K hi
hiu *
16/76
16/76
* l
l
m
c v
v ta c
c th
th
nh s
s (li
(lit k) t
tt c
c cc cu
ca * (k
(k c c r
rng ) b
bt
u t
t 1 tr
tr i :
a * gl m
mt cu tr
trc
ng
ng (Coequality)
V
Ph
Phn t
t trung ha (Neutral Element) l
l cu r
rng
a Quan h
h th
th t to
ton ph
phn (Total Order) trn * l
l :
V
th
th t phn c
cp (Hierechical
(Hierechical Order) theo
di cu
th
th t t vng (Lexicography), hay ABC, c
cc k t
t
17/76
17/76
LTTnhTon_Ch1.M u Ch2.RAM
B
i t
p : Vi
t o
n tr
nh C sinh ra {
ttp
Vi
o
tr
,,
,,
,, }** ?
Bi
Vit
on
trnh
18/76
18/76
Formal languages
AB = { xy | x
xA and y
yB }
a Typical examples:
19/76
19/76
20/76
20/76
A Word of Warning
Recognizing Languages
a Let L be a language
a A machine M recognizes L If
For example
Let A = {0,00} then
M
if and only if wL
reject
22/76
22/76
X l c
cc
i t
tng trong Tin h
hc
Kh
Khi ni
nim my tr
tru t
tng (Machine)
ai t
tng (Objects) :
ph
phn t
t (tr
(tru t
tng) thu
thuc nh
nhng t
tp h
hp v h
hn
m
c
D liu vo
aBi
Biu di
din i t
tng (Representation)
V S
dng dy h
hu h
hn c
cc k hi
hiu n
no
t tng ng
a M h
hnh IPO :
nh
nhn d li
liu v
vo (data) v
v cho kt qu
qu ra (result)
c bi
biu di
din
i t
tng b
bi cu (word)
trong m
ch (alphabet) h
hu h
hn n
no
mt bng ch
V Quy
a Hai c
cch nh
nhn :
aV d :
V C c
s
s nguyn trong h
h
m c s
s 10
Ph
Php c
cng hai s
s 1999 + 1 = 2000
Cch nh
nhn ch
chc nng (functional look)
Nh
n ngo
i
Nh
ngo
Nhn
ngoi
Cch nh
nhn cu tr
trc (structural look)
Nh
n trong
Nh
Nhn
trong
a Phn bi
bit c
cc ki
kiu m
my tr
tru t
tng (machine type)
V
V C c
chu
chui k t
t ASCII
Ph
Php gh
ghp hai chu
chui ni
ni + na
na = ni na
na
theo b
bn ch
cht c
ca k
kt qu
qu tnh to
ton
23/76
23/76
LTTnhTon_Ch1.M u Ch2.RAM
D liu ra
My
24/76
24/76
Ch
Chc nng o
on nh
nhn cu
Ch
Chc nng tnh to
ton
My t
tnh to
ton (Computation Machine)
V Gi
Gi s d li
liu v
vo w*,
kt qu
mt b
bng ch
ch no
qu ra l mt cu r trn m
V Khi
, m
my th
thc hi
hin t
tnh h
hm f t * v
vo * :
f : * *
Ngh
Ngha l
l w *, f(w) *
V Hm f
c g
gi l
l hm to
ton ph
phn (Total Function)
nu v
vi m
mi cu v
vo w*, m
my
u cho k
kt qu
qu f(w)*
My o
on nh
nhn cu :
V
Gi
Gi s d li
liu v
vo w*,
kt qu
qu ra r{0, 1}, hay {False, True }
Tp h
hp cu v
vo w gl ngn ng
ng (language)
C ba kh
kh nng cho k
kt qu
qu :
1. True ho
hoc False
2. Mt k
kt qu
qu kh
khc
3. Khng cho k
kt qu
qu no
Hai t
tp h
hp cu v
vo ng v
vi hai kh
kh nng
u l
l b nhau
nu m
my cho k
kt qu
qu cho m
mi d
d li
liu v
vo
Ng
Ngi ta c
cng n
ni ki
kiu m
my o
on nh
nhn
ch
ch l tr
trng h
hp
c bi
bit c
ca ki
kiu m
my t
tnh
25/76
25/76
26/76
26/76
Cch nh
nhn c
cu tr
trc (Structural Look)
M h
hnh t
tnh to
ton
a My
c x
xc
nh b
bi :
V
Mt t
tp h
hu h
hn c
cc ph
php to
ton
Mi ph
php to
ton m t
t mt ph
phn c
cu tr
trc c
ca m
my
My th
thc hi
hin (execution) m
mi ph
php to
ton
trong m
mt kho
khong th
thi gian h
hu h
hn v
v xc
nh
a nh ngh
ngha c
cc l
lp m
my c
c cng nguyn l ho
hot
ng
a Thay
i chng tr
trnh
gi
gii b
bi to
ton trn c
cng m
mt m
my
m khng thay
i m
my gi
gii
a M h
hnh t
tnh to
ton (Computation Model),
k hi
hiu T l
l s m t
t :
a Ph
Php to
ton s c
cp (Elementary Operation)
V
l ph
php to
ton nh
nh nh
nht (khng chia c
ct nh
nh hn)
hn)
a Chng tr
trnh (Pprogram) :
V
L tp h
hp c
cc ph
php to
ton s c
cp
gi
gii m
mt b
bi to
ton n
no
a Mt tnh to
ton (Computation) :
V
Tt c
c cc ph
php to
ton s c
cp
Nh
Nhng
i t
tng n
no c
c th
th tc
ng ph
php to
ton
Cch th
thc hi
hin chng tr
trnh trn m
my
a Mt tr
trng h
hp ring (instance) c
ca m h
hnh l
l my c
c th
th
M h
hnh + Chng tr
trnh = M
My
L vi
vic th
thc hi
hin l
ln l
lt c
cc ph
php to
ton s c
cp
theo m
mt th
th t xc
nh tr
trc
a M h
hnh t
tnh to
ton T
c g
gi l
l mt T
Tmy
27/76
27/76
Kh
Khi ni
nim b
bi to
ton (Problem)
Mt s
s v d bi to
ton (1)
a Mt bi to
ton
Bi to
ton 1 :
V D li
liu : Mt s
s nguyn vi
vit trong h
h 10
V Cu h
hi : S nguyn cho c
c l s nguyn t
t hay khng ?
Bi to
ton 2 :
V D li
liu : Mt s
s nguyn vi
vit trong h
h 10
V Cu h
hi : S nguyn n
ny
c vi
vit d
di d
dng
Cn gl bi to
ton quy
quyt
nh (Decision Problem) :
V
M t
t cch bi
biu di
din (h
(hu h
hn) c
cc ph
phn t
t
ca m
mt t
tp h
hp h
hu h
hn hay v h
hn
m
c
Mt ph
pht bi
biu lin quan
n c
cc ph
phn t
t ca t
tp h
hp n
ny
Ph
Pht bi
biu c kt qu
qu c th
th ng, ho
hoc sai
28/76
28/76
a Bi to
ton trong Tin h
hc l thuy
thuyt :
tng c
ca 4 s
s bnh phng ?
Kh
Khc v
vi kh
khi ni
nim b
bi to
ton thng th
thng trong To
Ton h
hc
Kh
Khc v
vi b
bi to
ton hi
hiu theo ngh
ngha thng d
dng
a Ch
Ch c
cch x
xc
nh b
bi to
ton trong c
cc llnh v
vc Tin h
hc :
V
Phn t
tch v
v thi
thit k
k h th
thng
Tr
Tr tu
tu nhn t
to
29/76
29/76
LTTnhTon_Ch1.M u Ch2.RAM
30/76
30/76
Mt s
s v d bi to
ton (2)
Mt s
s v d bi to
ton (3)
Bi to
ton 3 :
V D li
liu : Mt s
s nguyn vi
vit d
di d
dng
Bi to
ton 5 :
V D li
liu : Mt bi
biu th
thc ch
chnh quy (Regular
(Regular Expression)
tch c
ca c
cc s
s hng trong h
h 10
V Cu
Bi to
ton 4 :
V D li
liu : Mt
th
th hu h
hn G
c bi
biu di
din
V Cu
bi m
mt danh s
sch c
cc
nh v
v cc cung,
mi
nh l
l mt s
s nguyn trong h
h 10
V Cu
c xy d
dng trn m
mt b
bng ch
ch
(l mt bi
biu th
thc nh
nhn
c t
t cc cu w*
bi c
cc ph
php ho
hoc, ph
php gh
ghp ti
tip, ph
php *
v ly b
b)
h
hi : S nguyn cho c
c l s nguyn t
t hay khng ?
h
hi : C ph
phi bi
biu th
thc cho
ch
ch
nh ngn ng
ng tr
trng (Empty Language) ?
h
hi : C tn t
ti
ng i Hamilton
(i qua h
ht t
tt c
c cc
nh c
ca
th
th,
mi
nh i qua
ng m
mt l
ln)
trong
th
th G cho khng ?
31/76
31/76
32/76
32/76
Mt s
s v d bi to
ton (4)
Bi to
ton tng ng Post
(Post
(Posts correspondence problem)
Bi to
ton 3n+1 (b
(bi to
ton d
dng) :
cha c
c cu tr
tr li v
v tnh d
dng !
a D li
liu : Mt dy h
hu h
hn c
cc c
cp cu (u1, v1), (u2, v2)..., (uk, vk)
a Cu h
hi : Tn t
ti hay khng m
mt dy ch
ch s i1 , i2 ,...in sao cho
tho
tho mn ui1 ui2... uin = vi1 vi2... vin ?
V d : cho * = {a, b, c }
V dy c
cc c
cp cu :
{(ab, aba), (ab, ba), (bab, ba), (ab, bab) }
Cho cu : babababab
Tn t
ti dy ch
ch s {3 , 2, 2, 4} sao cho tho
tho mn :
bab.ab.ab.ab = ba.ba.ba.bab
3
2 2
33/76
33/76
Mt s
s kh
khi ni
nim kh
khc
34/76
34/76
Phn l
lp b
bi to
ton theo ph
phc t
tp (Complexity)
Dng O
a Cho b
bi to
ton P,
ngn ng
ng
c trng (Characteristic Language) c
ca P l
l
Tn phn lo
loi
a Bi to
ton l
l tm th
thng (Trivial)
nu LP = ho
hoc n
nu LCP =
LP = { w * | li gi
gii f(w) = true }
a Bi to
ton ng
ngc CP nh
nhn
c t
t P b
bng c
cch :
V gi
gi
nguyn c
cch bi
biu di
din c
cc d
d li
liu
V t
ng
ngc l
li cu h
hi
*
*
LLPP
Ngn ng
ng LCP = { w * | Khng li gi
gii, hay f(w) = false }
a My gi
gii (solve) b
bi to
ton P n
nu v
v ch
ch nu :
Chi ph
ph a th
thc
w *, m
my x
xc
nh, trong m
mt kho
khong th
thi gian h
hu h
hn,
nu w LP hay w LCP
35/76
35/76
LTTnhTon_Ch1.M u Ch2.RAM
Chi ph
ph lu
lu th
tha (c
(cc l
ln)
HHt
t chng
chng11
36/76
36/76
Ni dung chng 2
a My RAM
CHNG 2
M HNH C
CC M
MY RAM
nh ngh
ngha
Cc l
lnh s c
cp c
ca m
my RAM
a M ph
phng RAM b
bi m
my RAM kh
khc
a My RAM v
vn nng
38/76
38/76
My RAM
S
mt RAM
Mt m h
hnh t
tnh to
ton
Gn g
gi v
vi m
my t
tnh i
in t
t v hp ng
ng (Assembly)
a Gm c
cc th
thnh ph
phn
c trng :
V
Mt bng v
vo (Input Tape)
Mt chng tr
trnh RAM g
gm m
mt dy l
lnh s c
cp
Mt thanh
m l
lnh (OC Ordinal Counter)
39/76
39/76
40/76
40/76
M t
t cc th
thnh ph
phn c
ca RAM (1)
M t
t cc th
thnh ph
phn c
ca RAM (2)
a Bng v
vo :
V
a Thanh ghi :
Chia th
thnh (square) lin ti
tip,
mi ch
cha m
mt s
s nguyn, ho
hoc m
mt k t
t a
Mt u
c (read
(read head)
c l
ln l
lt n
ni dung t
tng
u
c ti
tin t
t tr
tri qua ph
phi
S l
lng c
cc thanh ghi c
c th
th ln tu
tu
Mi thanh ghi c
c th
th lu gi
gi mt s
s nguyn
a ch
ch thanh ghi (tn) : R0, R1, R2, ... , Rn...
a B nh
nh ch
cha chng tr
trnh RAM :
Cng chia th
thnh lin ti
tip
Mt u ghi (write head) ghi m
mi l
ln ln m
mt m
mt k
t b, hay c th
th =
u ghi c
cng ti
tin t
t tr
tri qua ph
phi
41/76
41/76
LTTnhTon_Ch1.M u Ch2.RAM
Ph
Phn t
t nh
nh
c
nh s
s th
th t
a Bng ra
V
Dy n v
v nh
nh c
a ch
ch l s th
th t hay nhn c
ca l
lnh
Mi n v
v nh
nh ch
cha m
mt l
lnh s c
cp (primary instructions) khng b
b thay
i khi ch
chy chng tr
trnh
a Thanh
m l
lnh (OC
(OCOrdinal Counter) :
V
n v
v nh
nh ch
cha s
s th
th t ca l
lnh ang
c th
thc hi
hin
Ni dung l
lc
u l
l ca OC l
l 1
42/76
42/76
Lnh s c
cp ca m
my RAM
M
M lnh
lnh
aPh
Phn m l
lnh ch
ch ph
php to
ton
Ton
Ton hng
hng
@
@
Nhm lnh gn :
Nhm lnh s hc :
LOAD
INCR
DECR
ADD
SUB
MULT
Operand
Operand
Operand
Operand
Operand
DIV
Operand
Operand
STORE Operand
Nhm lnh vo ra :
READ Operand
WRITE Operand
Nguyn t
tc
a ch
ch
M
M lnh
lnh
Ton
Ton hng
hng @
@
aPh
Phn to
ton h
hng tham gia ph
php to
ton @ l a ch
ch (address)
aTo
Ton h
hng @ c th
th l mt trong ba ki
kiu sau :
Nhm lnh nhy
(hay lnh ngt,
chuyn iu khin) :
JUMP
JGTZ
Label
Label
JZERO
HALT
Label
Ki
Kiu
a ch
ch
ngh
ngha
Ni dung c
ca thanh ghi Rn, n>0
Ki
Kiu l
lnh tr
trc ti
tip (Absolute)
A:n
@ l ch
chnh s
s nguyn n
Ki
Kiu l
lnh gi
gin ti
tip (Indirection)
I:n
@ l ni dung c
ca Rk vi
k l ni dung c
ca Rn
Rn
Rk
43/76
43/76
44/76
44/76
S dng l
lnh m
my RAM
Quy
c gi
gii th
thch c
cch th
thc hi
hin l
lnh
a Th
Th t th
thc hi
hin c
cc l
lnh c
ca chng tr
trnh P :
V
Th
Thc hi
hin tu
tun t
t (on sequence)
Bt
u t
t lnh
u tin (c
(c nhn 1)
Ngo
Ngoi l
l : khi g
gp l
lnh nh
nhy JUMP Label
th
th lnh c
c nhn Label
c th
thc hi
hin ti
tip theo
a Nguyn t
tc th
thc hi
hin :
V
OC lun ch
cha nhn c
ca l
lnh s
s th
thc hi
hin, l
lc
u l
l 1
Sau khi th
thc hi
hin l
lnh C :
Nu C khng l
l lnh nh
nhy ni dung OC
c t
t
ng
tng thm 1 (increment)
Ph
Php g
gn quy
c :
- i nm bn tr
tri d
du ch
ch Ri
- i nm bn ph
phi d
du ch
ch gi
gi tr
tr ch
chnh l
l i
<i>
<<i>>
Ch
Ch ni dung c
ca thanh ghi Ri
Ki
Kiu l
lnh gi
gin ti
tip :
Ch
Ch ni dung c
ca Rk, v
vi k ch
cha trong Ri
ACC
Ch
Ch thanh ghi R0
OC
Ch
Ch thanh
m l
lnh
<OC>
Ni dung c
ca OC
Nu C l lnh nh
nhy th
th ni dung c
ca OC l
l
a ch
ch ca C
45/76
45/76
Bng l
lnh RAM v
v ngh
ngha s
s dng
Lnh
LOAD n
LOAD A:n
LOAD I:n
STORE n
STORE I:n
INCR n
DECR n
ADD n
SUB n
MULT n
DIV n
JUMP k
JGTZ k
JZERO k
ACC s nguyn n
ACC <<n>>
ngh
ngha
HALT
Dng m
my
READ n
n s nguyn trong d
di
u
c,
WRITE n
Ni dung Rn
c ghi v
vo d
di
u ghi,
u ghi d
dch qua ph
phi m
mt
u
c d
dch m
mt qua ph
phi
<ACC>
<n> <ACC>
n
<n> + 1
n
Lnh HALT v
v cc l
lnh v
vo-ra
Lnh
ngh
ngha
ACC <n>
46/76
46/76
<n> - 1
OC
k n
nu <ACC> 0, n
nu khng, OC
OC<OC>+1
OC
k n
nu <ACC> = 0, n
nu khng, OC
OC<OC>+1
k l nhn (Label) c
ca l
lnh
LTTnhTon_Ch1.M u Ch2.RAM
47/76
47/76
48/76
48/76
33
Chng tr
trnh RAM t
tnh gi
gi tr
tr n!
c m
mt gi
gi nguyn n v
vo ACC
nu n = 0, nh
nhy
n nhn 10,
nu khng, th
thc hi
hin l
lnh ti
tip theo
R1 <ACC>
Ch
t nhn
Ch
t
Ch
nhn10
10!!
R2 <ACC>
R1 < R1> 1
ACC <R1>
nu <ACC> = 0 nh
nhy
n 12
22
ACC <ACC> * <R2>
OC 4
read (ACC) ;; ACC cha s n
if ACC = 0 then
ACC 1
R2:=ACC:=1; write (R2)
R2 <ACC> Else
R1:= ACC
ghi ra <R2>
while R1 > 0 do
Dng m
my
R2:= ACC ;R1:= R11;
READ 0
JZERO 10
STORE 1
4: STORE 2
DECR 1
LOAD 1
JZERO 12
MULT 2
JUMP 4
10: LOAD A: 1
STORE 2
12: WRITE 2
HALT
TT
ch
c d
li
u ::
ch
d
li
chc
d
liu
R1
a nn
ch
R1 ch
cha
R2
a n!
t qu
)
ch
(k
qu
R2 ch
cha
n! (k
(kt
qu)
Chng tr
trnh RAM t
tnh gi
gi tr
tr nn
ACC:=R1;ACC:=ACC*R2
od
write (R2)
od
49/76
76
11
6 :
11 :
14:
21:
22:
READ 1
LOAD 1
JGTZ 6
WRITE A:0
JUMP 22
LOAD 1
STORE 2
LOAD 1
DECR 0
STORE 3
LOAD 3
JGTZ 14
JUMP 21
LOAD 2
MULT 1
STORE 2
LOAD 3
DECR 0
STORE 3
JUMP 11
WRITE 2
HALT
R1 s nguyn trn c
ca bng v
vo
ACC <R1>
TT
ch
c d
li
u ::
ch
d
li
nu <ACC> 0, nh
chc
d
liu
nhy
u 6
in ra 0
R1
a nn (lu
lu gi
)
ch
((lu
gi
R1 ch
cha
gi)
v lnh d
dng
t qu
)
R2
a nnnn (k
(k
qu
ch
(kt
qu)
R2 ch
cha
ACC <R1>
R3
a n--- (decriment)
ch
nn-R3 ch
cha
(decriment)
R2 <ACC>
ACC <R1>
read (R1)
ACC <ACC> 1
if R1 < 0 then write (R0)
R3 <ACC>
else
ACC <R3>
R2:= R1 ; R3:= R1 1 ;
nu <ACC> 0, nh
nhy
n 14
while R3 > 0 do
nh
n
21
n
u
<
ACC
>
<
0
nh
n
R2:= R2*R1 ; R3:= R31
ACC <R2>
od
;
ACC <ACC> * <R1>
write (R2)
R2 <ACC>
od
ACC <>
ACC <ACC> 1
R3 <ACC>
nh
nhy
n 11
in ra n
ni dung <R2>
dng
50/76
50/76
49/
Cch ti
tin h
hnh vi
vit tr
trnh RAM
Bi tp
a Vit trnh RAM tnh
V Gi
Gii phng trnh bc nht : ax+b = 0 ?
V np
V Gii h phng trinh tuyn tnh :
a Phn t
tch b
bi to
ton, t
tm
gi
gii quy
quyt
a T ch
chc d
d li
liu :
s dng thanh t
tng ACC v
v cc thanh ghi Ri, i > 0
a Vi
Vit tr
trnh RAM b
bng c
cch l
lp b
bng :
Label
1
Command
Meaning
ax + by = c
dx + ey = f
V
V
a Ch
Ch :
V
V
Khi g
gp c
cc l
lnh chuy
chuyn i
iu khi
khin,
nn c
c x l ch
ch ghi v
v tr
tr nhn l
lnh h
hp l
Ch
Ch i
in nhn l
lnh sau khi hp lu
lu cc lu
lung i
iu khi
khin
USCLN ca p, q
Tng cc s l t mt dy {xn} cho trn bng vo ?
Gi s quy c bng vo cha ln lt cc s nguyn dng
n, x1, x2, , xn
Kim tra xu w trn bng vo l i xng w=wR (Reversion)
c dng lw#, vi l=length(w), hoc w#, kt qu l y, hoc n
trn bng ra ?
51/76
51/76
52/76
52/76
My RAM th
tha nh
nhn ngn ng
ng L
Bn ch
cht c
ca m
mt tr
trnh RAM
a Tr
Trnh RAM x
xc
nh nh x
x t tp bng v
vo ln t
tp bng ra
Vi ngn ng
ng L cho :
a C hai d
dng nh x
x :
V Dng h
hm f : * *
a RAM th
tha nh
nhn L nu th
tha nh
nhn wL
a RAM khng th
tha nh
nhn L, wL
nu x
xy ra hai kh
kh nng :
Tr
c t
t bng v
vo n s nguyn x1, x2, ..., xn
Trnh P
v ghi ln bng ra m
mt s
s nguyn y
u tin v
v dng
Ng
hm f (x1, x2, ..., xn ) = y
Ngi ta n
ni P tnh h
V
Dng ngn ng
ng L *
RAM khng
c h
ht w
ghi k t
t kt th
thc ln bng ra
ho
hoc :
Gi
th i1..n
Gi s bng v
vo c
c cu w = a1a2 ... an vi ai th
th
th n+1 ch
cha # k t
t kt th
thc dy
RAM b
b hc (crash),
ho
hoc khng bao gi
gi dng : qu
qun (go round)
Ta n
ni w
c th
tha nh
nhn nu RAM
c h
ht w, k
k c #
RAM vi
vit ln
u tin c
ca bng ra k t
t kt qu
qu v dng
53/76
53/76
LTTnhTon_Ch1.M u Ch2.RAM
54/76
54/76
Bng phn bi
bit
Phn bi
bit m
my RAM v
vi MTT hi
hin nay
a Gi
Gi thi
thit c
cc m
my RAM :
V
C ty c
cc thanh ghi, x
x l c
cc s
s nguyn l
ln t
ty
Chng tr
trnh trong b
b nh
nh RAM khng b
b thay
i khi th
thc hi
hin
My RAM
Tuy nhin c
cc MTT hi
hin nay khng ph
phi nh v
vy
a My RAM kh
khc MTT nh sau :
V
MTT hi
hin nay
C ty c
cc thanh ghi
Hn ch
ch
X l c
cc s
s nguyn l
ln t
ty
Hn ch
ch
Chng tr
trnh khng b
b thay
i Chng tr
trnh c
c th
th b
khi th
thay
thc hi
hin
i khi th
thc hi
hin
Tp l
lnh s c
cp h
hn ch
ch
Phong ph
ph
D li
liu v
vo c
c dng chu
chui
Bi
Biu di
din phn bi
bit
(s
(s nguyn, s
s thc)
thc)
Tp l
lnh s c
cp
c ch
chn h
hn ch
ch hn so v
vi c
cc h
hp ng
ng th
thc t
t
Tuy nhin, v
vn khng l
lm m
mt t
tnh t
tng qu
qut
nu ti
ng k
k tp h
hp c
cc l
lnh s c
cp
tip t
tc gi
gim
D li
liu v
vo c
c dng m
mt dy k t
t (m
(mt dy c
cc ch
ch s)
My RAM
c l
ln l
lt t
tng trn bng v
vo
tnh to
ton,
v vi
vit l
ln l
lt t
tng k
kt qu
qu trn bng ra
55/76
55/76
56/76
56/76
M ph
phng RAM b
bi m
my RAM kh
khc
V d m ph
phng m
my RAM
aCho m
my RAM M c
c tr
trnh P s
s dng R0 v R1Rp
Dch chuy
chuyn c
cc
a ch
ch thanh ghi
aMy RAM M
M c tr
trnh P
P
a Cho m
my RAM c
c tr
trnh P s dng R0 v R1Rp
aMy RAM M
M m ph
phng m
my RAM M n
nu :
V Tn t
ti nh x
x I : , sao cho I(0) = 0
V Vi m
mi l
lnh c
ca P
c th
thc hi
hin,
th
th mt l
lnh c
ca P
P cng
c th
thc hi
hin
V Cc thanh ghi R c
ca M ch
cha k
kt qu
qu ca P
V Cc thanh ghi I(r) c
ca M
M ch
cha k
kt qu
qu ca P
P
a t
tng :
V T m h
hnh (MH) t
tnh to
ton chu
chun (ch
(chng h
hn RAM
RAM) XD
V Tm c
cc bi
bin t
tu, hay m ph
phng MH chu
chun cho
V Tm c
cch ch
chng minh r
rng MH m
mi tng ng MH chu
chun
V Sau
xy d
dng MH (m
(my) vn nng bt ch
chc m
mi MH kh
khc
a Xy d
dng m
my RAM kh
khc c
c tr
trnh Pm m ph
phng tr
trnh P
nh x
x I xc
nh b
bi :
V I (0) = 0
V I (r) = r + m
vi r > 0
a X l c
cc l
lnh gi
gin ti
tip :
V
Rn
I:I(n) RI(n)
Rk
k+m
Rk+m
57/76
57/76
My RASP
58/76
58/76
S
my RASP
a Dng m
my RASP
bt ch
chc (Mimic)
mi l
lnh c
ca m
my RAM
59/76
59/76
LTTnhTon_Ch1.M u Ch2.RAM
60/76
60/76
10
RASP m ph
phng ki
kiu l
lnh gi
gin ti
tip
V d m ph
phng l
lnh MULT I: n
a Tr
Trnh P ca RASP :
c lu gi
gi t R2
n Rp
31 I:n
Khi P ch
chy s
s dng Rp+1
n Rq
50 STORE
a Xy d
dng tr
trnh P mi m ph
phng P :
V
c lu gi
gi t R2
n Rp
Khi P ch
chy s
s dng Rp+1
n Rq+p
q+pp
Trnh
TrnhPP
RASP
RASPm
mphng
phng
30 MULT
R1 <ACC>
51 1
52 LOAD
53 n + p
p- p
54 ADD A:
a Thay th
th mi l
lnh ki
kiu gi
gin ti
tip bi 6 l
lnh tr
trc ti
tip
55 p- p
Gi
Gi tr
tr pp l 2(6
(61)
1)s = 10s
vi s l tng s
s lnh ki
kiu gi
gin ti
tip c
ca chng tr
trnh
56 STORE
57 61
58 LOAD
59 1
60 MULT
Trnh
P
TrnhP
sau
saukhi
khim
mphng
phng
Lc bt u, x l gi tr no
ACC Rn + (p p)
ACC <ACC> + (p p)
Mi ln thc hin :
Nu Rn ca P cha k, thanh ghi Rk
cha s nguyn cn nhn,
Th x s c gi tr l n+p-p, ti R61
R61 <ACC>
ACC <R1>
61 x
61/76
61/76
62/76
62/76
V d : d
dch chuy
chuyn tr
trnh RASP c
c mt l
lnh gi
gin ti
tip (2)
V d : d
dch chuy
chuyn tr
trnh RASP c
c mt l
lnh gi
gin ti
tip (1)
Tnh v
v in gi
gi tr
tr : (1+a) if ab, (1+b) else
sau khi d
dch chuy
chuyn th
thnh P
P :
Tr
Trnh RASP xu
xut ph
pht P :
Cc
lnh
trc
tip
63/76
63/76
M h
hnh m
my RAM th s
M ph
phng c
cc ph
php to
ton
a M ph
phng ph
php to
ton trn chu
chui b
bi ph
php to
ton trn c
cc s
s nguyn
a Thu g
gn t
ti a t
tp h
hp l
lnh s c
cp c
ca m
my RAM
a Kh
Kh nng m
my RAM x
x l k t
t v x l s
s nguyn
a Tm c
cch bi
biu di
din c
cc s
s nguyn
Bi
Biu di
din nh
nh phn {0, 1}
Bi
Biu di
din th
thp phn {0, 1, ..., 9}
Bi
Biu di
din s
s nguyn l
ln i h
hi ph
phi c
c nhi
nhiu thanh ghi
S l
lng h
hn ch
ch cc thanh ghi trong MTT hi
hin nay
Ph
Php nhn s
s nguyn bi
biu di
din chu
chui 200 v
vi 28
Ph
Php c
cng t
tch s
s kt qu
qu vi s
s nguyn bi
biu di
din chu
chui 5
200
200
28 +
a Ng
Ngc l
li, c
c th
th m ph
phng c
cc ph
php to
ton s
s hc trn c
cc s
s
nguyn b
bi ph
php to
ton s c
cp trn c
cc chu
chui k t
t
65/76
65/76
LTTnhTon_Ch1.M u Ch2.RAM
Mi k t
t (ch
(ch s)
c m h
ha b
bi m
mt dy bit {0, 1},
ch
chng h
hn 8 ch
ch s cho m
mt k t
t (~ ASCII)
Mt s
s nguyn (dy ch
ch s 0..9)
0..9)
c bi
biu di
din nh
nh chu
chui bit
Dng ph
php to
ton trn c
cc s
s nguyn
nh
nhn
c c
cc chu
chui bit
V d 200
200 + 5 :
a Hn ch
ch :
V
64/76
64/76
66/76
66/76
11
V d chuy
chuyn
i l
lnh ng
ngt JUMP n
Thu g
gn t
tp h
hp c
cc l
lnh RAM (1)
a Chuy
Chuyn
i l
lnh ng
ngt JUMP n v hai ki
kiu l
lnh :
V Nh
Nhy
V Lnh
Cho a v
v b trn bng v
vo.
In ra max = a, if a>b, else in ra max = b
n
nu g
gp 0 (zero) JZER
d
dng m
my HALT
READ 2
READ 3
LOAD 3
SUB 2
JGTZ 8
a Phng ph
php :
V S
V Thm
STORE 1
R1 <ACC>
LOAD 1
<ACC> R1
R1 <ACC>
LOAD A:0
<ACC> 0
JZERO n
goto n
n, if <ACC> = 0
8:
9:
WRITE 2
JUMP 9
WRITE 3
HALT
67/76
67/76
68/76
68/76
V d chuy
chuyn
i l
lnh ng
ngt JUMP n
Thu g
gn t
tp h
hp c
cc l
lnh RAM (2)
Cho a v
v b trn bng v
vo. In ra max = a, if a>b, else in ra max = b
WRITE 2
STORE 1
c a v
vo R2
c b v
vo R3
ACC <R3> (ACC ch
cha b)
ACC <ACC> - <R2> (ACC ch
cha bb-a)
nu bb-a 0, nh
nhy
n nhn 10,
nu khng, th
thc hi
hin l
lnh ti
tip theo (a>b)
In ra max = a
R1 <ACC>
LOAD A:0
<ACC> 0
READ 2
READ 3
LOAD 2
SUB 2
JGTZ 10
JZERO 12
10: WRITE 3
STORE 1
12: LOAD 1
13: HALT
<ACC> R1
Dng m
my
c a v
vo R2
c b v
vo R3
ACC <R3> (ACC ch
cha b)
ACC <ACC> - <R2> (ACC ch
cha bb-a)
nu bb-a 0, nh
nhy
n nhn 8,
nu khng, th
thc hi
hin l
lnh ti
tip theo (a>b)
In ra max = a
nh
nhy
n l
lnh 9
dng m
my
In ra max = b
Dng m
my
a Thu g
gn t
tp h
hp c
cc l
lnh s
s hc
Chuy
Chuyn
i c
cc l
lnh s
s hc (+, -, *, /) v
v hai ki
kiu l
lnh :
V
INCR (tng
(tng 1)
DECR (gi
(gim 1)
a Chuy
Chuyn
i l
lnh nhn MULT n bng c
cch :
V
Thm <n> ln n
ni dung c
ca thanh t
tng R0
a Chuy
Chuyn
i l
lnh c
cng ADD n bng c
cch :
V
S dng c
cc l
lnh STORE,
STORE, LOAD,
LOAD, JGTZ,
JGTZ, DECR
69/76
69/76
70/76
70/76
V d chuy
chuyn
i l
lnh nhn MULT n
return:
lab:
STORE
LOAD
STORE
LOAD
STORE
LOAD
JZERO
DECR
LOAD
ADD
STORE
JUMP
LOAD
1
n
2
A:0
3
2
lab
2
1
1
3
return
3
M h
hnh RAM th s
a Tp h
hp c
cc l
lnh t
ti thi
thiu
R1 <ACC>
ACC <Rn>
R2 <ACC>
ACC 0
R3 <ACC>
ACC <R2>
goto lab, if <ACC>=0
R2 < R2> 1
ACC <R1>
a Chng tr
trnh l
l dy l
lnh mang nhn
a Ph
Phn m l
lnh @ :
<n>
ch
ch
nh n
ni dung c
ca Rn
<<n>>
ch
ch
nh n
ni dung Rk vi k l ni dung c
ca Rn
Lnh
ngha
I <n>
D <n>
Z <n>
S <n, m>
J <n> (i, j)
HALT
71/76
71/76
LTTnhTon_Ch1.M u Ch2.RAM
72/76
72/76
12
My RAM m ph
phng m
my RASP
V d mt trnh RAM th s
a Cho tr
trc c
cc s
s nguyn n v
v p, c
cn t
tnh n + p ?
V T
V M y
Nhn
2
3
4
5
a Ta th
thy m
my RASP c
c th
th m ph
phng m
my RAM
ch
chc DL : R1 ch
cha n v
v R2 ch
cha p
a Ng
Ngc l
li, my RAM c
cng c
c th
th m ph
phng m
my RASP.
Nguyn l m ph
phng nh sau :
d
dng khi R1 ch
cha n + p v
v R2 ch
cha 0
Lnh
ngha
J <2> (5, 2)
I <1>
D <2>
J <3> (1, 1)
HALT
Nu ni dung ca R2 l 0,
nhy n lnh c nhn 5,
nu khng nhy n lnh c nhn 2
Tng thm 1 ni dung R1
Gim bt 1 ni dung R2
Nhy n lnh c nhn 1 (vi mi R3)
a Cu h
hi : Cho bi
bit
thu
thut to
ton trn ?
Khng s
s dng l
lnh gi
gin ti
tip
Chng tr
trnh RASP
c lu gi
gi t R4
n Rp ca RAM
R1 dng l
lm
a ch
ch gi
gin ti
tip
R2 dng m ph
phng OC c
ca RASP
R3 dng m ph
phng ACC c
ca RASP
My RAM m ph
phng l
ln l
lt t
tng l
lnh c
ca RASP
73/76
73/76
My RAM v
vn nng
74/76
74/76
Gi
Gii PT ax+b = 0 ?
a Ta xy d
dng c
cc m
my RAM v
v my RASP
a Hai lo
loi m
my n
ny c
c th
th m ph
phng (b
(bt ch
chc) nhau
a Cc m
my m ph
phng, hay bi
bin t
tu,
u tng ng nhau
theo ngh
ngha cng th
thc hi
hin ch
chc nng cho :
V
V
Ho
Hoc t
tnh h
hm
Ho
Hoc o
on nh
nhn cu
a Mt c
cch tng t
t, ta ho
hon to
ton c
c th
th :
V Xy d
dng m
mt m
my RAM
m ph
phng ho
hot
ng c
ca t
tt c
c my RAM kh
khc
theo ngh
ngha tng ng trn
V Mt m
my RAM nh v
vy
gl m
mt my RAM v
vn nng (Universal RAM)
HHt
t chng
chng 22
LTTnhTon_Ch1.M u Ch2.RAM
75/76
75/76
76/76
76/76
13