Microprocessors
Here is the complete set of materials related to my Microprocessors course, as taught in Isfahan University of Technology, 2010.
این صفحه حاوی تمامی مطالب مربوط به درس ریزپردارنده ها می باشد که در سال ۲۰۱۰ در دانشگاه صنعتی اصفهان ارایه شده است
این مطالب شامل یادداشت های برداشته شده توسط دانشجویان و تمرین های درس
و همچنین تمامی فیلم های ویدویی است که در کلاس صبط گردیده
Lecture Notes Taken by Students :
1- Student 1 Part 1 : Download
2- Student 1 Part 2: Download
3- Student 1 Part 3: Download
Lectures & Homework :
1- Slides for the first 10 sessions of the class are here : Download
2- Slides related to floating point values are here: Download
3- Slides related to architecture of C30 DSP and basic concepts of DSPs : Download
4- Slides related to Memory Management Unit: Download
5- Slides related to cache memory and basic timings of SRAM and DRAM memories: Download
6- Slides related to ARM CPU history and an introduction to its architecture and families: Download
7- Slides related to ARM CPU instruction set and Assembly language programming for ARM: Download
8- Slides related to Advanced Interrupt Controller module on ATMEL AT91SAM7X microcontrollers: Download
Sample Problems :
1- Sample problems for mid-term exam part 1: Download
2- Sample problems for mid-term exam part 2: Download
3- Exercises for ARM Assembly Language Programming part 1: Download
4- Exercises for ARM C programming part 1: Download
5- part of solution to above homework: Download
Videos
Session | Description | Download |
1 | Intro to CPU | — |
2 | 4004 CPU | DOWNLOAD (Save Link As) |
3 | TMS1000 CPU | DOWNLOAD (Save Link As) |
4 | ZILOG Z80 | DOWNLOAD (Save Link As) |
5 | Zilog Z80 Definition of Memory Map Different Modes of Addressing AMD AM2901 Intel MCS-51 MCS-51 Registers MCS-51 Data Space MCS-51 Special function regs |
DOWNLOAD (Save Link As) |
6 | MCS-51 Peripherals UART About Serial data transfer techniques I2C Bus SPI Analog Comparator A/D |
DOWNLOAD (Save Link As) |
7 | MCS-51 Stack Sample Stack Operation MCS-51 other special function registers Microchip Corporation Introduction to ZigBee networks PIC’s bank number PIC’s data and code space |
DOWNLOAD (Save Link As) |
8 | More about Stack What is a code profiler? Intro to real-time systems What is a C compiler? GNU C Compiler Microchip PIC10 & PIC16 PIC17/18 What is DMA? PIC24 and dsPIC Multiply and Accumulate |
DOWNLOAD (Save Link As) |
9 | More on Multiply & Accumulate 8086 CPU backward compatibility Addressing in 8086 8086 Pins MIN and MAX modes for 8086 8086 Registers and Flags Segment Registers |
DOWNLOAD (Save Link As) |
10 | More description of DMA simple DMA example More description of Multiply & Accumulate more on 8086 segment registers CS, DS, ES and SS registers Memory models in 8086 introduction to Co-processors |
DOWNLOAD (Save Link As) |
11 | Fixed point numbers Floating point numbers Definition of Dynamic range IEEE-754 standard representation of floating point values in IEEE 754 standard Floating point add and multiplication 8087 Co-processor structure |
DOWNLOAD (Save Link As) |
12 | Debugging an application under x86 (Using visual studio) Debugging basic techniques Floating point registers and floating point co-processor x86 assembly of a C program x87 system architecture Floating point function emulation and comparison Disassembling an application using IDA Pro TMS320C31 Floating point DSP intro Why DSPs? |
DOWNLOAD (Save Link As) |
13 | Bit-reversed addressing Example C31 board demonstration PROM – EPROM – EEPROM memories Flash ROM memories Floating point vs Fixed Point DSPs Dynamic range in DSPs Texas Instruments DSPs What is a boot loader? TMS320C3X internal block diagram TMS320C3X DMA controller and peripherals Data and Instruction buses on C3X |
DOWNLOAD (Save Link As) |
14 | Internal Structure of C3x DSP Detailed description of bus operations Detailed description of on-chip memories C3x Architecture Registers Zero-Delay Loops Addressing modes in C3s DSP Indirect addressing Circular Addressing Bit-reversed Addressing Sample FIR Filter code |
DOWNLOAD (Save Link As) |
15 | Analysis of sample C30 instruction Pipelines in CPUs Pipeline depth in CPUs Effect of jump instruction on pipeline Branch instruction in C3X DSP Delayed Branch in C3X DSP Branch Prediction |
DOWNLOAD (Save Link As) |
16 | More description of Delayed Branch and Branch Prediction Definition of MFLOPS Texas Instruments code composer studio software for C3X DSP Definition of compiler and linker Memory Map of C3X DSPs Linker Script and its structure Debugging an application using Code composer studio Attach to process operation in X86 architecture Addresses of applications in windows |
DOWNLOAD (Save Link As) |
17 | More on linker script Virtual memory addresses and address translation Page tables : Virtual to physical address conversion Translation Lookaside Buffer Memory Management Unit CAM memories X86 protected mode of operation |
DOWNLOAD (Save Link As) |
18 | Why do we use cache memories? Basic idea of cache memory Systems with Multiple Levels of Cache Basic CPU cache structure Direct Mapped Cache Memories Fully Associative Cache Memories Set-Associative Cache Memories AMD Athlon-64 Cache Structure |
DOWNLOAD (Save Link As) |
19 | SRAM memories Asynchronous SRAM memory operation Synchronous NoBL SRAM memory NoBL SSRAM operation DRAM memory operation Sample DDR SDRAM memory timing Basics of Address decoding The introduction to ARM CPU ARM CPU history |
DOWNLOAD (Save Link As) |
20 | More on ARM histroy What is a core? ARM as a licensable core ARM income Different families of ARM architecture Brief intro on capabilities of ARM CPUs Bus structure Address Decoding Co-processor interface |
DOWNLOAD (Save Link As) |
21 | ARM Assembly Language ARM Processor Operation Modes ARM CPU Registers CPSR Register Shadow registers in different modes Exception handling mechanism Basic Assembly Instruction Syntax Arithmatic and logical operations Barrel shifter operation |
DOWNLOAD (Save Link As) |
22 | Simple assembly program for ARM Intro to ATMEL ARM evaluation kit Multiplication operation for ARM Load/Store instructions Addressing Modes Multiple Load/Store operations for ARM Flow control instructions Conditional branch in ARM Stack operations and management |
DOWNLOAD (Save Link As) |
23 | Sample ARM Assembly program introduction to ATMEL ARM9 Eval kit Development Environments for ARM More on GNU C compiler Definition of Cross-Compilation operation Keil MDK for ARM Simple C application for ARM ARM Application Debugging and Simulation Mixing C and Assembly language Writing assembly sub-routines in C Simple assembly sub-routine for data transfer between two locations of memory |
DOWNLOAD (Save Link As) |
24 | Branch and Link instruction in ARM Conditional execution of instructions Overview of ARM instruction set Programming example: 64bit addition Programming example: loops Programming example: count negative Parallel Input/Output for ARM uC Programming PIO using C important PIO registers intro to Power Management controller |
DOWNLOAD (Save Link As) |
25 | Overview of AT91SAM7X UART module UART module registers volatile type in C Structure of a sample delay (wait) function Brief description of programmable – interval timer Using C structs for managing peripherals Multiple functionalities of device pins |
DOWNLOAD (Save Link As) |
26 | Advanced interrupt controller programmable interval timer C programming for the above peripherals |
DOWNLOAD (Save Link As) |
thank you very much indeed for sharing all these useful stuff
looking forward to learn more from you
واقعا سپاسگذارم، از نگاه کردن به ویدیوهای هندیا خسته شده بودم 🙂
Thanks a lot for sharing your knowledge, it was a great job
با سپاس فراوان و پیشرفت روز افزون برای شمااستاد گرامی
استاد گرامی از شما متشکرم. بنده دانشجوی الکترونیک دانشگاه منتظری ام. آیا آرم آینده ی کاری داره و خودم نیز میتونم تو خونه یاد بگیرم ؟ برا موفقیت در عرصه میکرو کنترلر ها باید چه کار کرد. قیمت برد های آموزشی آرم خیلی بالاست.
Hi.
Yes! ARM has a bright future and you should really focus on it and practice and learn as much as you can.
Don’t forget that your mobile phone also contains one (or even more) CPU cores.
No, their prices shouldn’t be that high. But well…. Wish you success in your way.
very thanks.
Hi
First of all thanks for your attend, then I want to ask you a usefull practical arm refrence for a short time learners that they don’t want to deal with extra information about processor
sincerely khan
Hi, well if you are in lack of time then may be the best is to directly read the datasheet of your target micro-controller and then to have a look at its example designs and then directly jump into your project. This of course works when you have the experience of working with similar devices. If you are totally new to the world of developing embedded systems with micro-controllers then this does not work and in any case you should put time and study and make sure that you know the concepts very well.
با سلام
جناب آقای صدری اگر امکان دارد می توانید در مورد روش کدگذاری
CSD(canonical signed digit)
در باب فیلتر
FIR
توضیحاتی بدهید؟
با تشکر
Salam!
I have never worked on FIR filters with CSD coefficients directly, but I think the following should be useful:
http://www.cs.york.ac.uk/rts/docs/SIGDA-Compendium-1994-2004/papers/2001/aspdac01/pdffiles/1a_04.pdf
http://rfic.fudan.edu.cn/pulications/ieee_j_c/tce02nov.pdf
Regards.
ممنون از راهنمایی تان
salam
mishe link ha ro dorost konid
ostad to ro khoda link ra dorost konid
nazdik ezam be khedmatame vaqtam kame
kheily mamnun
Salam!
I have updated the links.
Would you please check if every thing is fine and the links are working?
If there are any problems, please let me know!
Thanks.
salam
ostad mamnunam lotf kardid
faghat khaheshan link part 5 ro ham update konid
kheily mamnun
salam,
Part 5 ro ke check mikonam doroste.
Shoma moshkel darin dar download kardanesh?
رئیس ای کاش فیلم ها رو یه جای بهتر آپلود میکردید اخه همش میزنه پایان محدودیت زمانی
salam,
moshkel chie daghighan?
shoroo mikonid be download kardan az dropbox, badesh chi mishe? bad az yek moddat zamani ghat mishe??
salam
bale shorou be download mikone
baz ye hajm khas masalan 38 MB payam mide k mahdodiat zamani emkan download nist
You should be member of dropbox and login with your dropbox account
ostad salam
moshkel link ha ro barrasi kardid?
lotfan dorosteshun konid
سلام استادواقعا ممنونم که در این فقدان منبع معتبر و مفید در خیلی از شهرستان ها این لینکها رو در دسترس همگی قرار دادین من میخواستم ارم کار کنم اما خیلی ها بهم میگن قبل از اون باید ای وی ار یا پی ای سی رو کار کنم به نظر شما چی؟؟ایا میشه بدون پیش نیاز ای وی ار مستقیم سراغ ارم رفت؟من دانشجوی ترم 3 الکترونیکم و هنوز خیلی از درس ها رو پاس نکردم
ممنون میشم کمکم کنین
Salam, be nazare man agar madar haaye manteghi ro khoob midunid, dalili nadare avval az AVR ya PIC shoroo konid, mitunid mostaghim baa yek micro-ye saadeye ARM shoroo konid.
salam
mamnun ke film ha ro vase download gozashtin
man mikham ye boarde amuzeshi bekharam va li nemidunam che boardi tahie konam. 2-3 ta soal daram age rahnemayi konin mamnun misham:
1) vase shoru kodum micro ro tosie mikonid?
2)age boarde mobtani ba ARM ro tosie mikonid, kodum board ro bekharam?
3)aya board ha mamulan daftarche rahnema ke shamele mesale ham daran?
4)boardi ke tuye linke zir hast be nazaretun monasebe?
http://kavirelectronic.ir/eshop/%D8%A8%D8%B1%D8%AF-friendlyarm-%D9%81%D8%B1%DB%8C%D9%86%D8%AF%D9%84%DB%8C-%D8%A2%D8%B1%D9%85/1200288-smart210-tiny210-s5pv210.html
in bahse microprocessor dare vasam ye masale la yanhal mishe,
dore license Z80 ro barrasi kardim(albate hichi nafahmidim)
dore arshad TMS320C64xx va TMS32067xx ro barrasi kardim ke vaghean kheyli khub bud un kelasa, vali heyf ke amali nabud va board nadashtim. midunam dire vali dg tasmim gereftam amali yad begiram.
merc
Salam,
Ye board e khoob baraye shoroo,
Raspberry Pi, va man midunim ke akharin version esh (B+) ham too iran hast.
http://www.raspberrypi.org/
Ye board e kheili khoobe dige baraye shoroo :
Arduino Due
http://arduino.cc/en/Main/ArduinoBoardDue
be nazare man baa yeki az eenaa berid jelo.
Agar bishtar doost darid kare hardware anjaam bedid, ba dovvomi berid jelo.
agar bishtar be embedded system design (be soorate yek mozoo e kolli) alaghe darid, baa avvali berid jelo.
Agar mikhaid DSP kaar konid, shayad een entekhaabe khoobi bashe:
http://www.ti.com/tool/TMDXLCDK138
movaffagh bashid.
سلام .
عرض ادب
یه تشکر بابت زحمتی که بابت ضبط کلاس ها کشیدید… تو دانشگاه ما که طرفدار پیدا کردین
همه دعاتون میکنن…
آقای دکتر! یه سوالی دارم
من می خوام مجموعه ای بسازم که در مسافت چند متر و مسافت های بالا، با هم در ارتباط باشن
آیا در مسافت پایین از «زیگ بی» استفاده بشه خوبه ؟
برای برد بالا از سیم کارت استفاده بشه خوبه؟ (برد بالا یعنی از یه شهر دیگه
ارادتمند و دوستدار شما
پویا غلامی
پ.ن. از اشتباهات احتمالی علمی در متن سوال پوزش میخوام
Salam, Bale , shoma behtar az man balad hastid.
Baraye masafate kam, yek frestandeye Wifi, Ya Bluetooth, Yaa ZigBee, va ya moshabeh haash ro estefade mikonim.
(een ke kodoomesh ro estefade konim bastegi be kari dare ke mikhaim anjaam bedim)
Baraye board e boland ham man hamishe az sim cart estefade kardam ke roosh baa sms va yaa data, oon target board ro control mikonim (yaa be har haal ettelaati ke mikhaim ro enteghaal midim)
baraye har do taaye een ravesh haa too bazar sakht afzar haaye mesaalie khoob vojood dare.
تشکر برای پاسخ …
امیدوارم (از هر نظر) عالی باشین
Sir is there any Easy way for Non-Electronic Students to Learn about FPGA boards and start to Read(and then work) on this boards!?
Any Suggested Book? I’m Studying Bachelor of Computer-Software but I really want to Learn Electronics and Mostly FPGA & ARM Processors !
So Any Good Book for Noobs like me to start working around these ?:D
with Best Regarding.
Hi. May be a good starting point is to learn digital circuits.
Then to focus on a simple micro-controller and learn how to program for it and how to use it in designs.
After that you can begin working with fpgas…
*like*
Thank you for the great course. I have one question and I will be happy to know your answer, my friends suggest me to buy the discovery board of ST to learn ARM in several experiments. Its very cheap board, about 100000 Toman. Could you let me know this board is fine enough or not? Thank you in advance.
We have done a project using ST Discovery board and I believe it is a very nice starting point to learn working with the ARM device.
سلام بر استاد عزیز،از دیدن ویدئو های کلاستون استفاده کرده ولذت بردم.برای خودم واجب دونستم که از این طریق صمیمانه ازتون تشکر کنم.امیدوارم همواره در کمان صحت وسلامتی ،موفق وپیروز باشید.دوستدار همیشگی شما رضا خدایی تهرانی
سلام استاد
من یک ارائه دارم که یک زحمت واسه شما داشتم
من تو فایل های فیلم های که گذاشتید یک فیلم پخش مکنید در مورد ساخت ای سی
شرکت ای ام دی بود فکر کنم
لطف کنید لینک دانلود فیلم رو واسم بذارید که من بتونم ازش استفاده کنم
تو اینترنت سرچ کردم ولی نتونستم پیداش کنم
ممنون از شما
درضمن این پست قبلی رو هم از طرف من قبول کنید
سلام
استاد میشه راجع به برنامه نویسی کرنل لینوکس راهنمایی کنید، هیچ جوری نمیشه از این سد عبور کرد انگار!
ممنون از ویدیوهایی که گذاشتید، هم آرم و هم اف پی جی ای عالی بودند، ممنون از شما که باعث میشید بیش از این جوونها از علم و دانش عقب نمونند.
Hi. Soon I am going to show you a practical example of developing a Linux Kernel Level driver for the ARM Host on the ZYNQ. Follow ZYNQ Training Lesson 11.
با سلام.
ممنون از فایل های مفیدتان.
خداحافظ.
سلام دکتر
یه چنتا سوال داشتم که ممنون میشم اگه لطف کنید و جواب بدید
اول اینکه می خواستم بدونم راهی هست برا اینکه بتوان کد هگز را از روی میکرویی که قفل شده بدست اورد و اگه هست چه طور؟
دوم اینکه می خواستم بدونم بین میکرو های معمول کدوم در مقابل نویز مقاوم ترند و بهتر می شد از اونا تو محیط های صنعتی استفاده کرد اگه لطف کنید یه مقایسه ای در این مورد روی میکرو ها بکنید ممنون میشم همچنین اگه راهکارها یا منبعی برای مقابله با نویزی که روی میکرو و ال سی دی های متصل به انها روی مدارهای میکرو کنترلی می افتد معرفی کنید ممنون می شم
بازم از اینکه وقت میگذارید و با حوصله همه را راهنمایی می کنید ممنون
Hi,
Can u tel where i can find training videos on AXI about transaction attributes, ordering model ans atomic access features
Please provide some useful info’s
In my view no-where 🙂 , I mean you don’t find these in videos, but instead you can find them in the ARM documentation set.
The fact is that many few people need to know really about the attributes of AXI transactions. So I don’t think any body create any video on that. But, if you study the AXI 4 and ACE specification of ARM, you will find a lot of what you are after.
ba salam
man daneshjuye term akhar mechanic elmosanat hastam va dar arshad mechatronic daneshgah sharif ghabul shodam.ba tavajoh be inke tarkibi az electronic va mechanic va hamchenin computer hast be nazar shoma baraye yad giriye arm،avr va… az koja shoru konam.chon ba mafahim barghi ashnaeye ziyadi nadaram.agaram ketabi mishnasid ke betune tu in mafahim komakam kone mamnun misham.
ba tashakor.
Salam, Bebinid agar vaght darid berid beshinid sare kelase madar manteghi e bargh va bdesham berid beshinid sare kelaas e micro-processor eshoon. hame eenaa ro yaad migirid. kheili asoone. Agar mitunid yek board e Arduino Due bekharid va shoroo konid baash var berid, az project haaye kheili sade, khamoosh roshan kardane led taa karaye pichide tar, mesle control kardane chand taa servo baham ro bash anjaam bedid.
Arduino Due : http://www.arduino.cc/en/Main/ArduinoBoardDue
سلام آقای دکتر
من جلسات میکرو کنترلر شما رو تازه دیدم و خیلی استفاده کردم.
دربره میکروکنترلر ARM یه سوال دارم.
مداری که من میخوام از میکرو استفاده کنم خیلی نویزش زیاده و و لتاژ ودار هم تا حدود 200 ولت زیاد میشه.
سوالم اینه که این نویز و ولتاژ زیاد روی عملکرد میکرو تاثیر نمیذاره؟
مچکرم.
Salam, be nazare man albatte ke tasir mizare va shoma dar tarrahie madar va pcb bayad be een nokte besyaar deghghat konid. be nazare man isolation e beine tekke haayee az madar ke high voltage hastand va baghie tekke haa ke signal haaye digital e mamooli hastan besyaar mohemme.
تو زمینه تاثیر پذیری از نویز بین میکرو ARM , َAVR تفاوتی هست؟
Ostad
chetor mitunam microcontroller ro az baghie madar isole kanam?
che rahkari baraie jelogiri az noise tu micro mitunam anjam bedam..??
سلام استاد
واقعا تشکرمیکنم از این همه زحمتی ک کشیدین
یک سوال داشتم
نظرتون رو در رابطه با کار با بردهای
Raspberry & Arduino
میخاستم بدونم ؟؟
آیا ارزش داره ک براش وقت بذارم ؟؟؟؟؟
Raspberry PI besyar jaleb va mofide. roosh vaght begzarid.
Hi
first of all I am glad to know you and thank you alot for this useful site.
Lectures and slides links those are uploaded on your server are in low connection and it’s hard to download them with too low speed like (10-20)KB.
Thanks in advance
well I have seen people in iran are selling my videos. probably you can find the dvd of my videos some where on these online shops. actually that is illegal. I did never allowed ony one to copy any of my videos or to sell it for himself. but any way this is happening now and I think with a little bit of search you can find them.
Thanks a lot for sharing this great work!
I’m learning on my own so exercise solutions would help a lot. DO you have them or can you refer to a reference where I can learn more about programming?
Thanks again.
i think i have put also exercises for download. in any case what you see in this page is all i have at the moment for this course.
ostad salam
ba tashakor az video haye khoe shoma.
mikhastam bebinam baraye course micro shoma aya ketabi khob hast ke morede taiede shoma bashe va mabahese o poshesh bede ?
ba tashakor
اول از همه بسیار مهم است که درس معماری کامپیوتر را به خوبی فرا گرفته باشید
به نظر من درس میکروپروسسور بسیار گسترده است و به هیچ عنوان یک کتاب تنها به عنوان مرجع نمی توان برای آن معرفی کرد
بنابراین من هیج کتاب مشخصی به عنوان مرحع نمی توانم به شما معرفی کنم
ولی در انتهای درس شما حداقل می بایست پردازنده های
x86 , ARM
را به خوبی شناخته باشید
هردوی این خانواده ها بسیار مهم هستند و در دنیای امروز هردو بشدت مورد استفاده می باشند.
برای فراگیری کار با یک هسته پردازشی
ARM
می توانید مثلا از بورد زیر استفاده کنید
http://www.green-electrons.com/ir/product/%D8%A8%D9%88%D8%B1%D8%AF-arduino-due-%D8%A8%D8%A7-%D9%87%D8%B3%D8%AA%D9%87-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D9%86%D8%AF%D9%87-arm/
به نظر من اگر ساختار این میکروکنترلر را بطور کامل فرا بگیرید شما توانایی انجام بسیاری از پروژه های مربوط به سیستم های
Embedded
را خواهید داشت.
همچنان ویدیوهای این درس به اعتقاد من مرحع بسیار خوبی برای آشنایی با پردازنده های مختلف می باشند.
salam ostad
be nazareton FPGA khobe ya ARM mikham ba bord ha kar konam beine raspberrypi,Arduino,bordhae FGPA mondam kodomo entekhab konam.
reshtam electronice lotfan tahnamae konid mamnon.
Hello there!
I’ve learnd ARM with your good videos. Thanks for your teaching.
I have a question; how can i learn coding?
My project needs coding in an ARM based microcontroler.
Would you introduce some sourses of this subject, specialy in persian?
I don’t know even how to search it!
Thanks.
Your virtual student,
Dinipour
by practice, you make progress!