Geschreven door studenten die geslaagd zijn Direct beschikbaar na je betaling Online lezen of als PDF Verkeerd document? Gratis ruilen 4,6 TrustPilot
logo-home
Samenvatting

Summary Computer Systems: A Programmer's Perspective Chapter 3

Beoordeling
5,0
(1)
Verkocht
6
Pagina's
28
Geüpload op
20-09-2020
Geschreven in
2020/2021

This is a summary of Computer Systems: A Programmer's Perspective Chapter 3: Machine-Level Representation of Programs by Randal E. Bryant and David R. O’Hallaron.

Instelling
Vak

Voorbeeld van de inhoud

Computer Systems: a Programmer’s
Perspective
Randal E. Bryant en David R. O’Hallaron


Chapter 3 – Machine-Level Representation of
Programs
Computers execute machine code, sequence of bytes encoding the low-level operations that
manipulate data, manage memory, read and write data on storage devices, and communicate over
networks. A compiler generates machine code through a series of stages, based on the rules of the
programming language, the instruction set of the target machine, and the conventions followed by
the operating system. The GCC C compiler generates its output in the form of assembly code, a
textual representation of the machine code giving the individual instructions of the program. GCC
then invokes both an assembler and a linker to generate the executable machine code from the
assembly code.

When programming in a high-level language such as C, we are shielded from the detailed machine-
level implementation of our program. In contrast, when writing programs in assembly code, a
programmer must specify the low-level instructions the program uses to carry out a computation.
Working on high is level is most of the time more productive and reliable. Type checking provided by
a compiler helps detect many program errors and makes sure we reference and manipulate data in
consistent ways. A program written in a high-level language can be compiled and executed on a
number of different machines, whereas assembly code is highly machine specific.

Still, it is important to know a bit of assembly code. By reading assembly code, we can understand
the optimization capabilities of the computer and analyze the underlying inefficiencies in the code.
Sometimes the high-level language hides information about the run-time behavior of a program. This
information can be seen on machine-code level and can be used to prevent attacks on programs.

To understand assembly language, we'll need to understand the transformations typical compilers
make in converting the constructs of C into machine code. Optimizing compilers can rearrange
execution order of C code, eliminate unneeded computations, replace slow operations with faster
ones, and even change recursive computations into iterative ones. It is a form of reverse engineering
– trying to understand the process by which a system was created by studying the system and
working backward. To understand assembly language, just the general principles will not suffice:
you'll need the details as well.

Assembly language is rather peculiar, because it was made by two rivals (Intel and AMD) and only
makes sense when viewed from a historical perspective.

3.1 - A Historical Perspective
The Intel processor line x86 started with one of the first single-chip 16-bit microprocessors. Since
then, it has been improved and improved again. To see a list of all Intel processors from the first to
now, read page 195 – 196.

Each successive processor has been designed to be backward compatible- able to run code compiled
for any other version. Due to this, there are many strange artifacts in the instruction set due to this
evolutionary heritage. The most recent processor from Intel is Intel64, the 64-bit extension to IA32

Gekoppeld boek

Geschreven voor

Instelling
Studie
Vak

Documentinformatie

Heel boek samengevat?
Nee
Wat is er van het boek samengevat?
Hoofdstuk 3
Geüpload op
20 september 2020
Aantal pagina's
28
Geschreven in
2020/2021
Type
SAMENVATTING

Onderwerpen

€3,49
Krijg toegang tot het volledige document:

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kan je een ander document kiezen. Je kan het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF

Beoordelingen van geverifieerde kopers

Alle reviews worden weergegeven
4 jaar geleden

5,0

1 beoordelingen

5
1
4
0
3
0
2
0
1
0
Betrouwbare reviews op Stuvia

Alle beoordelingen zijn geschreven door echte Stuvia-gebruikers na geverifieerde aankopen.

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
cilevanmarken Universiteit van Amsterdam
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
191
Lid sinds
7 jaar
Aantal volgers
166
Documenten
11
Laatst verkocht
3 weken geleden

3,9

44 beoordelingen

5
15
4
15
3
10
2
1
1
3

Populaire documenten

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via Bancontact, iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo eenvoudig kan het zijn.”

Alisha Student

Veelgestelde vragen