110 likes | 220 Views
Parts of a GP Computer (Microcomputer). Contains separate Microprocessor chip Memory/Memory controller MB control chips Peripheral (I/O) devices (one chip for each function) serial comm parallel comm USB Bluetooth IR AGP graphics WiFi CD/DVD interface
E N D
Parts of a GP Computer (Microcomputer) • Contains separate • Microprocessor chip • Memory/Memory controller • MB control chips • Peripheral (I/O) devices(one chip for each function) • serial comm • parallel comm • USB • Bluetooth • IR • AGP graphics • WiFi • CD/DVD interface • PCI expansion slots • … CS-280 Dr. Mark L. Hornick
How does a Microcomputer differ from a Microcontroller? CS-280 Dr. Mark L. Hornick
Microcontroller: “1-chip” solution (monolithic) Built-in components (depending on variant) Microprocessor Memory: RAM/SRAM, EEPROM/EPROM/PROM/ROM Peripheral devices serial/parallel ports digital I/O ports Analog/Digital converter Timer/Counter How does a Microcomputer differ from a Microcontroller? CS-280 Dr. Mark L. Hornick
Inside an IC package CS-280 Dr. Mark L. Hornick
Inside an IC package CS-280 Dr. Mark L. Hornick
Atmel Atmega32 • Central Processing Unit • Arithmetic Logic Unit (ALU) performs the actual arithmetic, logical, and bit-functions • Memory – SRAM, EEPROM, Flash, etc. • Clock circuit – internal/external • I/O – Input/Output; video, serial, parallel, USB, SCSI, etc. CS-280 Dr. Mark L. Hornick
CS-280 Dr. Mark L. Hornick
Atmel Atmega32 highlights An 8-bit microcontroller featuring: • 3 separate on-chip memories (Harvard architecture) • 2KB SRAM (for data – volatile; data lost on power off) • 1KB EEPROM (for persistent data storage – holds data after power off) • 32KB Flash (organized as 16K of 16-bit words for persistent program code) • Native data size is 1 byte (SRAM and EEPROM) • 16-bit data addressing • Up to 64 KB (216 bytes) of data memory can be accessed • 8-pin I/O ports named A, B, C, and D, configurable as: • Digital input (for reading discrete external signals on each pin (0v or 5v) as data values 0 or 1) • Digital output (for writing binary data values as discrete output signals (0v or 5v) • Analog input (for reading continuous external signals (0v-5v) as data values) • Serial/Parallel (for reading or writing streams of bytes) • Pulse accumulator (for counting #changes of external signals) CS-280 Dr. Mark L. Hornick
The Atmega32 design is based on a Harvard Architecture: • Assigns data and program instructions to different memory spaces. • Program data occupies a different and separate memory from the program itself. • Each memory space has a separate bus, allowing: • Different timing, size, and structure for program instructions and data • Concurrent access to data and instructions (increases speed) • Clear partitioning of data and instructions (better security) • Drawback: Harder to program Microcontroller Components
Data Main Memory CPU +Program Most general-purpose microprocessors (like in your PC) use a von Neumann Architecture • Data and instructions are both stored in the same main memory • The content of any part of memory is addressable by location without regard to what is stored in that location – program or data • Instructions are executed sequentially. In case of accidental or intentional programming errors, data can be executed – a common attack used by viruses Microcontroller Components