computerarchitecture_ samenvating.pdf

Full Transcript

COMPUTER ARCHITECTURE Verkorte veries met exta uitleg en notities Roggemans M. 29/12/2024 • PDF • MEMS How IC’s are manufactured? Types of computers & applications: Als er op het examen gevraagt word wat dit is het is een PLC geen computer/server Google Server in Dalles Oregon IBM 704...

COMPUTER ARCHITECTURE Verkorte veries met exta uitleg en notities Roggemans M. 29/12/2024 • PDF • MEMS How IC’s are manufactured? Types of computers & applications: Als er op het examen gevraagt word wat dit is het is een PLC geen computer/server Google Server in Dalles Oregon IBM 704 mainframe computer NASA super computer Types of cloud computing: • Public cloud: Public clouds are owned and operated by a third-party cloud service providers, which deliver their computing resources, like servers and storage, over the Internet. Microsoft Azure is an example of a public cloud. With a public cloud, all hardware, software, and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser. • Private cloud: A private cloud refers to cloud computing resources used exclusively by a single business or organization. A private cloud can be physically located on the company’s on-site datacenter. Some companies also pay third-party service providers to host their private cloud. A private cloud is one in which the services and infrastructure are maintained on a private network. • Hybrid cloud: Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, a hybrid cloud gives your business greater flexibility, more deployment options, and helps optimize your existing infrastructure, security, and compliance. Types of cloud services: • Infrastructure as a service (IaaS): The most basic category of cloud computing services. With IaaS, you rent IT infrastructure—servers and virtual machines (VMs), storage, networks, operating systems—from a cloud provider on a pay-as-you-go basis. • Platform as a service (PaaS): Platform as a service refers to cloud computing services that supply an on-demand environment for developing, testing, delivering, and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network, and databases needed for development. • Software as a service (SaaS): Software as a service is a method for delivering software applications over the Internet, on demand and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure, and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their phone, tablet, or PC. Block diagram computer system Control-bus is missing in the drawing. Xta l Osc. POR ADRES DECODER ADRESBUS CPU ROM (FLASH) (EPROM) (EEPRO M ) DATABU S SRAM PAR. POORT SE R. POORT TIM E R COUNTER 51 Microcontroller (e.g. 8051 based Analog Devices chip) System On Chip: SOC e.g. Cypress PSoC 4200-L Indoctrination and its consequences… Decimal numeral system: •Corresponds with the number of fingers •Symbolic representation of a quantity: 0 9 •Numerals take different place values depending upon position: •12 = 1x10 + 2 •12 = 1x(1x10+0) +2 •100 € Bits and number systems •Bit: •BInary digiT •0 of 1 •Yes or no •On or off •Voltage or no voltage •... •Suffix “b” or “B” e.g. 1b Bits and number systems •Bit xb •Nibble: •Means “small bite out of something” •4 bits •0000 > 0001 > 0010 > … > 1111 •16 possibilities •Suffix b or B. e.g. 1001B or 1001b Bits and number systems •Bit xb •Nibble xxxxb •Byte: •By EighT (or a big bite) •As of 60’s = 8 bits •00000000b > 11111111b •256 combinations •Suffix b or B Bits and number systems •Bit xb •Nibble xxxxb •Byte xxxxxxxxb •Word: •Everything larger than 1 byte •Used to be 16 bits •0000000000000000b > 1111111111111111b •65536 combinations •Suffix b of B Bits and number systems •Bit xb •Nibble xxxxb •Byte xxxxxxxxb •Word xxxxxxxxxxxxxxxxb •Long Word, Very long word, Very very long… •32/64/… bits •Not used so much •Word = 9 bits or more Bits and number systems •Nibble xxxxb •HEXADECIMAL (HEX) notation: •4 bits are replaced by 1 symbol: •0000 0 •0001 1 •... •1001 9 •1010 A •... •1111 F Bits and number systems Decimal Binary Hexadecimal BCD Bits and number systems Bits and number systems •ASCII codes •Do not represent a value (number) •Represents a command or a symbol (on a display/keyboard) •Communication with input/output devices •Universal standard •Part of UNICODE Bitmap of a character ASCII code table E.g. letter “A” = code 41h and number “3” = 30h Codes in red are “commands” or “control” codes. The empty box stands for “space”. Gray code Gray code Binary code Bits and number systems •Instruction codes •Do not represent a value •Binary representation microprocessor instructions •Microprocessor dependent codes Instruction set and codes Instruction set and codes Address code label mnemonic operand 0000 org 00000h 0000 74FF 0002 2401 0004 4003 0006 020002 0009 7400 000B 020002 mov add jc ljmp mov ljmp a,#0ffh a,#001h loop loop1 a,#000h loop1 loop1: loop: The codes in the columns “Address” and “code” are in hex representation. The suffix “h” has been omitted. Bits and number systems •WARNING!!!! •Internally in a computer everything is stored as 1’s and 0’s •Strict rules (conventions) ensure the proper operation of the CPU (micro processor): •Starting address of program (code) •Storage locations for data and codes in memory •Knowing wat “data” represents (numbers, ASCII codes, …) •Programmer with knowledge of how it all works (a.k.a. brains) Logic gates Te kennen Kennen logice poorten not And Or Xor Logic gates Error detection: parity Pariteitscontrole is een methode voor foutdetectie waarbij een extra bit, de pariteitsbit, wordt toegevoegd aan gegevens. Bij pariteit "odd" moet het totale aantal bits (inclusief de pariteitsbit) oneven zijn, terwijl bij pariteit "even" het totaal even moet zijn. Je kunt dedecteren dat er iets fout is je Kunt het niet herstellen enkel te gebruiken Bij een bit error bit-ratte grooter dan 2/9bits Error detection: parity Error detection: checksum Fout detectie geen corectie Checksum is een methode voor foutdetectie waarbij de som of een wiskundige bewerking wordt uitgevoerd op een set gegevens. (two’s comliment) Het resultaat, bekend als de checksum-waarde, wordt samen met de gegevens verzonden. Bij ontvangst wordt de checksum opnieuw berekend en als de berekende waarde overeenkomt met de ontvangen checksum, is het waarschijnlijk dat de gegevens intact zijn. Als er een verschil is, wordt een fout gedetecteerd, wat wijst op mogelijke gegevenscorruptie. Checksums worden veel gebruikt in netwerkcommunicatie en bestandsoverdrachten voor foutdetectie Error detection: Hamming code Hamming Code is een foutdetectie- en foutcorrectiemethode die extra bits toevoegt aan de over te dragen gegevens. Deze extra bits, ook wel pariteitsbits genoemd, worden op strategische posities berekend. Ze stellen ontvangers in staat om niet alleen fouten te detecteren, maar in sommige gevallen ook om enkele bitfouten te corrigeren. Hamming Code is ontworpen om de betrouwbaarheid van digitale communicatie te verbeteren door de mogelijkheid te bieden om fouten tijdens de overdracht te identificeren en in bepaalde gevallen te herstellen, met name voor enkele bits. Error detection: CRC Examen vraag leg deze afbeelding uit Werkt met priem getallen CRC (Cyclische Redundantie Controle)is een foutdetectiemethode in digitale communicatie waarbij een korte checksum aan gegevens wordt toegevoegd. Als de checksum (priem getallen ) bij de ontvanger overeenkomt met de verzonden checksum, worden geen fouten gedetecteerd; anders wel. Doet aleen error detectie geen error correctie Error detection: CRC Two’s complement Two’s complement is een methode om positieve, negatieve en nul gehele getallen te vertegenwoordigen op computers1. Het proces om een getal om te zetten naar Two’s complement bestaat uit drie stappen1: Begin met de binaire representatie van het getal, waarbij het meest significante bit het tekenbit is. Inverteer alle bits - verander elke 0 in 1, en elke 1 in 0. Voeg 1 toe aan het geïnverteerde getal, negeer eventuele overloop. Bijvoorbeeld, om het decimale getal -6 in binaire vorm te berekenen vanuit het getal 6: +6 in decimaal is 0110 in binair. Inverteer alle bits in 0110, wat resulteert in 1001. Voeg 1 toe aan het geïnverteerde getal 1001, wat resulteert in 1010 Endian magnetic core memory: ROM PROM (fuse based) EPROM, EEPROM, FLASH Floating gate 100% op het examen Leg uit Als er er op het examen gevraagt waarom na 10 tot 100 jaar de informatie verloren gaat is het enige juiste antwoord is warme temperatuur Na lange tijd Sensitive to: static charges, temperature, (UV) light, wear (limited write cycles) EEPROM The most common interfaces are: •I2C (Inter Integrated Circuit interface (IIC)) •SPI (Serial Peripheral Interface) (similar to SD card interface) •One Wire Interface •Standard address- data- and control busses •Sometimes integrated in micro controllers •Byte erasable and programmable FLASH Byte programmable but only sector erasable! SRAM RAM == read write memory with no restriction on number of cycles DRAM Pseudo static DRAM NVRAM Memory bus systems Gemultie plecxeerde data is verkrijgbaar in verschoven tijd Gedemultie plexeerde bus data is gelijk tijdig beschikbaar maar gebruik extra elektronica Examen vraag heeft deze cpu een Gemultie plecxeerde of een Gedemultie plexeerde bus Let op cpu leg ook uit waarom deze een Gedemultie plexeerde bus heeft Antwoord gemulie plexeert geen aparte data en addres aansluitingen Examen vraag heeft deze cpu een Gemultie plecxeerde of een Gedemultie plexeerde bus Let op cpu leg ook uit waarom deze een Gedemultie plexeerde bus heeft Antwoord gedemulie plexeert aparte data en addres aansluitingen Examen vraag Wat zie je hier Cpu schema leg uit dat data niet sneller kan dan de snelheid van het (einstein) en hoe verder je gaat((hoe langer het pad) hoe trager je data moet versturen Een cpu heeft tijd nodig om data te versturen Z80 CPU timing (asynchronous bus, timing is flexible (wait signal)) 8051 CPU timing (synchronous bus, timing is fixed) 8051 de-multiplexing 8051 memory decoding Asynchronous bus (use synchronization signals e.g. wait/ssyn) Dynamic RAM (DRAM) is een type computergeheugen dat data opslaat met behulp van condensatoren en transistoren. Het vereist periodieke vernieuwing om de gegevensintegriteit te behouden vanwege lekken in de condensatoren. DRAM wordt vaak gebruikt in computersystemen vanwege de kosteneffectiviteit en hoge opslagdichtheid in vergelijking met static RAM. DRAM refresh D-RAM chip (RAS & CAS signals) Industrial bus types Industrial bus PC/104 Industrial bus PC/104 Industrial bus PC/104 PC bus types HD bus types (SATA is not a bus!) PC bus types PIO 74HC541 74HC574 Serial I/O Serial I/O Zeker, hier is een samenvatting in het Nederlands: Seriële Communicatie: •Voordelen: Vereenvoudigde bedrading, geschikt voor langere afstanden. •Nadelen: Langzamer voor grote hoeveelheden gegevens, mogelijk synchronisatie nodig. Parallelle Communicatie: •Voordelen: Sneller voor grote hoeveelheden gegevens, geschikt voor korte afstanden. •Nadelen: Meer complexe bedrading, vereist precieze synchronisatie. De keuze tussen seriële en parallelle communicatie hangt af van factoren zoals datasnelheid, afstand, kosten en systeemcomplexiteit. Seriële communicatie wordt vaak gekozen voor kosteneffectieve oplossingen op langere afstanden, terwijl parallelle communicatie wordt gebruikt wanneer snelle gegevensoverdracht cruciaal is over kortere afstanden. Serial I/O Serial I/O Serial I/O Serial I/O Timers and Counters Timers and Counters Counters / Timers / RTC: AD and DA: AD and DA: SAR ADC SAR ADC Sample and Hold DAC with resistors DAC with resistors Resolution ADC/DAC •1 bit •2 bit •4 bit •8 bit •16 bit •24 bit 2 levels 4 levels 16 levels 256 levels 65536 levels 16777216 levels 50% 25% 6,25% 0,4% 0,0015% 0,00006% •Accuracy good multimeter = 0.1% or 10 bit (210=1024) CD player? 1 Bit audio ADC/DAC 1 Bit audio ADC/DAC Intel Sandybridge (2011) (integration GPU and CPU). The chip has 1.400.000.000 transistors. The size of the chip is 160mm 2 . GPU vs CPU CPU (Central Processing Unit): - Functie: Algemeen computertaken beheren en uitvoeren, geschikt voor single-threaded prestaties. GPU (Graphics Processing Unit): - Functie: grafische verwerking, kan ook gebruikt wordden voor andre parallelle taken. Cpu enkle krachtige cores GPU heel veel kleine zwake cores in parallel GPU vs CPU GPU vs CPU Killer I/O Raspberry PI = microcontroller Interface • The interface consists of all electronic circuits, needed to allow interaction between the digital computer (=CPU/MEMORY/IO) and the outside world. • The interface adjusts the computer signals to match real world signals: • Amplitude (Car: headlights 12v, computer: 5v) • Current (Machine: amperes, computer: milli amperes) • Waveform (Communication: serial, computer parallel) • Physical properties (Audio: analog, computer digital) • … Interface • The interface not equal to peripherals!!! • Examples of peripherals: •Keyboard •Display •Mouse •... Interface (e.g. Arduino shields) Interface: Interface: Programming languages Knowledge of hardware + BS (level) Low level programming language Machine-language – assembly language Adres code label 0000 0000 0002 0004 0006 0009 000B 74FF 2401 4003 020002 7400 020002 loop1: loop: menmonic operand org 00000h mov add jc ljmp mov ljmp a,#0ffh a,#001h loop loop1 a,#000h loop1 High level programming languages Editor Compiler IDE OpCode High level programming languages ASSEMBLY : Adres code label 0000 0000 0002 0004 0006 0009 000B 74FF 2401 4003 020002 7400 020002 loop1: loop: BASIC : 10 20 30 40 50 let a = 2 5 5 a = a + 1 if a = 2 5 6 go t o 4 0 else 2 0 a = 0 goto 20 menmonic operand org 00000h mov add jc ljmp mov ljmp a,#0ffh a,#001h loop loop1 a,#000h loop1 High level programming languages High level programming languages Programming languages •Advantages high level language: •Easy to understand •Easy to make adjustments to the code •Compiler protects hardware against programmer abuse •Advantages low level language: (the lower, the more applicable) •Code runs faster •Direct control over hardware •Optimal usage resources (i.e. memory and I/O) Programming languages •Why machine language becomes less popular? •Requires in depth knowledge of hardware: • Hard to master in complex systems • Not required in lots of applications •Requires in depth knowledge of code in the system: • Not always possible in complex systems •Language and features depend on hardware: • I.e. X86 ARM 8051 AVR, … • Memory map and I/O are system dependent Program flow Zeker Kennen examen:Interrupts Isr=inteript service routine Interrupts zijn signalen die de normale uitvoering van een programma onderbreken om onmiddellijke aandacht te vragen voor een specifieke gebeurtenis, zoals een hardwaregebeurtenis of een fout. Ze laten de processor toe om onmiddellijk te reageren op kritieke gebeurtenissen zonder het normale programmaflow te verstoren. Interrupts kunnen hardware- of softwarematig zijn en spelen een cruciale rol in multitasking en real-time systemen. Het gebruik van interrupts verbetert de responsiviteit en efficiëntie van computersystemen door onmiddellijke verwerking van belangrijke gebeurtenissen. Interrupts 1 cycle of the program Tijd Test HW Test HW No test of the hardware condition between test intervals. Test HW Door hardware opgestart Hoofd p ro g ra m m a Hoofd p ro g ra m m a Initialisaties ( g e e n interrupts) Initialisaties ( o o k interrupts) Taak 1 Taak 1 I nte rru p t routine Neen Test H W Ja Speciaal 1 Speciaal 1 Speciaal 2 Speciaal 2 R E TI Taak 2 Taak 2 Taak 3 Taak 3 Zonder interrupt M et interrupt NMI: Non Maskable Interrupt NMI SPS 1 vector 1 vector Multiple vectors Multiple vector ARM interrupt controller De ARM Generic Interrupt Controller (GIC) is een interruptcontroller die wordt gebruikt in ARM-processors. Het beheert interrupts van zowel hardwareapparaten als softwaregebeurtenissen. De GIC handelt prioriteiten af, routeert interrupts naar de juiste processorkern en ondersteunt verschillende interruptmodi. Het is cruciaal voor een georganiseerde en efficiënte interruptafhandeling in ARM-gebaseerde systemen ARM interrupt controller ARM interrupt controller Interrupt priorities User and supervisor mode MMU MMU MMU De MMU, of Memory Management Unit, is een hardwarecomponent in een computerarchitectuur die verantwoordelijk is voor het beheren van het geheugen. De MMU vertaalt virtuele geheugenadressen die door programma's worden gebruikt naar fysieke geheugenadressen op de hardware. Hierdoor kan het besturingssysteem en de processor efficiënt omgaan met het geheugen en zorgen voor geheugenbescherming en -isolatie tussen verschillende processen. DMA DMA DMA staat voor "Direct Memory Access." Het is een functie in computersystemen waarbij een aparte DMA-controller de gegevensoverdracht tussen apparaten en het systeemgeheugen beheert zonder tussenkomst van de CPU. Dit verbetert de efficiëntie van gegevensoverdracht, omdat de CPU zich kan concentreren op andere taken terwijl de DMAcontroller gegevens rechtstreeks tussen apparaten en geheugen overdraagt. DMA is vooral handig bij het verwerken van grote hoeveelheden gegevens, zoals bij het lezen of schrijven naar opslagapparaten. DMA Data storage RAID (Redundant Array of Independent Disks) Raid = Redudant aray of independent disks Op het examen word niet gevraagd op een specifieke Raid uit te leggen Gewoon hoe Raid werkt Als schijf 1tot 5 werkt en er gaat een schijf kapot Dan kan deze herseld worden parotijd info op schijf 6 RAID RAID 5 Tape memory old/new CD R/RW: Hoe een cd werkt en zo moeten we niet kennen Kan Wel een vraag zijn het Verschil tussen stampt cd en Cd RW Stampt cd's zijn veel langer leesbaar vergelijken met cd R/Rw Parallel communication Parallel communication Parallel communication Parallel communication Serial communication Korte uitleg level shifters Level shifters zijn apparaten die spanningen omzetten tussen verschillende elektronische circuits of apparaten. Ze worden vaak gebruikt om ervoor te zorgen dat de signaalniveaus van het ene apparaat compatibel zijn met het andere, met name in gevallen waarin ze verschillende spanningseisen hebben. Bij RS232-communicatie worden level shifters bijvoorbeeld gebruikt om de spanningsniveaus aan te passen tussen apparaten met verschillende vereisten voor seriële communicatie. Level shifters RS232 Level shifters RS232 Level shifters RS485 Zeker Kennen word overal gebruikt Masa(aarding) Wordt niet gebruikt Kijkt naar de verschil vorm 0 5 volt om 0 en 1 te ontvangen kan tegen groote ruis Terminators (de weerstanden die je ziet) Zorgt er voor dat de weerkatsende signalen worden opgevangen Level shifters RS485 Level shifters Level shifters Level shifters Level shifters (modems) Synchronous serial communication Synchronous serial communication Synchronous Synchronousserial serialcommunication data storage One wire One wire Een draad voor masa en een voor data Wordt bv gebruikt voor serie nummers In componten (hd schijf )te zetten Synchronous serial data storage Asynchronous communication Type of connection Groote examen vragen zeer waarschijnlijk op het examen Vraag type van conection meer kueze vraag toplogyen die je moet Kennen en tekenen Poit to poit toplogy= simplex,half-dublex,full-dublex Bus topology=simplex,half-dublex,(full-dublex niet ) Ster toplogy =simplex,half-dublex,full-dublex Ring toplogy =simplex,half-dublex,full-dublex Topology Web topology Tree topology Protocol: 7 layer osi model (Open Systems Interconnection) LPT (line printer): Also called “Centronics interface” Paralel communicatie Hand shake communicatie Zorgt voor communicatie tussen zender en ontvanger met 2 extra aansluitingen (hand schake) COM (serial communications port) USB Operating systems • None • RTOS – Hard – Soft • • • • • • BIOS or Monitor DOS Windows Linux Osx (macOS) … Operating systems • None o o o o User program is started after reset of CPU Mostly single tasking Code consists of main program, subroutines and ISR Programmer is responsible for “real time” operation o Hard to maintain when multiple programmers or multiple tasks are involved Operating systems • BIOS of Monitor o Basic “boot” program activated after reset o Collection of system functions (subroutines) (I/O functions universal usable without hardware knowledge, HARDWARE ABSTRACTION LAYER) o Minimal OS (not really) for computer control o Is able to start programs automatically (including an OS) o Runs in system mode (if available on CPU) Korte samenvanting Bios Basic input output systeem (weten waar Collecti Cache een klein stukje geheugen(static ram ) toegevoegd Voor het opstarten van u pc aan de cpu (buffer van programtuur) Cache controler schrijft de data naar de cache Om dat de cpu bezig is RTOS real-time oprrating systeem MAM = Memory Acceleratie module Gegarandeerde snelheid geen updates (Pase maker /snelheid meter auto ) Operating systems • UEFI: Unified Extensible Firmware Interface o Intel developed o Defines a software interface between an operating system and platform firmware o UEFI replaces the Basic Input/Output System (BIOS) firmware interface o UEFI firmware can switch to BIOS compatibility services. o UEFI can support remote diagnostics and repair of computers, even with no operating system installed. o UEFI = mini OS Operating systems Advantages (in relation to BIOS): •Ability to boot from large disks (over 2 TB) with a GUID Partition Table (GPT) • CPU-independent architecture • CPU-independent drivers • Flexible pre-OS environment, including network capability • Modular design • Backward and forward compatibility Operating systems • RTOS – Hard (deterministic) – Soft o o o o o Multi tasking Time of event switched (with priorities) Task-switching limited in speed Dynamic allocation of memory Parameter passing between tasks o Disadvantage: overhead in task switching Operating systems • DOS • Windows • Linux •… CPU clock speed <> current consumption Faster computer Increased current consumption!! Power supply voltage <> current consumption Higher operating voltage Higher current consumption!! Power supply voltage <> current consumption Higher operating voltage Higher current consumption!! Higher operating voltage Faster CPU Electrical signals Speed <> distance •Speed of light = 300.000 km/s •Speed of light = 300.000.000m/s •CPU speed = clock frequency •1GHz=1000.000.000Hz (clock pulses per second) •1 clock pulse takes 0,000000001s Distance traveled by the signal @ speed of light: •300.000.000m/s x 0,000000001s=0,3m=30cm •210.000.000m/s x 0,000000001s=0,21m=21cm Korte uileg catche Een cache is een tijdelijke opslagplaats voor gegevens die vaak worden gebruikt of verwacht worden in de nabije toekomst. Het doel van een cache is om de toegang tot deze gegevens te versnellen door een snellere opslag te bieden dan het primaire opslagmedium, zoals RAM of een harde schijf. Caches worden veel gebruikt in computersystemen en hebben verschillende niveaus, waarbij elk niveau zich dichter bij of verder van de centrale verwerkingseenheid (CPU) bevindt. Belangrijke kenmerken van caches zijn: 1.Snelle toegang: Caches bieden snel toegang tot vaak gebruikte gegevens, waardoor de verwerkingssnelheid wordt verhoogd. 2.Hiërarchie: Caches worden vaak in verschillende niveaus ingedeeld, zoals L1 (nabij de CPU-kern), L2 (dichter bij de CPU dan RAM) en L3 (dichter bij RAM dan L2). Elke cache in de hiërarchie is groter maar heeft een langzamere toegangstijd dan de vorige. 3.Cache-hit en cache-miss: Een cache-hit treedt op wanneer de gevraagde gegevens in de cache worden gevonden, wat resulteert in een snelle toegang. Een cache-miss treedt op wanneer de gevraagde gegevens niet in de cache aanwezig zijn, waardoor het systeem de gegevens elders moet ophalen, wat meer tijd kost. 4.Cache-geheugenlijn: Gegevens worden vaak niet individueel in de cache opgeslagen, maar als een "lijn" of een blok, wat betekent dat als één deel van de gegevens wordt opgevraagd, naburige gegevens ook worden opgehaald en in de cache worden geplaatst. Het gebruik van caches verbetert de algehele prestaties van computersystemen door het verminderen van de gemiddelde toegangstijd tot gegevens, vooral bij herhaalde toegang tot dezelfde gegevens. CACHE CPU clockx2 computer speed x2? CACHE CACHE CACHE direct mapping CACHE X-way set associative CACHE Fully associative MAM MAM and cache branching IF ( B < C ) THEN A= D EL SE A = E EN D IF C OMPARE B < C IF TRUE A = D conditional instruction IF FALSE A = E conditional instruction Jumping in code versus conditional code execution Jump “prediction” reduces disadvantage jumping in code! Pipeline1000% Zeker kennen (increased execution speed, same system clock) Scalar CPU: 1 unit/task In een pipeline probeert men elke operatie zo veel mogelijk te vullen om de CPU optimaal te benutten. Dit wordt bereikt door de instructies in verschillende stappen te verdelen en deze stappen parallel uit te voeren. Hierdoor kan de CPU meerdere instructies tegelijkertijd verwerken en de verwerkingstijd van een instructie verkorten¹². Een pipeline is nutteloos als de instructies niet afhankelijk zijn van elkaar en er geen parallelle uitvoering mogelijk is. Een pipeline loopt fout als er een afhankelijkheid tussen instructies is die niet kan worden opgelost door de pipeline¹². zeker het veschil kennen tussen geen nut heben en waneer het fout loopt Super scalar CPU: multiple units/task Super scalar pipeline Super scalar pipeline Super scalar pipeline RISC <> CISC Cisc=complex instruction set (meest gebruikt) Risc=reduct instruction set RISC <> CISC RISC <> CISC Hyper threading Hyper threading is een techniek die een processor in staat stelt om twee taken tegelijk uit te voeren op één kern. Dit verhoogt de efficiëntie en snelheid van de processor, omdat hij minder vaak hoeft te wachten op beschikbare bronnen. De grafiek laat zien hoe hyper threading de bronnenbenutting beïnvloedt in verschillende scenario's. Superscalar betekent dat een processor meerdere instructies per cyclus kan uitvoeren. Multiprocessing betekent dat er meerdere processoren zijn die samenwerken. Hyper threading betekent dat elke processor twee taken tegelijk kan uitvoeren. Multiprocessing met Multi processor hyper threading betekent dat er meerdere processoren zijn die elk twee taken tegelijk kunnen uitvoeren. De grafiek laat zien dat hyper threading de bronnenbenutting verbetert in alle scenario's, behalve in het geval van superscalar, waar het geen verschil maakt. Multi processor LED’s & transistors The Megaprocessor has: -16-bit architecture, seven registers, 256bytes of RAM and a questionable amount of PROM (depending on his soldering endurance, he says). -It sips 500W, most of it going to light up all the LED’s. -It weighs about half a ton. -The processor uses up 15,300 transistors and 8,500 LED’s. -The RAM has 27,000 transistors and 2,048 LED’s. That puts it somewhere between the 8086 and the 68000 Case study Bit Slice Case study Bit Slice 4 instruction CPU micro program control store (ROM) Case study Bit Slice Control store microcode/instruction Bit slicing is een techniek om de woordlengte van een processor te vergroten door modules van processors met kleinere bitbreedte te gebruiken. Elke module verwerkt één bitveld of "slice" van een operand. De gegroepeerde verwerkingscomponenten zouden dan in staat zijn om de gekozen volledige woordlengte van een gegeven softwareontwerp te verwerken Case study Z80 Case study Z80 Case study Z80 Case study Z80 Case study Z80 Case study Z80 PIO Case study Z80 SIO Case study Z80 CTC Case study Z80 DMA Case study Z80 DMA Case study Z80 DMA Case study Z80 DMA Case study Z80 Case study X86 • 1 9 6 8 Robert Noyce Moore and Andy Grove found Intel Corp. Purpose of the company:designing "INTegrated ELectronics." • 1 9 7 1 production of the first single chip micro processor (4004) (2000 transistors, 4 bit). • 1 9 7 2 the 8 0 0 8 8-bit micro processor is marketed. • 1 9 7 4 improved version of the 8 0 0 8 is released (8080 (4500 transistoren). • 1 9 7 5 the 8 0 8 0 is used in the Altair 8 8 0 0 computer. This brings the concept of a “home computer” to live. • 1 9 7 8 the 8 0 8 6 16-bit processor is released. One year later an 8-bit bus version of this chip is released (the 8088). Case study X86 Gates en Jobs write a “BASIC interpreter” for the Altair (based on the 8080) and found Microsoft Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 X86 specific ICs: • 8288 bus controller • 8282/8283 latches • 8286/8287 bus transceivers • 8089 I/O processor (never popular) • 8237 DMA • 8087 math co-processor • 8284 Clock/RESET generator • 8289 bus arbiter 8085 specific ICs (8 bit family) used in 8086/8088 systems • 8251 USART • 8253 Timer counters • 8255 Programmable peripheral interface Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 Case study X86 AD0→ AD19 Case study ARM • 1979 In Cambridge England the ACORN company is founded by Hermann Hauser en Chirs Curry (Sinclair) • 1983 The Acorn Risc Machine project is started • 1990 The ARM Ltd company is a joint venture of Acorn, Apple and VLSI • The company does not have a chip factory but only designs components (Intellectual Property). The designs are build under license by other companies. As of 1993 the company makes a profit. The company headquarters resides in Cambridge GB • ARM cores = RISC = low power = low transistor count • ARMx processors/controllers are replaced by CORTEX devices Case study ARM CORTEX M: • Household devices • Gaming • Automotive • Wireless applications • Subsystems for computers Case study ARM CORTEX R: •High performance: Fast processing combined with a high clock frequency •Real-time: Processing meets hard real-time constraints on all occasions •Safe: Dependable, reliable systems with high error resistance •Cost effective: Features for optimal for performance, power and area. Case study ARM CORTEX A: • Mobile applications (smartphone,…) • Netbooks • Digital TV • Set Top Box • Automotive infotainment CORTEX A53 • 32/64 bit architecture Case study ARM Case study ARM Case study ARM Case study ARM Case study ARM Hardware considerations Safety measures when working on computers: •Don’t wear jewlery or loose clothes •Disconnect the power cord or the batteries •Watch out for sharp edges of metal housings (tape them off) •Watch out for hot components (devices connected to heat sink) •D o not eat or drink in the shop •Have a fire extinguisher in stand by •D o not lift heavy loads by bending your back (bend your legs) •Wear an anti-static bracelet connected to ground potential (earth) when working with E S D sensitive devices •Capacitors m a y remain charged!! Hardware considerations EMI-ESD measures: •Leave E S D sensitive components as long as possible in their package •Use grounded conductive carpets •Use an anti-static bracelet when manipulating E S D sensitive devices/components Hardware considerations Malfunction due to: •Blackout: Disruption of mains power •Real blackout or just a fuse or a cable defect? Hardware considerations Malfunction due to: •Blackout: •Brownout: Disruption of mains power Mains power drops (momentary) below certain voltage Hardware considerations Malfunction due to: •Blackout: •Brownout: Disruption of mains power Mains power drops (momentary) below certain voltage •Noise: Power supply voltage is not “clean” •Spike: Transient in the power supply voltage •Power surge: = spike but of short duration

Use Quizgecko on...
Browser
Browser