📄 chap.4.io.ps
字号:
2903(the)X3048(value)X3284($1000)X3551(on)X3674(the)X3819(address)X4134(bus,)X920 4343(and)N1083(assert)X1326(the)X1468(Read)X1690(line)X1859(of)X1963(the)X2105(control)X2402(bus.)X776 4483(6.)N920(Finally,)X1241(the)X1383(value)X1616($89)X1784(will)X1958(appear)X2239(on)X2359(the)X2501(low-order)X2904(8)X2977(bits)X3141(of)X3246(the)X3389(data)X3575(bus)X3733(because)X4063(this)X4227(is)X920 4595(the)N1075(contents)X1433(of)X1550(the)X1705(byte)X1908(at)X2015(memory)X2373(location)X2721($1000.)X3022(When)X3289(this)X3465(value)X3711(appears)X4041(on)X4173(the)X920 4707(data)N1105(bus,)X1286(the)X1428(CPU)X1638(will)X1812(store)X2023(it)X2101(in)X2200(the)X2342(low-order)X2745(8)X2817(bits)X2980(of)X3084(data)X3269(register)X7 f3616(D0)X1 f3732(.)X776 4847(7.)N920(During)X1224(this)X1396(cycle,)X1657(the)X1808(process)X2129(of)X2242(fetching)X2591(and)X2763(executing)X3171(the)X3322(next)X3521(instruction)X3966(\(i.e.,)X4173(the)X920 4959(one)N1083(at)X1177(memory)X1522(location)X1857($2004\))X2153(will)X2327(begin.)X576 5099(The)N753(process)X1068(outlined)X1411(above)X1668(illustrates)X2071(the)X2217(classic)X2502(Von)X2695(Neumann)X3097(fetch-execute)X3645(model)X3914(of)X4022(a)X4093(com-)X576 5211(puter.)N831(Steps)X1072(1-4)X1232(involve)X1553(the)X1703(fetching)X2051(of)X2163(the)X2313(instruction,)X2781(step)X2968(5)X3048(fetches)X3353(the)X3503(source)X3786(operand,)X4152(and)X576 5323(step)N762(6)X841(executes)X1205(the)X1355(instruction)X1799(by)X1927(carrying)X2280(out)X2435(the)X2585(transfer)X2911(of)X3023(the)X3173(value)X3414(from)X3633(the)X3783(source)X4066(to)X4173(the)X576 5435(destination.)N1075(For)X1236(this)X1403(example)X1758(of)X1866(a)X7 f1971(MOVE)X1 f2231(instruction,)X2695(the)X2841(execute)X3163(portion)X3468(is)X3559(trivial,)X3841(but)X3991(in)X4093(other)X576 5547(instructions)N1049(such)X1249(as)X7 f1387(ADD)X1 f1585(or)X7 f1723(SUB)X1 f1897(,)X1945(the)X2087(execute)X2406(portion)X2708(is)X2796(more)X3018(substantial.)X40 p%%Page: 40 512 s 0 xH 0 xS 1 f3 f576 400(57:017)N872(CIE)X1 f2329(-)X2385(40)X2505(-)X3 f3717(Lecture)X4062(Notes)X576 803(4.3.)N768(Interfaces)X1203(and)X1381(Device)X1678(Mapping)X1 f776 943(The)N961(objective)X1350(of)X1465(Section)X1789(4.2)X1944(was)X2128(to)X2238(introduce)X2638(the)X2792(notion)X3074(of)X3190(addressing)X3637(of)X3753(locations)X4137(in)X4248(a)X576 1055(device)N859(external)X1201(to)X1307(the)X1456(CPU.)X1697(In)X1808(the)X1957(example)X2315(of)X2426(Section)X2746(4.2,)X2921(the)X3070(external)X3412(device)X3695(happened)X4095(to)X4200(be)X576 1167(memory.)N945(In)X1049(this)X1212(section)X1509(we)X1645(will)X1819(consider)X2169(using)X2401(busses)X2675(in)X2775(similar)X3068(roles)X3280(for)X3417(connecting)X3865(other)X4088(types)X576 1279(of)N680(devices)X993(to)X1092(the)X1234(CPU.)X776 1419(Shown)N1072(in)X1177(Figure)X1458(4.2)X1608(is)X1702(a)X1775(typical)X2068(con\256guration)X2611(of)X2721(a)X2794(computer)X3189(system.)X3535(Note)X3753(there)X3977(are)X4126(now)X576 1531(two)N745(functionally,)X1260(and)X1424(physically,)X1869(separate)X2209(busses)X2483(\320)X2603(the)X3 f2745(Memory)X3122(Bus)X1 f3276(,)X3324(and)X3487(the)X3 f3629(I/O)X3792(Bus)X1 f3946(.)X3994(Each)X4211(of)X576 1643(these)N806(busses)X1088(consists)X1424(of)X1536(the)X1686(same)X1916(three)X2141(main)X2366(groupings)X2782(of)X2894(wires)X3134(\320)X3262(address,)X3606(data,)X3823(and)X3994(control.)X576 1755(However,)N981(the)X1128(two)X1301(busses)X1580(will)X1759(contain)X2071(different)X2431(numbers)X2790(of)X2898(each)X3103(kind)X3302(of)X3410(lines.)X3644(For)X3805(instance,)X4173(the)X576 1867(address)N891(lines)X1100(of)X1207(a)X1277(typical)X1567(I/O)X1722(bus)X1882(will)X2059(only)X2257(have)X2466(about)X2708(6)X2784(wires.)X3044(This)X3243(will)X3421(be)X3540(capable)X3863(of)X3971(address-)X576 1979(ing)N729(up)X855(to)X960(2)X9 s1941(6)Y12 s2 f9 f1076 1979(=)N1 f1153(64)X1279(distinct)X1593(devices.)X1936(\(Later)X2202(we)X2344(will)X2524(see)X2677(this)X2846(is)X2940(not)X3093(exactly)X3401(true,)X3604(but)X3756(the)X3903(basic)X4130(idea)X576 2091(holds)N808(that)X977(not)X1124(as)X1228(many)X1466(address)X1778(lines)X1984(are)X2126(needed)X2423(for)X2559(an)X2674(I/O)X2826(bus)X2983(as)X3087(are)X3229(needed)X3526(for)X3662(a)X3729(memory)X4074(bus.\))X11 s915 2741 MXY0 -432 Dl432 0 Dl0 432 Dl-432 0 Dl1425 2452 MXY-72 72 Dl72 72 Dl1353 2343 MXY2736 0 Dl1353 2631 MXY2736 0 Dl4053 2308 MXY78 64 Dl4132 MX-78 79 Dl4053 2596 MXY78 64 Dl4132 MX-78 79 Dl4053 2452 MXY78 64 Dl4132 MX-78 79 Dl1418 2480 MXY2663 0 Dl1762 3449 MXY0 -432 Dl432 0 Dl0 432 Dl-432 0 Dl3277 MX0 -432 Dl432 0 Dl0 432 Dl-432 0 Dl1403 2559 MXY2664 0 Dl1353 2415 MXY2736 0 Dl1849 3452 MXY0 237 Dl1835 3632 MXY14 57 Dl1864 3632 MXY-14 57 Dl2123 3697 MXY0 -244 Dl2137 3510 MXY-14 -57 Dl2108 3510 MXY14 -57 Dl3369 3459 MXY0 237 Dl3354 3639 MXY14 57 Dl3383 3639 MXY-14 57 Dl3628 3697 MXY0 -244 Dl3642 3510 MXY-14 -57 Dl3614 3510 MXY14 -57 Dl1756 3927 MXY0 -236 Dl449 0 Dl0 236 Dl-449 0 Dl3254 3950 MXY0 -236 Dl449 0 Dl0 236 Dl-449 0 Dl1360 2696 MXY2736 0 Dl1785 2962 MXY64 65 Dl3028 MY72 -72 Dl1936 MX64 64 Dl2001 MX72 -72 Dl1820 2969 MXY0 -561 Dl1893 2962 MXY0 -547 Dl1929 2631 MXY72 -72 Dl64 64 Dl1964 2609 MXY0 360 Dl2044 2602 MXY0 360 Dl3275 2969 MXY64 65 Dl3340 MX72 -72 Dl3426 MX65 65 Dl3028 MY72 -72 Dl3311 2977 MXY0 -561 Dl3383 2969 MXY0 -546 Dl3419 2638 MXY72 -71 Dl64 64 Dl3455 2617 MXY0 360 Dl3534 2609 MXY0 360 Dl921 3461 MXY0 -432 Dl432 0 Dl0 432 Dl-432 0 Dl1072 2962 MXY65 65 Dl3028 MY72 -72 Dl1065 2812 MXY72 -72 Dl65 64 Dl1100 2790 MXY0 194 Dl1173 2790 MXY0 194 Dl2080 2948 MXY64 65 Dl2145 MX72 -72 Dl2080 2775 MXY72 -72 Dl64 64 Dl2108 2753 MXY0 223 Dl2188 2753 MXY0 223 Dl3577 2962 MXY65 65 Dl3028 MY72 -72 Dl3577 2790 MXY72 -72 Dl65 64 Dl3606 2768 MXY0 223 Dl3686 2768 MXY0 223 Dl20 s2527 3264(-)N2621(-)X2715(-)X2809(-)X14 s3354 3152(Device)N3304 3272(Interface)N1849 3135(Device)N1958 3394(0)N3383 3387(n)N3467(-)X3533(1)X10 s2476 2558(Data)N2648(Bus)X2476 2408(Address)N2759(Bus)X18 s2325 2252(I/O)N2553(BU)X(S)S14 s1964 3897(0)N1835 3790(Device)N3404 3927(n)N3488(-)X3554(1)X3347 3805(Device)N18 s734 2912(M)N(EM)S1231 2925(BU)N(S)S14 s1785 3270(Interface)N10 s2483 2695(Control)N2747(Bus)X14 s971 3266(M)N1071(emory)X16 s1029 2577(CPU)N3 f12 s1645 4177(Figure)N1942(4.2.)X2110(Isolated)X2459(I/O)X2622(Con\256guration.)X576 4449(4.4.)N768(Isolated)X1117(I/O)X1 f776 4589(Referring)N1173(again)X1410(to)X1513(Figure)X1792(4.2,)X1964(notice)X2228(that)X2401(actual)X2660(devices)X2977(are)X3123(separated)X3515(from)X3730(the)X3876(I/O)X4033(bus)X4195(by)X576 4701(a)N651(block)X897(labeled)X3 f1208(device)X1497(interface)X1 f1861(.)X1917(The)X2099(device)X2383(interface)X2753(consists)X3089(of)X3201(a)X3275(set)X3413(of)X3 f3524(device)X3812(control)X4137(and)X576 4813(status)N846(registers)X1 f1230(that)X1406(are)X1555 0.2784(collectively)AX2037(referred)X2373(to)X2479(as)X2590(an)X3 f2712(I/O)X2882(Port)X1 f3064(.)X3119(The)X3301(I/O)X3461(port)X3648(is)X3744(the)X3894(entity)X4146(that)X576 4925(allows)N867(the)X1025(programmer)X1541(of)X1661(the)X1819(CPU)X2045(to)X2160(develop)X2505(software)X2876(which)X3151(will)X3341(interact)X3671(with)X3882(the)X4039(device)X576 5037(itself.)N818(An)X960(example)X1312(of)X1417(the)X1560(difference)X1976(would)X2241(be)X2357(a)X2425(disk)X2610(drive)X2833(in)X2933(which)X3193(the)X3337(heads)X3582(and)X3747(recording)X4142(sur-)X576 5149(faces)N804(are)X952(the)X2 f1100(device)X1 f1377(and)X1545(some)X1777(registers)X2132(for)X2273(holding)X2596(data)X2786(to)X2890(be)X3010(written)X3312(to,)X3440(or)X3549(read)X3744(from,)X3984(the)X4131(disk)X576 5261(are)N723(the)X2 f870(device)X1146(interface)X1 f1489(.)X1566(For)X1728(the)X1875(con\256guration)X2417(shown)X2696(in)X2800(Figure)X3080(4.2,)X3253(it)X3336(is)X3430(important)X3835(to)X3940(point)X4168(out)X576 5373(that)N759(the)X915(CPU)X1138(must)X1362(be)X1490(capable)X1822(of)X1939(executing)X2351(instructions)X2837(that)X3019(manipulate)X3485(the)X3640(I/O)X3805(bus)X3975(separate)X576 5485(from)N804(the)X964(memory)X1327(bus.)X1550(This)X1763(isolation)X2137(of)X2259(the)X2419(I/O)X2589(function)X2952(from)X3181(the)X3341(memory)X3704(function)X4067(is)X4173(the)X576 5597(source)N856(of)X965(the)X1112(name)X3 f1350(isolated)X1694(I/O)X1 f1862(which)X2126(is)X2219(given)X2462(to)X2566(systems)X2899(constructed)X3372(this)X3540(way.)X3777(Such)X3997(instruc-)X576 5709(tions)N790(differ)X1031(from)X1245(the)X1390(usual)X7 f1654(MOVE)X1 f1913(instructions)X2389(we)X2528(have)X2737(encountered)X3235(so)X3348(far.)X3507(An)X3652(example)X4007(of)X4115(such)X576 5821(instructions)N1064(from)X1290(the)X1446(Intel)X1661(8086)X1891(CPU)X2115(are)X2271(the)X7 f2461(IN)X1 f2615(and)X7 f2826(OUT)X1 f3038(instructions)X3525(which)X3798(transfer)X4130(data)X41 p%%Page: 41 612 s 0 xH 0 xS 1 f3 f576 400(57:017)N872(CIE)X1 f2329(-)X2385(41)X2505(-)X3 f3717(Lecture)X4062(Notes)X1 f576 803(from)N787(a)X855(device)X1132(interface)X1495(to)X1595(a)X1663(CPU)X1874(register,)X2212(and)X2376(to)X2476(a)X2544(device)X2821(interface)X3184(from)X3396(a)X3464(CPU)X3675(register,)X4013(respec-)X576 915(tively.)N871(While)X1134(conceptually)X1654(simple,)X1962(the)X2107(con\256guration)X2647(of)X2754(Figure)X3032(4.2)X3179(is)X3270(more)X3495(complex)X3853(than)X4045(neces-)X576 1027(sary.)N3 f576 1251(4.5.)N768(Memory-Mapped)X1518(I/O)X1 f776 1391(Figure)N1052(4.3)X1197(shows)X1461(an)X1577(alternate)X1935(con\256guration)X2473(in)X2573(which)X2833(the)X2976(memory)X3322(bus)X3480(is)X3569(the)X3712(only)X3908(one)X4072(in)X4173(the)X576 1503(system.)N11 s3185 2411 MXY64 65 Dl72 -72 Dl3336 MX65 65 Dl72 -72 Dl3487 2404 MXY65 65 Dl72 -72 Dl3221 2418 MXY0 -561 Dl3293 2411 MXY0 -546 Dl3487 2231 MXY72 -72 Dl65 64 Dl3329 2080 MXY72 -71 Dl2008 MY64 64 Dl3365 2058 MXY0 360 Dl3516 2209 MXY0 223 Dl3444 2051 MXY0 360 Dl3595 2209 MXY0 223 Dl825 2182 MXY0 -432 Dl432 0 Dl0 432 Dl-432 0 Dl1334 1893 MXY-72 72 Dl72 72 Dl1262 1785 MXY2736 0 Dl1262 2073 MXY2736 0 Dl3963 1749 MXY78 64 Dl-78 79 Dl2037 MY78 64 Dl-78 79 Dl1893 MY78 64 Dl-78 79 Dl1269 2137 MXY2736 0 Dl1327 1921 MXY
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -