Discrete logic processor

Slides:



Advertisements
Similar presentations
Memory Section 7.2. Types of Memories Definitions – Write: store new information into memory – Read: transfer stored information out of memory Random-Access.
Advertisements

9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
1 Microprocessor History. 2 The date is the year that the processor was first introduced. Many processors are re- introduced at higher clock speeds for.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
1 Foundations of Software Design Lecture 3: How Computers Work Marti Hearst Fall 2002.
The processor and main memory chapter 4, Exploring the Digital Domain The Development and Basic Organization of Computers.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
GCSE Computing - The CPU
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
1 I.Introduction to Algorithm and Programming Algoritma dan Pemrograman – Teknik Informatika UK Petra 2009.
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
D75P 34R HNC Computer Architecture 1 Week 9 The Processor, Busses and Peripherals © C Nyssen/Aberdeen College 2003 All images © C Nyssen /Aberdeen College.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
IT253: Computer Organization Lecture 10: Making a Processor: Control Signals Tonga Institute of Higher Education.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
Topic 1Topic 2Topic 3Topic 4Topic
Eng.Samra Essalaimeh Philadelphia University 2013/ nd Semester PIC Microcontrollers.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
Basic Sequential Components CT101 – Computing Systems Organization.
1 i206: Lecture 4: The CPU, Instruction Sets, and How Computers Work Marti Hearst Spring 2012.
PHY 201 (Blum)1 Microcode Source: Digital Computer Electronics (Malvino and Brown)
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
MICROOCESSORS AND MICROCONTROLLER:
BMOW is a Custom CPU Design Like your PC’s Pentium, but much simpler Closest cousin is the MOS 6502 used in the Apple II, C-64, and Atari VCS =
ALU (Continued) Computer Architecture (Fall 2006).
The Central Processing Unit (CPU)
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Paula Michelle Valenti Garcia #30 9B. MULTICORE TO CLUSTER Parallel circuits processing, symmetric multiprocessor, or multiprocessor: in the PC has been.
1 Bringing it all together: Exploring the EVB Today: First Hour: Bringing it all together by exploring the EVB –Section of Huang’s Textbook.
Jeremy R. Johnson William M. Mongan
Copyright © 2005 – Curt Hill MicroProgramming Programming at a different level.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Datapath and control Dr. ir. A.B.J. Kokkeler 1. What is programming ? “Programming is instructing a computer to do something for you with the help of.
Computer Hardware. 7/23/2016M. Eyadat2 Objectives –Explain why most computers are digital –Describe the role of the ALU –List factors that affect performance.
Introduction to the FPGA and Labs
Computer Basics.
GCSE Computing - The CPU
Computing Science Computer Structure: Lesson 1: Processor Structure
IoT Milos Hampl.
FPGA Based E/EPROM Programmer
Basic Computer Organization and Design
PROGRAMMABLE LOGIC CONTROLLERS SINGLE CHIP COMPUTER
CS 270: Mathematical Foundations of Computer Science
The 8085 Microprocessor Architecture
Processor/Memory Chapter 3
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
A lecture for Arduino Course, Winter 2017/18
Instructions at the Lowest Level
Processor (I).
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Registers and Counters
Interfacing Memory Interfacing.
EE345: Introduction to Microcontrollers Memory
Computer Organization & Compilation Process
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Control Unit Introduction Types Comparison Control Memory
Registers and Counters
Overview Last lecture Digital hardware systems Today
8-6 The Control Word The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse Fig
Sequential Logic.
CS 286 Computer Organization and Architecture
Lecture 6 CdM-8 CPU overview
Arithmetic Building Blocks
Computer Organization & Compilation Process
Registers and Counters
GCSE Computing - The CPU
Instruction execution and ALU
Presentation transcript:

Discrete logic processor Technical presentation John Duffy

Background I started this project while I was a Junior in High School. One of the mentors for a robotics team I was on was talking about a college course of his where they had to build a computer (using an Intel 8080). I realized that I had no idea how a processor actually executes code. I spent a few weeks reading books online during lunch and between classes. When I finally had a basic idea of how all the parts worked together, it seemed so simple that I could do it myself, so I started thinking about a full system layout of my own. Once I had a simulation working in logisim, I figured that there were few enough parts that I could build actual hardware for it. I discussed the idea with another mentor on my robotics team, who told me about wire wrap, and gave me a pair of wire wrap boards to use, and some advice on working with digital logic chips.

Operation A addrs RAM A data C addrs (128x8) C data A ROM Opcode Registers A data A addrs C data B addrs B data (256x32) B address C addrs C data C data ALU C data Program Counter B addrs B data C addrs C data Counter

Simulation Once designed on paper, I moved to a simulator, logisim, to test the design. At first, I had to write the files by hand in binary, then convert them to hexidecimal. To make writing programs easier, I wrote a simple assembler in java, to abstract variables and jumping to lines. Overall, I went through 23 iterations before arriving at the design that I actually built.

Hardware Once I had something that worked well in simulation, I started building the hardware. Instead of an actual ROM, I used an arduino Mega, to make it easier to program and debug. It doesn't offload any of the processing, it just acts as the system clock, a 256x32 bit ROM and a pair of buffers. It could be easily replaced with an oscillator and one or more ROM chips. The logic is made with 74' series CMOS logic gates, using a wire wrap board for connections. The RAM is a 25ns 8 bit SRAM.

Hardware The logic was built up in sections, starting with the program counter, then RAM, ALU, bus control, data register, and output registers. Each part was bread boarded first and tested for speed and consistency. Most passed perfectly, but the RAM logic was inconsistent. Referring to the waveform showed that the timing around the RAM was very close, and therefore it often often the data on the A data bus instead of C. This was fixed with two capacitors and a resistor, which introduced a small delay between the clock edge and latch. While not a perfect solution, testing found that it worked very consistently, so it was acceptable.