ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

Σχετικά έγγραφα
Instruction Execution Times

Τέτοιες λειτουργίες γίνονται διαμέσου του

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική ARMv8 Πέτρος Παναγή

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

Τελική Εξέταση, Απαντήσεις/Λύσεις

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Δομημένος Προγραμματισμός

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Modbus basic setup notes for IO-Link AL1xxx Master Block

Section 8.3 Trigonometric Equations

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

The Simply Typed Lambda Calculus

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Εισαγωγή Βασικές εντολές Εκτέλεση βήµα-βήµα Εξέταση/Ανάθεση GDB-101. Νίκος Ντάρµος Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 NUTWBCAM

Απλός επεξεργαστής (Επανάληψη)

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Test Data Management in Practice

Section 9.2 Polar Equations and Graphs

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Αρχιτεκτονική υπολογιστών

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

Λειτουργικά Συστήματα. Εισαγωγή

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Approximation of distance between locations on earth given by latitude and longitude

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +

Partial Trace and Partial Transpose

4.6 Autoregressive Moving Average Model ARMA(1,1)

Capacitors - Capacitance, Charge and Potential Difference

Strain gauge and rosettes

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

Προχωρηµένα Θέµατα Αρχιτεκτονικής

Αρχιτεκτονική του ARM. K.Harteros G.Kornaros

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

ΣΥΣΤΗΜΑΤΑ ΥΠΟΛΟΓΙΣΤΩΝ.

Advanced Subsidiary Unit 1: Understanding and Written Response

Homework 3 Solutions

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

Galatia SIL Keyboard Information

Δρ. Νικόλαος Σκλάβος, Διδάσκων Π.Δ. 407/80. E mail : nsklavos@ceid.upatras.gr

Αρχιτεκτονική υπολογιστών

Calculating the propagation delay of coaxial cable

Finite Field Problems: Solutions

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

ΑΝΩΤΑΤΗ ΣΧΟΛΗ ΠΑΙ ΑΓΩΓΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΠΑΡΑΔΟΤΕΟ ΕΠΙΣΤΗΜΟΝΙΚΗ ΕΡΓΑΣΙΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΣΤΗΜΟΝΙΚΟ ΠΕΡΙΟΔΙΚΟ

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ

ΑΝΙΧΝΕΥΣΗ ΓΕΓΟΝΟΤΩΝ ΒΗΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΕΠΙΤΑΧΥΝΣΙΟΜΕΤΡΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

The challenges of non-stable predicates

EE512: Error Control Coding

Οργάνωση και Σχεδίαση Υπολογιστών Η Διασύνδεση Υλικού και Λογισμικού, 4 η έκδοση. Σύντομη Εισαγωγή στη χρήση του προσομοιωτή και συμβολομεταφραστή

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

Παραδείγματα Assembly (Μέρος

Mean bond enthalpy Standard enthalpy of formation Bond N H N N N N H O O O

Vegan μπισκοτάκια σαν oreo- Vegan oreo cookies by Demetra and the Veggiesisters!

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

PortSip Softphone. Ελληνικά Ι English 1/20

Δίκτυα Επικοινωνιών ΙΙ: OSPF Configuration

Research of Han Character Internal Codes Recognition Algorithm in the Multi2lingual Environment

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ USE INSTRUCTIONS

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Αρχιτεκτονικη υπολογιστων

(1) Describe the process by which mercury atoms become excited in a fluorescent tube (3)

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Passport number (or) διαβατηρίου (ή)

ΘΕΩΡΗΤΙΚΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΙΕΡΕΥΝΗΣΗ ΤΗΣ ΙΕΡΓΑΣΙΑΣ ΣΚΛΗΡΥΝΣΗΣ ΙΑ ΛΕΙΑΝΣΕΩΣ

Section 7.6 Double and Half Angle Formulas

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

CYTA Cloud Server Set Up Instructions

SOAP API. Table of Contents

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

Εργαστήριο 9. Styling with Javascript

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Τεχνικές Συµπίεσης Βίντεο. Δρ. Μαρία Κοζύρη Τµήµα Πληροφορικής Πανεπιστήµιο Θεσσαλίας

Κεντρική Μονάδα Επεξεργασίας

Transcript:

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Εργαστήριο Αρ. 2 Εισαγωγή στην Αρχιτεκτονική ARMv8-A Arithmetic and Logic Instr..data, Branch and Loops, PhD Σελ. 1

Memory Allocation LEGv8 0000 0000 0041 0000hex Σελ. 2

Βασικές Εντολές Arithmetic and logical operations Σελ. 3

Special dedicated registers Σελ. 4

Σελ. 5

Examples Lab2_example1.s Lab2_example2.s Lab2_example3.s Σελ. 6

Σελ. 7

Σελ. 8

Σελ. 9

Σελ. 10

Examples Lab2_example4.s Lab2_example5.s Lab2_example6.s Σελ. 11

Βασικές Εντολές Arithmetic and logical operations Σελ. 12

Examples Lab2_example7.s Σελ. 13

Useful assembler directives and macros for the GNU assembler (https://community.arm.com/processors/b/blog/posts/useful-assembler-directives-andmacros-for-the-gnu-assembler https://sourceware.org/binutils/docs/as/index.html#top) The.text directive switches the current section to the.text section. The.text section is normally used for storing code in. This is usually going in your flash-memory of your microcontroller (but you can customize your linkerscript, so that it puts it somewhere else).text (put your code here) The.data directive switches the current section to the.data section. You can use the.data section for storing all kind of various data, which will be copied to the microcontroller's RAM, when your program starts up: Binary values, strings, pointers, etc..data hello_string:.asciz "Hello World!\n The.space directive reserves a number of bytes in the current section. By default, it will be filled with zeroes. https://sourceware.org/binutils/docs/as/pseudo-ops.html#pseudo-ops Σελ. 14

Memory Allocation LEGv8 0000 0000 0041 0000hex Σελ. 15

objdump gcc -g Lab2_example1.s objdump -s -j.data./a.out./a.out: file format elf64-littleaarch64 Contents of section.data: 410a00 00000000 57656c63 6f6d6520 746f2045...Welcome to E 410a10 504c3232 3120616e 64204861 76652061 PL221 and Have a 410a20 206e6963 65204461 79202121 21002563 nice Day!!!.%c 410a30 0a00.. objdump -d./a.out -j.text less 00000000004005b0 <main>: 4005b0: a9be7bfd stp x29, x30, [sp,#-32]! 4005b4: 910003fd mov x29, sp 4005b8: 90000080 adrp x0, 410000 < FRAME_END +0xf838> 4005bc: 91281000 add x0, x0, #0xa04 4005c0: aa0003f3 mov x19, x0 From gdb (when break on main) sp 0x7ffffff1b0 Σελ. 16

(gdb) info file Symbols from./a.out". Local exec file: `./a.out', file type elf64-littleaarch64. Entry point: 0x4004c0 0x0000000000400200-0x000000000040021b is.interp 0x000000000040021c - 0x000000000040023c is.note.abi-tag 0x000000000040023c - 0x0000000000400260 is.note.gnu.build-id 0x0000000000400260-0x0000000000400294 is.gnu.hash 0x0000000000400298-0x0000000000400328 is.dynsym 0x0000000000400328-0x0000000000400372 is.dynstr 0x0000000000400372-0x000000000040037e is.gnu.version 0x0000000000400380-0x00000000004003a0 is.gnu.version_r 0x00000000004003a0-0x00000000004003b8 is.rela.dyn 0x00000000004003b8-0x0000000000400430 is.rela.plt 0x0000000000400430-0x0000000000400444 is.init 0x0000000000400450-0x00000000004004c0 is.plt 0x00000000004004c0-0x00000000004006bc is.text 0x00000000004006bc - 0x00000000004006cc is.fini 0x00000000004006d0-0x00000000004006f8 is.rodata 0x00000000004006f8-0x0000000000400734 is.eh_frame_hdr 0x0000000000400738-0x0000000000400824 is.eh_frame 0x0000000000410828-0x0000000000410830 is.init_array 0x0000000000410830-0x0000000000410838 is.fini_array 0x0000000000410838-0x0000000000410840 is.jcr 0x0000000000410840-0x0000000000410a10 is.dynamic 0x0000000000410a10-0x0000000000410a20 is.got 0x0000000000410a20-0x0000000000410a60 is.got.plt 0x0000000000410a60-0x0000000000410a96 is.data 0x0000000000410a96-0x0000000000410a98 is.bss Σελ. 17

Memory access instructions Σελ. 18

Σελ. 19

Memory access instructions Σελ. 20

Memory access instructions Σελ. 21

Memory access instructions Σελ. 22

Σελ. 23

Σελ. 24

Accessing multiple memory locations In A64 code, there are the Load Pair (LDP) and Store Pair (STP) instructions Σελ. 25

Σελ. 26

Accessing multiple memory locations In A64 code, there are the Load Pair (LDP) and Store Pair (STP) instructions Flow control Σελ. 27

Using the PC Σελ. 28

Using the PC Our Assembly Code adrp x0, message_str add x0, x0, :lo12:message_str Disassembly Code 4005b8: 90000080 adrp x0, 410000 < FRAME_END +0xf838> 4005bc: 91281000 add x0, x0, #0xa04 //x0= 0x410a04 Contents of section.data: 410a00 00000000 57656c63 6f6d6520 746f2045...Welcome to E 410a10 504c3232 3120616e 64204861 76652061 PL221 and Have a 410a20 206e6963 65204461 79202121 21002563 nice Day!!!.%c 410a30 0a00.. Σελ. 29

Examples Lab2_example8.s Lab2_example9.s Σελ. 30

Σελ. 31

Σελ. 32

Σελ. 33

Σελ. 34

Flow control using Branch Inst. Σελ. 35

Conditionally executed Instructions Saved Process Status Register Σελ. 36

Σελ. 37

Σελ. 38

Σελ. 39

Σελ. 40

Instructions that set the Flags Arithmetic and logical operations Σελ. 41

Instructions that set the Flags Σελ. 42

Contitional Execution Σελ. 43

Examples Lab2_example10.s Lab2_example11.s Σελ. 44

Επανάληψη Σελ. 45

Σελ. 46

Σελ. 47

Σελ. 48

Σελ. 49

Σελ. 50

Data types Σελ. 51