Intro To Mc Arch V1 [627462]
1. Introduction to Microcontroller Architecture
(structure, historical perspective , microprocessor / microcontroller
comparison, embedded systems)
The main goals and learning objectives of the lecture notes can be synthesized as in the
following:
• Introduction in microcontrollers’ architecture in t erms of instruction set architecture,
processor arithmetic and data path structure, contr ol path, data and program memory,
hierarchy of memory devices, pipelining, processor interfacing signals, interrupting
system, input/output system.
• Classification and exemplification of modern microc ontroller architectures
• Introduction in microcontrollers based systems
• Gaining skills in programming and developing microp rocessors systems
• Learning objectives: After covering topics lessons and the lab, the learner will be able to:
• Define and describe different microcontroller archi tectures
• Describe the operation of different microcontroller subsystems
• Use acquired information (together with data sheets and application notes) for
installation, repairing or design different devices with microprocessors or
microcontrollers, or interfaces to microprocessors systems.
What is: microprocessor, processor, computer, micro controller…
A microprocessor is a CPU (Central Processing Unit) integrated on a single chip. The CPU of
a computer it is a general-purpose processor struct ure. All the actual general purpose
computers use microprocessors as CPUs. The micropro cessor is the Central Processing Unit
(CPU) of a microcomputer.
Microprocessors are generally utilized for relative ly high performance applications where
cost and size are not critical selection criteria . Because microprocessor chips have their
entire function dedicated to the CPU and thus have room for more circuitry to increase
execution speed, they can achieve very high-levels of processing power. However,
microprocessors require external memory and I/O har dware.
Microprocessor chips are used in desktop PCs and wo rkstations where software
compatibility, performance, generality, and flexibi lity are important.
A computer is a data processing machine that is operated autom atically under the control
of a list of instructions (called a program) stored in its main (program) memory. A computer
is a combination of hardware and software. In figur e 1.1 you ca find the block diagram of a
Computer (GPC – General Purpose Computer)
Microcontroller is a processing circuit integrated on a single chi p containing a CPU core,
memory and IO (input / output) system. The microcon trollers are intended for industrial
control rather than general purpose computing. As the name suggest, microcontroller is a
single-chip microcomputer designed for control appl ications.
Microcontroller chips are usually designed to minimize the total chip cou nt and cost by
incorporating memory and I/O on the chip. They are often “application specialized” at the
expense of flexibility. In some cases, the microcon troller has enough resources on-chip that
it is the only IC required for a product.
Figure 1.1. Block diagram of a Computer (General Pu rpose Computer)
Examples of a single-chip application include the TV remote control , a microwave oven , or an
mp3 player .
Comparing the microprocessors and micreocontrollers , the hardware interfaces of both
devices have much in common, and those of the micro controllers are generally a simplified
subset of the microprocessor.
If we want to complicate things a bit, we have to m ention that for generality, many
designers and manufacturers of microcontroller chip s name them with the generic term of
microprocessors.
Microcontroller vs. Microprocessor
CPU
(Microprocessor)
Main memory Computer (GPC)
addresses
IO Interfaces data
control
Peripherals
Microcontrollers are small computers containing pro cessor, memory and peripherals on the
same chip. The name indicates a complete microcompu ter on a chip, destinated to control
applications. So in most of the cases all that is n eeded to use microcontrollers is to
introduce them software (firmware = software embedd ed into hardware).
Even if a microcontroller contains all subsystems a lso contained in a general-purpose
computer, the subsystems are much simplified in ord er to be integrated into the same
integrated circuit (IC). For example included memor y capacity is very small. Typically, the
program memory storage capacity is from 1 to 128 KB , and the data memory capacity can
have from 128 B to 4 KB. The included microprocesso r core run at lower clock frequencies
(kHz – MHz) in order to reduce power consumption of the microcontroller. I/O Interface
circuits can be parallel (8-bit digital ports) or s erial synchronous or asynchronous
Microcontrollers are used for automatic control of processes in the external world, such as
automobiles and other transportation equipment, med ical devices, remote controls, toys,
industry and energy, military equipment, consumer e lectronics, etc.
Microcontrollers are designed for systems currently called embedded systems, as opposed
to general purpose microprocessors used, particular ly, in general purpose computers. An
embedded computer system is a microprocessor-based system built to control particular
features and is not built to be programmed by the e nd user, such as desktop computers. Of
course, the particular process control functions ca n also be provided by a general purpose
computer (built by microprocessor, memory, and outp ut input system), but microcontrollers
are clearly superior in this area primarily due to their small size and lower costs.
In the last few decades, have been introduced integ rated microcontroller circuits that
contain analog processing circuits, in addition to digital circuits. They were called mixed
signal processors. But the need for external (analo gue) control has made many central
processing units be replaced by Digital Signal Proc essors (DSPs). The DSP instruction set
optimize the multiplication and repeated sum operat ions that are specific to the digital
signal processing. As a result of these changes, th e concept of Digital Signal Controller (DSC),
often called also as a microcontroller; the solely difference from classical microcontrollers
(microcomputer on a chip having a microprocessor as central processing unit), is that the
CPU is a DSP.
It is also worth mentioning that there are families of microcontrollers (binary compatible at
the level of the instruction set). The differences between chips belonging to the same family
are related to the implemented hardware resources ( memory, interfaces) and their
dimensions.
The most popular families of 8-bit microcontrollers and, in short, the main features are are:
• 8051 family (Intel): Harvard architecture, RISCs, manufactured by firms as: Intel,
Atmel, Dallas Semiconductor, Philips, Siemens
• 68HC05 family (Motorola): Families HC05, HC08 and HC11, von Neum ann
architecture, CISCs
• AVR family (Atmel): Harvard architecture, RISCs
• PIC family (Microchip): Harvard architecture, RISCs
If we refer to the development of the number of mic rocontrollers for the embedded
domain, it is noted that currently over 98% of the programmable digital devices produced
are embedded in electronic equipment and machines p resent both in our homes and at
work [wiki]. It is estimated that in 2018 there are about 100 billion embedded systems
currently in use, meaning that there are on average more than 13 embedded devices per
planet. [Crosley 2018].
As a synthesis of the differences between general-p urpose microprocessors and
microcontrollers we summarize briefly the main diff erences in table 1.1
Table 1.1. Main differences between a microprocesso r and a microcontroller
Microcoprocessor Microcontroller
• Can operate as a computing machine only if
we add externals memory and I / O system • It is an autonomous computing machine
having included on the chip all the
necessary components ( microprocessor
core, memory, I/O system)
• It is intended for general purpose
applications • It is intended for control applications
• High performance in processing speed to
satisfy a wide range of applications run • Reduced speed performance, but
sufficient to run specific applications
• Program is loaded into main memory when
needed, usually from a hard disk • Program is usually burned into ROM
memory (firmware)
• The instruction set contain a small number
of instructions that can manipulate
individual bits of a word • The instruction set contain many
instructions that can manipulate individual
bits of a word
• Are used in PCs, workstations, servers,
notebooks, where software compatibility,
performance, generality and flexibility are
important • Are used in embedded computer systems,
where reliability, size and cost are critical
• The IC has few pins with multiple • The IC has many pins with multiplexed
multiplexed functions functions
• High capacity for addressing main memory
(typically hundreds of MB – GB) • Lower capacity for addressing program /
data memory (typically KB)
• In order to increase the average speed of
memory access use a hierarchy of internal
and external memory levels • The program and data memory are
included in the IC and rarely require
external memory levels
The general organization of a uniprocessor computer system
As a general organization, independent of the imple mentation technology, the physical
resources (hardware) of a uniprocessor computer system include (Figure 1.2):
a. The microprocessor (core). It is the central processor (general purpo se) unit of a
computer being denoted as the CPU (Central Processi ng Unit). It consists of a data path and
a control unit. The data path includes the Arithmet ic and Logic Unit (ALU), the set of internal
memory (registers), and the internal processor buse s needed to transfer the information.
The data path components perform elementary operati ons in accordance with commands
received from the Control Unit (UC). The processor control unit is the machine which,
depending on the information received from outside, controls the other processor
functional units for the purpose of executing every instruction. On all modern computers,
the CPU consists of one or more microproc essors .
b. Main memory (also called internal memory or operative memory), contains executable
software (code, or programs) and data to be process ed. It is selected by processor control
signals and it is addressable through a UCP-initiat ed address at word level (byte or multiple
bytes). Main memory, if the unique data and instruc tion memory architecture is considered,
stores programs instructions and data to be written or read. It is a semiconductor memory
with random access to locations (RAM – Random Acces s Memory). Contains read only
memory (ROM) blocks, and read write memory (RWM = R ead Write Memory) blocks. From
the point of view of the operation and construction of the memory cells, two types of
semiconductor RAM can be used: static RAM and dynam ic RAM.
c. Input / Output System . The input-output system is the "gateway" that lin ks the computer
with the outside world to read and provide data. De vices coupled to this system are called
peripheral equipment, and the data transfers betwee n the computer and these devices are
done by addressable logic. Each communication gate, addressable by a specific address is
called "port". Examples of standard peripheral equi pment for a general purpose computer:
the keyboard, the display device and the external h ard drive.
The block diagram Figure 1.2. indicate the Control Unit and the Data path (registers, ALUs,
address registers, bus registries) that form the Ce ntral Processing Unit – CPU. The computer
includes at least one UCP unit and the main memory.
The figure also suggests the flux of the informatio n controlled by CPU on two paths:
control path – the "brain" of the processor. Control tells the data-path, memory and
I/O devices what to do according to the wishes of t he instructions of a program.
data-path – the "brawn" of the processor. The data-path perf orms transfers and
arithmetic/logic operations
Figure 1.2. Generic block diagram for organization of a single- processor computer. ALU = Arithmetic
and logic unit. Dotted lines represent internal pro cessor control and synchronization signals.
Control Unit
Main
memory instructions data
Computer Registers ALU
addresses
and controls CPU
IO system
Peripherals
The general organization of a processor, in figure 1.3, indicates in a very general way, the
elementary information that flows between the proce ssor and the main memory, external
to the processor.
According to figures 1.2. and 1.3 the main (binary) information that the microprocessor, as a
computer CPU, changes with the outside are: data (o perands and results), instructions,
addresses, control information. All of this binary information is transmitted as electrical
signals through conductive lines functionally group ed into the buses. Functionally, the
processor's external buses are classified into:
Data bus
Address bus
Control bus
Figure 1.3. The general organization of a processor , presenting the main interactions between the
functional units and interfaces to main memory (dot ted line symbolized internal CPU commands)
Structural representation of a computer: role of th e components Register file PC -Program counter (to
fetch instructions)
ALU
MAR -Memory address
register (to fetch data) IR -Opcode of the (current)
Instruction Register Instruction address
Data address
Data Instruction fetch
MDR -Memory data register
To/from
main memory
Control logic
From the structural point of view, a computer syste m is composed from many functional
units, interconnected in a manner that permits proc essing of information. Figure 1.4
indicates a structural representation of a computer system.
The structure presented as an example has a single main memory, which stores both
instructions and data. The "stored program" concept was firstly introduced by von
Neumann, and it is a sequentially or serial compute r, meaning that instructions are
executed sequentially (from one instruction to the next, in order of their location in
memory) unless the order is explicitly modified.
Figure 1.4. Structural representation of a computer system – von Neumann "stored program"
concept. CPU=Central Processing Unit, I = Instructi ons, D = Data, dotted line- a simplified
representation of control signals
Main memory : is usually a read / write memory with random acce ss 1 to locations. In figure
1.4., data and instructions are both stored in the main memory ( stored program concept ).
The content of the memory is addressable by locatio n (without regard to what is stored in
that location). The simple structure of the sequent ially computer structure is a
general purpose computer structure, because the com puter can solve very different
problems depending on the program that the computer execute. In the computer structure,
a small set of circuits can be driven to perform ve ry different tasks, depending on the
software program which is executed (logical reconfi guration of data-path).
1 A random-access memory device allows data items to be read or written in almost the same amount of ti me
irrespective of the physical location of data insid e the memory. In contrast, with other direct-access data
storage media such as hard disks Input
devices Output
devices Input
system Output
system Main
Memory
Arithmetic
& Logic
Unit
Control
Unit I D
CPU
Computer
Central Processing Unit (CPU) : the primary function of a CPU is to execute the i nstructions
fetched from the main memory. An instruction tells the CPU to perform one of its basic
operations (an arithmetic or logic operation, to tr ansfer a data from/to main memory, etc.).
The CPU includes a set of registers which are tempo rary storage devices typically used to
hold intensively used data and intermediate results .
The Control Unit (CU) is the one which interprets (decodes) the instruct ion to be executed
and which "tells" the different other components wh at to do. Each instruction is performed
as a sequence of steps ; the steps corresponding to one instruction are re ferred together as
an instruction cycle . A simple view of the instruction cycle is present ed in figure 1.5.
Figure 1.5. Simplified representation of the instru ction cycle
Please note, that for all the instructions the cycl e start with fetch instruction (address the
memory and bring the binary code of the instruction ) and continue with the decoding of the
current instruction.
The main task of the CU (control unit) is to decode the current instruction and generate the
sequence of control signals in order to execute the instruction. As figure 1.6 indicates, the
CU controls (synchronizes) the elements inside the CPU and the interface to the external
data-path.
There are two techniques for implementation of the CU:
1. Hardwired control : Hardwired control units are implemented by embedd ing the
control algorithm in combinational logic units that can generate specific results
based on the instructions that were used to invoke those responses. Hardwired
design uses a fixed architecture—it requires change s in the wiring if the instruction
set is modified or changed. Hardwired control units are generally faster than Instruction
fetch
Instruction
execute Instruction
decode
Operand
fetch
microprogrammed designs, but has little flexibility , and the complexity of the
instruction set it can implement is limited.
2. Microprogrammed control : contains a special (ROM) control memory that stor es
microprograms organized as a sequence of microinstr uctions. The algorithm for the
microprogram control unit is usually specified by f lowchart description. The main
advantage of the microprogram control unit is the s implicity of its structure. Outputs
of the controller are organized in microinstruction s and they can be easily replaced
(simply by changing 1s and 0s. inside the control m emory).
Figure 1.6. Typical inputs and outputs of a Control Unit
Input & Output System (IO system) of a computer contains, as the name suggests,
addressable places (ports) through the computer exc hange information with external world.
The IO system comprise circuits for: change the for mat of data (serial / parallel), local
memories for temporarily store data, verify / check the correctness of data transferred,
synchronization techniques between peripheral and C PU because of the large differences in
the operation speed, decoding logic
Input & output (peripheral) devices receive / send information from / to external worl d.
Input devices use different sensors types that transform the physical nature and
representation format of information, so that the f ormat is compatible with voltage levels
specific to computer. Output devices has inverse function to input devices. Process dat a
from computer and transform the information in the format acceptable for the output
device.
From the point of view of memory organization, comp uters can have one of the two
principal architecture types (figure 1.7):
• Von Neuman architecture (also called Princetown arc hitecture): this has a single
memory space for instructions and data Instruction
Register Control sign als
internal to the CPU
Control signals on
the system bus
Signals from
the system bus Status and
condition Flags
Clock
Control Unit
• Harvard Architecture: separate memory space for ins truction and data.
Figure 1.7. Organisation of memory for the Princeto wn and Harvard architectures
Functional representation of a computer [Tanenbaum99]
To command a computer's hardware you must speak its language . The words of a machine's
language are called instructions , and its vocabulary is called an instruction set .
The actual (physical) computer machine M0 executes only programs written in the
(machine) language L0 – very difficult to use in di rect programming. It is a binary language address
data bus Memory
data and
instructions CPU
Von Neuman ( Princetown) architecture
Harvard architecture addr. bus PM
data bus PM Program
Memory
only
instructions CPU
addr. bus DM
data bus DM Data
Memory
only data
(only sequences of 0 and 1). We need to design a ne w instruction set (that form language
L1), more easily to use for humans. We can think th at L1 run on a virtual machine M1 (with
his specific inputs, outputs and functions – instru ction set).
For execution of a program in L1 we must replace ev ery L1 instruction with an equivalent
sequence of instruction in L0 that can be executed by the actual machine M0.
This technique is called translation from L1 to L0:
– L1 program is first entirely translated in a L0 pro gram;
– For every L1 instruction corresponds a sequence of instruction in L0
– Program in L0 is loaded in memory and executed, and L1 program is
abandoned.
As examples of translator programs we can nominate: the compiler and the assembler. The
compiler translates the source program (written in a high level language) in a machine
language program. The assembler translates the sour ce program (written in an assembler
programming language) in a machine language program . Note that in a computer's
assembler language, each language statement general ly corresponds to a single processor
instruction. In high-level languages (HLL), a langu age statement generally results (after
compilation) in multiple processor instructions
A second technique is to write a program in L0 that take over the programs in L1 as input
data and execute for every instruction in L1 the eq uivalent instruction sequence directly in
L0. This process is called interpretation and the program that examines L1 instruction and
executes the sequence of associated L0 instructions is called interpreter . Interpreter is a L0
program that runs on M0 and it take over the progra ms in L1 as input data.
Interpreter examines and decodes every L1 instructi on and than it immediately executes
that instruction. There is no generated a translate d program.
Translation and interpretation are very similar. Th e difference consist in the fact that at
translation the L1 program is first entirely transl ated in a L0 program, L1 program being
abandoned and L0 loaded in memory and executed. At interpretation, after examination
and decoding of every L1 instruction this is immedi ately executed. There is no generated a
translated program. The interpreter control the com puter and L1 program represents data
input.
In order to simplify operations of translation or i nterpretation, languages L0 and L1 must be
not too different. This restriction means that even L1 is a more appropriate language than
L0, in many applications the programming can be a h ard work. The solution is to invent
another language L2 (for a virtual machine M2). Lan guage L1 can be translated in L1 and
then in L0. Similarly, we can think to higher level languages for the corresponding virtual
machines (Language Ln for Mn virtual machine, see f igure 1.8).
Figure 1.8. A computer represented as a multilevel of virtual m achines
Therefore a programmer can see a computer, from the point of view of offered functions, as
a multilevel of (virtual) machines . Every level has specific inputs and outputs and a specific
set of functions. A virtual machine use all the fun ctions offered by a lower machine level.
The hierarchical structure of the computing machine indicates that there is an interface
between each two neighbouring levels, so there is a lso a vertical hierarchy of interfaces . For
a general purpose computer with a processor with a microprogrammed control unit, this
virtual machine hierarchy and hierarchy of interfac es is shown in Figure 1.9. On the right
side of the figure, the layout of the software prog ram was exemplified.
In figure 1.8. the successive levels of virtual mac hines were nested. This is because a virtual 2
machine on a higher level uses all the functions of fered by lower levels. One level consists of
the set of processing functions applied on the set of input elements for the given level and
also on the elements of the input and output sets f rom the immediately lower level.
Functions at a given level can also be used for the next higher level. Most modern
computers have 2 or more levels.
2 virtual , because the user of a certain level is working wi th specific instructions, and he only sees the leve l at
which he works, without counting for him what is ha ppening below Level n
Level 3
Level 2
Level 1
Level 0 Virtual machine Mn, with
machine language Ln
Virtual machine M3, with
machine language L3
Virtual machine M2, with
machine language L2
Virtual machine M1, with
machine language L1
Actual computer M0, with
machine language L0 Programs in L0 can be
directly executed by the
electronic circuits Programs in L1 are either
interpreted by an
interpreter running on M0,
or are translated to L0 Programs in L2 are either
interpreted by interpreters
running on M1 or M0, or are
translated to L1 or L0 Programs in Ln are either
interpreted by interpreter
running on a lower machine,
or are translated to the
machine language of a lower
machine
Figure 1.9. A multilevel computing machine. Hierarc hy of Virtual Machines – Hierarchy of Interfaces
At the lowest level in Figure 1.9. are the digital electronic devices and circuits representing
the hardware of the computer. At the next two level s there are combined hardware-
software levels (firmware is the term used for soft ware embedded in hardware) that
includes, besides functional logic units (register set, ALU, control unit, etc.), a microprogram
level embedded in a local control memory. This leve l is part of the microprogrammed
control unit, and the microprograms are an interpre ter of the functional unites lower-level
instructions. If the control unit is hardwired, the microprogram level does not appear
explicitly in the hierarchy of virtual machines.
At the next level, we observe the level of elementa ry instructions recognized by the
processor. This one is the level of basic functions that a particular computer processor offers
and it is described by the manufacturers in the pro cessor data sheets. This is the Instruction
Set Architecture (ISA) level, and the virtual machi ne is the base machine .
0000 1001 1100 0110 1010 1111 0101 1000
1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Algorithmic state machine
– microprogrammed
– hardwired Application Packages
High -Level Language
Assembler
Operating System Virtual Machine
Machine Instructions
Microprogram
Digital Logic
Devices Translation or
Translation Translation
Interpretation
Implementati Partial
Interpretation
Interpretation void Pushbutton()
{
PORTEbits.RE0 = 1;
Nop(); // Delay one microsec
if (!PORTDbits.RD7)
{
PORTDbits.RD4 = 1;
}
PORTEbits.RE0 = 0;
}
movwf FSR
btfss FSR, 4 ; Bank 1 used for stack
retlw -1
movwf StackTop
movf StackData, w
movwf INDF
retlw 0
Although the physical machine "understands" the spe cific set of binary instructions and all
the functional units are assembled, at this level t he machine can be hardly used and only if
the user writes in the machine code. The binary cod e must be used not only for user
application software but also for routines needed t o access input and output peripherals
(keyboard, display device, magnetic disc, etc.).
The operating system's virtual machine level is act ually a hybrid system [Tanenbaum99],
because most of the instructions (functions) provid ed are also instructions for the
immediate inferior level. Additional features relat e to the management of computer
hardware and software resources (main memory alloca tion, secondary memory
management, concurrent execution of programs, etc.) . Sometimes this level is called the
extended machine level , because, at this level, the computer is seen by t he user through the
operating system (OS). The user or user program com munication with the OS is done on two
levels: through the command language by which the u ser requests different system
resources and by means of special instructions ("sy stem calls") upon which some
components of the SO are activated.
Remark on assembler and compiler translation progra ms
Even we considered above that the executable progra m was directly
generated by the translator (assembler or compiler) , it should be note
that programs will run on a machine with multitaski ng OS. As a result, an
additional system program called link editor is necessary in the
translation process. For example, in the assembly o peration, the
translation is done in two successive stages:
1. In the first step it makes a lexical and syntactic analysis of the
source program and then generates a table with the symbolic
addresses used;
2. In the second pass, based on the table, a relocatab le object code is
generated (all addresses are relative to the start address of the
program, not related to physical memory addresses).
The link editor running after the actual assembly a ssumes one or more
object files (modules) by essentially solving the f ollowing tasks:
• Solving external references
• Inclusion of other object modules (user-written, or routine from
libraries);
• Relate the code to a physical address (for loading executable
program into memory);
• Generate the executable file that can be loaded and launch to run
by the operating system. For this task, the link ed itor generates a
header used by the OS to load, open and execute the program
• Optional generation of a listing indicating the lin k-editing mode of
the object(s) modules.
The operating system is not just an interface betwe en the user and the computing machine.
He also has the significant task as manager of computer resources. The OS has to manage all
the processes (the programs under execution, togeth er with the working context), internal
and external memories, magnetic disks, input / outp ut devices, etc. The task of the
operating system is to make an orderly and controll ed allocation of processes, memory
blocks, I / O devices between the various programs that compete for use these resources.
When a computer has multiple users, the management and protection tasks of the
operating system are even more obvious.
1.12. Exerciții
1. Ce este un microprocesor și care sunt componentele sale structurale principale?
2. Ce este un microcontroler și prin ce se caracterize ază această arhitectură de calcul ?
3. Definiți noțiunea de arhitectura a calculatorului ș i explicați pe scurt fiecare componenta
4. Care sunt deosebirile esențiale între arhitecturile von Neuman și Harvard?
5. Explicați caracteristica programelor numită „locali zarea referințelor la memorie”.
Localizare temporală și spațială. Utilizare caracte ristică locality of reference în
administrarea memoriei organizate multi-nivel.
6. Intr-o organizare ierarhizată multi-nivel de memori e, ce reprezintă incluziunea?
7. Intr-o organizare ierarhizată multi-nivel de memori e, ce reprezintă coerența datelor?
8. Explicați pe scurt în ce constă evenimentul de „wor d miss” (ratare la apel cuvânt) pentru
o organizare multi-nivel de memorie
9. Explicați pe scurt în ce constă evenimentul de „wor d hit” (reușită la apel cuvânt) pentru
o organizare multi-nivel de memorie
10. Explicați pe scurt caracteristicile distinctive pen tru magistralele sistem: tip
(dedicat/multiplexat), sincronizare, arbitrare.
11. Pe o mașină construită M0 cu limbajul propriu L0 se structurează succesiv alte niveluri
(mașini virtuale) M1, M2, M3, M4, cu limbajele resp ective L1, L2, L3, L4. Interpretoarele,
identice pentru toate cele patru mașini virtuale, p roduc pentru fiecare instrucțiune din
limbajul L i, n instrucțiuni în limbajul L i-1. Interpretarea unei instrucțiuni din limbajul L1
consumă timpul T1 = m secunde. Cât timp consumă int erpretarea unei instrucțiuni de la
mașinile virtuale M2, M3, M4?
12. Explicați următorii termeni: (a) translator, (b) in terpretor, (c) compilator, (d) mașină
virtuală
13. Descrieți modul de transfer asincron (handshaking)
14. Definiți următoarele mărimi pentru măsurarea perfor manțelor procesorului: CPI, MIPS,
MFLOPS
15. Pentru o mașină de calcul se poate obține o creșter e de 2 ori a vitezei la execuția
instrucțiunilor în virgulă mobilă. Dacă instrucțiun ile cu operanzi în virgulă mobilă
reprezintă doar 10% din numărul total de instrucțiu ni, care este creșterea în viteză
obținută?
16. Un web server consumă 40% din timp pentru calcule ș i 60% așteptând transferuri de
I/O. Se înlocuiește UCP cu unul nou, mai rapid de 1 0 ori față de vechiul UCP. Care este
creșterea globală în performanță prin utilizarea no ului procesor?
17. Dacă o mașină A rulează un program în 2 secunde, ia r mașina B rulează același program
în 6 secunde, care din următoarele răspunsuri este adevărat? (a ) A este cu 50% mai
rapidă decât B; (b) A este cu 300% mai rapidă decât B; (c) A este cu 200% mai rapidă
decât B; (d) A este cu 100% mai rapidă decât B
18. Dacă o mașină A rulează un program în 2 secunde, ia r mașina B rulează același program
în 6 secunde, care din următoarele răspunsuri este adevărat? (a) A este de 1,5 ori mai
rapidă decât B; (b) A este de 2 ori mai rapidă decâ t B; (c) A este de 2,5 ori mai rapidă
decât B; (d) A este de 3 ori mai rapidă decât B
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Intro To Mc Arch V1 [627462] (ID: 627462)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
