1/50
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Processor Technology
The architecture of the computation engine used to implement a system's desired functionality.
General-purpose processor (Microprocessor)
It is a programmable device used in a variety of applications. It has program memory and general datapath with a large register file and ALU.
Single-purpose processor (Coprocessor)
It is a digital circuit designed to execute exactly one program. It contains only the components needed to run a single program and has no memory.
Application-specific processors
It is a programmable processor optimized for a particular class of applications having common characteristics. It is a compromise between general-purpose and single- purpose processors. It has program memory, optimized datapath, and special functional units.
IC technology
How a digital (gate-level) implementation is mapped onto an IC. It differs in its customization to a design consisting of numerous layers.
Full-custom/VLSI (Very Large-Scale Integration)
All layers are optimized for an embedded system's particular digital implementation. It has both placing & sizing transistors and routing wires.
Semi-custom ASIC (Gate Array and Standard Cell)
Lower layers are fully or partially built. Designers are left with the routing of wires and maybe placing some blocks
PLD (Programmable Logic Device)
Lower layers are fully or partially built. Designers are left with the routing of wires and maybe placing some blocks.
Design technology
The manner that converts the concept of desired system functionality into implementation.
Compilation/Synthesis
It automates the exploration and insertion of implemented details for levels.
Libraries
It incorporates pre-designed implementation from lower abstraction into a higher level.
Test/Verification
It ensures correct functionality at each level, thus reducing costly iterations.
Modeling
Process of gaining a deeper understanding of a system through imitation.
Design
Structured creation of artifacts. It specifies how a system does what it does.
Analysis
Process of gaining a deeper understanding of a system through dissection. It specifies why a system does what it does (or fails to do what a model says it should).
Synthesis
Process of generating the description of a system in terms of related lower-level components from some high-level description of the expected behavior.
Simulation
Complements analysis. Simulators can analyze circuits, particularly nonlinear circuits, much more accurately than we can do by hand.
Prototyping
Helps us ensure that the boundaries between the computer and the circuits are properly designed.
Bottom-up methodology
It is based on creating parts of a product before assembling the whole creation. This methodology starts from small components until large systems.
Top-down methodology
The system-level synthesis produces a structure of the system where each component has defined parameters and metrics. This methodology starts from the abstract up to the most detailed description.
Meet-in-the-middle methodology
Its goal is to eliminate the drawbacks and efficiently use the benefits of two previous methods.
NRE cost (Non-Recurring Engineering cost)
It is the one-time monetary cost of designing the system.
Size
It is the physical space required by the system.
Performance
It is the execution time or throughput of the system.
Power
It is the amount of energy consumed by the system. It involves power consumption.
Flexibility
It is the ability to change the functionality of the system without incurring high NRE costs.
Maintainability
It is the ability to modify the system after its initial release.
Operating Environment
It can consist of the following variables:
Heat, Vibration, Shock, Power Fluctuations, RF Interference, Lightning, Water, Corrosion, Tampering, and many others.
Low Cost
A sophisticated processor can increase the cost of the system.
Low Energy Consumption
Many embedded systems operate on batteries.
Limited Memory
Typically constrained to a finite and small amount of storage space.
Real-Time Response
Systems are used for controlling equipment generating response within the specified time.
Compiler
A computer program (or a set of programs) that transforms the source code written in a programming language (the source language) into another computer language (normally binary format).
Cross-Compiler
If the compiled program can run on a computer having a different CPU or operating system than the computer on which the compiler collected the program, then that compiler is known as a cross- compiler.
Decompiler
A program that can translate a program from a low-level language to a high-level language.
Language Converter
A program that translates programs written in different high-level languages is normally called a language translator, source to source translator, or language converter.
Assemblers
A program that takes basic computer instructions (called assembly language) and converts them into a pattern of bits that the computer's processor can use to perform its basic operations.
Debugger
This is a critical tool for testing. It goes through the code and eliminates bugs and errors, notifying places where they occur.
Simulators
Code is tested for the MCU / system by simulating it on the host computer used for code development. Simulators try to model the behavior of the complete microcontroller in software.
Emulator
It is a replication of the target system with identical functionality and components.
Integrated Development Environment (IDE)
Contains the embedded software development tools needed to create your embedded software.
Data flow modeling
Process of identifying, modeling, and documenting how data moves around an information system.
Data flow program
Specified by a directed graph where the nodes (vertices), called actors, represent computations and the arcs represent communication channels.
Computation Models
It describes the mechanism assumed for performing computations and distinguishes the calculations performed in the components and communication.
Components
These include procedures, processes, functions, finite state machines, and other peripherals.
Communication protocols
These protocols describe methods for communication between components.
Shared memory
It refers to the access to shared memory unless it is restricted.
Message passing
It can be implemented easily even if no common memory is available.
Asynchronous message passing (non-blocking communication)
The components communicate by sending messages through channels that buffer the messages.
Synchronous message passing (blocking communication)
The available components communicate atomically. The component reaching the point of contact first must wait until the partner has also got its point of communication.
Extended rendezvous invocation (remote invocation)
The sender can continue only after an acknowledgment has been received from the recipient. The recipient does not have to send this acknowledgment immediately after receiving the message but can do some preliminary checking before actually sending the acknowledgment.