Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.1 Peter Kramer Mail: Sheets en info: Onderwerp: Computersystemen (ICOSY1) Literatuur:Computersystemen en embedded systemen L.J.M. van Moergestel Academic service
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.2 herhaling, verdieping en een voorbeeld
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.3 Stored program computer v. Neumann IF ID EX Exception Cycle
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.4 Registers ALU Status register Stack pointer PC controle unit Instruction register instruction fetch 2.instruction decoding 3.execute memory and I/O
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.5 CPU aansluitingen
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.6 Programmeringmodel ARM General registers and Program Counter Program Status Registers r15 (pc) r14 (lr) r13 (sp) r14_svc r13_svc r14_irq r13_irq r14_abt r13_abt r14_undef r13_undef User32 / System FIQ32Supervisor32Abort32IRQ32Undefined32 cpsr sprsr_fiq spsr_abtspsr_svcsprsr_fiq spsr_fiqsprsr_fiq spsr_irq r12 r10 r11 r9 r8 r7 r4 r5 r2 r1 r0 r3 r6 r7 r4 r5 r2 r1 r0 r3 r6 r12 r10 r11 r9 r8 r7 r4 r5 r2 r1 r0 r3 r6 r12 r10 r11 r9 r8 r7 r4 r5 r2 r1 r0 r3 r6 r12 r10 r11 r9 r8 r7 r4 r5 r2 r1 r0 r3 r6 r12 r10 r11 r9 r8 r7 r4 r5 r2 r1 r0 r3 r6 r15 (pc) cpsr r14_fiq r13_fiq r12_fiq r10_fiq r11_fiq r9_fiq r8_fiq sprsr_fiq spsr_undef 4 Gbyte flat memory
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.7 Voorbeeld: ARM7
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.8 Instruction codes mov r1,r mnemonische notatie bitpatroon in het geheugen voorbeeld ARM7
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.9 Instructie formaat OPCODE OPCODE, OPCODE,,
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.10 Instructie types Data move –Internal external –Internal Data processing –Logic –Arithmetic Change PC –Saved status / non saved status Control Conditions?
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.11 Addressing modes Implicit Immediate Direct Indirect Indexed Indexed with displacement Base, indexed with displacement Auto increment / decrement (pre/post)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.12 Instruction length One word Word one Word two 0m Op-code / operand addresses 0 n ? Instruction register
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.13 Registers Register Byte x ? n ? 0 Types: Accumulator Data Address Status Stack PC Index Base Segment ….
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.14 Execution time Same for all Different for each Different, depending on addressing mode Different on condition
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.15 Programming layers Design language CASE-Tools High level language C, C++, Java Assembler language Target processor Machine code Binary code Micro code Binary in core Digital logic Transistors Generic firm- /hardware System independent
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.16 Program generation load HLL compile HLL assembly assemble assembly link executable Object moduleObject libModule lib Debug
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.17 Compiler Vertaald naar assembler code Compilatie strategie: –compilatie = vertaling + optimalisering De compiler bepaald de kwaliteit van de code: –Snelheid –compactheid
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.18 Voorbeeld ARM int main() { int a=1, b=2, c=3, d; d=a+b+c; return d; }
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.19 Assembler Hoofd taak: –Genereer de binaire code; Normaal gesproken een één op één vertaling. De code is machine afhankelijk.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.20 Linker Combineert meerdere object modulen tot één executeerbaar geheel.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.21 Loader Maakt het executeerbare code geschikt om (in de target) geladen te kunnen worden. Laad de executeerbare code.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.22 Debugger Laden van data en code in het geheugen Starten en stoppen van executie Vertonen en veranderen van de inhoud van het geheugen Vertoon en verander de inhoud van CPU registers Plaats of verwijder break points (stoppunt) Trace de code Afvangen van diagnostische exceptions
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.23 Opdracht 1 Zoek op internet naar het programmeringmodel van de ( i386) van Intel –Hoeveel bits bevat een (data) register? –Hoe groot is het geheugenbereik? –Welke type registers zijn er? –Welk instructie formaat wordt gebruikt –Zijn alle instructies even lang? –Welke data types zijn er ? Hoe kan je m.b.v. de instructieset van deze processor, twee getallen, die in het geheugen staan, bij elkaar optellen? Bestudeer hoofdstuk 7