MESSAGE
DATE | 2015-02-01 |
FROM | Ruben
|
SUBJECT | Subject: [LIU Comp Sci] DMA memory and CPU activity
|
From owner-learn-outgoing-at-mrbrklyn.com Sun Feb 1 11:24:32 2015 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix) id 2B4D716116D; Sun, 1 Feb 2015 11:24:32 -0500 (EST) Delivered-To: learn-outgoing-at-mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 28) id 13537161190; Sun, 1 Feb 2015 11:24:32 -0500 (EST) Delivered-To: learn-at-nylxs.com Received: from mail-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) by mrbrklyn.com (Postfix) with ESMTP id 8680916116D for ; Sun, 1 Feb 2015 11:24:31 -0500 (EST) Received: by mail-qc0-f179.google.com with SMTP id w7so26962371qcr.10 for ; Sun, 01 Feb 2015 08:24:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type:content-transfer-encoding; bh=LaUNo3j8r0HjWV8LQLHG/41zDLnD55nF4kJQH0qqSnc=; b=NI/cBOixYolElOy49kFvAR3NRt67mahrFo6+MLIDbe1bhRlq9gU7p9lgavc1YQg7pL bFwVIM2H+DiZYRKdc8ofvu2iExo1vAQBEr1/GPsA6d4Q5AINrDwdSfngWrlufdwByV2J 9Np/QtOJMmQaO3RNPYwjoN0qtVPfJdm5msH/yZvdWUQetsxAoYUqK1PDZXjJARpmohSZ G0v3M/yRihLBp2ChOOvDiBtLMY42gdftJ3/ABcPwquw8+pmxXamg8ZmaG6yPX3wmr6/1 Vlpyhwke2/SGKYh+VokfErKHOimT13+jjEgSu/HTeOMi+Nn3tu/yC0qrgwx5ZVymI9Cl osWg== X-Gm-Message-State: ALoCoQnYrEh/iOSzqYoOpH09FTnSGAteogJF53f/yaargQpVzZBgt7QsjT3AwjP0oNrrtKipYlFK X-Received: by 10.140.100.226 with SMTP id s89mr31845917qge.96.1422807870921; Sun, 01 Feb 2015 08:24:30 -0800 (PST) Received: from [10.0.0.19] ([96.57.23.82]) by mx.google.com with ESMTPSA id q4sm15860593qad.3.2015.02.01.08.24.30 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 01 Feb 2015 08:24:30 -0800 (PST) Message-ID: <54CE533D.1040107-at-my.liu.edu> Date: Sun, 01 Feb 2015 11:24:29 -0500 From: Ruben User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Samir Iabbassen , learn-at-nylxs.com, Mohammed Ghriga Subject: [LIU Comp Sci] DMA memory and CPU activity Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: owner-learn-at-mrbrklyn.com Precedence: bulk Reply-To: learn-at-mrbrklyn.com
Dr Samir
I still have complaints ;)
Remember where it was taught and it was actually on exams , that when the DMA memory controller copied blocks of data to main memory, then the CPU, which lost control of the memory bus, was interrupted and not active, and I read that in the book and saw it in the notes and but still thought, No way. We disagreed in class and according to the notes, you were 100% correct. But it didn't make sense. Its not that useful to have DMA talking to memory and then the CPU not doing other stuff in parallel.
I'm still at a loss on this matter... really, at minimum there is local memory cache with the blocks of cache memory which it can work with, and it just makes zero sense to have 4 or even 8 CPUs if they can't work in parrelel with DMA activities.
Now, check this out from the operating systems class:
QUOTE: To start an I/O operation, the device driver loads the appropriate registers within the device controller. The device controller, in turn, examines the contents of these registers to determine what action to take (such as “read a character from the keyboard”). The controller starts the transfer of data from the device to its local buffer. Once the transfer of data is complete, the device controller informs the device driver via an interrupt that it has finished its operation. The device driver then returns control to the operating system, possibly returning the data or a pointer to the data if the operation was a read. For other operations, the device driver returns status information. This form of interrupt-driven I/O is fine for moving small amounts of data but can produce high overhead when used for bulk data movement such as disk I/O . To solve this problem, direct memory access (DMA) is used. After setting up buffers, pointers, and counters for the I/O device, the device controller transfers an entire block of data directly to or from its own buffer storage to memory, with no intervention by the CPU. Only one interrupt is generated per block, to tell the device driver that the operation has completed, rather than the one interrupt per byte generated for low-speed devices. While the device controller is performing these operations, the CPU is available to accomplish other work. Some high-end systems use switch rather than bus architecture. On these systems, multiple components can talk to other components concurrently, rather than competing for cycles on a shared bus. In this case, DMA is even more effective. Figure 1.5 shows the interplay of all components of a computer system.
OPERATING SYSTEM CONCEPTS ABRAHAM SILBERSCHATZ Yale University PETER BAER GALVIN Pluribus Networks GREG GAGNE Westminster College
So now I am even MORe confused than before....
Any light you can shed?
Ruben
cc Dr Ghira, Learn
|
|