Trova il tuo prossimo book preferito
Abbonati oggi e leggi gratis per 30 giorniInizia la tua prova gratuita di 30 giorniInformazioni sul libro
Implementing a Cpu using Fpga
Di Othman Ahmad
Azioni libro
Inizia a leggere- Editore:
- Othman Ahmad
- Pubblicato:
- Jan 21, 2014
- ISBN:
- 9781311908117
- Formato:
- Libro
Descrizione
This book is a practical guide to designing a CPU using Altera Quartus II software which is free. Readers need the Terasic DE2 or DE2-115 in order to accomplish the assignments given in the laboratory work sheets. The concept is not the same as normal manufacturers' tutorial which is completely guided. Only reference circuit diagrams are provided but only at the later stages. The design assignment starts at implementing an immediate load instruction. It is based on Mano's RISC architecture but unlike Mano's book, jump and conditional jumps reference circuits are provided as guidance. Each reader should be able to adapt the questions to design various versions of the CPU. The questions are actually directed at students, not individual readers but individuals and hobbyists should be able to use these work sheets. The experiments in the work sheets had been tested on Computer Engineering Students at Universiti Malaysia Sabah. The book consists of chapters of complete laboratory worksheets, assignments and a Bison assembler source-code. Lecturers can use these course-works as references in designing a practical course on designing a microprocessor. The author who was the instructor, inserts comments in strategic places in the worksheets.
Informazioni sul libro
Implementing a Cpu using Fpga
Di Othman Ahmad
Descrizione
This book is a practical guide to designing a CPU using Altera Quartus II software which is free. Readers need the Terasic DE2 or DE2-115 in order to accomplish the assignments given in the laboratory work sheets. The concept is not the same as normal manufacturers' tutorial which is completely guided. Only reference circuit diagrams are provided but only at the later stages. The design assignment starts at implementing an immediate load instruction. It is based on Mano's RISC architecture but unlike Mano's book, jump and conditional jumps reference circuits are provided as guidance. Each reader should be able to adapt the questions to design various versions of the CPU. The questions are actually directed at students, not individual readers but individuals and hobbyists should be able to use these work sheets. The experiments in the work sheets had been tested on Computer Engineering Students at Universiti Malaysia Sabah. The book consists of chapters of complete laboratory worksheets, assignments and a Bison assembler source-code. Lecturers can use these course-works as references in designing a practical course on designing a microprocessor. The author who was the instructor, inserts comments in strategic places in the worksheets.
- Editore:
- Othman Ahmad
- Pubblicato:
- Jan 21, 2014
- ISBN:
- 9781311908117
- Formato:
- Libro
Informazioni sull'autore
Correlati a Implementing a Cpu using Fpga
Anteprima del libro
Implementing a Cpu using Fpga - Othman Ahmad
Me
Preface
The objective of this book is to allow students to learn how to implement microprocessors themselves. The best way is by using laboratory sessions. There are already many books on methods on how to design microprocessors but very few show methods on how to design the simplest microprocessors possible with the least cost.
This eBook is actually the Laboratory instruction sheets that are used by the students at the Universiti Malaysia Sabah doing Computer Engineering Bachelor of Engineering with Honours degree. These students are at the third year of a 4 year course when they start taking a course on Computer Architecture subject with the course code KS31904.
In the first semester of the 2013-2014 academic sessions, for the first time, a laboratory course work is included in the syllabus of the Computer Architecture subject. When I first started teaching the subject in 2009, I notice that many students have difficulty in understanding the fundamentals of computer design. I postulated this as due to the lack of any practical work on designing microprocessors even for students who major in Computer Engineering.
This is in contrast to my experience as a student of Electronic Engineering at City University, London graduating in 1981. City University was one of the few Universities that offer courses in Computer Engineering. Students who major in Computer Engineering are taking extra courses in software such as operating systems but share many courses together with us, the Electronic Engineering students.
Despite majoring in Electronic Engineering, we are offered elective courses in Computer Engineering, one of which is the subject called Computer Engineering which I took. I was fascinated by the subject but was not particularly keen to specialise in Computer Engineering because of the perceived lack of jobs in industry at that time.
Probably because of the strong Computer Engineering background of City University in 1981, I was well versed in Computer Architecture especially with the basic designs. It could also be due to one of my laboratory sessions with bit-slice computers. In that laboratory session, I still remember vividly, playing with functional units of adders. That experience convince me that some methods of giving hands-on experience with the fundamental low level designs of computers is very important.
It is not sufficient to just experience higher level aspects of Computer Engineering in order to really master the art of computing. No matter how much exposure you have on the higher levels of a computer, it will never be the same as knowing the simplest circuits that make up a computer.
It should not be too difficult to know the low level circuits because they are just registers and arithmetic units. It is the way they are connected that allows them to be able to solve the most complex problems that we may encounter.
Despite my reluctance to engage in Computer Engineering profession, I cannot avoid using computers. It is such as essential tool that everything depends on the computer for the proper functioning and efficiency of the devices that I have come across. This is not surprising when a computer is the brain of any device.
There are actually alternatives to Digital Electronic Computers. We can use electronic logic circuits to solve any computing problem. Digital Electronic Computers are not even particularly fast or efficient at solving computing problems. Analogue computers are even faster but analogue computers are not so precise or accurate. Logic circuits are fast and accurate but very hard to port their designs to other devices. FPGA is an exception but FPGA is still not as easy and flexible as computer programs in portability across devices and ease of program development.
While we are still waiting for the appearance of the High Level Language compilers with the power of the C language for FPGA to become more widely available and cost effective, we are still stuck with Digital Electronic Computers as the most widely used option in solving computing problems that pervades our daily living from social networking to business transactions.
The applications of Digital Electronic Computers are no longer limited to numeric computations but also involve transferring data among devices. Transferring data is actually implemented easily in a microprocessor because it is just a move instruction.
Therefore, it is sufficient for students to master the move instructions in computers instead of the complex arithmetic functions that are best designed using logic gates. For an understanding of computer design, an implementation of a move instruction should be sufficient in order to provide the basic understanding of the inner aspects of implementing a microprocessor.
Current microprocessors appear complex because they are bogged down with so many instructions. Students are stuck with trying to understand the large number of possibilities that a computer is capable of doing while not really understanding the fundamentals of a computer
Recensioni
Recensioni
Cosa pensano gli utenti di Implementing a Cpu using Fpga
00 valutazioni / 0 recensioni